@zenalexa/unicli 0.221.1 → 0.222.1
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 +2 -2
- package/README.md +128 -23
- package/README.zh-CN.md +115 -35
- package/crates/unicli-atspi/src/errors.rs +2 -2
- package/crates/unicli-uia/src/errors.rs +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +3 -0
- 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/delivery.d.ts +17 -0
- package/dist/commands/delivery.d.ts.map +1 -0
- package/dist/commands/delivery.js +577 -0
- package/dist/commands/delivery.js.map +1 -0
- package/dist/commands/do.d.ts.map +1 -1
- package/dist/commands/do.js +3 -4
- package/dist/commands/do.js.map +1 -1
- package/dist/commands/doctor-compute.js +11 -7
- package/dist/commands/doctor-compute.js.map +1 -1
- package/dist/commands/extract.d.ts.map +1 -1
- package/dist/commands/extract.js +6 -2
- package/dist/commands/extract.js.map +1 -1
- 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/runs.d.ts.map +1 -1
- package/dist/commands/runs.js +9 -5
- package/dist/commands/runs.js.map +1 -1
- package/dist/discovery/aliases.d.ts.map +1 -1
- package/dist/discovery/aliases.js +1 -0
- package/dist/discovery/aliases.js.map +1 -1
- 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.map +1 -1
- package/dist/discovery/search.js +20 -0
- 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/delivery/index.d.ts +20 -0
- package/dist/engine/delivery/index.d.ts.map +1 -0
- package/dist/engine/delivery/index.js +20 -0
- package/dist/engine/delivery/index.js.map +1 -0
- package/dist/engine/delivery/planner.d.ts +19 -0
- package/dist/engine/delivery/planner.d.ts.map +1 -0
- package/dist/engine/delivery/planner.js +322 -0
- package/dist/engine/delivery/planner.js.map +1 -0
- package/dist/engine/delivery/repair.d.ts +17 -0
- package/dist/engine/delivery/repair.d.ts.map +1 -0
- package/dist/engine/delivery/repair.js +86 -0
- package/dist/engine/delivery/repair.js.map +1 -0
- package/dist/engine/delivery/session.d.ts +17 -0
- package/dist/engine/delivery/session.d.ts.map +1 -0
- package/dist/engine/delivery/session.js +78 -0
- package/dist/engine/delivery/session.js.map +1 -0
- package/dist/engine/delivery/trajectory.d.ts +17 -0
- package/dist/engine/delivery/trajectory.d.ts.map +1 -0
- package/dist/engine/delivery/trajectory.js +166 -0
- package/dist/engine/delivery/trajectory.js.map +1 -0
- package/dist/engine/delivery/types.d.ts +157 -0
- package/dist/engine/delivery/types.d.ts.map +1 -0
- package/dist/engine/delivery/types.js +16 -0
- package/dist/engine/delivery/types.js.map +1 -0
- 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/manifest-compact.txt +2 -2
- package/dist/manifest-search.json +1 -1
- package/dist/manifest.json +69 -55
- package/dist/output/error-writer.d.ts +23 -0
- package/dist/output/error-writer.d.ts.map +1 -0
- package/dist/output/error-writer.js +20 -0
- package/dist/output/error-writer.js.map +1 -0
- 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/docs/operate/compute.md +20 -7
- package/docs/operate/focus-behavior.md +21 -12
- package/docs/operate/troubleshooting.md +17 -12
- package/package.json +6 -12
- 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/figma/export-selected.yaml +16 -16
- package/src/adapters/instagram/reels.yaml +5 -7
- package/src/adapters/openalex/works.test.ts +40 -32
- package/src/adapters/weread/shelf.yaml +1 -1
- package/src/adapters/zoom/toggle-mute.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,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CUA pipeline step handlers — every cua_* action delegates to the
|
|
3
|
-
* transport bus (`bus.require`/`adapter.open`/`adapter.action`). The bus
|
|
4
|
-
* routes to whichever transport declares the step; `action()` never
|
|
5
|
-
* throws — callers always receive an envelope.
|
|
6
|
-
*/
|
|
7
|
-
import type { Envelope } from "../../core/envelope.js";
|
|
8
|
-
import type { TransportBus, TransportContext } from "../../transport/types.js";
|
|
9
|
-
/** Shared shape used by every cua_* handler. */
|
|
10
|
-
export interface CuaStepContext {
|
|
11
|
-
bus: TransportBus;
|
|
12
|
-
transportCtx: TransportContext;
|
|
13
|
-
platform?: NodeJS.Platform;
|
|
14
|
-
}
|
|
15
|
-
export declare function handleCuaSnapshot(ctx: CuaStepContext, params?: Record<string, unknown>): Promise<Envelope<unknown>>;
|
|
16
|
-
export declare function handleCuaClick(ctx: CuaStepContext, params: Record<string, unknown>): Promise<Envelope<unknown>>;
|
|
17
|
-
export declare function handleCuaType(ctx: CuaStepContext, params: Record<string, unknown>): Promise<Envelope<unknown>>;
|
|
18
|
-
export declare function handleCuaKey(ctx: CuaStepContext, params: Record<string, unknown>): Promise<Envelope<unknown>>;
|
|
19
|
-
export declare function handleCuaScroll(ctx: CuaStepContext, params: Record<string, unknown>): Promise<Envelope<unknown>>;
|
|
20
|
-
export declare function handleCuaDrag(ctx: CuaStepContext, params: Record<string, unknown>): Promise<Envelope<unknown>>;
|
|
21
|
-
export declare function handleCuaWait(ctx: CuaStepContext, params: Record<string, unknown>): Promise<Envelope<unknown>>;
|
|
22
|
-
export declare function handleCuaAssert(ctx: CuaStepContext, params: Record<string, unknown>): Promise<Envelope<unknown>>;
|
|
23
|
-
export declare function handleCuaAsk(ctx: CuaStepContext, params: Record<string, unknown>): Promise<Envelope<unknown>>;
|
|
24
|
-
export declare function handleCuaBackend(ctx: CuaStepContext, params?: Record<string, unknown>): Promise<Envelope<unknown>>;
|
|
25
|
-
export declare function handleCuaLaunch(ctx: CuaStepContext, params: Record<string, unknown>): Promise<Envelope<unknown>>;
|
|
26
|
-
/** Kind → handler dispatch table (consumed by executor.dispatchBusStep in src/engine/executor.ts). */
|
|
27
|
-
export declare const CUA_STEP_HANDLERS: {
|
|
28
|
-
readonly cua_snapshot: typeof handleCuaSnapshot;
|
|
29
|
-
readonly cua_click: typeof handleCuaClick;
|
|
30
|
-
readonly cua_type: typeof handleCuaType;
|
|
31
|
-
readonly cua_key: typeof handleCuaKey;
|
|
32
|
-
readonly cua_scroll: typeof handleCuaScroll;
|
|
33
|
-
readonly cua_drag: typeof handleCuaDrag;
|
|
34
|
-
readonly cua_wait: typeof handleCuaWait;
|
|
35
|
-
readonly cua_assert: typeof handleCuaAssert;
|
|
36
|
-
readonly cua_ask: typeof handleCuaAsk;
|
|
37
|
-
readonly cua_backend: typeof handleCuaBackend;
|
|
38
|
-
readonly cua_launch: typeof handleCuaLaunch;
|
|
39
|
-
};
|
|
40
|
-
export type CuaStepKind = keyof typeof CUA_STEP_HANDLERS;
|
|
41
|
-
//# sourceMappingURL=cua.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cua.d.ts","sourceRoot":"","sources":["../../../src/engine/steps/cua.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAGV,YAAY,EACZ,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAElC,gDAAgD;AAChD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,YAAY,CAAC;IAClB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC5B;AAYD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,cAAc,EACnB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAE5B;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAE5B;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAE5B;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAE5B;AAED,wBAAsB,eAAe,CACnC,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAE5B;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAE5B;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAE5B;AAED,wBAAsB,eAAe,CACnC,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAE5B;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAE5B;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,cAAc,EACnB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAE5B;AAED,wBAAsB,eAAe,CACnC,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAE5B;AAED,sGAAsG;AACtG,eAAO,MAAM,iBAAiB;;;;;;;;;;;;CAYpB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,iBAAiB,CAAC"}
|
package/dist/engine/steps/cua.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CUA pipeline step handlers — every cua_* action delegates to the
|
|
3
|
-
* transport bus (`bus.require`/`adapter.open`/`adapter.action`). The bus
|
|
4
|
-
* routes to whichever transport declares the step; `action()` never
|
|
5
|
-
* throws — callers always receive an envelope.
|
|
6
|
-
*/
|
|
7
|
-
async function dispatch(ctx, kind, params) {
|
|
8
|
-
const adapter = ctx.bus.require(kind, ctx.platform);
|
|
9
|
-
await adapter.open(ctx.transportCtx);
|
|
10
|
-
return (await adapter.action({ kind, params }));
|
|
11
|
-
}
|
|
12
|
-
export async function handleCuaSnapshot(ctx, params = {}) {
|
|
13
|
-
return dispatch(ctx, "cua_snapshot", params);
|
|
14
|
-
}
|
|
15
|
-
export async function handleCuaClick(ctx, params) {
|
|
16
|
-
return dispatch(ctx, "cua_click", params);
|
|
17
|
-
}
|
|
18
|
-
export async function handleCuaType(ctx, params) {
|
|
19
|
-
return dispatch(ctx, "cua_type", params);
|
|
20
|
-
}
|
|
21
|
-
export async function handleCuaKey(ctx, params) {
|
|
22
|
-
return dispatch(ctx, "cua_key", params);
|
|
23
|
-
}
|
|
24
|
-
export async function handleCuaScroll(ctx, params) {
|
|
25
|
-
return dispatch(ctx, "cua_scroll", params);
|
|
26
|
-
}
|
|
27
|
-
export async function handleCuaDrag(ctx, params) {
|
|
28
|
-
return dispatch(ctx, "cua_drag", params);
|
|
29
|
-
}
|
|
30
|
-
export async function handleCuaWait(ctx, params) {
|
|
31
|
-
return dispatch(ctx, "cua_wait", params);
|
|
32
|
-
}
|
|
33
|
-
export async function handleCuaAssert(ctx, params) {
|
|
34
|
-
return dispatch(ctx, "cua_assert", params);
|
|
35
|
-
}
|
|
36
|
-
export async function handleCuaAsk(ctx, params) {
|
|
37
|
-
return dispatch(ctx, "cua_ask", params);
|
|
38
|
-
}
|
|
39
|
-
export async function handleCuaBackend(ctx, params = {}) {
|
|
40
|
-
return dispatch(ctx, "cua_backend", params);
|
|
41
|
-
}
|
|
42
|
-
export async function handleCuaLaunch(ctx, params) {
|
|
43
|
-
return dispatch(ctx, "cua_launch", params);
|
|
44
|
-
}
|
|
45
|
-
/** Kind → handler dispatch table (consumed by executor.dispatchBusStep in src/engine/executor.ts). */
|
|
46
|
-
export const CUA_STEP_HANDLERS = {
|
|
47
|
-
cua_snapshot: handleCuaSnapshot,
|
|
48
|
-
cua_click: handleCuaClick,
|
|
49
|
-
cua_type: handleCuaType,
|
|
50
|
-
cua_key: handleCuaKey,
|
|
51
|
-
cua_scroll: handleCuaScroll,
|
|
52
|
-
cua_drag: handleCuaDrag,
|
|
53
|
-
cua_wait: handleCuaWait,
|
|
54
|
-
cua_assert: handleCuaAssert,
|
|
55
|
-
cua_ask: handleCuaAsk,
|
|
56
|
-
cua_backend: handleCuaBackend,
|
|
57
|
-
cua_launch: handleCuaLaunch,
|
|
58
|
-
};
|
|
59
|
-
//# sourceMappingURL=cua.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cua.js","sourceRoot":"","sources":["../../../src/engine/steps/cua.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH,KAAK,UAAU,QAAQ,CACrB,GAAmB,EACnB,IAAY,EACZ,MAA+B;IAE/B,MAAM,OAAO,GAAqB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACrC,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,CAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAoB,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAmB,EACnB,SAAkC,EAAE;IAEpC,OAAO,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAmB,EACnB,MAA+B;IAE/B,OAAO,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAmB,EACnB,MAA+B;IAE/B,OAAO,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAmB,EACnB,MAA+B;IAE/B,OAAO,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAmB,EACnB,MAA+B;IAE/B,OAAO,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAmB,EACnB,MAA+B;IAE/B,OAAO,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAmB,EACnB,MAA+B;IAE/B,OAAO,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAmB,EACnB,MAA+B;IAE/B,OAAO,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAmB,EACnB,MAA+B;IAE/B,OAAO,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAmB,EACnB,SAAkC,EAAE;IAEpC,OAAO,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAmB,EACnB,MAA+B;IAE/B,OAAO,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,sGAAsG;AACtG,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,YAAY,EAAE,iBAAiB;IAC/B,SAAS,EAAE,cAAc;IACzB,QAAQ,EAAE,aAAa;IACvB,OAAO,EAAE,YAAY;IACrB,UAAU,EAAE,eAAe;IAC3B,QAAQ,EAAE,aAAa;IACvB,QAAQ,EAAE,aAAa;IACvB,UAAU,EAAE,eAAe;IAC3B,OAAO,EAAE,YAAY;IACrB,WAAW,EAAE,gBAAgB;IAC7B,UAAU,EAAE,eAAe;CACnB,CAAC"}
|
|
@@ -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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACd,MAAM,aAAa,CAAC;AAIrB;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,IAAI,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC;;;;OAIG;IACH,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC;;;OAGG;IACH,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAED,gEAAgE;AAChE,MAAM,MAAM,cAAc,GACtB,WAAW,GACX,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,MAAM,CAAC;AA8BX;;;;;GAKG;AACH,qBAAa,WAAY,YAAW,UAAU;IAC5C,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAU;IACvC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC,CAAM;IAEhE,OAAO,CAAC,MAAM;IAIR,QAAQ,IAAI,OAAO,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAKI,KAAK,CACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,GAAE,MAAM,GAAG,OAAgB,GAChC,OAAO,CAAC,IAAI,CAAC;IAIV,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/B,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,IAAI,CACR,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC;IAIV,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/B,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKtC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGzC;AAkCD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAiB,YAAW,UAAU;IACjD,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAe;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAE3B,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAA+D,EACtE,WAAW,GAAE,MACQ;IAOjB,QAAQ,IAAI,OAAO,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAQI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAQpB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/B,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;CAO7B;AAED,8EAA8E;AAC9E,qBAAa,aAAc,YAAW,UAAU;IAC9C,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAY;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBACd,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAA8B;IAK9D,QAAQ,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAOtE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAGtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAGrB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAGpB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAGvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAGrB,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGtC;AAED,wEAAwE;AACxE,qBAAa,cAAe,YAAW,UAAU;IAEnC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IADrC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAa;gBACb,QAAQ,EAAE,MAAM;IAEvC,QAAQ,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAOtE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAGtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAGrB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAGpB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAOvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAGrB,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGtC;AAED,wEAAwE;AACxE,qBAAa,iBAAkB,YAAW,UAAU;IAClD,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAgB;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBACd,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAqC;IAKrE,QAAQ,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAOtE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAGtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAGrB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAGpB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAGvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAGrB,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGtC;AAID,qFAAqF;AACrF,MAAM,WAAW,MAAM;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAoB,GAAG,UAAU,CAwBtE;AAID,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,qBAAa,YAAa,YAAW,gBAAgB;IACnD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAS;IACrC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAkB;IAEjD,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,YAAY,CAAmC;gBAE3C,IAAI,GAAE,mBAAwB;IAI1C,0EAA0E;IAC1E,IAAI,iBAAiB,IAAI,cAAc,CAEtC;IAED,mEAAmE;IACnE,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAI/B,IAAI,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,cAAc,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IAoB/D,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAmBjE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAMd,QAAQ;IAqCtB,OAAO,CAAC,wBAAwB;YAmBlB,UAAU;YAoBV,OAAO;YAyBP,MAAM;YAsBN,KAAK;YAsBL,QAAQ;YAaR,MAAM;YA8BN,MAAM;YAiBN,QAAQ;YAsCR,KAAK;YAmCL,aAAa;YAIb,QAAQ;CAiCvB"}
|