@zenalexa/unicli 0.221.0 → 0.222.0
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 +12 -12
- package/README.md +40 -31
- package/README.zh-CN.md +37 -31
- package/crates/unicli-atspi/src/errors.rs +2 -2
- package/crates/unicli-uia/src/errors.rs +1 -1
- package/dist/adapters/acl-anthology/papers.d.ts +16 -0
- package/dist/adapters/acl-anthology/papers.d.ts.map +1 -0
- package/dist/adapters/acl-anthology/papers.js +135 -0
- package/dist/adapters/acl-anthology/papers.js.map +1 -0
- package/dist/adapters/arxiv/papers.js +2 -0
- package/dist/adapters/arxiv/papers.js.map +1 -1
- package/dist/adapters/baidu-scholar/search.js +5 -0
- package/dist/adapters/baidu-scholar/search.js.map +1 -1
- package/dist/adapters/crossref/works.d.ts +42 -0
- package/dist/adapters/crossref/works.d.ts.map +1 -0
- package/dist/adapters/crossref/works.js +157 -0
- package/dist/adapters/crossref/works.js.map +1 -0
- package/dist/adapters/cvf/papers.d.ts +17 -0
- package/dist/adapters/cvf/papers.d.ts.map +1 -0
- package/dist/adapters/cvf/papers.js +124 -0
- package/dist/adapters/cvf/papers.js.map +1 -0
- package/dist/adapters/dblp/publications.js +4 -0
- package/dist/adapters/dblp/publications.js.map +1 -1
- package/dist/adapters/google-scholar/cite.js +1 -0
- package/dist/adapters/google-scholar/cite.js.map +1 -1
- package/dist/adapters/google-scholar/profile.js +5 -0
- package/dist/adapters/google-scholar/profile.js.map +1 -1
- package/dist/adapters/google-scholar/search.js +5 -0
- package/dist/adapters/google-scholar/search.js.map +1 -1
- package/dist/adapters/hf/paper.js +1 -0
- package/dist/adapters/hf/paper.js.map +1 -1
- package/dist/adapters/neurips/proceedings.d.ts +17 -0
- package/dist/adapters/neurips/proceedings.d.ts.map +1 -0
- package/dist/adapters/neurips/proceedings.js +112 -0
- package/dist/adapters/neurips/proceedings.js.map +1 -0
- package/dist/adapters/openalex/works.d.ts.map +1 -1
- package/dist/adapters/openalex/works.js +32 -0
- package/dist/adapters/openalex/works.js.map +1 -1
- package/dist/adapters/openreview/papers.js +5 -0
- package/dist/adapters/openreview/papers.js.map +1 -1
- package/dist/adapters/pmlr/proceedings.d.ts +35 -0
- package/dist/adapters/pmlr/proceedings.d.ts.map +1 -0
- package/dist/adapters/pmlr/proceedings.js +139 -0
- package/dist/adapters/pmlr/proceedings.js.map +1 -0
- package/dist/adapters/pubmed/articles.js +5 -0
- package/dist/adapters/pubmed/articles.js.map +1 -1
- package/dist/adapters/semantic-scholar/papers.d.ts +36 -0
- package/dist/adapters/semantic-scholar/papers.d.ts.map +1 -0
- package/dist/adapters/semantic-scholar/papers.js +214 -0
- package/dist/adapters/semantic-scholar/papers.js.map +1 -0
- package/dist/adapters/unpaywall/works.d.ts +33 -0
- package/dist/adapters/unpaywall/works.d.ts.map +1 -0
- package/dist/adapters/unpaywall/works.js +101 -0
- package/dist/adapters/unpaywall/works.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +15 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/compute.d.ts.map +1 -1
- package/dist/commands/compute.js +1 -1
- package/dist/commands/compute.js.map +1 -1
- package/dist/commands/do.d.ts +30 -0
- package/dist/commands/do.d.ts.map +1 -0
- package/dist/commands/do.js +248 -0
- package/dist/commands/do.js.map +1 -0
- package/dist/commands/doctor-compute.js +11 -7
- package/dist/commands/doctor-compute.js.map +1 -1
- package/dist/commands/extract.d.ts +34 -0
- package/dist/commands/extract.d.ts.map +1 -0
- package/dist/commands/extract.js +316 -0
- package/dist/commands/extract.js.map +1 -0
- package/dist/commands/lint.js +3 -3
- package/dist/commands/lint.js.map +1 -1
- package/dist/commands/migrate-schema.d.ts.map +1 -1
- package/dist/commands/migrate-schema.js +26 -22
- package/dist/commands/migrate-schema.js.map +1 -1
- package/dist/commands/scholar.d.ts +33 -0
- package/dist/commands/scholar.d.ts.map +1 -0
- package/dist/commands/scholar.js +494 -0
- package/dist/commands/scholar.js.map +1 -0
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +2 -5
- package/dist/commands/search.js.map +1 -1
- package/dist/discovery/aliases.d.ts +2 -2
- package/dist/discovery/aliases.d.ts.map +1 -1
- package/dist/discovery/aliases.js +182 -11
- package/dist/discovery/aliases.js.map +1 -1
- package/dist/discovery/intents.d.ts +10 -0
- package/dist/discovery/intents.d.ts.map +1 -0
- package/dist/discovery/intents.js +255 -0
- package/dist/discovery/intents.js.map +1 -0
- package/dist/discovery/loader.d.ts.map +1 -1
- package/dist/discovery/loader.js +47 -2
- package/dist/discovery/loader.js.map +1 -1
- package/dist/discovery/search.d.ts +4 -1
- package/dist/discovery/search.d.ts.map +1 -1
- package/dist/discovery/search.js +28 -140
- package/dist/discovery/search.js.map +1 -1
- package/dist/electron-apps.d.ts +1 -1
- package/dist/electron-apps.d.ts.map +1 -1
- package/dist/electron-apps.js +2 -2
- package/dist/electron-apps.js.map +1 -1
- package/dist/engine/executor.d.ts +1 -1
- package/dist/engine/executor.js +7 -7
- package/dist/engine/executor.js.map +1 -1
- package/dist/engine/repair/remedies.js +3 -3
- package/dist/engine/repair/remedies.js.map +1 -1
- package/dist/engine/steps/desktop-ax.d.ts +4 -0
- package/dist/engine/steps/desktop-ax.d.ts.map +1 -1
- package/dist/engine/steps/desktop-ax.js +8 -0
- package/dist/engine/steps/desktop-ax.js.map +1 -1
- package/dist/engine/steps/desktop-sidecar.d.ts +1 -1
- package/dist/engine/steps/desktop-sidecar.js +1 -1
- package/dist/engine/steps/index.d.ts +1 -1
- package/dist/engine/steps/index.d.ts.map +1 -1
- package/dist/engine/steps/index.js +1 -1
- package/dist/engine/steps/index.js.map +1 -1
- package/dist/engine/steps/visual.d.ts +47 -0
- package/dist/engine/steps/visual.d.ts.map +1 -0
- package/dist/engine/steps/visual.js +66 -0
- package/dist/engine/steps/visual.js.map +1 -0
- package/dist/engine/transport/mcp-browser.d.ts +1 -1
- package/dist/engine/transport/mcp-browser.js +1 -1
- package/dist/fast-path/handlers/discovery.d.ts.map +1 -1
- package/dist/fast-path/handlers/discovery.js +17 -3
- package/dist/fast-path/handlers/discovery.js.map +1 -1
- package/dist/manifest-compact.txt +13 -11
- package/dist/manifest-search.json +1 -1
- package/dist/manifest.json +529 -121
- package/dist/mcp/handler.d.ts.map +1 -1
- package/dist/mcp/handler.js +14 -2
- package/dist/mcp/handler.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +11 -3
- package/dist/mcp/tools.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/desktop-atspi.js +1 -1
- package/dist/transport/adapters/desktop-atspi.js.map +1 -1
- package/dist/transport/adapters/desktop-ax-background-activation-swift.d.ts +9 -0
- package/dist/transport/adapters/desktop-ax-background-activation-swift.d.ts.map +1 -0
- package/dist/transport/adapters/desktop-ax-background-activation-swift.js +99 -0
- package/dist/transport/adapters/desktop-ax-background-activation-swift.js.map +1 -0
- package/dist/transport/adapters/desktop-ax-background-click-swift.d.ts.map +1 -1
- package/dist/transport/adapters/desktop-ax-background-click-swift.js +10 -133
- package/dist/transport/adapters/desktop-ax-background-click-swift.js.map +1 -1
- package/dist/transport/adapters/desktop-ax-background-click.d.ts +1 -3
- package/dist/transport/adapters/desktop-ax-background-click.d.ts.map +1 -1
- package/dist/transport/adapters/desktop-ax-background-click.js +1 -69
- package/dist/transport/adapters/desktop-ax-background-click.js.map +1 -1
- package/dist/transport/adapters/desktop-ax-background-dispatch-swift.d.ts +9 -0
- package/dist/transport/adapters/desktop-ax-background-dispatch-swift.d.ts.map +1 -0
- package/dist/transport/adapters/desktop-ax-background-dispatch-swift.js +169 -0
- package/dist/transport/adapters/desktop-ax-background-dispatch-swift.js.map +1 -0
- package/dist/transport/adapters/desktop-ax-background-input-swift.d.ts +23 -0
- package/dist/transport/adapters/desktop-ax-background-input-swift.d.ts.map +1 -0
- package/dist/transport/adapters/desktop-ax-background-input-swift.js +157 -0
- package/dist/transport/adapters/desktop-ax-background-input-swift.js.map +1 -0
- package/dist/transport/adapters/desktop-ax-background-input.d.ts +13 -0
- package/dist/transport/adapters/desktop-ax-background-input.d.ts.map +1 -0
- package/dist/transport/adapters/desktop-ax-background-input.js +124 -0
- package/dist/transport/adapters/desktop-ax-background-input.js.map +1 -0
- package/dist/transport/adapters/desktop-ax-background-window-swift.d.ts +9 -0
- package/dist/transport/adapters/desktop-ax-background-window-swift.d.ts.map +1 -0
- package/dist/transport/adapters/desktop-ax-background-window-swift.js +110 -0
- package/dist/transport/adapters/desktop-ax-background-window-swift.js.map +1 -0
- package/dist/transport/adapters/desktop-ax-swift.d.ts +1 -0
- package/dist/transport/adapters/desktop-ax-swift.d.ts.map +1 -1
- package/dist/transport/adapters/desktop-ax-swift.js +1 -0
- package/dist/transport/adapters/desktop-ax-swift.js.map +1 -1
- package/dist/transport/adapters/desktop-ax.d.ts +4 -1
- package/dist/transport/adapters/desktop-ax.d.ts.map +1 -1
- package/dist/transport/adapters/desktop-ax.js +57 -6
- package/dist/transport/adapters/desktop-ax.js.map +1 -1
- package/dist/transport/adapters/desktop-uia.js +1 -1
- package/dist/transport/adapters/desktop-uia.js.map +1 -1
- package/dist/transport/adapters/visual.d.ts +114 -0
- package/dist/transport/adapters/visual.d.ts.map +1 -0
- package/dist/transport/adapters/visual.js +473 -0
- package/dist/transport/adapters/visual.js.map +1 -0
- package/dist/transport/bus.d.ts +1 -1
- package/dist/transport/bus.js +3 -3
- package/dist/transport/bus.js.map +1 -1
- package/dist/transport/capability.d.ts.map +1 -1
- package/dist/transport/capability.js +32 -30
- package/dist/transport/capability.js.map +1 -1
- package/dist/transport/cascade.js +27 -27
- package/dist/transport/cascade.js.map +1 -1
- package/dist/transport/types.d.ts +5 -5
- package/dist/transport/types.d.ts.map +1 -1
- package/dist/transport/types.js +1 -1
- package/dist/types/scholarly.d.ts +49 -0
- package/dist/types/scholarly.d.ts.map +1 -0
- package/dist/types/scholarly.js +16 -0
- package/dist/types/scholarly.js.map +1 -0
- package/docs/operate/compute.md +20 -7
- package/docs/operate/focus-behavior.md +21 -12
- package/docs/operate/troubleshooting.md +17 -12
- package/package.json +5 -11
- package/server.json +2 -2
- package/skills/unicli/SKILL.md +1 -1
- package/skills/unicli-claude-code/SKILL.md +1 -1
- package/skills/unicli-hermes/SKILL.md +1 -1
- package/skills/unicli-repair/references/error-codes.md +7 -7
- package/src/adapters/_archived/README.md +6 -6
- package/src/adapters/_archived/apple-music/rate-album.yaml +15 -15
- package/src/adapters/_archived/archive.json +2 -2
- package/src/adapters/acl-anthology/papers.ts +157 -0
- package/src/adapters/arxiv/download.yaml +1 -1
- package/src/adapters/arxiv/paper.yaml +1 -1
- package/src/adapters/arxiv/papers.ts +2 -0
- package/src/adapters/arxiv/search.yaml +1 -1
- package/src/adapters/arxiv/trending.yaml +1 -1
- package/src/adapters/baidu-scholar/search.ts +5 -0
- package/src/adapters/crossref/works.ts +209 -0
- package/src/adapters/cvf/papers.ts +136 -0
- package/src/adapters/dblp/publications.ts +4 -0
- package/src/adapters/figma/export-selected.yaml +16 -16
- package/src/adapters/google-scholar/cite.ts +1 -0
- package/src/adapters/google-scholar/profile.ts +5 -0
- package/src/adapters/google-scholar/search.ts +5 -0
- package/src/adapters/hf/paper.test.ts +10 -0
- package/src/adapters/hf/paper.ts +1 -0
- package/src/adapters/hf/top.yaml +1 -1
- package/src/adapters/huggingface-papers/daily.yaml +1 -1
- package/src/adapters/huggingface-papers/search.yaml +1 -1
- package/src/adapters/neurips/proceedings.ts +126 -0
- package/src/adapters/openalex/works.test.ts +40 -32
- package/src/adapters/openalex/works.ts +33 -0
- package/src/adapters/openreview/papers.ts +5 -0
- package/src/adapters/pmlr/proceedings.ts +167 -0
- package/src/adapters/pubmed/articles.ts +5 -0
- package/src/adapters/semantic-scholar/papers.ts +268 -0
- package/src/adapters/unpaywall/works.ts +138 -0
- package/src/adapters/zoom/toggle-mute.yaml +1 -1
- package/src/adapters/zotero/search.yaml +1 -1
- package/dist/engine/steps/cua.d.ts +0 -41
- package/dist/engine/steps/cua.d.ts.map +0 -1
- package/dist/engine/steps/cua.js +0 -59
- package/dist/engine/steps/cua.js.map +0 -1
- package/dist/transport/adapters/cua.d.ts +0 -239
- package/dist/transport/adapters/cua.d.ts.map +0 -1
- package/dist/transport/adapters/cua.js +0 -661
- package/dist/transport/adapters/cua.js.map +0 -1
- package/src/adapters/cua/bench-list.yaml +0 -28
- package/src/adapters/cua/bench-run.yaml +0 -40
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CuaTransport — screenshot + VLM "Computer Use" transport.
|
|
3
|
-
*
|
|
4
|
-
* Unlike the other transports, CUA has no single protocol — it wraps a
|
|
5
|
-
* pluggable "backend" that implements the primitive perception/action
|
|
6
|
-
* verbs against a real computer-use model or emulator. v0.214 ships the
|
|
7
|
-
* backend contract and provider selection behind `CUA_BACKEND`:
|
|
8
|
-
*
|
|
9
|
-
* - `anthropic` Anthropic `computer_20251124` beta tool, `ANTHROPIC_API_KEY`
|
|
10
|
-
* - `trycua` trycua/cua compute-server v0.1.9+, `TRYCUA_API_KEY`
|
|
11
|
-
* - `opencua` OpenCUA-72B via local vLLM, `OPENCUA_ENDPOINT`
|
|
12
|
-
* - `scrapybara` Scrapybara Computer API, `SCRAPYBARA_API_KEY`
|
|
13
|
-
* - `mock` in-memory stub used by tests and when no key is present
|
|
14
|
-
*
|
|
15
|
-
* Provider network paths are explicit stubs in v0.214. They are gated
|
|
16
|
-
* behind the corresponding env keys and fail through the same structured
|
|
17
|
-
* envelope path as every other transport. The MockBackend is always
|
|
18
|
-
* available so the offline test suite runs without secrets.
|
|
19
|
-
*
|
|
20
|
-
* Design contract:
|
|
21
|
-
* - `action()` NEVER throws
|
|
22
|
-
* - all backends implement the same primitive verb surface (below)
|
|
23
|
-
* - selection is deterministic: `selectCuaBackend()` returns the same
|
|
24
|
-
* backend for the same env — no hidden state
|
|
25
|
-
*/
|
|
26
|
-
import type { ActionRequest, ActionResult, Capability, Snapshot, SnapshotFormat, TransportAdapter, TransportContext, TransportKind } from "../types.js";
|
|
27
|
-
/**
|
|
28
|
-
* Primitive verbs every CUA backend must implement. The transport never
|
|
29
|
-
* calls a backend method directly without wrapping the outcome in an
|
|
30
|
-
* envelope — all error paths flow through `CuaTransport.action()`.
|
|
31
|
-
*/
|
|
32
|
-
export interface CuaBackend {
|
|
33
|
-
readonly name: CuaBackendName;
|
|
34
|
-
snapshot(): Promise<{
|
|
35
|
-
base64: string;
|
|
36
|
-
width: number;
|
|
37
|
-
height: number;
|
|
38
|
-
mime?: string;
|
|
39
|
-
}>;
|
|
40
|
-
click(x: number, y: number, button?: "left" | "right"): Promise<void>;
|
|
41
|
-
type(text: string): Promise<void>;
|
|
42
|
-
key(key: string): Promise<void>;
|
|
43
|
-
scroll(dx: number, dy: number): Promise<void>;
|
|
44
|
-
drag(fromX: number, fromY: number, toX: number, toY: number): Promise<void>;
|
|
45
|
-
wait(ms: number): Promise<void>;
|
|
46
|
-
/**
|
|
47
|
-
* Optional: VLM "ask" primitive — let the model decide a boolean or
|
|
48
|
-
* short-string answer about the current screen. Backends that don't
|
|
49
|
-
* support it throw; `CuaTransport.action()` catches and envelopes.
|
|
50
|
-
*/
|
|
51
|
-
ask?(question: string): Promise<string>;
|
|
52
|
-
/**
|
|
53
|
-
* Optional: launch a named application on the host (some backends ship
|
|
54
|
-
* their own sandbox and need an explicit launch command).
|
|
55
|
-
*/
|
|
56
|
-
launch?(app: string): Promise<void>;
|
|
57
|
-
}
|
|
58
|
-
/** The four production backends + the offline test fallback. */
|
|
59
|
-
export type CuaBackendName = "anthropic" | "trycua" | "opencua" | "scrapybara" | "mock";
|
|
60
|
-
/**
|
|
61
|
-
* MockBackend — deterministic, offline CUA backend used when no provider
|
|
62
|
-
* credentials are present and by every test in this file. Records the
|
|
63
|
-
* sequence of calls on `history` so tests can assert against it without
|
|
64
|
-
* having to stub `fetch`.
|
|
65
|
-
*/
|
|
66
|
-
export declare class MockBackend implements CuaBackend {
|
|
67
|
-
readonly name: CuaBackendName;
|
|
68
|
-
readonly history: Array<{
|
|
69
|
-
verb: string;
|
|
70
|
-
args: unknown[];
|
|
71
|
-
}>;
|
|
72
|
-
private record;
|
|
73
|
-
snapshot(): Promise<{
|
|
74
|
-
base64: string;
|
|
75
|
-
width: number;
|
|
76
|
-
height: number;
|
|
77
|
-
mime: string;
|
|
78
|
-
}>;
|
|
79
|
-
click(x: number, y: number, button?: "left" | "right"): Promise<void>;
|
|
80
|
-
type(text: string): Promise<void>;
|
|
81
|
-
key(key: string): Promise<void>;
|
|
82
|
-
scroll(dx: number, dy: number): Promise<void>;
|
|
83
|
-
drag(fromX: number, fromY: number, toX: number, toY: number): Promise<void>;
|
|
84
|
-
wait(ms: number): Promise<void>;
|
|
85
|
-
ask(question: string): Promise<string>;
|
|
86
|
-
launch(app: string): Promise<void>;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Anthropic `computer_use` tool stub. Selected when `CUA_BACKEND=anthropic`
|
|
90
|
-
* and `ANTHROPIC_API_KEY` is set.
|
|
91
|
-
*
|
|
92
|
-
* IMPORTANT — two-layer architecture: the Anthropic Messages API is a
|
|
93
|
-
* planner, not a screen capture service. A production Anthropic backend
|
|
94
|
-
* MUST be composed with a screenshot source (macOS `screencapture`,
|
|
95
|
-
* trycua sandbox, scrapybara VM) because the model receives screenshots
|
|
96
|
-
* from the client and returns `tool_use` actions. The shipped backend is
|
|
97
|
-
* intentionally a stub until a concrete screenshot-source/planner
|
|
98
|
-
* composition is implemented.
|
|
99
|
-
*
|
|
100
|
-
* `tool_version` defaults to `"computer_20260301"` (the successor to
|
|
101
|
-
* `computer_20251124` in the Sonnet 4.6 rollout); override via env
|
|
102
|
-
* `ANTHROPIC_CUA_TOOL_VERSION` so operators can follow Anthropic's
|
|
103
|
-
* release cadence without a code change.
|
|
104
|
-
*/
|
|
105
|
-
export declare class AnthropicBackend implements CuaBackend {
|
|
106
|
-
readonly name: CuaBackendName;
|
|
107
|
-
readonly apiKey: string;
|
|
108
|
-
readonly model: string;
|
|
109
|
-
readonly toolVersion: string;
|
|
110
|
-
constructor(apiKey: string, model?: string, toolVersion?: string);
|
|
111
|
-
snapshot(): Promise<{
|
|
112
|
-
base64: string;
|
|
113
|
-
width: number;
|
|
114
|
-
height: number;
|
|
115
|
-
mime: string;
|
|
116
|
-
}>;
|
|
117
|
-
click(): Promise<void>;
|
|
118
|
-
type(): Promise<void>;
|
|
119
|
-
key(): Promise<void>;
|
|
120
|
-
scroll(): Promise<void>;
|
|
121
|
-
drag(): Promise<void>;
|
|
122
|
-
wait(ms: number): Promise<void>;
|
|
123
|
-
ask(): Promise<string>;
|
|
124
|
-
}
|
|
125
|
-
/** trycua/cua compute-server v0.1.9+. Activated when `CUA_BACKEND=trycua`. */
|
|
126
|
-
export declare class TrycuaBackend implements CuaBackend {
|
|
127
|
-
readonly name: CuaBackendName;
|
|
128
|
-
readonly apiKey: string;
|
|
129
|
-
readonly endpoint: string;
|
|
130
|
-
constructor(apiKey: string, endpoint?: string);
|
|
131
|
-
snapshot(): Promise<{
|
|
132
|
-
base64: string;
|
|
133
|
-
width: number;
|
|
134
|
-
height: number;
|
|
135
|
-
}>;
|
|
136
|
-
click(): Promise<void>;
|
|
137
|
-
type(): Promise<void>;
|
|
138
|
-
key(): Promise<void>;
|
|
139
|
-
scroll(): Promise<void>;
|
|
140
|
-
drag(): Promise<void>;
|
|
141
|
-
wait(ms: number): Promise<void>;
|
|
142
|
-
}
|
|
143
|
-
/** OpenCUA-72B via local vLLM. Activated when `CUA_BACKEND=opencua`. */
|
|
144
|
-
export declare class OpenCuaBackend implements CuaBackend {
|
|
145
|
-
private readonly endpoint;
|
|
146
|
-
readonly name: CuaBackendName;
|
|
147
|
-
constructor(endpoint: string);
|
|
148
|
-
snapshot(): Promise<{
|
|
149
|
-
base64: string;
|
|
150
|
-
width: number;
|
|
151
|
-
height: number;
|
|
152
|
-
}>;
|
|
153
|
-
click(): Promise<void>;
|
|
154
|
-
type(): Promise<void>;
|
|
155
|
-
key(): Promise<void>;
|
|
156
|
-
scroll(): Promise<void>;
|
|
157
|
-
drag(): Promise<void>;
|
|
158
|
-
wait(ms: number): Promise<void>;
|
|
159
|
-
}
|
|
160
|
-
/** Scrapybara Computer API. Activated when `CUA_BACKEND=scrapybara`. */
|
|
161
|
-
export declare class ScrapybaraBackend implements CuaBackend {
|
|
162
|
-
readonly name: CuaBackendName;
|
|
163
|
-
readonly apiKey: string;
|
|
164
|
-
readonly endpoint: string;
|
|
165
|
-
constructor(apiKey: string, endpoint?: string);
|
|
166
|
-
snapshot(): Promise<{
|
|
167
|
-
base64: string;
|
|
168
|
-
width: number;
|
|
169
|
-
height: number;
|
|
170
|
-
}>;
|
|
171
|
-
click(): Promise<void>;
|
|
172
|
-
type(): Promise<void>;
|
|
173
|
-
key(): Promise<void>;
|
|
174
|
-
scroll(): Promise<void>;
|
|
175
|
-
drag(): Promise<void>;
|
|
176
|
-
wait(ms: number): Promise<void>;
|
|
177
|
-
}
|
|
178
|
-
/** Explicit env snapshot used by {@link selectCuaBackend} — injectable for tests. */
|
|
179
|
-
export interface CuaEnv {
|
|
180
|
-
CUA_BACKEND?: string;
|
|
181
|
-
ANTHROPIC_API_KEY?: string;
|
|
182
|
-
TRYCUA_API_KEY?: string;
|
|
183
|
-
OPENCUA_ENDPOINT?: string;
|
|
184
|
-
SCRAPYBARA_API_KEY?: string;
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Pure function — given an env snapshot, return the backend to use.
|
|
188
|
-
*
|
|
189
|
-
* Selection rules (first match wins):
|
|
190
|
-
* 1. `CUA_BACKEND=anthropic` and ANTHROPIC_API_KEY → AnthropicBackend
|
|
191
|
-
* 2. `CUA_BACKEND=trycua` and TRYCUA_API_KEY → TrycuaBackend
|
|
192
|
-
* 3. `CUA_BACKEND=opencua` and OPENCUA_ENDPOINT → OpenCuaBackend
|
|
193
|
-
* 4. `CUA_BACKEND=scrapybara` and SCRAPYBARA_API_KEY → ScrapybaraBackend
|
|
194
|
-
* 5. otherwise → MockBackend
|
|
195
|
-
*
|
|
196
|
-
* If the user names a backend but the required env is missing, we return a
|
|
197
|
-
* MockBackend tagged with a `missing` sentinel so the caller can emit a
|
|
198
|
-
* structured `config_error` envelope on first use.
|
|
199
|
-
*/
|
|
200
|
-
export declare function selectCuaBackend(env?: CuaEnv): CuaBackend;
|
|
201
|
-
export interface CuaTransportOptions {
|
|
202
|
-
backend?: CuaBackend;
|
|
203
|
-
env?: CuaEnv;
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* CuaTransport routes `cua_*` pipeline steps to the active backend, wraps
|
|
207
|
-
* every outcome in an envelope, and never throws from `action()`.
|
|
208
|
-
*/
|
|
209
|
-
export declare class CuaTransport implements TransportAdapter {
|
|
210
|
-
readonly kind: TransportKind;
|
|
211
|
-
readonly capability: Capability;
|
|
212
|
-
private backend;
|
|
213
|
-
private lastSnapshot;
|
|
214
|
-
constructor(opts?: CuaTransportOptions);
|
|
215
|
-
/** Introspect the active backend (used by tests + `cua_backend` step). */
|
|
216
|
-
get activeBackendName(): CuaBackendName;
|
|
217
|
-
/** Swap backends at runtime — the `cua_backend` step uses this. */
|
|
218
|
-
setBackend(backend: CuaBackend): void;
|
|
219
|
-
open(_ctx: TransportContext): Promise<void>;
|
|
220
|
-
snapshot(opts?: {
|
|
221
|
-
format?: SnapshotFormat;
|
|
222
|
-
}): Promise<Snapshot>;
|
|
223
|
-
action<T = unknown>(req: ActionRequest): Promise<ActionResult<T>>;
|
|
224
|
-
close(): Promise<void>;
|
|
225
|
-
private dispatch;
|
|
226
|
-
private envelopeFromBackendError;
|
|
227
|
-
private doSnapshot;
|
|
228
|
-
private doClick;
|
|
229
|
-
private doType;
|
|
230
|
-
private doKey;
|
|
231
|
-
private doScroll;
|
|
232
|
-
private doDrag;
|
|
233
|
-
private doWait;
|
|
234
|
-
private doAssert;
|
|
235
|
-
private doAsk;
|
|
236
|
-
private doBackendInfo;
|
|
237
|
-
private doLaunch;
|
|
238
|
-
}
|
|
239
|
-
//# sourceMappingURL=cua.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cua.d.ts","sourceRoot":"","sources":["../../../src/transport/adapters/cua.ts"],"names":[],"mappings":"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"}
|