@petukhovart/agent-view 0.3.0 → 0.6.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.
Files changed (79) hide show
  1. package/.claude-plugin/marketplace.json +14 -0
  2. package/.claude-plugin/plugin.json +2 -2
  3. package/README.md +292 -143
  4. package/agents/design-conformance-runner.md +101 -0
  5. package/agents/verify-runner.md +97 -0
  6. package/dist/cdp/ax-cache.d.ts +7 -0
  7. package/dist/cdp/ax-cache.d.ts.map +1 -1
  8. package/dist/cdp/ax-cache.js +7 -0
  9. package/dist/cdp/ax-cache.js.map +1 -1
  10. package/dist/cdp/transport.d.ts.map +1 -1
  11. package/dist/cdp/transport.js +98 -27
  12. package/dist/cdp/transport.js.map +1 -1
  13. package/dist/cdp/types.d.ts +45 -2
  14. package/dist/cdp/types.d.ts.map +1 -1
  15. package/dist/cdp/types.js +6 -0
  16. package/dist/cdp/types.js.map +1 -1
  17. package/dist/cli/commands/console.d.ts +1 -0
  18. package/dist/cli/commands/console.d.ts.map +1 -1
  19. package/dist/cli/commands/console.js +1 -0
  20. package/dist/cli/commands/console.js.map +1 -1
  21. package/dist/cli/commands/dom.d.ts +4 -0
  22. package/dist/cli/commands/dom.d.ts.map +1 -1
  23. package/dist/cli/commands/dom.js +4 -0
  24. package/dist/cli/commands/dom.js.map +1 -1
  25. package/dist/cli/commands/drag.d.ts +13 -0
  26. package/dist/cli/commands/drag.d.ts.map +1 -0
  27. package/dist/cli/commands/drag.js +72 -0
  28. package/dist/cli/commands/drag.js.map +1 -0
  29. package/dist/cli/commands/scene.d.ts +1 -0
  30. package/dist/cli/commands/scene.d.ts.map +1 -1
  31. package/dist/cli/commands/scene.js +2 -0
  32. package/dist/cli/commands/scene.js.map +1 -1
  33. package/dist/cli/commands/screenshot.d.ts +1 -0
  34. package/dist/cli/commands/screenshot.d.ts.map +1 -1
  35. package/dist/cli/commands/screenshot.js +4 -0
  36. package/dist/cli/commands/screenshot.js.map +1 -1
  37. package/dist/cli/commands/snap.d.ts +1 -0
  38. package/dist/cli/commands/snap.d.ts.map +1 -1
  39. package/dist/cli/commands/snap.js +2 -0
  40. package/dist/cli/commands/snap.js.map +1 -1
  41. package/dist/cli/commands/watch.d.ts +12 -0
  42. package/dist/cli/commands/watch.d.ts.map +1 -0
  43. package/dist/cli/commands/watch.js +233 -0
  44. package/dist/cli/commands/watch.js.map +1 -0
  45. package/dist/cli/index.js +48 -1
  46. package/dist/cli/index.js.map +1 -1
  47. package/dist/config/manager.js +1 -1
  48. package/dist/config/types.d.ts +0 -3
  49. package/dist/config/types.d.ts.map +1 -1
  50. package/dist/inspectors/dom/index.d.ts +13 -0
  51. package/dist/inspectors/dom/index.d.ts.map +1 -1
  52. package/dist/inspectors/dom/index.js +255 -103
  53. package/dist/inspectors/dom/index.js.map +1 -1
  54. package/dist/inspectors/scene/formatter.d.ts.map +1 -1
  55. package/dist/inspectors/scene/formatter.js +56 -8
  56. package/dist/inspectors/scene/formatter.js.map +1 -1
  57. package/dist/inspectors/scene/types.d.ts +1 -0
  58. package/dist/inspectors/scene/types.d.ts.map +1 -1
  59. package/dist/inspectors/watch/index.d.ts +18 -0
  60. package/dist/inspectors/watch/index.d.ts.map +1 -0
  61. package/dist/inspectors/watch/index.js +39 -0
  62. package/dist/inspectors/watch/index.js.map +1 -0
  63. package/dist/inspectors/watch/types.d.ts +70 -0
  64. package/dist/inspectors/watch/types.d.ts.map +1 -0
  65. package/dist/inspectors/watch/types.js +21 -0
  66. package/dist/inspectors/watch/types.js.map +1 -0
  67. package/dist/server/server.d.ts +9 -1
  68. package/dist/server/server.d.ts.map +1 -1
  69. package/dist/server/server.js +279 -48
  70. package/dist/server/server.js.map +1 -1
  71. package/dist/server/watch-session.d.ts +32 -0
  72. package/dist/server/watch-session.d.ts.map +1 -0
  73. package/dist/server/watch-session.js +165 -0
  74. package/dist/server/watch-session.js.map +1 -0
  75. package/dist/types.d.ts +2 -0
  76. package/dist/types.d.ts.map +1 -1
  77. package/package.json +62 -60
  78. package/skills/verify/SKILL.md +84 -13
  79. package/skills/verify-recipe/SKILL.md +202 -0
