@zenalexa/unicli 0.213.3 → 0.215.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 (188) hide show
  1. package/AGENTS.md +10 -10
  2. package/README.md +40 -27
  3. package/README.zh-CN.md +36 -36
  4. package/dist/adapters/_electron/desktop-shared.d.ts +12 -0
  5. package/dist/adapters/_electron/desktop-shared.d.ts.map +1 -0
  6. package/dist/adapters/_electron/desktop-shared.js +312 -0
  7. package/dist/adapters/_electron/desktop-shared.js.map +1 -0
  8. package/dist/adapters/electron-desktop/electron-desktop.d.ts +9 -0
  9. package/dist/adapters/electron-desktop/electron-desktop.d.ts.map +1 -0
  10. package/dist/adapters/electron-desktop/electron-desktop.js +56 -0
  11. package/dist/adapters/electron-desktop/electron-desktop.js.map +1 -0
  12. package/dist/browser/adapter-authoring.d.ts +20 -0
  13. package/dist/browser/adapter-authoring.d.ts.map +1 -0
  14. package/dist/browser/adapter-authoring.js +68 -0
  15. package/dist/browser/adapter-authoring.js.map +1 -0
  16. package/dist/browser/analyze.d.ts +54 -0
  17. package/dist/browser/analyze.d.ts.map +1 -0
  18. package/dist/browser/analyze.js +205 -0
  19. package/dist/browser/analyze.js.map +1 -0
  20. package/dist/browser/bridge.d.ts +1 -1
  21. package/dist/browser/bridge.d.ts.map +1 -1
  22. package/dist/browser/bridge.js +2 -0
  23. package/dist/browser/bridge.js.map +1 -1
  24. package/dist/browser/daemon-client.d.ts.map +1 -1
  25. package/dist/browser/daemon-client.js +12 -1
  26. package/dist/browser/daemon-client.js.map +1 -1
  27. package/dist/browser/network-cache.d.ts +58 -0
  28. package/dist/browser/network-cache.d.ts.map +1 -0
  29. package/dist/browser/network-cache.js +146 -0
  30. package/dist/browser/network-cache.js.map +1 -0
  31. package/dist/browser/page.d.ts +1 -1
  32. package/dist/browser/page.d.ts.map +1 -1
  33. package/dist/browser/page.js +2 -1
  34. package/dist/browser/page.js.map +1 -1
  35. package/dist/browser/protocol.d.ts +6 -2
  36. package/dist/browser/protocol.d.ts.map +1 -1
  37. package/dist/browser/site-memory.d.ts +57 -0
  38. package/dist/browser/site-memory.d.ts.map +1 -0
  39. package/dist/browser/site-memory.js +127 -0
  40. package/dist/browser/site-memory.js.map +1 -0
  41. package/dist/browser/verify-fixture.d.ts +30 -0
  42. package/dist/browser/verify-fixture.d.ts.map +1 -0
  43. package/dist/browser/verify-fixture.js +168 -0
  44. package/dist/browser/verify-fixture.js.map +1 -0
  45. package/dist/browser/workspace.d.ts +8 -0
  46. package/dist/browser/workspace.d.ts.map +1 -0
  47. package/dist/browser/workspace.js +15 -0
  48. package/dist/browser/workspace.js.map +1 -0
  49. package/dist/commands/browser-adapter-authoring.d.ts +3 -0
  50. package/dist/commands/browser-adapter-authoring.d.ts.map +1 -0
  51. package/dist/commands/browser-adapter-authoring.js +206 -0
  52. package/dist/commands/browser-adapter-authoring.js.map +1 -0
  53. package/dist/commands/browser-authoring-operator.d.ts +3 -0
  54. package/dist/commands/browser-authoring-operator.d.ts.map +1 -0
  55. package/dist/commands/browser-authoring-operator.js +110 -0
  56. package/dist/commands/browser-authoring-operator.js.map +1 -0
  57. package/dist/commands/browser-operator-runtime.d.ts +38 -0
  58. package/dist/commands/browser-operator-runtime.d.ts.map +1 -0
  59. package/dist/commands/browser-operator-runtime.js +281 -0
  60. package/dist/commands/browser-operator-runtime.js.map +1 -0
  61. package/dist/commands/browser-operator.d.ts +6 -0
  62. package/dist/commands/browser-operator.d.ts.map +1 -0
  63. package/dist/commands/browser-operator.js +374 -0
  64. package/dist/commands/browser-operator.js.map +1 -0
  65. package/dist/commands/browser.d.ts.map +1 -1
  66. package/dist/commands/browser.js +72 -1
  67. package/dist/commands/browser.js.map +1 -1
  68. package/dist/commands/daemon.d.ts.map +1 -1
  69. package/dist/commands/daemon.js +40 -4
  70. package/dist/commands/daemon.js.map +1 -1
  71. package/dist/commands/explore.d.ts.map +1 -1
  72. package/dist/commands/explore.js +4 -1
  73. package/dist/commands/explore.js.map +1 -1
  74. package/dist/commands/generate.d.ts.map +1 -1
  75. package/dist/commands/generate.js +4 -1
  76. package/dist/commands/generate.js.map +1 -1
  77. package/dist/commands/mcp.d.ts.map +1 -1
  78. package/dist/commands/mcp.js +14 -14
  79. package/dist/commands/mcp.js.map +1 -1
  80. package/dist/commands/migrate-schema.d.ts.map +1 -1
  81. package/dist/commands/migrate-schema.js +10 -0
  82. package/dist/commands/migrate-schema.js.map +1 -1
  83. package/dist/commands/operate.d.ts +4 -3
  84. package/dist/commands/operate.d.ts.map +1 -1
  85. package/dist/commands/operate.js +8 -483
  86. package/dist/commands/operate.js.map +1 -1
  87. package/dist/commands/record.d.ts.map +1 -1
  88. package/dist/commands/record.js +2 -1
  89. package/dist/commands/record.js.map +1 -1
  90. package/dist/commands/search.js +1 -1
  91. package/dist/commands/search.js.map +1 -1
  92. package/dist/commands/skills.js +1 -1
  93. package/dist/commands/skills.js.map +1 -1
  94. package/dist/commands/synthesize.d.ts.map +1 -1
  95. package/dist/commands/synthesize.js +33 -3
  96. package/dist/commands/synthesize.js.map +1 -1
  97. package/dist/discovery/aliases.d.ts.map +1 -1
  98. package/dist/discovery/aliases.js +76 -1
  99. package/dist/discovery/aliases.js.map +1 -1
  100. package/dist/discovery/loader.d.ts.map +1 -1
  101. package/dist/discovery/loader.js +3 -1
  102. package/dist/discovery/loader.js.map +1 -1
  103. package/dist/electron-apps.d.ts +22 -0
  104. package/dist/electron-apps.d.ts.map +1 -1
  105. package/dist/electron-apps.js +324 -0
  106. package/dist/electron-apps.js.map +1 -1
  107. package/dist/engine/download.d.ts.map +1 -1
  108. package/dist/engine/download.js +12 -5
  109. package/dist/engine/download.js.map +1 -1
  110. package/dist/engine/repair/engine.js +2 -2
  111. package/dist/engine/repair/engine.js.map +1 -1
  112. package/dist/engine/steps/desktop-ax.d.ts +10 -0
  113. package/dist/engine/steps/desktop-ax.d.ts.map +1 -1
  114. package/dist/engine/steps/desktop-ax.js +20 -0
  115. package/dist/engine/steps/desktop-ax.js.map +1 -1
  116. package/dist/engine/steps/exec.d.ts +1 -1
  117. package/dist/engine/steps/exec.d.ts.map +1 -1
  118. package/dist/engine/steps/exec.js +20 -1
  119. package/dist/engine/steps/exec.js.map +1 -1
  120. package/dist/engine/steps/write-temp.js +1 -1
  121. package/dist/engine/steps/write-temp.js.map +1 -1
  122. package/dist/engine/template.d.ts.map +1 -1
  123. package/dist/engine/template.js +10 -2
  124. package/dist/engine/template.js.map +1 -1
  125. package/dist/manifest-compact.txt +8 -7
  126. package/dist/manifest-search.json +1 -1
  127. package/dist/manifest.json +2161 -171
  128. package/dist/mcp/http-transport.d.ts.map +1 -1
  129. package/dist/mcp/http-transport.js +3 -6
  130. package/dist/mcp/http-transport.js.map +1 -1
  131. package/dist/mcp/streamable-http/handle-post.js +1 -1
  132. package/dist/mcp/tools.d.ts +2 -1
  133. package/dist/mcp/tools.d.ts.map +1 -1
  134. package/dist/mcp/tools.js +8 -4
  135. package/dist/mcp/tools.js.map +1 -1
  136. package/dist/output/envelope.d.ts +1 -5
  137. package/dist/output/envelope.d.ts.map +1 -1
  138. package/dist/output/envelope.js +1 -5
  139. package/dist/output/envelope.js.map +1 -1
  140. package/dist/output/formatter.d.ts +2 -2
  141. package/dist/output/formatter.js +3 -3
  142. package/dist/output/formatter.js.map +1 -1
  143. package/dist/transport/adapters/cua.d.ts +9 -10
  144. package/dist/transport/adapters/cua.d.ts.map +1 -1
  145. package/dist/transport/adapters/cua.js +22 -24
  146. package/dist/transport/adapters/cua.js.map +1 -1
  147. package/dist/transport/adapters/desktop-atspi.d.ts +1 -1
  148. package/dist/transport/adapters/desktop-atspi.js +2 -2
  149. package/dist/transport/adapters/desktop-atspi.js.map +1 -1
  150. package/dist/transport/adapters/desktop-ax-background-click-swift.d.ts +11 -0
  151. package/dist/transport/adapters/desktop-ax-background-click-swift.d.ts.map +1 -0
  152. package/dist/transport/adapters/desktop-ax-background-click-swift.js +136 -0
  153. package/dist/transport/adapters/desktop-ax-background-click-swift.js.map +1 -0
  154. package/dist/transport/adapters/desktop-ax-background-click.d.ts +4 -0
  155. package/dist/transport/adapters/desktop-ax-background-click.d.ts.map +1 -0
  156. package/dist/transport/adapters/desktop-ax-background-click.js +70 -0
  157. package/dist/transport/adapters/desktop-ax-background-click.js.map +1 -0
  158. package/dist/transport/adapters/desktop-ax-swift.d.ts +56 -0
  159. package/dist/transport/adapters/desktop-ax-swift.d.ts.map +1 -0
  160. package/dist/transport/adapters/desktop-ax-swift.js +458 -0
  161. package/dist/transport/adapters/desktop-ax-swift.js.map +1 -0
  162. package/dist/transport/adapters/desktop-ax.d.ts +14 -0
  163. package/dist/transport/adapters/desktop-ax.d.ts.map +1 -1
  164. package/dist/transport/adapters/desktop-ax.js +262 -32
  165. package/dist/transport/adapters/desktop-ax.js.map +1 -1
  166. package/dist/transport/adapters/desktop-uia.d.ts +1 -1
  167. package/dist/transport/adapters/desktop-uia.js +2 -2
  168. package/dist/transport/adapters/desktop-uia.js.map +1 -1
  169. package/dist/transport/adapters/http.js +1 -1
  170. package/dist/transport/adapters/http.js.map +1 -1
  171. package/dist/transport/capability.d.ts +1 -1
  172. package/dist/transport/capability.d.ts.map +1 -1
  173. package/dist/transport/capability.js +6 -1
  174. package/dist/transport/capability.js.map +1 -1
  175. package/package.json +2 -2
  176. package/src/adapters/_electron/desktop-shared.ts +383 -0
  177. package/src/adapters/docker/build.yaml +1 -1
  178. package/src/adapters/docker/images.yaml +1 -1
  179. package/src/adapters/docker/logs.yaml +1 -1
  180. package/src/adapters/docker/networks.yaml +1 -1
  181. package/src/adapters/docker/ps.yaml +1 -1
  182. package/src/adapters/docker/run.yaml +1 -1
  183. package/src/adapters/docker/volumes.yaml +1 -1
  184. package/src/adapters/electron-desktop/electron-desktop.ts +57 -0
  185. package/src/adapters/macos/caffeinate.yaml +2 -2
  186. package/src/adapters/macos/processes.yaml +3 -3
  187. package/src/adapters/macos/screen-recording.yaml +2 -2
  188. package/src/adapters/substack/trending.yaml +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-schema.d.ts","sourceRoot":"","sources":["../../src/commands/migrate-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyJpC,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;AAsDD,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,EAAE,CAQ7D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAY7D;AAiHD,0EAA0E;AAC1E,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,GAEjB;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,GACxB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA2GrC;AAeD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9B,eAAe,CAgDjB;AAMD,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsGnE"}
