@petukhovart/agent-view 0.1.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/.claude-plugin/plugin.json +10 -0
- package/LICENSE +21 -0
- package/README.md +296 -0
- package/dist/adapters/browser.d.ts +3 -0
- package/dist/adapters/browser.d.ts.map +1 -0
- package/dist/adapters/browser.js +20 -0
- package/dist/adapters/browser.js.map +1 -0
- package/dist/adapters/electron.d.ts +3 -0
- package/dist/adapters/electron.d.ts.map +1 -0
- package/dist/adapters/electron.js +20 -0
- package/dist/adapters/electron.js.map +1 -0
- package/dist/adapters/registry.d.ts +4 -0
- package/dist/adapters/registry.d.ts.map +1 -0
- package/dist/adapters/registry.js +13 -0
- package/dist/adapters/registry.js.map +1 -0
- package/dist/adapters/tauri.d.ts +8 -0
- package/dist/adapters/tauri.d.ts.map +1 -0
- package/dist/adapters/tauri.js +32 -0
- package/dist/adapters/tauri.js.map +1 -0
- package/dist/adapters/types.d.ts +8 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +2 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/cdp/transport.d.ts +4 -0
- package/dist/cdp/transport.d.ts.map +1 -0
- package/dist/cdp/transport.js +89 -0
- package/dist/cdp/transport.js.map +1 -0
- package/dist/cdp/types.d.ts +37 -0
- package/dist/cdp/types.d.ts.map +1 -0
- package/dist/cdp/types.js +2 -0
- package/dist/cdp/types.js.map +1 -0
- package/dist/cli/client.d.ts +3 -0
- package/dist/cli/client.d.ts.map +1 -0
- package/dist/cli/client.js +89 -0
- package/dist/cli/client.js.map +1 -0
- package/dist/cli/commands/click.d.ts +9 -0
- package/dist/cli/commands/click.d.ts.map +1 -0
- package/dist/cli/commands/click.js +43 -0
- package/dist/cli/commands/click.js.map +1 -0
- package/dist/cli/commands/discover.d.ts +3 -0
- package/dist/cli/commands/discover.d.ts.map +1 -0
- package/dist/cli/commands/discover.js +15 -0
- package/dist/cli/commands/discover.js.map +1 -0
- package/dist/cli/commands/dom.d.ts +9 -0
- package/dist/cli/commands/dom.d.ts.map +1 -0
- package/dist/cli/commands/dom.js +19 -0
- package/dist/cli/commands/dom.js.map +1 -0
- package/dist/cli/commands/fill.d.ts +8 -0
- package/dist/cli/commands/fill.d.ts.map +1 -0
- package/dist/cli/commands/fill.js +39 -0
- package/dist/cli/commands/fill.js.map +1 -0
- package/dist/cli/commands/init.d.ts +2 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +14 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/launch.d.ts +3 -0
- package/dist/cli/commands/launch.d.ts.map +1 -0
- package/dist/cli/commands/launch.js +21 -0
- package/dist/cli/commands/launch.js.map +1 -0
- package/dist/cli/commands/scene.d.ts +11 -0
- package/dist/cli/commands/scene.d.ts.map +1 -0
- package/dist/cli/commands/scene.js +29 -0
- package/dist/cli/commands/scene.js.map +1 -0
- package/dist/cli/commands/screenshot.d.ts +7 -0
- package/dist/cli/commands/screenshot.d.ts.map +1 -0
- package/dist/cli/commands/screenshot.js +20 -0
- package/dist/cli/commands/screenshot.js.map +1 -0
- package/dist/cli/commands/snap.d.ts +9 -0
- package/dist/cli/commands/snap.d.ts.map +1 -0
- package/dist/cli/commands/snap.js +25 -0
- package/dist/cli/commands/snap.js.map +1 -0
- package/dist/cli/commands/stop.d.ts +2 -0
- package/dist/cli/commands/stop.d.ts.map +1 -0
- package/dist/cli/commands/stop.js +22 -0
- package/dist/cli/commands/stop.js.map +1 -0
- package/dist/cli/commands/wait.d.ts +9 -0
- package/dist/cli/commands/wait.d.ts.map +1 -0
- package/dist/cli/commands/wait.js +26 -0
- package/dist/cli/commands/wait.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +136 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/config/manager.d.ts +5 -0
- package/dist/config/manager.d.ts.map +1 -0
- package/dist/config/manager.js +84 -0
- package/dist/config/manager.js.map +1 -0
- package/dist/config/types.d.ts +13 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +2 -0
- package/dist/config/types.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/inspectors/dom.d.ts +17 -0
- package/dist/inspectors/dom.d.ts.map +1 -0
- package/dist/inspectors/dom.js +131 -0
- package/dist/inspectors/dom.js.map +1 -0
- package/dist/inspectors/scene/formatter.d.ts +5 -0
- package/dist/inspectors/scene/formatter.d.ts.map +1 -0
- package/dist/inspectors/scene/formatter.js +91 -0
- package/dist/inspectors/scene/formatter.js.map +1 -0
- package/dist/inspectors/scene/index.d.ts +8 -0
- package/dist/inspectors/scene/index.d.ts.map +1 -0
- package/dist/inspectors/scene/index.js +26 -0
- package/dist/inspectors/scene/index.js.map +1 -0
- package/dist/inspectors/scene/pixi.d.ts +3 -0
- package/dist/inspectors/scene/pixi.d.ts.map +1 -0
- package/dist/inspectors/scene/pixi.js +52 -0
- package/dist/inspectors/scene/pixi.js.map +1 -0
- package/dist/inspectors/scene/registry.d.ts +4 -0
- package/dist/inspectors/scene/registry.d.ts.map +1 -0
- package/dist/inspectors/scene/registry.js +13 -0
- package/dist/inspectors/scene/registry.js.map +1 -0
- package/dist/inspectors/scene/types.d.ts +31 -0
- package/dist/inspectors/scene/types.d.ts.map +1 -0
- package/dist/inspectors/scene/types.js +2 -0
- package/dist/inspectors/scene/types.js.map +1 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +11 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/launcher.d.ts +4 -0
- package/dist/server/launcher.d.ts.map +1 -0
- package/dist/server/launcher.js +43 -0
- package/dist/server/launcher.js.map +1 -0
- package/dist/server/ref-store.d.ts +20 -0
- package/dist/server/ref-store.d.ts.map +1 -0
- package/dist/server/ref-store.js +29 -0
- package/dist/server/ref-store.js.map +1 -0
- package/dist/server/server.d.ts +28 -0
- package/dist/server/server.d.ts.map +1 -0
- package/dist/server/server.js +444 -0
- package/dist/server/server.js.map +1 -0
- package/dist/types.d.ts +33 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +11 -0
- package/dist/types.js.map +1 -0
- package/package.json +59 -0
- package/skills/verify/SKILL.md +100 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { WebGLEngine } from '../../types.js';
|
|
2
|
+
// Depth limit is also enforced in JS to guard against stack overflow
|
|
3
|
+
// in the target process for pathologically deep trees
|
|
4
|
+
const EXTRACT_JS = `
|
|
5
|
+
(function() {
|
|
6
|
+
const devtools = window.__PIXI_DEVTOOLS__;
|
|
7
|
+
if (!devtools) return null;
|
|
8
|
+
const app = devtools.app || devtools.stage?.parent;
|
|
9
|
+
if (!app) return null;
|
|
10
|
+
const stage = app.stage || devtools.stage;
|
|
11
|
+
if (!stage) return null;
|
|
12
|
+
|
|
13
|
+
function serialize(node, depth) {
|
|
14
|
+
if (depth > 100) return null;
|
|
15
|
+
const result = {
|
|
16
|
+
type: node.constructor?.name || 'Unknown',
|
|
17
|
+
name: node.label || node.name || '',
|
|
18
|
+
x: Math.round(node.x || 0),
|
|
19
|
+
y: Math.round(node.y || 0),
|
|
20
|
+
visible: node.visible !== false,
|
|
21
|
+
tint: typeof node.tint === 'number' ? '#' + node.tint.toString(16).padStart(6, '0') : '0xffffff',
|
|
22
|
+
alpha: node.alpha ?? 1,
|
|
23
|
+
scaleX: node.scale?.x ?? 1,
|
|
24
|
+
scaleY: node.scale?.y ?? 1,
|
|
25
|
+
rotation: Math.round((node.rotation || 0) * 180 / Math.PI * 100) / 100,
|
|
26
|
+
width: Math.round(node.width || 0),
|
|
27
|
+
height: Math.round(node.height || 0),
|
|
28
|
+
};
|
|
29
|
+
const kids = node.children || [];
|
|
30
|
+
if (kids.length > 0) {
|
|
31
|
+
result.children = kids.map(c => serialize(c, depth + 1)).filter(Boolean);
|
|
32
|
+
}
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return serialize(stage, 0);
|
|
37
|
+
})()
|
|
38
|
+
`;
|
|
39
|
+
function isSceneNode(val) {
|
|
40
|
+
if (!val || typeof val !== 'object')
|
|
41
|
+
return false;
|
|
42
|
+
const n = val;
|
|
43
|
+
return typeof n.type === 'string' && typeof n.name === 'string';
|
|
44
|
+
}
|
|
45
|
+
export const pixiExtractor = {
|
|
46
|
+
engine: WebGLEngine.Pixi,
|
|
47
|
+
async extract(conn) {
|
|
48
|
+
const result = await conn.evaluate(EXTRACT_JS);
|
|
49
|
+
return isSceneNode(result) ? result : null;
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=pixi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pixi.js","sourceRoot":"","sources":["../../../src/inspectors/scene/pixi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAI5C,qEAAqE;AACrE,sDAAsD;AACtD,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkClB,CAAA;AAED,SAAS,WAAW,CAAC,GAAY;IAC/B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IACjD,MAAM,CAAC,GAAG,GAA8B,CAAA;IACxC,OAAO,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAA;AACjE,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,MAAM,EAAE,WAAW,CAAC,IAAI;IACxB,KAAK,CAAC,OAAO,CAAC,IAAmB;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QAC9C,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IAC5C,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/inspectors/scene/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAOhD,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,cAAc,CAMhE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { WebGLEngine } from '../../types.js';
|
|
2
|
+
import { pixiExtractor } from './pixi.js';
|
|
3
|
+
const extractors = {
|
|
4
|
+
[WebGLEngine.Pixi]: pixiExtractor,
|
|
5
|
+
};
|
|
6
|
+
export function getExtractor(engine) {
|
|
7
|
+
const extractor = extractors[engine];
|
|
8
|
+
if (!extractor) {
|
|
9
|
+
throw new Error(`Scene extractor for "${engine}" is not implemented yet`);
|
|
10
|
+
}
|
|
11
|
+
return extractor;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/inspectors/scene/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC,MAAM,UAAU,GAAiD;IAC/D,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,aAAa;CAClC,CAAA;AAED,MAAM,UAAU,YAAY,CAAC,MAAmB;IAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACpC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,0BAA0B,CAAC,CAAA;IAC3E,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { CDPConnection } from '../../cdp/types.js';
|
|
2
|
+
import type { WebGLEngine } from '../../types.js';
|
|
3
|
+
export type SceneNode = {
|
|
4
|
+
type: string;
|
|
5
|
+
name: string;
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
visible: boolean;
|
|
9
|
+
tint: string;
|
|
10
|
+
alpha?: number;
|
|
11
|
+
scaleX?: number;
|
|
12
|
+
scaleY?: number;
|
|
13
|
+
rotation?: number;
|
|
14
|
+
width?: number;
|
|
15
|
+
height?: number;
|
|
16
|
+
children?: SceneNode[];
|
|
17
|
+
};
|
|
18
|
+
export type SceneOptions = {
|
|
19
|
+
filter?: string;
|
|
20
|
+
depth?: number;
|
|
21
|
+
verbose?: boolean;
|
|
22
|
+
};
|
|
23
|
+
export type SceneDiffResult = {
|
|
24
|
+
text: string;
|
|
25
|
+
snapshot: SceneNode;
|
|
26
|
+
};
|
|
27
|
+
export type SceneExtractor = {
|
|
28
|
+
readonly engine: WebGLEngine;
|
|
29
|
+
extract(conn: CDPConnection): Promise<SceneNode | null>;
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/inspectors/scene/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,SAAS,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;CACxD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/inspectors/scene/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AgentViewServer } from './server.js';
|
|
2
|
+
const server = new AgentViewServer();
|
|
3
|
+
server.start()
|
|
4
|
+
.then(() => {
|
|
5
|
+
process.stdout.write('READY\n');
|
|
6
|
+
})
|
|
7
|
+
.catch(err => {
|
|
8
|
+
process.stderr.write(`Failed to start server: ${err}\n`);
|
|
9
|
+
process.exit(1);
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;AACpC,MAAM,CAAC,KAAK,EAAE;KACX,IAAI,CAAC,GAAG,EAAE;IACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;AACjC,CAAC,CAAC;KACD,KAAK,CAAC,GAAG,CAAC,EAAE;IACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAAA;IACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function parseCommand(cmd: string): [string, string[]];
|
|
2
|
+
export declare function isRunning(port: number): Promise<boolean>;
|
|
3
|
+
export declare function launch(command: string, port: number, cwd?: string): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=launcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../../src/server/launcher.ts"],"names":[],"mappings":"AAUA,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAQ5D;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG9D;AAED,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBvF"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import { listTargets } from '../cdp/transport.js';
|
|
3
|
+
const LAUNCH_TIMEOUT_MS = 60_000;
|
|
4
|
+
const POLL_INTERVAL_MS = 1_000;
|
|
5
|
+
// Commands that are .cmd scripts on Windows and need explicit extension
|
|
6
|
+
// when spawned without shell
|
|
7
|
+
const WIN_CMD_EXECUTABLES = new Set(['npm', 'npx', 'pnpm', 'yarn', 'ng', 'vite', 'tsc']);
|
|
8
|
+
export function parseCommand(cmd) {
|
|
9
|
+
const parts = cmd.match(/(?:[^\s"']+|"[^"]*"|'[^']*')+/g) ?? [];
|
|
10
|
+
const cleaned = parts.map(p => p.replace(/^["']|["']$/g, ''));
|
|
11
|
+
let exe = cleaned[0];
|
|
12
|
+
if (process.platform === 'win32' && WIN_CMD_EXECUTABLES.has(exe)) {
|
|
13
|
+
exe = `${exe}.cmd`;
|
|
14
|
+
}
|
|
15
|
+
return [exe, cleaned.slice(1)];
|
|
16
|
+
}
|
|
17
|
+
export async function isRunning(port) {
|
|
18
|
+
const targets = await listTargets(port);
|
|
19
|
+
return targets.length > 0;
|
|
20
|
+
}
|
|
21
|
+
export async function launch(command, port, cwd) {
|
|
22
|
+
if (await isRunning(port)) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const [exe, args] = parseCommand(command);
|
|
26
|
+
const child = spawn(exe, args, {
|
|
27
|
+
shell: false,
|
|
28
|
+
detached: true,
|
|
29
|
+
stdio: 'ignore',
|
|
30
|
+
cwd,
|
|
31
|
+
windowsHide: true,
|
|
32
|
+
});
|
|
33
|
+
child.unref();
|
|
34
|
+
const start = Date.now();
|
|
35
|
+
while (Date.now() - start < LAUNCH_TIMEOUT_MS) {
|
|
36
|
+
await new Promise(resolve => setTimeout(resolve, POLL_INTERVAL_MS));
|
|
37
|
+
if (await isRunning(port)) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
throw new Error(`Application did not start within ${LAUNCH_TIMEOUT_MS / 1000}s. Check your config.launch command.`);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=launcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../src/server/launcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEjD,MAAM,iBAAiB,GAAG,MAAM,CAAA;AAChC,MAAM,gBAAgB,GAAG,KAAK,CAAA;AAE9B,wEAAwE;AACxE,6BAA6B;AAC7B,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;AAExF,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,IAAI,EAAE,CAAA;IAC/D,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAA;IAC7D,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACpB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACjE,GAAG,GAAG,GAAG,GAAG,MAAM,CAAA;IACpB,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAY;IAC1C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAA;IACvC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAe,EAAE,IAAY,EAAE,GAAY;IACtE,IAAI,MAAM,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAM;IACR,CAAC;IAED,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE;QAC7B,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;QACf,GAAG;QACH,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IACF,KAAK,CAAC,KAAK,EAAE,CAAA;IAEb,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACxB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,iBAAiB,EAAE,CAAC;QAC9C,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAA;QACnE,IAAI,MAAM,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAM;QACR,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,oCAAoC,iBAAiB,GAAG,IAAI,sCAAsC,CAAC,CAAA;AACrH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
type RefEntry = {
|
|
2
|
+
ref: number;
|
|
3
|
+
backendDOMNodeId: number;
|
|
4
|
+
port: number;
|
|
5
|
+
windowId: string;
|
|
6
|
+
};
|
|
7
|
+
export declare class RefStore {
|
|
8
|
+
private entries;
|
|
9
|
+
private nextRef;
|
|
10
|
+
getNextRef(): number;
|
|
11
|
+
/** Clear old refs for this window, store new ones, update counter */
|
|
12
|
+
store(refs: Array<{
|
|
13
|
+
ref: number;
|
|
14
|
+
backendDOMNodeId: number;
|
|
15
|
+
}>, port: number, windowId: string, nextRef: number): void;
|
|
16
|
+
get(ref: number): RefEntry | undefined;
|
|
17
|
+
clear(): void;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=ref-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ref-store.d.ts","sourceRoot":"","sources":["../../src/server/ref-store.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,GAAG;IACd,GAAG,EAAE,MAAM,CAAA;IACX,gBAAgB,EAAE,MAAM,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,OAAO,CAAI;IAEnB,UAAU,IAAI,MAAM;IAIpB,qEAAqE;IACrE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAcpH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAItC,KAAK,IAAI,IAAI;CAId"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export class RefStore {
|
|
2
|
+
entries = new Map();
|
|
3
|
+
nextRef = 1;
|
|
4
|
+
getNextRef() {
|
|
5
|
+
return this.nextRef;
|
|
6
|
+
}
|
|
7
|
+
/** Clear old refs for this window, store new ones, update counter */
|
|
8
|
+
store(refs, port, windowId, nextRef) {
|
|
9
|
+
// Clear previous refs for this window
|
|
10
|
+
for (const [key, entry] of this.entries) {
|
|
11
|
+
if (entry.port === port && entry.windowId === windowId) {
|
|
12
|
+
this.entries.delete(key);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
// Store new refs
|
|
16
|
+
for (const { ref, backendDOMNodeId } of refs) {
|
|
17
|
+
this.entries.set(ref, { ref, backendDOMNodeId, port, windowId });
|
|
18
|
+
}
|
|
19
|
+
this.nextRef = nextRef;
|
|
20
|
+
}
|
|
21
|
+
get(ref) {
|
|
22
|
+
return this.entries.get(ref);
|
|
23
|
+
}
|
|
24
|
+
clear() {
|
|
25
|
+
this.entries.clear();
|
|
26
|
+
this.nextRef = 1;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=ref-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ref-store.js","sourceRoot":"","sources":["../../src/server/ref-store.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,QAAQ;IACX,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAA;IACrC,OAAO,GAAG,CAAC,CAAA;IAEnB,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,IAAsD,EAAE,IAAY,EAAE,QAAgB,EAAE,OAAe;QAC3G,sCAAsC;QACtC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACvD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC1B,CAAC;QACH,CAAC;QACD,iBAAiB;QACjB,KAAK,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,IAAI,EAAE,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;QAClE,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;IAClB,CAAC;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export declare class AgentViewServer {
|
|
2
|
+
private server;
|
|
3
|
+
private connections;
|
|
4
|
+
private refStore;
|
|
5
|
+
private idleTimer;
|
|
6
|
+
private sceneCache;
|
|
7
|
+
private token;
|
|
8
|
+
start(): Promise<void>;
|
|
9
|
+
private resetIdleTimer;
|
|
10
|
+
private handleSocket;
|
|
11
|
+
private processRequest;
|
|
12
|
+
private handleCommand;
|
|
13
|
+
private resolveWindow;
|
|
14
|
+
private getConnection;
|
|
15
|
+
private handleDiscover;
|
|
16
|
+
private handleLaunch;
|
|
17
|
+
private handleDom;
|
|
18
|
+
private findByFilter;
|
|
19
|
+
private handleClick;
|
|
20
|
+
private handleFill;
|
|
21
|
+
private handleWait;
|
|
22
|
+
private handleScreenshot;
|
|
23
|
+
private handleScene;
|
|
24
|
+
private handleSnap;
|
|
25
|
+
private handleStop;
|
|
26
|
+
private shutdown;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"AAwCA,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,SAAS,CAA6C;IAC9D,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,KAAK,CAAK;IAEZ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5B,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,YAAY;YAmBN,cAAc;YAoCd,aAAa;YA2Bb,aAAa;YA0Bb,aAAa;YAWb,cAAc;YAad,YAAY;YAwBZ,SAAS;YAgBT,YAAY;YAwEZ,WAAW;YAqCX,UAAU;YAkCV,UAAU;YA+BV,gBAAgB;YAYhB,WAAW;YAwCX,UAAU;YA+BV,UAAU;YAKV,QAAQ;CAavB"}
|