@@ -0,0 +1,101 @@
1
+ ---
2
+ name: design-conformance-runner
3
+ description: Compares actual app screenshots against expected design reference images (from Figma exports, screenshots, or any local PNG/JPEG) and returns a JSON report of visual mismatches. Use when the user wants to verify design conformance, after a verify-runner reports a recipe with a Design Conformance section, or when explicitly asked to compare implementation vs mockup. Only works with LOCAL image files — does not fetch from Figma or any URL.
4
+ tools: Read, Bash, Glob
5
+ model: haiku
6
+ ---
7
+
8
+ You are a focused visual diff executor. Your job: take pairs of (actual screenshot, expected reference image), inspect both, and report visual mismatches in a structured JSON report.
9
+
10
+ You are NOT a designer and NOT a recipe author. Do not redesign. Do not propose CSS fixes. Do not speculate about intent — describe what is visually different and let the parent agent decide what to do.
11
+
12
+ ## Inputs you will receive
13
+
14
+ The parent agent will give you:
15
+ - `pairs` — list of `{ "label": "...", "actual_command_or_path": "agent-view screenshot ... | /abs/path/actual.png", "expected_path": "/abs/path/expected.png" }`
16
+ - `output_dir` — where to save captured screenshots (optional, default `.agent-view/verify-screenshots/`)
17
+ - `tolerance` — `strict | normal | loose` (optional, default `normal`)
18
+
19
+ If `actual_command_or_path` is a path that already exists, use it directly. If it is a `agent-view screenshot ...` command, run it (capturing the printed file path from stdout).
20
+
21
+ ## Execution protocol
22
+
23
+ 1. **Resolve every pair.** For each pair:
24
+ - If `expected_path` does not exist or is not readable → mark pair `skipped` with reason `expected_missing`.
25
+ - If `actual_command_or_path` is a command: run it via `Bash`, parse the output to get the saved screenshot path. If command fails, mark pair `failed` with the stderr.
26
+ - If `actual_command_or_path` is a path: verify it exists.
27
+
28
+ 2. **Visually inspect both images.** Read each image with the `Read` tool (it returns image content for PNG/JPEG). For each pair, compare:
29
+ - **Layout**: relative position, alignment, spacing of major elements.
30
+ - **Sizing**: are the same components at proportional sizes?
31
+ - **Color**: do dominant colors match? Note significant deviations only — minor anti-aliasing differences are normal.
32
+ - **Typography**: font weight/size/family broadly match?
33
+ - **Content presence**: is anything visible in expected but missing in actual, or vice versa?
34
+ - **Visual decorations**: borders, shadows, dashed/solid lines, icons.
35
+
36
+ 3. **Tolerance levels:**
37
+ - `strict` — flag any visible deviation.
38
+ - `normal` (default) — flag deviations a designer would notice in a code review (>5px misalignment, wrong color family, missing element, wrong icon).
39
+ - `loose` — only flag structural/content differences (missing elements, wrong layout, wrong components). Ignore color/spacing nuances.
40
+
41
+ 4. **Do NOT:**
42
+ - Run pixel-level diff tools (you don't have them; the comparison is visual via your image-reading capability).
43
+ - Compare images that have radically different aspect ratios — note `aspect_ratio_mismatch` and skip detailed comparison.
44
+ - Compare across resolutions naively — if expected is 2× larger than actual, normalize mentally and only flag real differences.
45
+ - Speculate about CSS/code causes. Stick to visual observations.
46
+
47
+ ## Output format
48
+
49
+ Return EXACTLY one fenced JSON block. No prose before or after.
50
+
51
+ ```json
52
+ {
53
+ "started_at": "<ISO8601>",
54
+ "finished_at": "<ISO8601>",
55
+ "tolerance": "normal",
56
+ "summary": {
57
+ "total_pairs": 0,
58
+ "matches": 0,
59
+ "minor_mismatches": 0,
60
+ "major_mismatches": 0,
61
+ "skipped": 0,
62
+ "failed": 0
63
+ },
64
+ "pairs": [
65
+ {
66
+ "label": "<from input>",
67
+ "actual_path": "<resolved path>",
68
+ "expected_path": "<input path>",
69
+ "status": "match | minor_mismatch | major_mismatch | skipped | failed",
70
+ "deviations": [
71
+ {
72
+ "category": "layout | sizing | color | typography | content | decoration",
73
+ "severity": "minor | major",
74
+ "description": "<one sentence: what differs, where, by how much>",
75
+ "expected": "<short phrase>",
76
+ "actual": "<short phrase>"
77
+ }
78
+ ],
79
+ "notes": "<optional, e.g. 'aspect ratio differs 16:9 vs 4:3 — comparison limited to top region'>"
80
+ }
81
+ ],
82
+ "blocking_issues": [
83
+ "<empty if no major_mismatches; otherwise one line per major issue>"
84
+ ]
85
+ }
86
+ ```
87
+
88
+ ## Severity rubric
89
+
90
+ - **major** — missing component, wrong component, broken layout (overlap/clipping), wrong color family (red where blue expected), text content differs.
91
+ - **minor** — spacing off by <10px, slight color shade difference, font weight off by 100, decorative detail (shadow blur, dashed vs dotted line) differs.
92
+ - **match** — within tolerance, no notable deviation worth reporting.
93
+
94
+ A pair with at least one `major` deviation has status `major_mismatch`. A pair with only `minor` deviations has status `minor_mismatch`. No deviations → `match`.
95
+
96
+ ## Boundaries
97
+
98
+ - Never write code. Never suggest CSS values. Never edit files other than to save screenshots.
99
+ - If parent agent passes 0 pairs, return summary with all zeros and `blocking_issues: ["no pairs provided"]`.
100
+ - If all `expected_path`s are missing, return all `skipped` and a clear `blocking_issues` entry — the parent likely needs to ask the user for design refs.
101
+ - Token discipline: you run on Haiku. The JSON is the deliverable. Don't narrate.
@@ -0,0 +1,97 @@
1
+ ---
2
+ name: verify-runner
3
+ description: Executes a pre-authored agent-view verify recipe (`.claude/verify-recipes/<slug>.md`) against a running app and returns a compact JSON report. Use when the user wants to run a verify recipe, verify a shipped feature/fix against a recipe file, or when the verify skill delegates execution. Does NOT author recipes — for that, use the verify-recipe skill.
4
+ tools: Read, Bash, Glob
5
+ model: haiku
6
+ ---
7
+
8
+ You are a disciplined recipe executor. Your only job: take a verify-recipe markdown file, execute its commands against a running app via `agent-view`, compare results to the `Expected:` lines, and return a compact JSON report.
9
+
10
+ You are NOT a debugger and NOT a recipe author. Do not propose fixes. Do not invent extra checks. Do not rewrite the recipe. Execute exactly what is written, report exactly what you observed.
11
+
12
+ ## Inputs you will receive
13
+
14
+ The parent agent will give you:
15
+ - `recipe_path` — absolute path to the recipe file (required)
16
+ - `window_id` — value to substitute for `$W` in commands (optional; if recipe needs it and not provided, run `agent-view discover` once and pick the main window)
17
+ - `extra_context` — anything else relevant (optional)
18
+
19
+ ## Execution protocol
20
+
21
+ 1. **Read the recipe** with `Read`. Parse:
22
+ - The `## Repro Steps` section — these are preconditions, NOT commands you run. If the app state cannot be confirmed (e.g., command in step 0 fails), report `precondition_failed` and stop.
23
+ - The `## Evidence Commands` section — numbered subsections, each with one or more `agent-view` commands inside a fenced bash block, followed by an `Expected:` line.
24
+ - The `## Design Conformance` section — if present, IGNORE IT. Design comparison is the design-conformance-runner's job. Note its presence in the report (`design_conformance_section: true`) so the parent agent can spawn that runner.
25
+
26
+ 2. **Substitute placeholders.** Replace `$W` with the provided `window_id`. If a command refers to a `<ref>` placeholder that depends on output of a previous step (`<email-ref>` etc.), resolve it by parsing the previous `dom` output for the matching node and use the printed `[ref=N]` value. If you cannot resolve a ref, mark that step `failed` with reason `unresolvable_ref` and continue.
27
+
28
+ 3. **Run each command** with `Bash`. Use a generous timeout (60s default). Capture stdout, stderr, and exit code.
29
+
30
+ 4. **Compare to `Expected:`.** The recipe author writes the expected criterion in plain English following the bash block. Decide pass/fail by literal match where possible:
31
+ - Numeric criterion (`> 0`, `=== 5`, `< 1000`) → parse the actual value and evaluate.
32
+ - String/JSON criterion → substring or shape match.
33
+ - "Empty" / "(no console messages)" → output is empty or matches the literal phrase.
34
+ - Visual criterion ("dashed outlines", "neutral-gray") → mark as `requires_visual_review` (you don't see pixels), record the screenshot path, do not pass or fail.
35
+ - Ambiguous English ("looks correct") → mark as `subjective`, do not pass or fail.
36
+
37
+ 5. **Do not retry on failure** beyond what the recipe explicitly says. One try per command. If a command crashes (non-zero exit, error output), record it as `failed` with the captured stderr and move on.
38
+
39
+ 6. **Stop conditions:**
40
+ - `precondition_failed` (recipe-required state not present) → stop, report what you have.
41
+ - `cdp_disconnected` (`agent-view discover` returns nothing mid-run) → stop, report.
42
+ - Otherwise: run every step in the recipe, even after failures.
43
+
44
+ ## Output format
45
+
46
+ Return EXACTLY one fenced JSON block. No prose before or after.
47
+
48
+ ```json
49
+ {
50
+ "recipe_path": "<path>",
51
+ "recipe_title": "<from H1>",
52
+ "started_at": "<ISO8601>",
53
+ "finished_at": "<ISO8601>",
54
+ "window_id": "<resolved>",
55
+ "design_conformance_section": false,
56
+ "design_conformance_pairs": [],
57
+ "summary": {
58
+ "total": 0,
59
+ "passed": 0,
60
+ "failed": 0,
61
+ "requires_visual_review": 0,
62
+ "subjective": 0,
63
+ "skipped": 0
64
+ },
65
+ "steps": [
66
+ {
67
+ "index": 1,
68
+ "title": "<from ### heading>",
69
+ "status": "passed | failed | requires_visual_review | subjective | skipped",
70
+ "commands": ["agent-view ..."],
71
+ "expected": "<verbatim from recipe>",
72
+ "actual": "<truncated stdout, max 500 chars; full output too verbose>",
73
+ "stderr": "<only if non-empty, max 200 chars>",
74
+ "diagnosis": "<one sentence: why it failed, or 'matched expected', or 'requires human review of <screenshot path>'>"
75
+ }
76
+ ],
77
+ "regression_checks": [
78
+ { "criterion": "...", "status": "passed | failed | skipped", "evidence": "..." }
79
+ ],
80
+ "blocking_issues": [
81
+ "<one-line summary of each failed/precondition_failed item — empty array if all good>"
82
+ ]
83
+ }
84
+ ```
85
+
86
+ If `design_conformance_section: true`, also extract the screenshot↔reference pairs from that section and put them in `design_conformance_pairs` as `[{ "step_label": "...", "screenshot_command": "agent-view screenshot ...", "expected_ref_path": "..." }]`. The parent agent will hand these to the design runner.
87
+
88
+ ## Boundaries
89
+
90
+ - Don't suggest code fixes. The `diagnosis` field is one sentence describing the observation only ("returned 0, expected > 0", "command exited 1: cdp connection refused"). Never write "you should change X".
91
+ - Don't take screenshots not in the recipe. Don't add `eval` calls not in the recipe. Don't open extra DOM views to "investigate". Recipe is the contract.
92
+ - Truncate large outputs aggressively. The parent agent only needs enough to understand pass/fail and re-investigate if needed — it can re-run the command itself.
93
+ - If the recipe is malformed (no `## Evidence Commands` section, no fenced blocks), return a JSON report with `summary.total: 0` and `blocking_issues: ["recipe malformed: <reason>"]`.
94
+
95
+ ## Token discipline
96
+
97
+ You are running on Haiku to save the parent agent's context. Make every output line earn its place. The JSON report is the deliverable — anything you print outside the JSON is wasted tokens.
@@ -1,7 +1,14 @@
1
1
  import type { AXNode } from './types.js';
2
+ export type AxTreeResult = {
3
+ nodes: AXNode[];
4
+ fromCache: boolean;
5
+ };
2
6
  export declare class AxTreeCache {
3
7
  private entries;
4
8
  get(key: string): AXNode[] | null;
9
+ getWithMeta(key: string): AxTreeResult & {
10
+ found: boolean;
11
+ };
5
12
  set(key: string, nodes: AXNode[]): void;
6
13
  invalidate(key: string): void;
7
14
  invalidateAll(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ax-cache.d.ts","sourceRoot":"","sources":["../../src/cdp/ax-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AASxC,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAgC;IAE/C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAUjC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAIvC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B,aAAa,IAAI,IAAI;CAGtB"}
1
+ {"version":3,"file":"ax-cache.d.ts","sourceRoot":"","sources":["../../src/cdp/ax-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AASxC,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAgC;IAE/C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAUjC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE;IAQ3D,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAIvC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B,aAAa,IAAI,IAAI;CAGtB"}
@@ -11,6 +11,13 @@ export class AxTreeCache {
11
11
  }
12
12
  return entry.nodes;
13
13
  }
14
+ getWithMeta(key) {
15
+ const cached = this.get(key);
16
+ if (cached) {
17
+ return { nodes: cached, fromCache: true, found: true };
18
+ }
19
+ return { nodes: [], fromCache: false, found: false };
20
+ }
14
21
  set(key, nodes) {
15
22
  this.entries.set(key, { nodes, timestamp: Date.now() });
16
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ax-cache.js","sourceRoot":"","sources":["../../src/cdp/ax-cache.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG,GAAG,CAAA;AAO3B,MAAM,OAAO,WAAW;IACd,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAA;IAE/C,GAAG,CAAC,GAAW;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QACvB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,eAAe,EAAE,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACxB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAA;IACpB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAe;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,UAAU,CAAC,GAAW;QACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAED,aAAa;QACX,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"ax-cache.js","sourceRoot":"","sources":["../../src/cdp/ax-cache.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG,GAAG,CAAA;AAY3B,MAAM,OAAO,WAAW;IACd,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAA;IAE/C,GAAG,CAAC,GAAW;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QACvB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,eAAe,EAAE,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACxB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAA;IACpB,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC5B,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;QACxD,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACtD,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAe;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,UAAU,CAAC,GAAW;QACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAED,aAAa;QACX,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/cdp/transport.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,SAAS,EAGd,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,WAAW,EAGjB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAoBhD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAkBpE;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAQ9E;AAsKD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,CAmBhG;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,WAAW,CAAC,CAmItB"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/cdp/transport.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,SAAS,EAId,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,WAAW,EAKjB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAoBhD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAkBpE;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAQ9E;AAsKD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,CAmBhG;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,WAAW,CAAC,CAoNtB"}
@@ -1,6 +1,6 @@
1
1
  // @ts-expect-error no types available for chrome-remote-interface
2
2
  import CDP from 'chrome-remote-interface';
3
- import { TargetType, ConsoleLevel, ConsoleSource, EvaluationError, } from './types.js';
3
+ import { TargetType, ConsoleLevel, ConsoleSource, EvaluationError, MouseButton, } from './types.js';
4
4
  // CDP hosts to try: IPv4 first, then IPv6 (WebView2/Tauri often listens on ::1)
5
5
  const CDP_HOSTS = ['127.0.0.1', '::1'];
6
6
  // Maps targetId → host for connection routing
@@ -204,6 +204,8 @@ export async function connectToPage(port, target, cache) {
204
204
  let documentBackendNodeId = root.backendNodeId;
205
205
  // null = not yet tested; true = available; false = unavailable (API not supported)
206
206
  let queryAXTreeAvailable = null;
207
+ // null = not yet tested; true = webp supported; false = not supported (old Chrome/Electron)
208
+ let webpSupported = null;
207
209
  Page.frameNavigated(async () => {
208
210
  cache.invalidate(cacheKey);
209
211
  try {
@@ -217,6 +219,47 @@ export async function connectToPage(port, target, cache) {
217
219
  const released = Input.dispatchMouseEvent({ type: 'mouseReleased', x, y, button: 'left', clickCount: 1 });
218
220
  await Promise.all([pressed, released]);
219
221
  }
222
+ async function dispatchDrag(from, to, opts) {
223
+ const steps = Math.max(0, opts?.steps ?? 10);
224
+ const button = opts?.button ?? MouseButton.Left;
225
+ const holdMs = Math.max(0, opts?.holdMs ?? 0);
226
+ await Input.dispatchMouseEvent({ type: 'mousePressed', x: from.x, y: from.y, button, clickCount: 1 });
227
+ if (holdMs > 0)
228
+ await new Promise(r => setTimeout(r, holdMs));
229
+ for (let i = 1; i <= steps; i++) {
230
+ const t = i / (steps + 1);
231
+ const x = from.x + (to.x - from.x) * t;
232
+ const y = from.y + (to.y - from.y) * t;
233
+ await Input.dispatchMouseEvent({ type: 'mouseMoved', x, y, button });
234
+ }
235
+ await Input.dispatchMouseEvent({ type: 'mouseMoved', x: to.x, y: to.y, button });
236
+ await Input.dispatchMouseEvent({ type: 'mouseReleased', x: to.x, y: to.y, button, clickCount: 1 });
237
+ }
238
+ async function scrollNodeIntoView(backendNodeId) {
239
+ const { object } = await DOM.resolveNode({ backendNodeId });
240
+ await Runtime.callFunctionOn({
241
+ objectId: object.objectId,
242
+ functionDeclaration: 'function() { this.scrollIntoViewIfNeeded() }',
243
+ });
244
+ }
245
+ async function resolveBoxCenter(backendNodeId, scrollIntoView) {
246
+ if (scrollIntoView)
247
+ await scrollNodeIntoView(backendNodeId);
248
+ const { model } = await DOM.getBoxModel({ backendNodeId });
249
+ const [x1, y1, x2, y2, x3, y3, x4, y4] = model.content;
250
+ return { x: (x1 + x2 + x3 + x4) / 4, y: (y1 + y2 + y3 + y4) / 4 };
251
+ }
252
+ async function resolveBoxRect(backendNodeId, scrollIntoView) {
253
+ if (scrollIntoView)
254
+ await scrollNodeIntoView(backendNodeId);
255
+ const { model } = await DOM.getBoxModel({ backendNodeId });
256
+ const [x1, y1, x2, y2, x3, y3, x4, y4] = model.content;
257
+ const xs = [x1, x2, x3, x4];
258
+ const ys = [y1, y2, y3, y4];
259
+ const minX = Math.min(...xs);
260
+ const minY = Math.min(...ys);
261
+ return { x: minX, y: minY, width: Math.max(...xs) - minX, height: Math.max(...ys) - minY };
262
+ }
220
263
  return {
221
264
  target,
222
265
  evaluate: (expression, opts) => evaluateImpl(client, expression, opts),
@@ -229,6 +272,15 @@ export async function connectToPage(port, target, cache) {
229
272
  cache.set(cacheKey, nodes);
230
273
  return nodes;
231
274
  },
275
+ async getAccessibilityTreeMeta() {
276
+ const meta = cache.getWithMeta(cacheKey);
277
+ if (meta.found) {
278
+ return { nodes: meta.nodes, fromCache: true };
279
+ }
280
+ const { nodes } = await Accessibility.getFullAXTree();
281
+ cache.set(cacheKey, nodes);
282
+ return { nodes, fromCache: false };
283
+ },
232
284
  async queryAXTree({ accessibleName, role }) {
233
285
  if (queryAXTreeAvailable === false)
234
286
  return null;
@@ -248,47 +300,66 @@ export async function connectToPage(port, target, cache) {
248
300
  },
249
301
  async captureScreenshot(opts) {
250
302
  const scale = opts?.scale ?? 1;
303
+ const explicitClip = opts?.clip;
304
+ if (explicitClip !== undefined) {
305
+ const format = scale < 1 ? 'jpeg' : 'png';
306
+ const params = { format, clip: { ...explicitClip, scale } };
307
+ if (format === 'jpeg')
308
+ params.quality = 80;
309
+ const { data } = await Page.captureScreenshot(params);
310
+ return { buffer: Buffer.from(data, 'base64'), format };
311
+ }
251
312
  if (scale >= 1) {
252
313
  const { data } = await Page.captureScreenshot({ format: 'png' });
253
- return Buffer.from(data, 'base64');
314
+ return { buffer: Buffer.from(data, 'base64'), format: 'png' };
254
315
  }
255
316
  const { cssLayoutViewport } = await Page.getLayoutMetrics();
256
- const { data } = await Page.captureScreenshot({
257
- format: 'jpeg',
258
- quality: 80,
259
- clip: { x: 0, y: 0, width: cssLayoutViewport.clientWidth, height: cssLayoutViewport.clientHeight, scale },
260
- });
261
- return Buffer.from(data, 'base64');
317
+ const clip = { x: 0, y: 0, width: cssLayoutViewport.clientWidth, height: cssLayoutViewport.clientHeight, scale };
318
+ if (webpSupported !== false) {
319
+ try {
320
+ const { data } = await Page.captureScreenshot({ format: 'webp', quality: 80, clip });
321
+ webpSupported = true;
322
+ return { buffer: Buffer.from(data, 'base64'), format: 'webp' };
323
+ }
324
+ catch {
325
+ if (webpSupported === null) {
326
+ // eslint-disable-next-line no-console
327
+ console.error('[agent-view] WebP not supported by this Chrome/Electron version, falling back to JPEG');
328
+ webpSupported = false;
329
+ }
330
+ }
331
+ }
332
+ const { data } = await Page.captureScreenshot({ format: 'jpeg', quality: 80, clip });
333
+ return { buffer: Buffer.from(data, 'base64'), format: 'jpeg' };
262
334
  },
263
335
  async clickByNodeId(backendNodeId) {
264
- const [{ object }, { model }] = await Promise.all([
265
- DOM.resolveNode({ backendNodeId }),
266
- DOM.getBoxModel({ backendNodeId }),
267
- ]);
268
- await Runtime.callFunctionOn({
269
- objectId: object.objectId,
270
- functionDeclaration: 'function() { this.scrollIntoViewIfNeeded() }',
271
- });
272
- const [x1, y1, x2, y2, x3, y3, x4, y4] = model.content;
273
- const cx = (x1 + x2 + x3 + x4) / 4;
274
- const cy = (y1 + y2 + y3 + y4) / 4;
275
- await dispatchClick(cx, cy);
336
+ const { x, y } = await resolveBoxCenter(backendNodeId, true);
337
+ await dispatchClick(x, y);
276
338
  },
277
339
  async clickAtPosition(x, y) {
278
340
  await dispatchClick(x, y);
279
341
  },
342
+ async getBoxCenter(backendNodeId, opts) {
343
+ return resolveBoxCenter(backendNodeId, opts?.scrollIntoView ?? true);
344
+ },
345
+ async getBoxRect(backendNodeId, opts) {
346
+ return resolveBoxRect(backendNodeId, opts?.scrollIntoView ?? true);
347
+ },
348
+ async dragBetweenPositions(from, to, opts) {
349
+ await dispatchDrag(from, to, opts);
350
+ },
280
351
  async fillByNodeId(backendNodeId, value) {
281
352
  const { object } = await DOM.resolveNode({ backendNodeId });
282
353
  await DOM.focus({ backendNodeId });
283
354
  await Runtime.callFunctionOn({
284
355
  objectId: object.objectId,
285
- functionDeclaration: `function(val) {
286
- const nativeSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value')?.set
287
- || Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype, 'value')?.set;
288
- if (nativeSetter) nativeSetter.call(this, val);
289
- else this.value = val;
290
- this.dispatchEvent(new Event('input', { bubbles: true }));
291
- this.dispatchEvent(new Event('change', { bubbles: true }));
356
+ functionDeclaration: `function(val) {
357
+ const nativeSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value')?.set
358
+ || Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype, 'value')?.set;
359
+ if (nativeSetter) nativeSetter.call(this, val);
360
+ else this.value = val;
361
+ this.dispatchEvent(new Event('input', { bubbles: true }));
362
+ this.dispatchEvent(new Event('change', { bubbles: true }));
292
363
  }`,
293
364
  arguments: [{ value }],
294
365
  });
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/cdp/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/cdp/transport.ts"],"names":[],"mappings":"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"}
@@ -18,9 +18,37 @@ export type TargetInfo = {
18
18
  title: string;
19
19
  url: string;
20
20
  };
21
+ export type ScreenshotClip = {
22
+ x: number;
23
+ y: number;
24
+ width: number;
25
+ height: number;
26
+ };
21
27
  export type ScreenshotOpts = {
22
- /** Scale factor (0 < scale ≤ 1). Values < 1 use JPEG at 80% quality to reduce token cost. */
28
+ /** Scale factor (0 < scale ≤ 1). Values < 1 use WebP at q=80 (JPEG fallback for old Chrome/Electron). */
23
29
  scale?: number;
30
+ /** Crop to this rect before capturing. Combined with scale when both are set. */
31
+ clip?: ScreenshotClip;
32
+ };
33
+ export type ScreenshotResult = {
34
+ buffer: Buffer;
35
+ format: 'png' | 'jpeg' | 'webp';
36
+ };
37
+ export declare enum MouseButton {
38
+ Left = "left",
39
+ Right = "right",
40
+ Middle = "middle"
41
+ }
42
+ export type DragOpts = {
43
+ /** Number of intermediate `mouseMoved` events between press and release. Default 10. */
44
+ steps?: number;
45
+ button?: MouseButton;
46
+ /** Pause between `mousePressed` and the first `mouseMoved`, in ms. Some libs require >100ms. */
47
+ holdMs?: number;
48
+ };
49
+ export type Point = {
50
+ x: number;
51
+ y: number;
24
52
  };
25
53
  export declare enum ConsoleLevel {
26
54
  Log = "log",
@@ -63,15 +91,30 @@ export type RuntimeSession = {
63
91
  };
64
92
  export type PageSession = RuntimeSession & {
65
93
  getAccessibilityTree: () => Promise<AXNode[]>;
94
+ /** Same as getAccessibilityTree but also signals whether nodes came from the AX tree cache. */
95
+ getAccessibilityTreeMeta: () => Promise<{
96
+ nodes: AXNode[];
97
+ fromCache: boolean;
98
+ }>;
66
99
  /** Returns matching nodes by accessible name/role. null = API unavailable; [] = no match. */
67
100
  queryAXTree: (params: {
68
101
  accessibleName?: string;
69
102
  role?: string;
70
103
  }) => Promise<AXNode[] | null>;
71
- captureScreenshot: (opts?: ScreenshotOpts) => Promise<Buffer>;
104
+ captureScreenshot: (opts?: ScreenshotOpts) => Promise<ScreenshotResult>;
72
105
  clickByNodeId: (backendDOMNodeId: number) => Promise<void>;
73
106
  clickAtPosition: (x: number, y: number) => Promise<void>;
74
107
  fillByNodeId: (backendDOMNodeId: number, value: string) => Promise<void>;
108
+ /** Resolve box-model center for an element. `scrollIntoView` defaults to true. */
109
+ getBoxCenter: (backendDOMNodeId: number, opts?: {
110
+ scrollIntoView?: boolean;
111
+ }) => Promise<Point>;
112
+ /** Resolve axis-aligned bounding rect for an element. `scrollIntoView` defaults to true. */
113
+ getBoxRect: (backendDOMNodeId: number, opts?: {
114
+ scrollIntoView?: boolean;
115
+ }) => Promise<ScreenshotClip>;
116
+ /** CDP-level mouse drag: press → N × move → release. */
117
+ dragBetweenPositions: (from: Point, to: Point, opts?: DragOpts) => Promise<void>;
75
118
  };
76
119
  export type AXNode = {
77
120
  nodeId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cdp/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cdp/types.ts"],"names":[],"mappings":"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"}
package/dist/cdp/types.js CHANGED
@@ -6,6 +6,12 @@ export var TargetType;
6
6
  TargetType["ServiceWorker"] = "service_worker";
7
7
  TargetType["Worker"] = "worker";
8
8
  })(TargetType || (TargetType = {}));
9
+ export var MouseButton;
10
+ (function (MouseButton) {
11
+ MouseButton["Left"] = "left";
12
+ MouseButton["Right"] = "right";
13
+ MouseButton["Middle"] = "middle";
14
+ })(MouseButton || (MouseButton = {}));
9
15
  export var ConsoleLevel;
10
16
  (function (ConsoleLevel) {
11
17
  ConsoleLevel["Log"] = "log";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cdp/types.ts"],"names":[],"mappings":"AAQA,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,+BAAiB,CAAA;IACjB,4CAA8B,CAAA;IAC9B,8CAAgC,CAAA;IAChC,+BAAiB,CAAA;AACnB,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB;AAcD,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,2BAAW,CAAA;IACX,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,+BAAe,CAAA;IACf,+BAAe,CAAA;AACjB,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB;AAED,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,4BAAW,CAAA;AACb,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAgBD,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACK;IAA7C,YAAY,OAAe,EAAkB,KAAc;QACzD,KAAK,CAAC,OAAO,CAAC,CAAA;QAD6B,UAAK,GAAL,KAAK,CAAS;QAEzD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cdp/types.ts"],"names":[],"mappings":"AAQA,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,+BAAiB,CAAA;IACjB,4CAA8B,CAAA;IAC9B,8CAAgC,CAAA;IAChC,+BAAiB,CAAA;AACnB,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB;AA4BD,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,gCAAiB,CAAA;AACnB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAYD,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,2BAAW,CAAA;IACX,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,+BAAe,CAAA;IACf,+BAAe,CAAA;AACjB,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB;AAED,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,4BAAW,CAAA;AACb,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAgBD,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACK;IAA7C,YAAY,OAAe,EAAkB,KAAc;QACzD,KAAK,CAAC,OAAO,CAAC,CAAA;QAD6B,UAAK,GAAL,KAAK,CAAS;QAEzD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF"}
@@ -3,6 +3,7 @@ export type ConsoleOptions = {
3
3
  target?: string;
4
4
  follow?: boolean;
5
5
  timeout?: number;
6
+ until?: string;
6
7
  level?: string;
7
8
  since?: string;
8
9
  clear?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/console.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAgChG"}
1
+ {"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/console.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAiChG"}
@@ -16,6 +16,7 @@ export async function runConsole(config, options) {
16
16
  target: options.target,
17
17
  follow: options.follow,
18
18
  timeout: options.timeout,
19
+ until: options.until,
19
20
  levels,
20
21
  since,
21
22
  clear: options.clear,
@@ -1 +1 @@
1
- {"version":3,"file":"console.js","sourceRoot":"","sources":["../../../src/cli/commands/console.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAY1C,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAuB,EAAE,OAAuB;IAC/E,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK;QAC1B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAC3E,CAAC,CAAC,SAAS,CAAA;IAEb,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACnE,IAAI,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,+BAA+B,OAAO,CAAC,KAAK,GAAG,CAAC,CAAA;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC;QACjC,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE;YACJ,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM;YACN,KAAK;YACL,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;SACnB;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,UAAU,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC"}
1
+ {"version":3,"file":"console.js","sourceRoot":"","sources":["../../../src/cli/commands/console.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAa1C,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAuB,EAAE,OAAuB;IAC/E,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK;QAC1B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAC3E,CAAC,CAAC,SAAS,CAAA;IAEb,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACnE,IAAI,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,+BAA+B,OAAO,CAAC,KAAK,GAAG,CAAC,CAAA;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC;QACjC,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE;YACJ,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM;YACN,KAAK;YACL,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;SACnB;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,UAAU,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC"}