1
+ {"version":3,"file":"migrate-schema.d.ts","sourceRoot":"","sources":["../../src/commands/migrate-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmKpC,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;AAsDD,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,EAAE,CAQ7D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAY7D;AAiHD,0EAA0E;AAC1E,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,GAEjB;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,GACxB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA2GrC;AAeD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9B,eAAe,CAgDjB;AAMD,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsGnE"}
@@ -54,6 +54,11 @@ const STEP_CAPABILITY = {
54
54
  ax_focus: "desktop-ax.focus",
55
55
  ax_menu_select: "desktop-ax.menu_select",
56
56
  applescript: "desktop-ax.applescript",
57
+ ax_snapshot: "desktop-ax.ax_snapshot",
58
+ ax_focused_read: "desktop-ax.ax_focused_read",
59
+ ax_set_value: "desktop-ax.ax_set_value",
60
+ ax_press: "desktop-ax.ax_press",
61
+ ax_background_click: "desktop-ax.ax_background_click",
57
62
  clipboard_read: "desktop-ax.clipboard",
58
63
  clipboard_write: "desktop-ax.clipboard",
59
64
  launch_app: "desktop-ax.launch_app",
@@ -106,6 +111,11 @@ const CAPABILITY_PRIORITY = [
106
111
  "desktop-ax.launch_app",
107
112
  "desktop-ax.focus",
108
113
  "desktop-ax.menu_select",
114
+ "desktop-ax.ax_snapshot",
115
+ "desktop-ax.ax_focused_read",
116
+ "desktop-ax.ax_set_value",
117
+ "desktop-ax.ax_press",
118
+ "desktop-ax.ax_background_click",
109
119
  "desktop-ax.applescript",
110
120
  "desktop-uia.focus",
111
121
  "desktop-uia.click",
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-schema.js","sourceRoot":"","sources":["../../src/commands/migrate-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate-schema.js","sourceRoot":"","sources":["../../src/commands/migrate-schema.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  /**
2
- * Interactive browser control — `unicli operate` command family.
2
+ * Interactive browser compatibility surface — `unicli operate`.
3
3
  *
4
- * Enables AI agents to navigate, interact with, and inspect web pages
5
- * through the browser daemon. Each subcommand maps to a daemon action.
4
+ * `browser` is now the primary operator surface. `operate` remains as a
5
+ * compatibility alias mounted over the same implementation so behavior cannot
6
+ * drift between the two command trees.
6
7
  */
7
8
  import { Command } from "commander";
8
9
  export declare function registerOperateCommands(program: Command): void;
@@ -1 +1 @@
1
- {"version":3,"file":"operate.d.ts","sourceRoot":"","sources":["../../src/commands/operate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+FpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+hB9D"}
1
+ {"version":3,"file":"operate.d.ts","sourceRoot":"","sources":["../../src/commands/operate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAS9D"}
@@ -1,491 +1,16 @@
1
1
  /**
2
- * Interactive browser control — `unicli operate` command family.
2
+ * Interactive browser compatibility surface — `unicli operate`.
3
3
  *
4
- * Enables AI agents to navigate, interact with, and inspect web pages
5
- * through the browser daemon. Each subcommand maps to a daemon action.
4
+ * `browser` is now the primary operator surface. `operate` remains as a
5
+ * compatibility alias mounted over the same implementation so behavior cannot
6
+ * drift between the two command trees.
6
7
  */
7
- import { resolve } from "node:path";
8
- import { homedir } from "node:os";
9
- import chalk from "chalk";
10
- import { BrowserBridge } from "../browser/bridge.js";
11
- import { generateReadInterceptedJs } from "../engine/interceptor.js";
12
- import { isSensitivePathRealpath, buildSensitivePathDenial, } from "../permissions/sensitive-paths.js";
13
- import { rankCandidates } from "../browser/observe.js";
14
- import { verifyRef } from "../browser/snapshot-identity.js";
15
- import { mkdirSync, appendFileSync } from "node:fs";
16
- import { join, dirname as pathDirname } from "node:path";
17
- import { format, detectFormat } from "../output/formatter.js";
18
- import { makeCtx } from "../output/envelope.js";
19
- import { errorTypeToCode, mapErrorToExitCode } from "../output/error-map.js";
20
- const OPERATE_WORKSPACE = "operate:default";
21
- /** Validate ref is numeric (from DOM snapshot) to prevent JS injection. */
22
- function validateRef(ref) {
23
- if (!/^\d+$/.test(ref)) {
24
- throw new Error(`Invalid ref "${ref}". Expected a number from the state output.`);
25
- }
26
- return ref;
27
- }
28
- async function getOperatePage() {
29
- const bridge = new BrowserBridge();
30
- const page = await bridge.connect({
31
- timeout: 30_000,
32
- workspace: OPERATE_WORKSPACE,
33
- });
34
- return page;
35
- }
36
- /**
37
- * Wrap operate actions in the v2 AgentEnvelope. Every subcommand emits an
38
- * envelope — even void-returning interactions (click/type/keys/...) wrap their
39
- * ack as `data = {ok: true, ...}`.
40
- *
41
- * Subcommand name (`snapshot` → `operate.snapshot`) populates envelope.command.
42
- */
43
- async function operateAction(program, name, fn) {
44
- const startedAt = Date.now();
45
- const ctx = makeCtx(`operate.${name.split(" ").join("_")}`, startedAt);
46
- const fmt = detectFormat(program.opts().format);
47
- try {
48
- const result = await fn();
49
- let data;
50
- if (result === undefined || result === null) {
51
- data = { ok: true };
52
- }
53
- else if (typeof result === "string") {
54
- // Primitive string result → wrap for envelope contract
55
- data = { value: result };
56
- }
57
- else if (Array.isArray(result)) {
58
- data = result;
59
- }
60
- else if (typeof result === "object") {
61
- data = result;
62
- }
63
- else {
64
- data = { value: String(result) };
65
- }
66
- ctx.duration_ms = Date.now() - startedAt;
67
- console.log(format(data, undefined, fmt, ctx));
68
- }
69
- catch (err) {
70
- const message = err instanceof Error ? err.message : String(err);
71
- // Callers (e.g. upload sensitive-path) may annotate the thrown Error with
72
- // a canonical envelope `code` + remediation `suggestion`; honour both
73
- // instead of re-inferring from the message.
74
- const tagged = err;
75
- ctx.error = {
76
- code: tagged.code ?? errorTypeToCode(err),
77
- message,
78
- ...(tagged.suggestion ? { suggestion: tagged.suggestion } : {}),
79
- retryable: /timeout|ETIMEDOUT|ECONNREFUSED|ECONNRESET|daemon failed/i.test(message),
80
- };
81
- ctx.duration_ms = Date.now() - startedAt;
82
- console.error(format(null, undefined, fmt, ctx));
83
- process.exitCode = mapErrorToExitCode(err);
84
- }
85
- }
8
+ import { applyBrowserOperatorRootOptions, registerBrowserOperatorSubcommands, } from "./browser-operator.js";
86
9
  export function registerOperateCommands(program) {
87
10
  const operate = program
88
11
  .command("operate")
89
- .description("Interactive browser control for agents");
90
- // open <url> — Navigate to URL
91
- operate
92
- .command("open <url>")
93
- .description("Navigate to URL in daemon browser")
94
- .action((url) => operateAction(program, "open", async () => {
95
- const page = await getOperatePage();
96
- // Start CDP-level network capture before navigation so initial
97
- // requests are not missed. Only available on BrowserPage (not DaemonPage).
98
- const pageAnyOpen = page;
99
- if (typeof pageAnyOpen.startNetworkCapture === "function") {
100
- await pageAnyOpen.startNetworkCapture();
101
- }
102
- await page.goto(url, { settleMs: 2000 });
103
- const title = await page.title();
104
- return { ok: true, url, title };
105
- }));
106
- // back — Navigate back
107
- operate
108
- .command("back")
109
- .description("Navigate back in history")
110
- .action(() => operateAction(program, "back", async () => {
111
- const page = await getOperatePage();
112
- await page.evaluate("history.back()");
113
- await page.wait(2);
114
- const url = await page.url();
115
- return { ok: true, url };
116
- }));
117
- // state — DOM snapshot
118
- operate
119
- .command("state")
120
- .description("Get DOM accessibility tree snapshot")
121
- .option("--interactive", "only show interactive elements")
122
- .option("--compact", "omit decorative nodes")
123
- .action((opts) => operateAction(program, "state", async () => {
124
- const page = await getOperatePage();
125
- const url = await page.url();
126
- const snapshot = await page.snapshot({
127
- interactive: opts.interactive,
128
- compact: opts.compact,
129
- });
130
- // Human-oriented URL hint → stderr (Scene-6 pattern)
131
- console.error(chalk.dim(`URL: ${url}`));
132
- return { url, snapshot };
133
- }));
134
- // screenshot [path] — Capture screenshot
135
- operate
136
- .command("screenshot [path]")
137
- .description("Capture page screenshot")
138
- .option("--full-page", "capture full scrollable page")
139
- .action((path, opts) => operateAction(program, "screenshot", async () => {
140
- const page = await getOperatePage();
141
- const buf = await page.screenshot({
142
- fullPage: opts.fullPage,
143
- path: path ?? undefined,
144
- });
145
- if (path) {
146
- return { ok: true, path, size: buf.length };
147
- }
148
- // Output base64 to stdout for agent consumption
149
- return buf.toString("base64");
150
- }));
151
- // click <ref> — Click element by ref number
152
- operate
153
- .command("click <ref>")
154
- .description("Click element by ref number from state")
155
- .action((ref) => operateAction(program, "click", async () => {
156
- validateRef(ref);
157
- const page = await getOperatePage();
158
- const selector = `[data-unicli-ref="${ref}"]`;
159
- await verifyRef(page, selector);
160
- await page.click(selector);
161
- return { ok: true, clicked: ref };
162
- }));
163
- // type <ref> <text> — Type into element
164
- operate
165
- .command("type <ref> <text>")
166
- .description("Type text into element by ref number")
167
- .action((ref, text) => operateAction(program, "type", async () => {
168
- validateRef(ref);
169
- const page = await getOperatePage();
170
- const selector = `[data-unicli-ref="${ref}"]`;
171
- await verifyRef(page, selector);
172
- await page.click(selector);
173
- await page.wait(0.3);
174
- await page.insertText(text);
175
- return { ok: true, ref, text };
176
- }));
177
- // keys <key> — Press keyboard keys
178
- operate
179
- .command("keys <key>")
180
- .description("Press keyboard key (e.g., Enter, Escape, Control+a)")
181
- .action((key) => operateAction(program, "keys", async () => {
182
- const page = await getOperatePage();
183
- // Support combo keys: "Control+a" → press with modifiers
184
- if (key.includes("+")) {
185
- const parts = key.split("+");
186
- const actualKey = parts.pop();
187
- const modifiers = parts.map((m) => m.toLowerCase());
188
- await page.press(actualKey, modifiers);
189
- }
190
- else {
191
- await page.press(key);
192
- }
193
- return { ok: true, key };
194
- }));
195
- // scroll [direction] — Scroll page
196
- operate
197
- .command("scroll [direction]")
198
- .description("Scroll page (down, up, bottom, top)")
199
- .option("--auto", "auto-scroll to bottom")
200
- .option("--max <n>", "max scroll iterations for auto", "10")
201
- .action((direction, opts) => operateAction(program, "scroll", async () => {
202
- const page = await getOperatePage();
203
- if (opts.auto) {
204
- await page.autoScroll({
205
- maxScrolls: parseInt(opts.max, 10),
206
- delay: 1000,
207
- });
208
- }
209
- else {
210
- await page.scroll((direction ?? "down"));
211
- }
212
- return { ok: true, direction: direction ?? "down" };
213
- }));
214
- // get <what> [ref] — Get page data
215
- const get = operate
216
- .command("get")
217
- .description("Get page data (title, url, text, value, html, attributes)");
218
- get
219
- .command("title")
220
- .description("Get page title")
221
- .action(() => operateAction(program, "get title", async () => {
222
- const page = await getOperatePage();
223
- return await page.title();
224
- }));
225
- get
226
- .command("url")
227
- .description("Get current URL")
228
- .action(() => operateAction(program, "get url", async () => {
229
- const page = await getOperatePage();
230
- return await page.url();
231
- }));
232
- get
233
- .command("text <ref>")
234
- .description("Get text content of element by ref")
235
- .action((ref) => operateAction(program, "get text", async () => {
236
- validateRef(ref);
237
- const page = await getOperatePage();
238
- return await page.evaluate(`document.querySelector('[data-unicli-ref="${ref}"]')?.textContent?.trim() ?? null`);
239
- }));
240
- get
241
- .command("value <ref>")
242
- .description("Get value of input element by ref")
243
- .action((ref) => operateAction(program, "get value", async () => {
244
- validateRef(ref);
245
- const page = await getOperatePage();
246
- return await page.evaluate(`document.querySelector('[data-unicli-ref="${ref}"]')?.value ?? null`);
247
- }));
248
- get
249
- .command("html [selector]")
250
- .description("Get outerHTML of element (or full page)")
251
- .action((selector) => operateAction(program, "get html", async () => {
252
- const page = await getOperatePage();
253
- if (selector) {
254
- const selectorStr = JSON.stringify(selector);
255
- return await page.evaluate(`document.querySelector(${selectorStr})?.outerHTML?.slice(0, 50000) ?? null`);
256
- }
257
- return await page.evaluate("document.documentElement.outerHTML.slice(0, 50000)");
258
- }));
259
- get
260
- .command("attributes <ref>")
261
- .description("Get all attributes of element by ref")
262
- .action((ref) => operateAction(program, "get attributes", async () => {
263
- validateRef(ref);
264
- const page = await getOperatePage();
265
- return await page.evaluate(`(() => { const el = document.querySelector('[data-unicli-ref="${ref}"]'); if (!el) return null; const attrs = {}; for (const a of el.attributes) attrs[a.name] = a.value; return JSON.stringify(attrs); })()`);
266
- }));
267
- // wait <type> [value] — Wait for condition
268
- operate
269
- .command("wait <type> [value]")
270
- .description("Wait for condition (time <ms>, selector <sel>, text <str>)")
271
- .option("--timeout <ms>", "timeout in ms", "10000")
272
- .action((type, value, opts) => operateAction(program, "wait", async () => {
273
- const page = await getOperatePage();
274
- const timeout = parseInt(opts.timeout, 10);
275
- switch (type) {
276
- case "time":
277
- await page.wait(parseInt(value ?? "1000", 10) / 1000);
278
- break;
279
- case "selector":
280
- if (!value)
281
- throw new Error("selector value required");
282
- await page.waitForSelector(value, timeout);
283
- break;
284
- case "text":
285
- if (!value)
286
- throw new Error("text value required");
287
- // Poll for text content
288
- {
289
- const deadline = Date.now() + timeout;
290
- const valueStr = JSON.stringify(value);
291
- while (Date.now() < deadline) {
292
- const found = await page.evaluate(`document.body.innerText.includes(${valueStr})`);
293
- if (found)
294
- return { ok: true, found: true };
295
- await new Promise((r) => setTimeout(r, 200));
296
- }
297
- throw new Error(`Text "${value}" not found within ${String(timeout)}ms`);
298
- }
299
- default:
300
- throw new Error(`Unknown wait type: ${type}. Use: time, selector, text`);
301
- }
302
- return { ok: true };
303
- }));
304
- // eval <js> — Execute JavaScript
305
- operate
306
- .command("eval <js>")
307
- .description("Execute JavaScript in page context")
308
- .action((js) => operateAction(program, "eval", async () => {
309
- const page = await getOperatePage();
310
- return await page.evaluate(js);
311
- }));
312
- // network [pattern] — Show network requests (CDP-first, JS-interceptor fallback)
313
- operate
314
- .command("network [pattern]")
315
- .description("Show captured network requests")
316
- .option("--all", "show all requests (no filter)")
317
- .action((pattern, opts) => operateAction(program, "network", async () => {
318
- const page = await getOperatePage();
319
- let entries = [];
320
- // Path 1: CDP-level capture via readNetworkCapture() (BrowserPage only)
321
- const pageAny = page;
322
- if (typeof pageAny.readNetworkCapture === "function") {
323
- const cdpEntries = (await pageAny.readNetworkCapture()) ?? [];
324
- entries = cdpEntries.map((e) => ({
325
- url: e.url,
326
- method: e.method,
327
- status: e.status,
328
- contentType: e.contentType,
329
- bodySize: e.size,
330
- }));
331
- }
332
- // Path 2: JS-interceptor fallback when CDP capture is empty
333
- if (entries.length === 0) {
334
- try {
335
- const raw = (await page.evaluate(generateReadInterceptedJs()));
336
- const jsEntries = JSON.parse(raw);
337
- entries = jsEntries.map((e) => ({
338
- url: e.url,
339
- method: "GET",
340
- status: 200,
341
- contentType: "application/json",
342
- bodySize: e.data != null ? JSON.stringify(e.data).length : 0,
343
- }));
344
- }
345
- catch {
346
- // JS interceptor not injected or page navigated — return empty
347
- }
348
- }
349
- // Path 3: networkRequests() metadata (always available as last resort)
350
- if (entries.length === 0) {
351
- const requests = await page.networkRequests();
352
- entries = requests.map((r) => ({
353
- url: r.url,
354
- method: r.method,
355
- status: r.status,
356
- contentType: r.type,
357
- bodySize: r.size,
358
- }));
359
- }
360
- if (pattern && !opts.all) {
361
- return entries.filter((r) => r.url.includes(pattern));
362
- }
363
- return entries;
364
- }));
365
- // select <ref> <option> — Select dropdown option
366
- operate
367
- .command("select <ref> <option>")
368
- .description("Select option in dropdown by ref")
369
- .action((ref, option) => operateAction(program, "select", async () => {
370
- validateRef(ref);
371
- const page = await getOperatePage();
372
- const optionStr = JSON.stringify(option);
373
- await page.evaluate(`(() => {
374
- const el = document.querySelector('[data-unicli-ref="${ref}"]');
375
- if (!el || el.tagName !== 'SELECT') throw new Error('Not a <select> element');
376
- el.value = ${optionStr};
377
- el.dispatchEvent(new Event('change', { bubbles: true }));
378
- })()`);
379
- return { ok: true, ref, option };
380
- }));
381
- // upload <ref> <path> — Upload file to file input
382
- operate
383
- .command("upload <ref> <path>")
384
- .description("Upload file to file input element by ref number")
385
- .action((ref, filePath) => operateAction(program, "upload", async () => {
386
- // Ref syntax validation runs first — flows through operateAction's
387
- // standard error envelope (exit 1 via mapErrorToExitCode).
388
- validateRef(ref);
389
- const selector = `[data-unicli-ref="${ref}"]`;
390
- const absolutePath = resolve(filePath);
391
- // Sensitive-path and workspace-boundary denials throw typed errors so
392
- // operateAction normalizes them to the v2 envelope contract alongside
393
- // every other failure mode (closes the last non-envelope bypass).
394
- if (isSensitivePathRealpath(absolutePath)) {
395
- const denial = buildSensitivePathDenial(absolutePath);
396
- const err = new Error("upload blocked by sensitive-path guard");
397
- err.code = "permission_denied";
398
- err.suggestion = denial.hint;
399
- throw err;
400
- }
401
- const cwd = process.cwd();
402
- const home = homedir();
403
- if (!absolutePath.startsWith(cwd) && !absolutePath.startsWith(home)) {
404
- const err = new Error(`upload blocked: path ${absolutePath} is outside workspace and home directory`);
405
- err.code = "permission_denied";
406
- err.suggestion =
407
- "Copy the file under the current working directory or $HOME before uploading.";
408
- throw err;
409
- }
410
- const page = await getOperatePage();
411
- await page.setFileInput(selector, [absolutePath]);
412
- return { ok: true, ref, path: absolutePath };
413
- }));
414
- // hover <ref> — Hover over element
415
- operate
416
- .command("hover <ref>")
417
- .description("Hover over element by ref number to trigger mouseover effects")
418
- .action((ref) => operateAction(program, "hover", async () => {
419
- validateRef(ref);
420
- const selector = `[data-unicli-ref="${ref}"]`;
421
- const selectorJson = JSON.stringify(selector);
422
- const page = await getOperatePage();
423
- await page.evaluate(`(() => {
424
- const el = document.querySelector(${selectorJson});
425
- if (!el) throw new Error('Element not found: ' + ${selectorJson});
426
- el.dispatchEvent(new MouseEvent('mouseenter', { bubbles: true }));
427
- el.dispatchEvent(new MouseEvent('mouseover', { bubbles: true }));
428
- })()`);
429
- return { ok: true, ref };
430
- }));
431
- // observe <query> — preview ranked candidate actions for a natural-language goal
432
- operate
433
- .command("observe <query>")
434
- .description("Preview ranked candidate actions for a natural-language goal (Stagehand-style)")
435
- .option("--top-k <n>", "Number of candidates to return", "5")
436
- .option("--cache <path>", "Cache file (default ~/.unicli/observe-cache.jsonl)")
437
- .action((query, opts) => operateAction(program, "observe", async () => {
438
- const page = await getOperatePage();
439
- // We need refs with tag + text + optional attrs. The existing
440
- // snapshot generator returns this when raw=true. The runtime
441
- // returns either an object or a JSON string depending on the page
442
- // implementation; normalize both.
443
- const rawSnapshotResult = await page.snapshot({
444
- interactive: true,
445
- raw: true,
446
- });
447
- let parsed;
448
- if (typeof rawSnapshotResult === "string") {
449
- try {
450
- parsed = JSON.parse(rawSnapshotResult);
451
- }
452
- catch {
453
- parsed = { refs: [] };
454
- }
455
- }
456
- else {
457
- parsed = rawSnapshotResult;
458
- }
459
- const refs = Array.isArray(parsed.refs)
460
- ? parsed.refs
461
- : [];
462
- const topK = parseInt(opts.topK ?? "5", 10) || 5;
463
- const candidates = rankCandidates(refs, query, topK);
464
- // Append to cache for self-healing audits
465
- const cachePath = opts.cache ?? join(homedir(), ".unicli", "observe-cache.jsonl");
466
- try {
467
- mkdirSync(pathDirname(cachePath), { recursive: true });
468
- const url = await page.url();
469
- appendFileSync(cachePath, JSON.stringify({
470
- ts: new Date().toISOString(),
471
- url,
472
- query,
473
- candidates,
474
- }) + "\n", "utf-8");
475
- }
476
- catch {
477
- // Cache write failure is non-fatal — observability infra.
478
- }
479
- return { query, candidates };
480
- }));
481
- // close — Close automation window
482
- operate
483
- .command("close")
484
- .description("Close the automation browser window")
485
- .action(() => operateAction(program, "close", async () => {
486
- const page = await getOperatePage();
487
- await page.closeWindow();
488
- return { ok: true };
489
- }));
12
+ .description("Interactive browser control for agents (compatibility alias; prefer `unicli browser`)");
13
+ applyBrowserOperatorRootOptions(operate);
14
+ registerBrowserOperatorSubcommands(operate, program, "operate");
490
15
  }
491
16
  //# sourceMappingURL=operate.js.map