@skillful-agents/agent-computer 0.0.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/README.md +458 -0
- package/bin/ac-core-darwin-arm64 +0 -0
- package/bin/ac-core-darwin-x64 +0 -0
- package/bin/ac-core-win32-arm64.exe +0 -0
- package/bin/ac-core-win32-x64.exe +0 -0
- package/dist/bin/ac.d.ts +3 -0
- package/dist/bin/ac.d.ts.map +1 -0
- package/dist/bin/ac.js +126 -0
- package/dist/bin/ac.js.map +1 -0
- package/dist/src/bridge.d.ts +69 -0
- package/dist/src/bridge.d.ts.map +1 -0
- package/dist/src/bridge.js +687 -0
- package/dist/src/bridge.js.map +1 -0
- package/dist/src/cdp/ax-tree.d.ts +19 -0
- package/dist/src/cdp/ax-tree.d.ts.map +1 -0
- package/dist/src/cdp/ax-tree.js +159 -0
- package/dist/src/cdp/ax-tree.js.map +1 -0
- package/dist/src/cdp/bounds.d.ts +25 -0
- package/dist/src/cdp/bounds.d.ts.map +1 -0
- package/dist/src/cdp/bounds.js +62 -0
- package/dist/src/cdp/bounds.js.map +1 -0
- package/dist/src/cdp/client.d.ts +115 -0
- package/dist/src/cdp/client.d.ts.map +1 -0
- package/dist/src/cdp/client.js +269 -0
- package/dist/src/cdp/client.js.map +1 -0
- package/dist/src/cdp/connection.d.ts +25 -0
- package/dist/src/cdp/connection.d.ts.map +1 -0
- package/dist/src/cdp/connection.js +249 -0
- package/dist/src/cdp/connection.js.map +1 -0
- package/dist/src/cdp/diff.d.ts +17 -0
- package/dist/src/cdp/diff.d.ts.map +1 -0
- package/dist/src/cdp/diff.js +52 -0
- package/dist/src/cdp/diff.js.map +1 -0
- package/dist/src/cdp/discovery.d.ts +8 -0
- package/dist/src/cdp/discovery.d.ts.map +1 -0
- package/dist/src/cdp/discovery.js +54 -0
- package/dist/src/cdp/discovery.js.map +1 -0
- package/dist/src/cdp/index.d.ts +12 -0
- package/dist/src/cdp/index.d.ts.map +1 -0
- package/dist/src/cdp/index.js +10 -0
- package/dist/src/cdp/index.js.map +1 -0
- package/dist/src/cdp/interactions.d.ts +47 -0
- package/dist/src/cdp/interactions.d.ts.map +1 -0
- package/dist/src/cdp/interactions.js +298 -0
- package/dist/src/cdp/interactions.js.map +1 -0
- package/dist/src/cdp/port-manager.d.ts +3 -0
- package/dist/src/cdp/port-manager.d.ts.map +1 -0
- package/dist/src/cdp/port-manager.js +33 -0
- package/dist/src/cdp/port-manager.js.map +1 -0
- package/dist/src/cdp/role-map.d.ts +8 -0
- package/dist/src/cdp/role-map.d.ts.map +1 -0
- package/dist/src/cdp/role-map.js +99 -0
- package/dist/src/cdp/role-map.js.map +1 -0
- package/dist/src/cdp/types.d.ts +53 -0
- package/dist/src/cdp/types.d.ts.map +1 -0
- package/dist/src/cdp/types.js +2 -0
- package/dist/src/cdp/types.js.map +1 -0
- package/dist/src/cli/commands/apps.d.ts +2 -0
- package/dist/src/cli/commands/apps.d.ts.map +1 -0
- package/dist/src/cli/commands/apps.js +62 -0
- package/dist/src/cli/commands/apps.js.map +1 -0
- package/dist/src/cli/commands/batch.d.ts +2 -0
- package/dist/src/cli/commands/batch.d.ts.map +1 -0
- package/dist/src/cli/commands/batch.js +36 -0
- package/dist/src/cli/commands/batch.js.map +1 -0
- package/dist/src/cli/commands/click.d.ts +2 -0
- package/dist/src/cli/commands/click.d.ts.map +1 -0
- package/dist/src/cli/commands/click.js +60 -0
- package/dist/src/cli/commands/click.js.map +1 -0
- package/dist/src/cli/commands/clipboard.d.ts +2 -0
- package/dist/src/cli/commands/clipboard.d.ts.map +1 -0
- package/dist/src/cli/commands/clipboard.js +30 -0
- package/dist/src/cli/commands/clipboard.js.map +1 -0
- package/dist/src/cli/commands/dialog.d.ts +2 -0
- package/dist/src/cli/commands/dialog.d.ts.map +1 -0
- package/dist/src/cli/commands/dialog.js +44 -0
- package/dist/src/cli/commands/dialog.js.map +1 -0
- package/dist/src/cli/commands/drag.d.ts +2 -0
- package/dist/src/cli/commands/drag.d.ts.map +1 -0
- package/dist/src/cli/commands/drag.js +25 -0
- package/dist/src/cli/commands/drag.js.map +1 -0
- package/dist/src/cli/commands/find.d.ts +2 -0
- package/dist/src/cli/commands/find.d.ts.map +1 -0
- package/dist/src/cli/commands/find.js +98 -0
- package/dist/src/cli/commands/find.js.map +1 -0
- package/dist/src/cli/commands/menu.d.ts +2 -0
- package/dist/src/cli/commands/menu.d.ts.map +1 -0
- package/dist/src/cli/commands/menu.js +35 -0
- package/dist/src/cli/commands/menu.js.map +1 -0
- package/dist/src/cli/commands/screenshot.d.ts +2 -0
- package/dist/src/cli/commands/screenshot.d.ts.map +1 -0
- package/dist/src/cli/commands/screenshot.js +26 -0
- package/dist/src/cli/commands/screenshot.js.map +1 -0
- package/dist/src/cli/commands/scroll.d.ts +2 -0
- package/dist/src/cli/commands/scroll.d.ts.map +1 -0
- package/dist/src/cli/commands/scroll.js +76 -0
- package/dist/src/cli/commands/scroll.js.map +1 -0
- package/dist/src/cli/commands/session.d.ts +2 -0
- package/dist/src/cli/commands/session.d.ts.map +1 -0
- package/dist/src/cli/commands/session.js +26 -0
- package/dist/src/cli/commands/session.js.map +1 -0
- package/dist/src/cli/commands/snapshot.d.ts +2 -0
- package/dist/src/cli/commands/snapshot.d.ts.map +1 -0
- package/dist/src/cli/commands/snapshot.js +23 -0
- package/dist/src/cli/commands/snapshot.js.map +1 -0
- package/dist/src/cli/commands/type.d.ts +2 -0
- package/dist/src/cli/commands/type.d.ts.map +1 -0
- package/dist/src/cli/commands/type.js +68 -0
- package/dist/src/cli/commands/type.js.map +1 -0
- package/dist/src/cli/commands/windowmgmt.d.ts +2 -0
- package/dist/src/cli/commands/windowmgmt.d.ts.map +1 -0
- package/dist/src/cli/commands/windowmgmt.js +61 -0
- package/dist/src/cli/commands/windowmgmt.js.map +1 -0
- package/dist/src/cli/commands/windows.d.ts +2 -0
- package/dist/src/cli/commands/windows.d.ts.map +1 -0
- package/dist/src/cli/commands/windows.js +9 -0
- package/dist/src/cli/commands/windows.js.map +1 -0
- package/dist/src/cli/commands.d.ts +13 -0
- package/dist/src/cli/commands.d.ts.map +1 -0
- package/dist/src/cli/commands.js +177 -0
- package/dist/src/cli/commands.js.map +1 -0
- package/dist/src/cli/output.d.ts +4 -0
- package/dist/src/cli/output.d.ts.map +1 -0
- package/dist/src/cli/output.js +249 -0
- package/dist/src/cli/output.js.map +1 -0
- package/dist/src/cli/parser.d.ts +19 -0
- package/dist/src/cli/parser.d.ts.map +1 -0
- package/dist/src/cli/parser.js +125 -0
- package/dist/src/cli/parser.js.map +1 -0
- package/dist/src/config.d.ts +14 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +73 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/daemon.d.ts +21 -0
- package/dist/src/daemon.d.ts.map +1 -0
- package/dist/src/daemon.js +180 -0
- package/dist/src/daemon.js.map +1 -0
- package/dist/src/errors.d.ts +39 -0
- package/dist/src/errors.d.ts.map +1 -0
- package/dist/src/errors.js +103 -0
- package/dist/src/errors.js.map +1 -0
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +8 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/platform/index.d.ts +6 -0
- package/dist/src/platform/index.d.ts.map +1 -0
- package/dist/src/platform/index.js +14 -0
- package/dist/src/platform/index.js.map +1 -0
- package/dist/src/platform/resolve.d.ts +2 -0
- package/dist/src/platform/resolve.d.ts.map +1 -0
- package/dist/src/platform/resolve.js +54 -0
- package/dist/src/platform/resolve.js.map +1 -0
- package/dist/src/refs.d.ts +12 -0
- package/dist/src/refs.d.ts.map +1 -0
- package/dist/src/refs.js +85 -0
- package/dist/src/refs.js.map +1 -0
- package/dist/src/sdk.d.ts +258 -0
- package/dist/src/sdk.d.ts.map +1 -0
- package/dist/src/sdk.js +285 -0
- package/dist/src/sdk.js.map +1 -0
- package/dist/src/types.d.ts +93 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +9 -0
- package/dist/src/types.js.map +1 -0
- package/package.json +67 -0
- package/schema/examples/click.response.example.json +9 -0
- package/schema/examples/error.response.example.json +12 -0
- package/schema/examples/ping.response.example.json +7 -0
- package/schema/examples/snapshot.response.example.json +50 -0
- package/schema/methods/click.request.json +26 -0
- package/schema/methods/click.response.json +24 -0
- package/schema/methods/error.response.json +19 -0
- package/schema/methods/ping.request.json +12 -0
- package/schema/methods/ping.response.json +17 -0
- package/schema/methods/snapshot.request.json +24 -0
- package/schema/methods/snapshot.response.json +23 -0
- package/schema/methods/status.request.json +12 -0
- package/schema/methods/status.response.json +20 -0
- package/schema/types/element.json +26 -0
- package/schema/types/normalized-role.json +13 -0
- package/schema/types/ref.json +7 -0
- package/schema/types/window-info.json +24 -0
- package/scripts/build-macos.sh +5 -0
- package/scripts/postinstall.js +35 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export interface CDPTarget {
|
|
2
|
+
id: string;
|
|
3
|
+
title: string;
|
|
4
|
+
type: string;
|
|
5
|
+
url: string;
|
|
6
|
+
webSocketDebuggerUrl: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
devtoolsFrontendUrl?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface CDPAXNode {
|
|
11
|
+
nodeId: string;
|
|
12
|
+
ignored: boolean;
|
|
13
|
+
role?: {
|
|
14
|
+
type: string;
|
|
15
|
+
value: string;
|
|
16
|
+
};
|
|
17
|
+
name?: {
|
|
18
|
+
type: string;
|
|
19
|
+
value: string;
|
|
20
|
+
sources?: unknown[];
|
|
21
|
+
};
|
|
22
|
+
description?: {
|
|
23
|
+
type: string;
|
|
24
|
+
value: string;
|
|
25
|
+
};
|
|
26
|
+
value?: {
|
|
27
|
+
type: string;
|
|
28
|
+
value: unknown;
|
|
29
|
+
};
|
|
30
|
+
properties?: Array<{
|
|
31
|
+
name: string;
|
|
32
|
+
value: {
|
|
33
|
+
type: string;
|
|
34
|
+
value: unknown;
|
|
35
|
+
};
|
|
36
|
+
}>;
|
|
37
|
+
childIds?: string[];
|
|
38
|
+
parentId?: string;
|
|
39
|
+
backendDOMNodeId?: number;
|
|
40
|
+
}
|
|
41
|
+
export interface CDPNodeRef {
|
|
42
|
+
nodeId: string;
|
|
43
|
+
backendDOMNodeId: number;
|
|
44
|
+
}
|
|
45
|
+
export interface CDPBoxModel {
|
|
46
|
+
content: number[];
|
|
47
|
+
padding: number[];
|
|
48
|
+
border: number[];
|
|
49
|
+
margin: number[];
|
|
50
|
+
width: number;
|
|
51
|
+
height: number;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cdp/types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAGD,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAC5D,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IACzC,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,OAAO,CAAA;SAAE,CAAC;KACzC,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAGD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAGD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/cdp/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/apps.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { registerCommand } from '../commands.js';
|
|
2
|
+
registerCommand('apps', async (args, bridge) => {
|
|
3
|
+
const params = {};
|
|
4
|
+
if (args.flags['running'])
|
|
5
|
+
params.running = true;
|
|
6
|
+
const result = await bridge.send('apps', params);
|
|
7
|
+
return { data: result, exitCode: 0 };
|
|
8
|
+
});
|
|
9
|
+
registerCommand('launch', async (args, bridge) => {
|
|
10
|
+
const name = args.positional[0];
|
|
11
|
+
if (!name) {
|
|
12
|
+
return { data: { error: 'Usage: agent-computer launch <name> [--wait] [--background]' }, exitCode: 1 };
|
|
13
|
+
}
|
|
14
|
+
const params = {
|
|
15
|
+
name,
|
|
16
|
+
wait: args.flags['wait'] === true,
|
|
17
|
+
background: args.flags['background'] === true,
|
|
18
|
+
};
|
|
19
|
+
if (args.flags['open']) {
|
|
20
|
+
params.open = args.flags['open'];
|
|
21
|
+
}
|
|
22
|
+
const result = await bridge.send('launch', params);
|
|
23
|
+
return { data: result, exitCode: 0 };
|
|
24
|
+
});
|
|
25
|
+
registerCommand('relaunch', async (args, bridge) => {
|
|
26
|
+
const name = args.positional[0];
|
|
27
|
+
if (!name) {
|
|
28
|
+
return { data: { error: 'Usage: agent-computer relaunch <name>' }, exitCode: 1 };
|
|
29
|
+
}
|
|
30
|
+
const result = await bridge.send('relaunch', { name });
|
|
31
|
+
return { data: result, exitCode: 0 };
|
|
32
|
+
});
|
|
33
|
+
registerCommand('quit', async (args, bridge) => {
|
|
34
|
+
const name = args.positional[0];
|
|
35
|
+
if (!name) {
|
|
36
|
+
return { data: { error: 'Usage: agent-computer quit <name> [--force]' }, exitCode: 1 };
|
|
37
|
+
}
|
|
38
|
+
const result = await bridge.send('quit', { name, force: args.flags['force'] === true });
|
|
39
|
+
return { data: result, exitCode: 0 };
|
|
40
|
+
});
|
|
41
|
+
registerCommand('hide', async (args, bridge) => {
|
|
42
|
+
const name = args.positional[0];
|
|
43
|
+
if (!name)
|
|
44
|
+
return { data: { error: 'Usage: agent-computer hide <name>' }, exitCode: 1 };
|
|
45
|
+
const result = await bridge.send('hide', { name });
|
|
46
|
+
return { data: result, exitCode: 0 };
|
|
47
|
+
});
|
|
48
|
+
registerCommand('unhide', async (args, bridge) => {
|
|
49
|
+
const name = args.positional[0];
|
|
50
|
+
if (!name)
|
|
51
|
+
return { data: { error: 'Usage: agent-computer unhide <name>' }, exitCode: 1 };
|
|
52
|
+
const result = await bridge.send('unhide', { name });
|
|
53
|
+
return { data: result, exitCode: 0 };
|
|
54
|
+
});
|
|
55
|
+
registerCommand('switch', async (args, bridge) => {
|
|
56
|
+
const name = args.positional[0];
|
|
57
|
+
if (!name)
|
|
58
|
+
return { data: { error: 'Usage: agent-computer switch <name>' }, exitCode: 1 };
|
|
59
|
+
const result = await bridge.send('switch', { name });
|
|
60
|
+
return { data: result, exitCode: 0 };
|
|
61
|
+
});
|
|
62
|
+
//# sourceMappingURL=apps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apps.js","sourceRoot":"","sources":["../../../../src/cli/commands/apps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/batch.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { registerCommand } from '../commands.js';
|
|
2
|
+
registerCommand('batch', async (args, bridge) => {
|
|
3
|
+
const jsonStr = args.positional[0] || args.subcommand;
|
|
4
|
+
if (!jsonStr) {
|
|
5
|
+
return { data: { error: 'Usage: agent-computer batch \'[["method", ...args], ...]\'' }, exitCode: 1 };
|
|
6
|
+
}
|
|
7
|
+
let commands;
|
|
8
|
+
try {
|
|
9
|
+
commands = JSON.parse(jsonStr);
|
|
10
|
+
if (!Array.isArray(commands))
|
|
11
|
+
throw new Error('not array');
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
return { data: { error: 'Invalid JSON. Expected array of command arrays.' }, exitCode: 1 };
|
|
15
|
+
}
|
|
16
|
+
const params = { commands };
|
|
17
|
+
if (args.flags['no-stop-on-error'])
|
|
18
|
+
params.stop_on_error = false;
|
|
19
|
+
const result = await bridge.send('batch', params);
|
|
20
|
+
return { data: result, exitCode: 0 };
|
|
21
|
+
});
|
|
22
|
+
registerCommand('changed', async (args, bridge) => {
|
|
23
|
+
const params = {};
|
|
24
|
+
if (args.flags['app'])
|
|
25
|
+
params.app = args.flags['app'];
|
|
26
|
+
const result = await bridge.send('changed', params);
|
|
27
|
+
return { data: result, exitCode: 0 };
|
|
28
|
+
});
|
|
29
|
+
registerCommand('diff', async (args, bridge) => {
|
|
30
|
+
const params = {};
|
|
31
|
+
if (args.flags['app'])
|
|
32
|
+
params.app = args.flags['app'];
|
|
33
|
+
const result = await bridge.send('diff', params);
|
|
34
|
+
return { data: result, exitCode: 0 };
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=batch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch.js","sourceRoot":"","sources":["../../../../src/cli/commands/batch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,IAAgB,EAAE,MAAc,EAAE,EAAE;IAClE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;IAEtD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,4DAA4D,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACxG,CAAC;IAED,IAAI,QAAmB,CAAC;IACxB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,iDAAiD,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC7F,CAAC;IAED,MAAM,MAAM,GAA4B,EAAE,QAAQ,EAAE,CAAC;IACrD,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC;QAAE,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC;IAEjE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,eAAe,CAAC,SAAS,EAAE,KAAK,EAAE,IAAgB,EAAE,MAAc,EAAE,EAAE;IACpE,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACpD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,IAAgB,EAAE,MAAc,EAAE,EAAE;IACjE,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACvC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"click.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/click.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { registerCommand } from '../commands.js';
|
|
2
|
+
import { parseSelector } from '../parser.js';
|
|
3
|
+
registerCommand('click', async (args, bridge) => {
|
|
4
|
+
const sel = args.positional[0];
|
|
5
|
+
if (!sel) {
|
|
6
|
+
return { data: { error: 'Usage: agent-computer click <ref|x,y|label> [--right] [--double] [--count N] [--modifiers keys]' }, exitCode: 1 };
|
|
7
|
+
}
|
|
8
|
+
const params = {};
|
|
9
|
+
const parsed = parseSelector(sel);
|
|
10
|
+
if (parsed.type === 'ref') {
|
|
11
|
+
params.ref = parsed.ref;
|
|
12
|
+
}
|
|
13
|
+
else if (parsed.type === 'coords') {
|
|
14
|
+
params.x = parsed.x;
|
|
15
|
+
params.y = parsed.y;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
// Label-based click — not yet implemented, pass as ref for now
|
|
19
|
+
params.ref = parsed.label;
|
|
20
|
+
}
|
|
21
|
+
if (args.flags['right'])
|
|
22
|
+
params.right = true;
|
|
23
|
+
if (args.flags['double'])
|
|
24
|
+
params.double = true;
|
|
25
|
+
if (args.flags['count'])
|
|
26
|
+
params.count = parseInt(args.flags['count'], 10);
|
|
27
|
+
if (args.flags['modifiers']) {
|
|
28
|
+
const mods = args.flags['modifiers'];
|
|
29
|
+
params.modifiers = mods.split(',').map(m => m.trim());
|
|
30
|
+
}
|
|
31
|
+
if (args.flags['wait'])
|
|
32
|
+
params.wait = true;
|
|
33
|
+
if (args.flags['human'])
|
|
34
|
+
params.human = true;
|
|
35
|
+
const result = await bridge.send('click', params);
|
|
36
|
+
return { data: result, exitCode: 0 };
|
|
37
|
+
});
|
|
38
|
+
registerCommand('hover', async (args, bridge) => {
|
|
39
|
+
const sel = args.positional[0];
|
|
40
|
+
if (!sel) {
|
|
41
|
+
return { data: { error: 'Usage: agent-computer hover <ref|x,y>' }, exitCode: 1 };
|
|
42
|
+
}
|
|
43
|
+
const params = {};
|
|
44
|
+
const parsed = parseSelector(sel);
|
|
45
|
+
if (parsed.type === 'ref') {
|
|
46
|
+
params.ref = parsed.ref;
|
|
47
|
+
}
|
|
48
|
+
else if (parsed.type === 'coords') {
|
|
49
|
+
params.x = parsed.x;
|
|
50
|
+
params.y = parsed.y;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
params.ref = parsed.label;
|
|
54
|
+
}
|
|
55
|
+
if (args.flags['human'])
|
|
56
|
+
params.human = true;
|
|
57
|
+
const result = await bridge.send('hover', params);
|
|
58
|
+
return { data: result, exitCode: 0 };
|
|
59
|
+
});
|
|
60
|
+
//# sourceMappingURL=click.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"click.js","sourceRoot":"","sources":["../../../../src/cli/commands/click.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/clipboard.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { registerCommand } from '../commands.js';
|
|
2
|
+
registerCommand('clipboard', async (args, bridge) => {
|
|
3
|
+
const sub = args.subcommand;
|
|
4
|
+
switch (sub) {
|
|
5
|
+
case 'set': {
|
|
6
|
+
const text = args.positional[0];
|
|
7
|
+
if (!text) {
|
|
8
|
+
return { data: { error: 'Usage: agent-computer clipboard set <text>' }, exitCode: 1 };
|
|
9
|
+
}
|
|
10
|
+
const result = await bridge.send('clipboard_set', { text });
|
|
11
|
+
return { data: result, exitCode: 0 };
|
|
12
|
+
}
|
|
13
|
+
case 'copy': {
|
|
14
|
+
const result = await bridge.send('clipboard_copy');
|
|
15
|
+
return { data: result, exitCode: 0 };
|
|
16
|
+
}
|
|
17
|
+
case 'paste': {
|
|
18
|
+
const result = await bridge.send('paste', { text: '' });
|
|
19
|
+
// Actually clipboard paste is just Cmd+V
|
|
20
|
+
const pasteResult = await bridge.send('key', { combo: 'cmd+v' });
|
|
21
|
+
return { data: pasteResult, exitCode: 0 };
|
|
22
|
+
}
|
|
23
|
+
default: {
|
|
24
|
+
// Read clipboard
|
|
25
|
+
const result = await bridge.send('clipboard_read');
|
|
26
|
+
return { data: result, exitCode: 0 };
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=clipboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../../../src/cli/commands/clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,IAAgB,EAAE,MAAc,EAAE,EAAE;IACtE,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;IAE5B,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,4CAA4C,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YACxF,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACvC,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACnD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACvC,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACxD,yCAAyC;YACzC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACjE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAC5C,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,iBAAiB;YACjB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACnD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/dialog.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { registerCommand } from '../commands.js';
|
|
2
|
+
registerCommand('dialog', async (args, bridge) => {
|
|
3
|
+
const sub = args.subcommand;
|
|
4
|
+
if (sub === 'accept' || sub === 'ok' || sub === 'yes') {
|
|
5
|
+
const params = {};
|
|
6
|
+
if (args.flags['app'])
|
|
7
|
+
params.app = args.flags['app'];
|
|
8
|
+
const result = await bridge.send('dialog_accept', params);
|
|
9
|
+
return { data: result, exitCode: 0 };
|
|
10
|
+
}
|
|
11
|
+
if (sub === 'cancel' || sub === 'dismiss' || sub === 'no') {
|
|
12
|
+
const params = {};
|
|
13
|
+
if (args.flags['app'])
|
|
14
|
+
params.app = args.flags['app'];
|
|
15
|
+
const result = await bridge.send('dialog_cancel', params);
|
|
16
|
+
return { data: result, exitCode: 0 };
|
|
17
|
+
}
|
|
18
|
+
if (sub === 'file') {
|
|
19
|
+
const path = args.positional[0];
|
|
20
|
+
if (!path) {
|
|
21
|
+
return { data: { error: 'Usage: agent-computer dialog file <path>' }, exitCode: 1 };
|
|
22
|
+
}
|
|
23
|
+
const params = { path };
|
|
24
|
+
if (args.flags['app'])
|
|
25
|
+
params.app = args.flags['app'];
|
|
26
|
+
const result = await bridge.send('dialog_file', params);
|
|
27
|
+
return { data: result, exitCode: 0 };
|
|
28
|
+
}
|
|
29
|
+
// Default: detect dialog
|
|
30
|
+
const params = {};
|
|
31
|
+
if (args.flags['app'])
|
|
32
|
+
params.app = args.flags['app'];
|
|
33
|
+
const result = await bridge.send('dialog', params);
|
|
34
|
+
return { data: result, exitCode: 0 };
|
|
35
|
+
});
|
|
36
|
+
registerCommand('alert', async (args, bridge) => {
|
|
37
|
+
// Alias for dialog
|
|
38
|
+
const params = {};
|
|
39
|
+
if (args.flags['app'])
|
|
40
|
+
params.app = args.flags['app'];
|
|
41
|
+
const result = await bridge.send('dialog', params);
|
|
42
|
+
return { data: result, exitCode: 0 };
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../../src/cli/commands/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAgB,EAAE,MAAc,EAAE,EAAE;IACnE,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;IAE5B,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QACtD,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,0CAA0C,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACtF,CAAC;QACD,MAAM,MAAM,GAA4B,EAAE,IAAI,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,yBAAyB;IACzB,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,IAAgB,EAAE,MAAc,EAAE,EAAE;IAClE,mBAAmB;IACnB,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACvC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drag.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/drag.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { registerCommand } from '../commands.js';
|
|
2
|
+
registerCommand('drag', async (args, bridge) => {
|
|
3
|
+
const params = {};
|
|
4
|
+
// Support ref-based: ac drag @b1 @b2
|
|
5
|
+
// Or coordinate-based: ac drag --from-x 100 --from-y 200 --to-x 300 --to-y 400
|
|
6
|
+
if (args.positional[0])
|
|
7
|
+
params.from_ref = args.positional[0];
|
|
8
|
+
if (args.positional[1])
|
|
9
|
+
params.to_ref = args.positional[1];
|
|
10
|
+
if (args.flags['from-x'])
|
|
11
|
+
params.from_x = parseFloat(args.flags['from-x']);
|
|
12
|
+
if (args.flags['from-y'])
|
|
13
|
+
params.from_y = parseFloat(args.flags['from-y']);
|
|
14
|
+
if (args.flags['to-x'])
|
|
15
|
+
params.to_x = parseFloat(args.flags['to-x']);
|
|
16
|
+
if (args.flags['to-y'])
|
|
17
|
+
params.to_y = parseFloat(args.flags['to-y']);
|
|
18
|
+
if (args.flags['duration'])
|
|
19
|
+
params.duration = parseFloat(args.flags['duration']);
|
|
20
|
+
if (args.flags['steps'])
|
|
21
|
+
params.steps = parseInt(args.flags['steps'], 10);
|
|
22
|
+
const result = await bridge.send('drag', params);
|
|
23
|
+
return { data: result, exitCode: 0 };
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=drag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drag.js","sourceRoot":"","sources":["../../../../src/cli/commands/drag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,IAAgB,EAAE,MAAc,EAAE,EAAE;IACjE,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,qCAAqC;IACrC,+EAA+E;IAC/E,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7D,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAE3D,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAW,CAAC,CAAC;IACrF,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAW,CAAC,CAAC;IACrF,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAW,CAAC,CAAC;IAC/E,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAW,CAAC,CAAC;IAC/E,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAAE,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAW,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAW,EAAE,EAAE,CAAC,CAAC;IAEpF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACvC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/find.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { registerCommand } from '../commands.js';
|
|
2
|
+
import { parseSelector } from '../parser.js';
|
|
3
|
+
registerCommand('find', async (args, bridge) => {
|
|
4
|
+
const params = {};
|
|
5
|
+
if (args.positional[0])
|
|
6
|
+
params.text = args.positional[0];
|
|
7
|
+
if (args.flags['role'])
|
|
8
|
+
params.role = args.flags['role'];
|
|
9
|
+
if (args.flags['first'])
|
|
10
|
+
params.first = true;
|
|
11
|
+
if (args.flags['app'])
|
|
12
|
+
params.app = args.flags['app'];
|
|
13
|
+
const result = await bridge.send('find', params);
|
|
14
|
+
return { data: result, exitCode: 0 };
|
|
15
|
+
});
|
|
16
|
+
registerCommand('read', async (args, bridge) => {
|
|
17
|
+
const sel = args.positional[0];
|
|
18
|
+
if (!sel) {
|
|
19
|
+
return { data: { error: 'Usage: agent-computer read <ref> [--attr <name>]' }, exitCode: 1 };
|
|
20
|
+
}
|
|
21
|
+
const parsed = parseSelector(sel);
|
|
22
|
+
const ref = parsed.type === 'ref' ? parsed.ref : sel;
|
|
23
|
+
const params = { ref };
|
|
24
|
+
if (args.flags['attr'])
|
|
25
|
+
params.attr = args.flags['attr'];
|
|
26
|
+
const result = await bridge.send('read', params);
|
|
27
|
+
return { data: result, exitCode: 0 };
|
|
28
|
+
});
|
|
29
|
+
registerCommand('title', async (args, bridge) => {
|
|
30
|
+
const params = {};
|
|
31
|
+
if (args.flags['app'])
|
|
32
|
+
params.app = true;
|
|
33
|
+
const result = await bridge.send('title', params);
|
|
34
|
+
return { data: result, exitCode: 0 };
|
|
35
|
+
});
|
|
36
|
+
registerCommand('is', async (args, bridge) => {
|
|
37
|
+
const state = args.subcommand;
|
|
38
|
+
const sel = args.positional[0];
|
|
39
|
+
if (!state || !sel) {
|
|
40
|
+
return { data: { error: 'Usage: agent-computer is <visible|enabled|focused|checked> <ref>' }, exitCode: 1 };
|
|
41
|
+
}
|
|
42
|
+
const parsed = parseSelector(sel);
|
|
43
|
+
const ref = parsed.type === 'ref' ? parsed.ref : sel;
|
|
44
|
+
const result = await bridge.send('is', { state, ref });
|
|
45
|
+
return { data: result, exitCode: 0 };
|
|
46
|
+
});
|
|
47
|
+
registerCommand('box', async (args, bridge) => {
|
|
48
|
+
const sel = args.positional[0];
|
|
49
|
+
if (!sel) {
|
|
50
|
+
return { data: { error: 'Usage: agent-computer box <ref>' }, exitCode: 1 };
|
|
51
|
+
}
|
|
52
|
+
const parsed = parseSelector(sel);
|
|
53
|
+
const ref = parsed.type === 'ref' ? parsed.ref : sel;
|
|
54
|
+
const result = await bridge.send('box', { ref });
|
|
55
|
+
return { data: result, exitCode: 0 };
|
|
56
|
+
});
|
|
57
|
+
registerCommand('children', async (args, bridge) => {
|
|
58
|
+
const sel = args.positional[0];
|
|
59
|
+
if (!sel) {
|
|
60
|
+
return { data: { error: 'Usage: agent-computer children <ref>' }, exitCode: 1 };
|
|
61
|
+
}
|
|
62
|
+
const parsed = parseSelector(sel);
|
|
63
|
+
const ref = parsed.type === 'ref' ? parsed.ref : sel;
|
|
64
|
+
const result = await bridge.send('children', { ref });
|
|
65
|
+
return { data: result, exitCode: 0 };
|
|
66
|
+
});
|
|
67
|
+
registerCommand('wait', async (args, bridge) => {
|
|
68
|
+
const params = {};
|
|
69
|
+
// Wait for fixed duration
|
|
70
|
+
if (args.positional[0] && /^\d+$/.test(args.positional[0])) {
|
|
71
|
+
params.ms = parseInt(args.positional[0], 10);
|
|
72
|
+
}
|
|
73
|
+
else if (args.positional[0]) {
|
|
74
|
+
// Wait for element
|
|
75
|
+
const parsed = parseSelector(args.positional[0]);
|
|
76
|
+
if (parsed.type === 'ref')
|
|
77
|
+
params.ref = parsed.ref;
|
|
78
|
+
else
|
|
79
|
+
params.ref = args.positional[0];
|
|
80
|
+
}
|
|
81
|
+
if (args.flags['app'])
|
|
82
|
+
params.app = args.flags['app'];
|
|
83
|
+
if (args.flags['window'])
|
|
84
|
+
params.window = args.flags['window'];
|
|
85
|
+
if (args.flags['text'])
|
|
86
|
+
params.text = args.flags['text'];
|
|
87
|
+
if (args.flags['hidden'])
|
|
88
|
+
params.hidden = true;
|
|
89
|
+
if (args.flags['enabled'])
|
|
90
|
+
params.enabled = true;
|
|
91
|
+
if (args.flags['gone'])
|
|
92
|
+
params.gone = true;
|
|
93
|
+
if (args.flags['timeout'])
|
|
94
|
+
params.timeout = parseInt(args.flags['timeout'], 10);
|
|
95
|
+
const result = await bridge.send('wait', params);
|
|
96
|
+
return { data: result, exitCode: 0 };
|
|
97
|
+
});
|
|
98
|
+
//# sourceMappingURL=find.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../../../src/cli/commands/find.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/menu.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { registerCommand } from '../commands.js';
|
|
2
|
+
registerCommand('menu', async (args, bridge) => {
|
|
3
|
+
const sub = args.subcommand;
|
|
4
|
+
if (sub === 'list') {
|
|
5
|
+
// ac menu list [name] [--all] [--app name]
|
|
6
|
+
const params = {};
|
|
7
|
+
if (args.positional[0])
|
|
8
|
+
params.menu = args.positional[0];
|
|
9
|
+
if (args.flags['all'])
|
|
10
|
+
params.all = true;
|
|
11
|
+
if (args.flags['app'])
|
|
12
|
+
params.app = args.flags['app'];
|
|
13
|
+
const result = await bridge.send('menu_list', params);
|
|
14
|
+
return { data: result, exitCode: 0 };
|
|
15
|
+
}
|
|
16
|
+
if (sub) {
|
|
17
|
+
// ac menu "File > Save" — click by path
|
|
18
|
+
const params = { path: sub };
|
|
19
|
+
if (args.flags['app'])
|
|
20
|
+
params.app = args.flags['app'];
|
|
21
|
+
const result = await bridge.send('menu_click', params);
|
|
22
|
+
return { data: result, exitCode: 0 };
|
|
23
|
+
}
|
|
24
|
+
return { data: { error: 'Usage: agent-computer menu <path> | agent-computer menu list [name]' }, exitCode: 1 };
|
|
25
|
+
});
|
|
26
|
+
registerCommand('menubar', async (args, bridge) => {
|
|
27
|
+
const sub = args.subcommand;
|
|
28
|
+
if (sub === 'click' && args.positional[0]) {
|
|
29
|
+
// Click a menubar extra — not fully implemented yet
|
|
30
|
+
return { data: { error: 'menubar click not yet implemented' }, exitCode: 1 };
|
|
31
|
+
}
|
|
32
|
+
const result = await bridge.send('menubar');
|
|
33
|
+
return { data: result, exitCode: 0 };
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../../src/cli/commands/menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,IAAgB,EAAE,MAAc,EAAE,EAAE;IACjE,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;IAE5B,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,2CAA2C;QAC3C,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC;QACzC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACtD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,GAAG,EAAE,CAAC;QACR,wCAAwC;QACxC,MAAM,MAAM,GAA4B,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QACtD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACvD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,qEAAqE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACjH,CAAC,CAAC,CAAC;AAEH,eAAe,CAAC,SAAS,EAAE,KAAK,EAAE,IAAgB,EAAE,MAAc,EAAE,EAAE;IACpE,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;IAE5B,IAAI,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,oDAAoD;QACpD,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,mCAAmC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC/E,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACvC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/screenshot.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { registerCommand } from '../commands.js';
|
|
2
|
+
registerCommand('screenshot', async (args, bridge) => {
|
|
3
|
+
const params = {};
|
|
4
|
+
// Optional output path as first positional arg
|
|
5
|
+
if (args.positional[0])
|
|
6
|
+
params.path = args.positional[0];
|
|
7
|
+
if (args.flags['screen'])
|
|
8
|
+
params.screen = true;
|
|
9
|
+
if (args.flags['retina'])
|
|
10
|
+
params.retina = true;
|
|
11
|
+
if (args.flags['format'])
|
|
12
|
+
params.format = args.flags['format'];
|
|
13
|
+
if (args.flags['quality'])
|
|
14
|
+
params.quality = parseInt(args.flags['quality'], 10);
|
|
15
|
+
if (args.flags['window'])
|
|
16
|
+
params.ref = args.flags['window'];
|
|
17
|
+
if (args.flags['annotate'])
|
|
18
|
+
params.annotate = true;
|
|
19
|
+
const result = await bridge.send('screenshot', params);
|
|
20
|
+
return { data: result, exitCode: 0 };
|
|
21
|
+
});
|
|
22
|
+
registerCommand('displays', async (_args, bridge) => {
|
|
23
|
+
const result = await bridge.send('displays');
|
|
24
|
+
return { data: result, exitCode: 0 };
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=screenshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../../../src/cli/commands/screenshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD,eAAe,CAAC,YAAY,EAAE,KAAK,EAAE,IAAgB,EAAE,MAAc,EAAE,EAAE;IACvE,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,+CAA+C;IAC/C,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAEzD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAAE,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAW,EAAE,EAAE,CAAC,CAAC;IAC1F,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5D,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;IAEnD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACvD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,eAAe,CAAC,UAAU,EAAE,KAAK,EAAE,KAAiB,EAAE,MAAc,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACvC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/scroll.ts"],"names":[],"mappings":""}
|