@zenalexa/unicli 0.216.2 → 1.0.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 (124) hide show
  1. package/AGENTS.md +1 -1
  2. package/README.md +13 -5
  3. package/README.zh-CN.md +12 -5
  4. package/dist/adapters/_electron/desktop-shared.d.ts.map +1 -1
  5. package/dist/adapters/_electron/desktop-shared.js +13 -0
  6. package/dist/adapters/_electron/desktop-shared.js.map +1 -1
  7. package/dist/adapters/_electron/shared.d.ts +1 -0
  8. package/dist/adapters/_electron/shared.d.ts.map +1 -1
  9. package/dist/adapters/_electron/shared.js +49 -2
  10. package/dist/adapters/_electron/shared.js.map +1 -1
  11. package/dist/adapters/uiverse/components.js +2 -2
  12. package/dist/adapters/uiverse/components.js.map +1 -1
  13. package/dist/browser/bridge.d.ts +3 -1
  14. package/dist/browser/bridge.d.ts.map +1 -1
  15. package/dist/browser/bridge.js +47 -23
  16. package/dist/browser/bridge.js.map +1 -1
  17. package/dist/cli.d.ts.map +1 -1
  18. package/dist/cli.js +4 -1
  19. package/dist/cli.js.map +1 -1
  20. package/dist/commands/browser-operator-runtime.d.ts.map +1 -1
  21. package/dist/commands/browser-operator-runtime.js +4 -2
  22. package/dist/commands/browser-operator-runtime.js.map +1 -1
  23. package/dist/commands/browser-operator.d.ts.map +1 -1
  24. package/dist/commands/browser-operator.js +110 -38
  25. package/dist/commands/browser-operator.js.map +1 -1
  26. package/dist/commands/describe.d.ts.map +1 -1
  27. package/dist/commands/describe.js +20 -1
  28. package/dist/commands/describe.js.map +1 -1
  29. package/dist/commands/dispatch.d.ts +3 -0
  30. package/dist/commands/dispatch.d.ts.map +1 -1
  31. package/dist/commands/dispatch.js +70 -4
  32. package/dist/commands/dispatch.js.map +1 -1
  33. package/dist/core/schema-v2.d.ts +2 -2
  34. package/dist/discovery/loader.d.ts.map +1 -1
  35. package/dist/discovery/loader.js +2 -0
  36. package/dist/discovery/loader.js.map +1 -1
  37. package/dist/engine/browser/action-evidence.d.ts +28 -0
  38. package/dist/engine/browser/action-evidence.d.ts.map +1 -0
  39. package/dist/engine/browser/action-evidence.js +320 -0
  40. package/dist/engine/browser/action-evidence.js.map +1 -0
  41. package/dist/engine/browser/evidence.d.ts +63 -0
  42. package/dist/engine/browser/evidence.d.ts.map +1 -0
  43. package/dist/engine/browser/evidence.js +301 -0
  44. package/dist/engine/browser/evidence.js.map +1 -0
  45. package/dist/engine/capability-policy.d.ts +39 -0
  46. package/dist/engine/capability-policy.d.ts.map +1 -0
  47. package/dist/engine/capability-policy.js +195 -0
  48. package/dist/engine/capability-policy.js.map +1 -0
  49. package/dist/engine/executor.d.ts +3 -3
  50. package/dist/engine/executor.d.ts.map +1 -1
  51. package/dist/engine/executor.js.map +1 -1
  52. package/dist/engine/kernel/execute.d.ts +4 -1
  53. package/dist/engine/kernel/execute.d.ts.map +1 -1
  54. package/dist/engine/kernel/execute.js +92 -10
  55. package/dist/engine/kernel/execute.js.map +1 -1
  56. package/dist/engine/kernel/types.d.ts +2 -0
  57. package/dist/engine/kernel/types.d.ts.map +1 -1
  58. package/dist/engine/operation-policy.d.ts +52 -0
  59. package/dist/engine/operation-policy.d.ts.map +1 -0
  60. package/dist/engine/operation-policy.js +360 -0
  61. package/dist/engine/operation-policy.js.map +1 -0
  62. package/dist/engine/session/events.d.ts +22 -0
  63. package/dist/engine/session/events.d.ts.map +1 -0
  64. package/dist/engine/session/events.js +66 -0
  65. package/dist/engine/session/events.js.map +1 -0
  66. package/dist/engine/session/run-loop.d.ts +11 -0
  67. package/dist/engine/session/run-loop.d.ts.map +1 -0
  68. package/dist/engine/session/run-loop.js +173 -0
  69. package/dist/engine/session/run-loop.js.map +1 -0
  70. package/dist/engine/session/store.d.ts +19 -0
  71. package/dist/engine/session/store.d.ts.map +1 -0
  72. package/dist/engine/session/store.js +84 -0
  73. package/dist/engine/session/store.js.map +1 -0
  74. package/dist/engine/session/types.d.ts +37 -0
  75. package/dist/engine/session/types.d.ts.map +1 -0
  76. package/dist/engine/session/types.js +2 -0
  77. package/dist/engine/session/types.js.map +1 -0
  78. package/dist/engine/steps/fetch-text.d.ts +1 -1
  79. package/dist/engine/steps/fetch-text.d.ts.map +1 -1
  80. package/dist/engine/steps/fetch-text.js +52 -18
  81. package/dist/engine/steps/fetch-text.js.map +1 -1
  82. package/dist/engine/steps/fetch.d.ts +1 -0
  83. package/dist/engine/steps/fetch.d.ts.map +1 -1
  84. package/dist/engine/steps/fetch.js +7 -1
  85. package/dist/engine/steps/fetch.js.map +1 -1
  86. package/dist/engine/steps/parse-rss.d.ts.map +1 -1
  87. package/dist/engine/steps/parse-rss.js +9 -4
  88. package/dist/engine/steps/parse-rss.js.map +1 -1
  89. package/dist/engine/template.d.ts.map +1 -1
  90. package/dist/engine/template.js +2 -1
  91. package/dist/engine/template.js.map +1 -1
  92. package/dist/engine/text-normalize.d.ts +6 -0
  93. package/dist/engine/text-normalize.d.ts.map +1 -0
  94. package/dist/engine/text-normalize.js +63 -0
  95. package/dist/engine/text-normalize.js.map +1 -0
  96. package/dist/fast-path.d.ts.map +1 -1
  97. package/dist/fast-path.js +234 -19
  98. package/dist/fast-path.js.map +1 -1
  99. package/dist/main.d.ts +1 -1
  100. package/dist/main.js +1 -1
  101. package/dist/manifest.json +3357 -600
  102. package/dist/mcp/dispatch.d.ts +3 -3
  103. package/dist/mcp/dispatch.d.ts.map +1 -1
  104. package/dist/mcp/dispatch.js +6 -5
  105. package/dist/mcp/dispatch.js.map +1 -1
  106. package/dist/output/error-map.d.ts.map +1 -1
  107. package/dist/output/error-map.js +21 -0
  108. package/dist/output/error-map.js.map +1 -1
  109. package/dist/protocol/acp-helpers.d.ts +2 -2
  110. package/dist/protocol/acp-helpers.d.ts.map +1 -1
  111. package/dist/protocol/acp-helpers.js +5 -4
  112. package/dist/protocol/acp-helpers.js.map +1 -1
  113. package/dist/registry.d.ts +3 -1
  114. package/dist/registry.d.ts.map +1 -1
  115. package/dist/registry.js +2 -0
  116. package/dist/registry.js.map +1 -1
  117. package/dist/types.d.ts +9 -1
  118. package/dist/types.d.ts.map +1 -1
  119. package/dist/types.js.map +1 -1
  120. package/package.json +16 -16
  121. package/src/adapters/36kr/news.yaml +4 -1
  122. package/src/adapters/_electron/desktop-shared.ts +14 -0
  123. package/src/adapters/_electron/shared.ts +54 -2
  124. package/src/adapters/uiverse/components.ts +2 -2
package/AGENTS.md CHANGED
@@ -212,4 +212,4 @@ unicli lark-cli calendar +agenda # Direct passthrough
212
212
 
213
213
  ## Version
214
214
 
215
- 0.216.2 — Apollo · Aldrin
215
+ 1.0.0 — Apollo · Lovell
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  <h1 align="center">Uni-CLI</h1>
6
6
 
7
7
  <p align="center">
8
- <strong>One CLI surface for agents to operate websites, desktop apps, local tools, and other CLIs.</strong>
8
+ <strong>The agent execution substrate for the world's software.</strong>
9
9
  </p>
10
10
 
11
11
  <p align="center">
@@ -17,7 +17,7 @@
17
17
  </p>
18
18
 
19
19
  <p align="center">
20
- Search by intent, run a real command, get a structured envelope back. If a site changes, the error points to the adapter file and step to repair.
20
+ Search by intent, execute governed commands across web, apps, local tools, and system capabilities, then return evidence-rich AgentEnvelopes that agents can inspect and repair.
21
21
  </p>
22
22
 
23
23
  <p align="center">
@@ -28,7 +28,7 @@
28
28
  </p>
29
29
 
30
30
  <p align="center">
31
- <sub><!-- STATS:site_count -->235<!-- /STATS --> sites · <!-- STATS:command_count -->1448<!-- /STATS --> commands · <!-- STATS:pipeline_step_count -->59<!-- /STATS --> pipeline steps · <!-- STATS:test_count -->7391<!-- /STATS --> tests</sub>
31
+ <sub><!-- STATS:site_count -->235<!-- /STATS --> sites · <!-- STATS:command_count -->1448<!-- /STATS --> commands · <!-- STATS:pipeline_step_count -->59<!-- /STATS --> pipeline steps · <!-- STATS:test_count -->7471<!-- /STATS --> tests</sub>
32
32
  </p>
33
33
 
34
34
  <p align="center">
@@ -129,7 +129,7 @@ Prefer native CLI / JSON stream / MCP for agent runtimes. Use ACP as an editor c
129
129
 
130
130
  ## What It Does
131
131
 
132
- Uni-CLI turns software surfaces into commands that agents can discover, run, and fix.
132
+ Uni-CLI sits under agent applications and turns software surfaces into commands that agents can discover, execute, record, and repair.
133
133
 
134
134
  | Surface | What you get |
135
135
  | ------------------ | -------------------------------------------------------------------------------------------------- |
@@ -138,6 +138,8 @@ Uni-CLI turns software surfaces into commands that agents can discover, run, and
138
138
  | Desktop and macOS | System commands, app adapters, screenshots, clipboard, calendar, brightness, and local tools |
139
139
  | External CLIs | 58 registered pass-through bridges with install/status discovery |
140
140
  | Agent backends | Route matrix for native CLI, JSON stream, MCP, ACP, HTTP API, OpenAI-compatible, and bridge routes |
141
+ | Operation policy | `open`, `confirm`, and `locked` profiles with effect, risk, approval, and capability scope |
142
+ | Evidence | Optional run traces plus browser pre/post evidence, movement detection, stale-ref details |
141
143
  | Output | v2 `AgentEnvelope` in Markdown, JSON, YAML, CSV, or compact format |
142
144
  | Repair | Structured errors with `adapter_path`, failing `step`, retryability, suggestions, and alternatives |
143
145
 
@@ -156,6 +158,7 @@ Output defaults to structured Markdown for non-TTY and agent-user-agent runs. Fo
156
158
  ```bash
157
159
  UNICLI_OUTPUT=json unicli reddit hot --limit 10
158
160
  unicli hackernews top --limit 5 -f yaml
161
+ unicli --record --permission-profile confirm twitter search "coding agents" -f json
159
162
  ```
160
163
 
161
164
  Protocol entry points:
@@ -288,6 +291,11 @@ Docs:
288
291
 
289
292
  - Auth-required sites use local cookie files under `~/.unicli/cookies/<site>.json`.
290
293
  - Browser adapters require a reachable Chrome/CDP session.
294
+ - Permission profiles are user-selected runtime policy. The default is `open`;
295
+ stricter `confirm` and `locked` profiles require `--yes` or `UNICLI_APPROVE=1`
296
+ for blocked operations.
297
+ - Run recording is opt-in. Use `--record` or `UNICLI_RECORD_RUN=1` when you need
298
+ append-only evidence under `~/.unicli/runs`.
291
299
  - CUA routes require a configured real backend. Declared-but-unavailable providers fail closed with structured errors.
292
300
  - User adapters and repairs live in `~/.unicli/adapters/`; committed adapters remain the package baseline.
293
301
  - If a site blocks automation or changes a private API, the correct behavior is a clear failure envelope, not a fabricated success.
@@ -306,5 +314,5 @@ npm run verify
306
314
  [Apache-2.0](./LICENSE)
307
315
 
308
316
  <p align="center">
309
- <sub>v0.216.2 — Apollo · Aldrin</sub>
317
+ <sub>v1.0.0 — Apollo · Lovell</sub>
310
318
  </p>
package/README.zh-CN.md CHANGED
@@ -5,7 +5,7 @@
5
5
  <h1 align="center">Uni-CLI</h1>
6
6
 
7
7
  <p align="center">
8
- <strong>给 Agent 用的一层统一 CLI:网站、桌面 App、本地工具、外部 CLI,都变成可搜索、可执行、可修复的命令。</strong>
8
+ <strong>面向真实软件的 Agent 执行底座。</strong>
9
9
  </p>
10
10
 
11
11
  <p align="center">
@@ -17,7 +17,7 @@
17
17
  </p>
18
18
 
19
19
  <p align="center">
20
- 先按意图搜索,再执行真实命令,最后拿结构化结果。网站变了也不会假装成功,错误会告诉你哪个 adapter、哪一步、怎么修。
20
+ 按意图发现命令,跨 Web、应用、本地工具和系统能力执行可治理操作,再返回带证据的 AgentEnvelope,方便智能体检查和修复。
21
21
  </p>
22
22
 
23
23
  <p align="center">
@@ -28,7 +28,7 @@
28
28
  </p>
29
29
 
30
30
  <p align="center">
31
- <sub><!-- STATS:site_count -->235<!-- /STATS --> 个站点 · <!-- STATS:command_count -->1448<!-- /STATS --> 条命令 · <!-- STATS:pipeline_step_count -->59<!-- /STATS --> 个 pipeline step · <!-- STATS:test_count -->7391<!-- /STATS --> 个测试</sub>
31
+ <sub><!-- STATS:site_count -->235<!-- /STATS --> 个站点 · <!-- STATS:command_count -->1448<!-- /STATS --> 条命令 · <!-- STATS:pipeline_step_count -->59<!-- /STATS --> 个 pipeline step · <!-- STATS:test_count -->7471<!-- /STATS --> 个测试</sub>
32
32
  </p>
33
33
 
34
34
  <p align="center">
@@ -129,7 +129,7 @@ Prefer native CLI / JSON stream / MCP for agent runtimes. Use ACP as an editor c
129
129
 
130
130
  ## 它解决什么
131
131
 
132
- Uni-CLI 把软件表面封装成 Agent 能发现、能执行、能修的命令。
132
+ Uni-CLI 位于 Agent 应用之下,把软件表面收敛成 Agent 能发现、能执行、能记录、能修的命令。
133
133
 
134
134
  | 表面 | 能力 |
135
135
  | ------------ | ------------------------------------------------------------------------------- |
@@ -138,6 +138,8 @@ Uni-CLI 把软件表面封装成 Agent 能发现、能执行、能修的命令
138
138
  | 桌面和 macOS | 系统命令、App adapter、截图、剪贴板、日历、亮度、本地工具 |
139
139
  | 外部 CLI | 58 个已登记的 passthrough bridge,支持安装和状态发现 |
140
140
  | Agent 后端 | native CLI、JSON stream、MCP、ACP、HTTP API、OpenAI-compatible、bridge 路由矩阵 |
141
+ | 操作策略 | `open`、`confirm`、`locked` profile,暴露 effect、risk、approval、capability |
142
+ | 执行证据 | 可选 run trace,浏览器动作的前后证据、移动检测、stale-ref 细节 |
141
143
  | 输出 | v2 `AgentEnvelope`,支持 Markdown、JSON、YAML、CSV、compact |
142
144
  | 修复 | 错误里带 `adapter_path`、失败 `step`、是否可重试、修复建议和替代命令 |
143
145
 
@@ -156,6 +158,7 @@ unicli repair twitter search
156
158
  ```bash
157
159
  UNICLI_OUTPUT=json unicli reddit hot --limit 10
158
160
  unicli hackernews top --limit 5 -f yaml
161
+ unicli --record --permission-profile confirm twitter search "coding agents" -f json
159
162
  ```
160
163
 
161
164
  协议入口:
@@ -288,6 +291,10 @@ columns: [title, url]
288
291
 
289
292
  - 需要登录的网站使用本地 cookie 文件:`~/.unicli/cookies/<site>.json`。
290
293
  - Browser adapter 需要可连接的 Chrome/CDP。
294
+ - Permission profile 是用户选择的运行时策略。默认是 `open`;更严格的
295
+ `confirm` 和 `locked` profile 会要求 `--yes` 或 `UNICLI_APPROVE=1`。
296
+ - Run recording 是显式启用能力。需要可审查证据时使用 `--record` 或
297
+ `UNICLI_RECORD_RUN=1`,追加写入 `~/.unicli/runs`。
291
298
  - CUA 路由必须配置真实 backend。声明了但不可用的 provider 会失败关闭,并返回结构化错误。
292
299
  - 用户 adapter 和修复放在 `~/.unicli/adapters/`;包内 adapter 是基线。
293
300
  - 如果网站阻止自动化或私有 API 变了,正确行为是清楚失败,不是伪装成功。
@@ -306,5 +313,5 @@ npm run verify
306
313
  [Apache-2.0](./LICENSE)
307
314
 
308
315
  <p align="center">
309
- <sub>v0.216.2 — Apollo · Aldrin</sub>
316
+ <sub>v1.0.0 — Apollo · Lovell</sub>
310
317
  </p>
@@ -1 +1 @@
1
- {"version":3,"file":"desktop-shared.d.ts","sourceRoot":"","sources":["../../../src/adapters/_electron/desktop-shared.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,6BAA6B;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,oBAAoB,CAAC;CAC9B;AAED,eAAO,MAAM,8BAA8B,iGAQjC,CAAC;AAEX,eAAO,MAAM,+BAA+B,oEAOlC,CAAC;AAEX,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,6BAAkC,GAC1C,IAAI,CAkJN"}
1
+ {"version":3,"file":"desktop-shared.d.ts","sourceRoot":"","sources":["../../../src/adapters/_electron/desktop-shared.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,6BAA6B;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,oBAAoB,CAAC;CAC9B;AAED,eAAO,MAAM,8BAA8B,iGAQjC,CAAC;AAEX,eAAO,MAAM,+BAA+B,oEAOlC,CAAC;AAOX,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,6BAAkC,GAC1C,IAAI,CAyJN"}
@@ -19,6 +19,10 @@ export const ELECTRON_DESKTOP_MEDIA_COMMANDS = [
19
19
  "next",
20
20
  "prev",
21
21
  ];
22
+ const ELECTRON_DESKTOP_COMMAND_META = {
23
+ adapter_path: "src/adapters/electron-desktop/electron-desktop.ts",
24
+ target_surface: "desktop",
25
+ };
22
26
  export function registerElectronDesktopCommands(site, profile = {}) {
23
27
  const app = getElectronApp(site);
24
28
  const displayName = profile.displayName ?? app?.displayName ?? site;
@@ -27,6 +31,7 @@ export function registerElectronDesktopCommands(site, profile = {}) {
27
31
  name: "open-app",
28
32
  description: `Open ${displayName} desktop Electron app with CDP enabled for AI control. 打开${displayName}桌面版并启用 CDP 控制。`,
29
33
  strategy: Strategy.PUBLIC,
34
+ ...ELECTRON_DESKTOP_COMMAND_META,
30
35
  func: async () => {
31
36
  const endpoint = await launchElectronApp(site);
32
37
  return [
@@ -45,6 +50,7 @@ export function registerElectronDesktopCommands(site, profile = {}) {
45
50
  name: "status-app",
46
51
  description: `Inspect current ${displayName} desktop app page, title, URL, visible controls, and text summary. 查看${displayName}桌面版当前状态和可见内容。`,
47
52
  strategy: Strategy.PUBLIC,
53
+ ...ELECTRON_DESKTOP_COMMAND_META,
48
54
  func: async () => [await readDesktopStatus(site, displayName)],
49
55
  });
50
56
  cli({
@@ -52,6 +58,7 @@ export function registerElectronDesktopCommands(site, profile = {}) {
52
58
  name: "dump",
53
59
  description: `Dump visible text from the ${displayName} desktop Electron app via CDP DOM. 读取${displayName}桌面版可见文本。`,
54
60
  strategy: Strategy.PUBLIC,
61
+ ...ELECTRON_DESKTOP_COMMAND_META,
55
62
  args: [
56
63
  {
57
64
  name: "limit",
@@ -71,6 +78,7 @@ export function registerElectronDesktopCommands(site, profile = {}) {
71
78
  name: "snapshot-app",
72
79
  description: `List visible clickable text, buttons, inputs, and regions in ${displayName}. 枚举${displayName}桌面版可交互内容。`,
73
80
  strategy: Strategy.PUBLIC,
81
+ ...ELECTRON_DESKTOP_COMMAND_META,
74
82
  func: async () => {
75
83
  const p = await connectElectronApp(site);
76
84
  return (await p.evaluate(visibleInteractivesJs()));
@@ -81,6 +89,7 @@ export function registerElectronDesktopCommands(site, profile = {}) {
81
89
  name: "click-text",
82
90
  description: `Click visible text, aria-label, title, or button content in ${displayName}. 按文本点击${displayName}桌面版控件。`,
83
91
  strategy: Strategy.PUBLIC,
92
+ ...ELECTRON_DESKTOP_COMMAND_META,
84
93
  args: [
85
94
  {
86
95
  name: "text",
@@ -99,6 +108,7 @@ export function registerElectronDesktopCommands(site, profile = {}) {
99
108
  name: "type-text",
100
109
  description: `Type text into the focused field or a text-matched target in ${displayName}. 向${displayName}桌面版输入文本。`,
101
110
  strategy: Strategy.PUBLIC,
111
+ ...ELECTRON_DESKTOP_COMMAND_META,
102
112
  args: [
103
113
  {
104
114
  name: "text",
@@ -127,6 +137,7 @@ export function registerElectronDesktopCommands(site, profile = {}) {
127
137
  name: "press",
128
138
  description: `Press a key in ${displayName}, with optional comma-separated modifiers. 在${displayName}桌面版发送按键。`,
129
139
  strategy: Strategy.PUBLIC,
140
+ ...ELECTRON_DESKTOP_COMMAND_META,
130
141
  args: [
131
142
  {
132
143
  name: "key",
@@ -163,6 +174,7 @@ function registerMediaCommands(site, displayName, media) {
163
174
  name: "play-liked",
164
175
  description: `Open ${displayName} liked songs and play the liked playlist. 打开${displayName}我喜欢的音乐/喜欢的歌曲并播放。`,
165
176
  strategy: Strategy.PUBLIC,
177
+ ...ELECTRON_DESKTOP_COMMAND_META,
166
178
  func: async () => {
167
179
  const p = await connectElectronApp(site);
168
180
  const liked = await clickVisibleText(p, media.likedText, displayName);
@@ -178,6 +190,7 @@ function registerMediaCommands(site, displayName, media) {
178
190
  name: action,
179
191
  description: `${action} playback in the ${displayName} desktop app. 控制${displayName}桌面版播放:${action}。`,
180
192
  strategy: Strategy.PUBLIC,
193
+ ...ELECTRON_DESKTOP_COMMAND_META,
181
194
  func: async () => {
182
195
  const p = await connectElectronApp(site);
183
196
  const clicked = await clickMediaControl(p, action, displayName);
@@ -1 +1 @@
1
- {"version":3,"file":"desktop-shared.js","sourceRoot":"","sources":["../../../src/adapters/_electron/desktop-shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"desktop-shared.js","sourceRoot":"","sources":["../../../src/adapters/_electron/desktop-shared.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export interface AIChatConfig {
22
22
  sendButtonSelector?: string;
23
23
  displayName?: string;
24
24
  }
25
+ export declare function isRequestedModelActive(currentModelText: string, requestedModel: string): boolean;
25
26
  /**
26
27
  * Register standard AI chat commands for an Electron app.
27
28
  * Each app gets: ask, send, read, model, status, new, screenshot, dump
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/adapters/_electron/shared.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAU3E;AAED,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,GACnB,IAAI,CA+LN"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/adapters/_electron/shared.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAU3E;AAED,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,GACrB,OAAO,CAKT;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,GACnB,IAAI,CAqON"}
@@ -25,12 +25,26 @@ export async function connectElectronApp(site) {
25
25
  await injectStealth(page.sendCDP.bind(page));
26
26
  return page;
27
27
  }
28
+ function normalizeModelText(value) {
29
+ return value.trim().toLowerCase().replace(/\s+/g, " ");
30
+ }
31
+ export function isRequestedModelActive(currentModelText, requestedModel) {
32
+ const observed = normalizeModelText(currentModelText);
33
+ const requested = normalizeModelText(requestedModel);
34
+ if (!observed || !requested || observed === "unknown")
35
+ return false;
36
+ return observed === requested || observed.includes(requested);
37
+ }
28
38
  /**
29
39
  * Register standard AI chat commands for an Electron app.
30
40
  * Each app gets: ask, send, read, model, status, new, screenshot, dump
31
41
  */
32
42
  export function registerAIChatCommands(site, config) {
33
43
  const { inputSelector, responseSelector, modelSelector, newChatSelector, sendMethod = "enter", sendButtonSelector, displayName = site, } = config;
44
+ const desktopCommandMeta = {
45
+ adapter_path: `src/adapters/${site}/${site}.ts`,
46
+ target_surface: "desktop",
47
+ };
34
48
  /** Escape single quotes in selectors for use in evaluate strings */
35
49
  const esc = (s) => s.replace(/'/g, "\\'");
36
50
  // ask <prompt> -- Send and wait for response
@@ -39,6 +53,7 @@ export function registerAIChatCommands(site, config) {
39
53
  name: "ask",
40
54
  description: `Send a prompt to ${displayName} and wait for response`,
41
55
  strategy: Strategy.PUBLIC,
56
+ ...desktopCommandMeta,
42
57
  args: [
43
58
  {
44
59
  name: "prompt",
@@ -81,6 +96,7 @@ export function registerAIChatCommands(site, config) {
81
96
  name: "send",
82
97
  description: `Send text to ${displayName} without waiting`,
83
98
  strategy: Strategy.PUBLIC,
99
+ ...desktopCommandMeta,
84
100
  args: [{ name: "text", required: true, positional: true }],
85
101
  func: async (_page, kwargs) => {
86
102
  const p = await connectElectronApp(site);
@@ -102,6 +118,7 @@ export function registerAIChatCommands(site, config) {
102
118
  name: "read",
103
119
  description: `Read the last response from ${displayName}`,
104
120
  strategy: Strategy.PUBLIC,
121
+ ...desktopCommandMeta,
105
122
  func: async () => {
106
123
  const p = await connectElectronApp(site);
107
124
  const text = (await p.evaluate(`document.querySelector('${esc(responseSelector)}')?.innerText ?? ''`));
@@ -115,11 +132,37 @@ export function registerAIChatCommands(site, config) {
115
132
  name: "model",
116
133
  description: `Read or switch the current model in ${displayName}`,
117
134
  strategy: Strategy.PUBLIC,
135
+ ...desktopCommandMeta,
118
136
  args: [{ name: "name", required: false, positional: true }],
119
- func: async (_page, _kwargs) => {
137
+ func: async (_page, kwargs) => {
120
138
  const p = await connectElectronApp(site);
139
+ const requested = typeof kwargs.name === "string" ? kwargs.name.trim() : "";
140
+ if (requested) {
141
+ await p.click(modelSelector);
142
+ await p.wait(0.5);
143
+ await p.evaluate(`(() => {
144
+ const wanted = ${JSON.stringify(requested.toLowerCase())};
145
+ const nodes = Array.from(document.querySelectorAll('button,[role="button"],[role="menuitem"],[role="option"],li,div,span'));
146
+ const candidate = nodes.find((node) => {
147
+ const text = (node.textContent || '').trim().toLowerCase();
148
+ return text === wanted || text.includes(wanted);
149
+ });
150
+ if (!candidate) return false;
151
+ candidate.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window }));
152
+ return true;
153
+ })()`);
154
+ await p.wait(0.8);
155
+ }
121
156
  const current = (await p.evaluate(`document.querySelector('${esc(modelSelector)}')?.innerText ?? 'unknown'`));
122
- return [{ model: current }];
157
+ return requested
158
+ ? [
159
+ {
160
+ model: current,
161
+ requested,
162
+ switched: isRequestedModelActive(current, requested),
163
+ },
164
+ ]
165
+ : [{ model: current }];
123
166
  },
124
167
  });
125
168
  }
@@ -129,6 +172,7 @@ export function registerAIChatCommands(site, config) {
129
172
  name: "status",
130
173
  description: `Check ${displayName} app status`,
131
174
  strategy: Strategy.PUBLIC,
175
+ ...desktopCommandMeta,
132
176
  func: async () => {
133
177
  const p = await connectElectronApp(site);
134
178
  const title = await p.title();
@@ -146,6 +190,7 @@ export function registerAIChatCommands(site, config) {
146
190
  name: "new",
147
191
  description: `Start a new conversation in ${displayName}`,
148
192
  strategy: Strategy.PUBLIC,
193
+ ...desktopCommandMeta,
149
194
  func: async () => {
150
195
  const p = await connectElectronApp(site);
151
196
  if (newChatSelector.startsWith("key:")) {
@@ -168,6 +213,7 @@ export function registerAIChatCommands(site, config) {
168
213
  name: "screenshot",
169
214
  description: `Capture screenshot of ${displayName}`,
170
215
  strategy: Strategy.PUBLIC,
216
+ ...desktopCommandMeta,
171
217
  args: [
172
218
  {
173
219
  name: "path",
@@ -189,6 +235,7 @@ export function registerAIChatCommands(site, config) {
189
235
  name: "dump",
190
236
  description: `Dump full page content from ${displayName}`,
191
237
  strategy: Strategy.PUBLIC,
238
+ ...desktopCommandMeta,
192
239
  func: async () => {
193
240
  const p = await connectElectronApp(site);
194
241
  const snapshot = await p.snapshot({ compact: true });
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/adapters/_electron/shared.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAY;IACnD,IAAI,QAAQ,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;IAC/B,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC;AAcD;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,MAAoB;IAEpB,MAAM,EACJ,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,UAAU,GAAG,OAAO,EACpB,kBAAkB,EAClB,WAAW,GAAG,IAAI,GACnB,GAAG,MAAM,CAAC;IAEX,oEAAoE;IACpE,MAAM,GAAG,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE1D,6CAA6C;IAC7C,GAAG,CAAC;QACF,IAAI;QACJ,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,oBAAoB,WAAW,wBAAwB;QACpE,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,IAAI,EAAE;YACJ;gBACE,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,IAAI;gBAChB,WAAW,EAAE,oBAAoB;aAClC;SACF;QACD,IAAI,EAAE,KAAK,EAAE,KAAc,EAAE,MAA+B,EAAE,EAAE;YAC9D,MAAM,CAAC,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC7B,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,UAAU,KAAK,QAAQ,IAAI,kBAAkB,EAAE,CAAC;gBAClD,MAAM,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;YACD,2DAA2D;YAC3D,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,OAAO,EAAE,CAAC;gBAC7C,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAC5B,2BAA2B,GAAG,CAAC,gBAAgB,CAAC,qBAAqB,CACtE,CAAW,CAAC;gBACb,IAAI,IAAI,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjD,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9B,CAAC;gBACD,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,IAAI,eAAe,EAAE,CAAC,CAAC;QACrD,CAAC;KACF,CAAC,CAAC;IAEH,sCAAsC;IACtC,GAAG,CAAC;QACF,IAAI;QACJ,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,gBAAgB,WAAW,kBAAkB;QAC1D,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAC1D,IAAI,EAAE,KAAK,EAAE,KAAc,EAAE,MAA+B,EAAE,EAAE;YAC9D,MAAM,CAAC,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC7B,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACxC,IAAI,UAAU,KAAK,QAAQ,IAAI,kBAAkB,EAAE,CAAC;gBAClD,MAAM,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;YACD,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACxB,CAAC;KACF,CAAC,CAAC;IAEH,6BAA6B;IAC7B,GAAG,CAAC;QACF,IAAI;QACJ,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,+BAA+B,WAAW,EAAE;QACzD,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,MAAM,CAAC,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAC5B,2BAA2B,GAAG,CAAC,gBAAgB,CAAC,qBAAqB,CACtE,CAAW,CAAC;YACb,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9B,CAAC;KACF,CAAC,CAAC;IAEH,uCAAuC;IACvC,IAAI,aAAa,EAAE,CAAC;QAClB,GAAG,CAAC;YACF,IAAI;YACJ,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,uCAAuC,WAAW,EAAE;YACjE,QAAQ,EAAE,QAAQ,CAAC,MAAM;YACzB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YAC3D,IAAI,EAAE,KAAK,EAAE,KAAc,EAAE,OAAgC,EAAE,EAAE;gBAC/D,MAAM,CAAC,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAC/B,2BAA2B,GAAG,CAAC,aAAa,CAAC,4BAA4B,CAC1E,CAAW,CAAC;gBACb,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9B,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;IACvB,GAAG,CAAC;QACF,IAAI;QACJ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,SAAS,WAAW,aAAa;QAC9C,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,MAAM,CAAC,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,aAAa;gBACzB,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,CAChB,2BAA2B,GAAG,CAAC,aAAa,CAAC,4BAA4B,CAC1E,CAAY;gBACf,CAAC,CAAC,KAAK,CAAC;YACV,OAAO,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;KACF,CAAC,CAAC;IAEH,0BAA0B;IAC1B,IAAI,eAAe,EAAE,CAAC;QACpB,GAAG,CAAC;YACF,IAAI;YACJ,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,+BAA+B,WAAW,EAAE;YACzD,QAAQ,EAAE,QAAQ,CAAC,MAAM;YACzB,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,MAAM,CAAC,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzC,IAAI,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBACvC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACvC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;oBACzB,MAAM,CAAC,CAAC,KAAK,CACX,GAAG,EACH,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAClC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBACjC,CAAC;gBACD,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACxB,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,qCAAqC;IACrC,GAAG,CAAC;QACF,IAAI;QACJ,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,yBAAyB,WAAW,EAAE;QACnD,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,IAAI,EAAE;YACJ;gBACE,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,KAAK,IAAI,iBAAiB;aACpC;SACF;QACD,IAAI,EAAE,KAAK,EAAE,KAAc,EAAE,MAA+B,EAAE,EAAE;YAC9D,MAAM,CAAC,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,IAAI,iBAAiB,CAAC,CAAC;YACnE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAClE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;KACF,CAAC,CAAC;IAEH,oCAAoC;IACpC,GAAG,CAAC;QACF,IAAI;QACJ,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,+BAA+B,WAAW,EAAE;QACzD,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,MAAM,CAAC,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxB,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/adapters/_electron/shared.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { mkdir, writeFile } from "node:fs/promises";
2
- import { join } from "node:path";
2
+ import { dirname, join } from "node:path";
3
3
  import { tmpdir } from "node:os";
4
4
  import { cli, Strategy } from "../../registry.js";
5
5
  function str(value) {
@@ -124,7 +124,7 @@ cli({
124
124
  const buffer = await browser.screenshot({ format: "png", fullPage: false });
125
125
  const output = str(kwargs.output) ||
126
126
  join(tmpdir(), "unicli-uiverse", `${str(detail.username)}-${str(detail.slug)}.png`);
127
- await mkdir(output.split("/").slice(0, -1).join("/"), { recursive: true });
127
+ await mkdir(dirname(output), { recursive: true });
128
128
  await writeFile(output, buffer);
129
129
  return {
130
130
  username: detail.username,
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/adapters/uiverse/components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/adapters/uiverse/components.ts"],"names":[],"mappings":"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"}
@@ -59,7 +59,9 @@ export declare class BrowserBridge {
59
59
  * Handles Cloudflare Browser Rendering and any standard CDP WebSocket.
60
60
  */
61
61
  private connectRemote;
62
- private ensureDaemon;
62
+ private connectLocalCdp;
63
+ private waitForExtension;
64
+ private ensureDaemonBestEffort;
63
65
  }
64
66
  export declare class DaemonPage implements IPage {
65
67
  private readonly workspace;
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/browser/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/browser/bridge.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import { dirname, join } from "node:path";
11
11
  import { fetchDaemonStatus, sendCommand } from "./daemon-client.js";
12
12
  import { getRemoteEndpoint, CDPClient } from "./cdp-client.js";
13
13
  import { BrowserPage } from "./page.js";
14
- import { isRemoteBrowser } from "./launcher.js";
14
+ import { getCDPPort, isCDPAvailable, isRemoteBrowser, launchChrome, } from "./launcher.js";
15
15
  // ── Errors ────────────────────────────────────────────────────────
16
16
  /**
17
17
  * Structured connection error for AI agent consumption.
@@ -66,6 +66,7 @@ export class RemoteConnectionError extends Error {
66
66
  // ── Constants ──────────────────────────────────────────────────────
67
67
  const DAEMON_SPAWN_TIMEOUT = 10_000; // 10s to start daemon
68
68
  const DAEMON_POLL_INTERVAL = 200;
69
+ const EXTENSION_FAST_WAIT_MS = 2_000;
69
70
  const REMOTE_CONNECT_RETRIES = 2;
70
71
  const REMOTE_RETRY_DELAY = 1000;
71
72
  // ── BrowserBridge ──────────────────────────────────────────────────
@@ -87,8 +88,27 @@ export class BrowserBridge {
87
88
  }
88
89
  const timeout = opts?.timeout ?? DAEMON_SPAWN_TIMEOUT;
89
90
  const workspace = opts?.workspace ?? "default";
90
- await this.ensureDaemon(timeout);
91
- this._page = new DaemonPage(workspace);
91
+ const daemonStatus = await this.ensureDaemonBestEffort(timeout);
92
+ if (daemonStatus?.extensionConnected) {
93
+ this._page = new DaemonPage(workspace);
94
+ this._state = "connected";
95
+ return this._page;
96
+ }
97
+ const extensionStatus = await this.waitForExtension(Math.min(timeout, EXTENSION_FAST_WAIT_MS));
98
+ if (extensionStatus?.extensionConnected) {
99
+ this._page = new DaemonPage(workspace);
100
+ this._state = "connected";
101
+ return this._page;
102
+ }
103
+ try {
104
+ const page = await this.connectLocalCdp();
105
+ this._page = page;
106
+ this._remotePage = page;
107
+ }
108
+ catch (err) {
109
+ const message = err instanceof Error ? err.message : String(err);
110
+ throw new BridgeConnectionError(`Browser automation unavailable: daemon is ${daemonStatus ? "running" : "not reachable"}, extension is not connected, and CDP auto-start failed: ${message}`);
111
+ }
92
112
  this._state = "connected";
93
113
  return this._page;
94
114
  }
@@ -125,23 +145,27 @@ export class BrowserBridge {
125
145
  }
126
146
  throw new RemoteConnectionError(`Failed to connect to remote CDP endpoint after ${String(REMOTE_CONNECT_RETRIES + 1)} attempts: ${lastError?.message ?? "unknown error"}`, remote.endpoint);
127
147
  }
128
- async ensureDaemon(timeout) {
129
- // Check if already running
130
- let status = await fetchDaemonStatus({ timeout: 1000 });
131
- if (status) {
132
- // Running but extension not connected — wait for it
133
- if (!status.extensionConnected) {
134
- const deadline = Date.now() + timeout;
135
- while (Date.now() < deadline) {
136
- await new Promise((r) => setTimeout(r, DAEMON_POLL_INTERVAL));
137
- status = await fetchDaemonStatus({ timeout: 500 });
138
- if (status?.extensionConnected)
139
- return;
140
- }
141
- // Extension never connected — continue anyway (some commands work without extension)
142
- }
143
- return;
148
+ async connectLocalCdp() {
149
+ const port = getCDPPort();
150
+ if (!(await isCDPAvailable(port))) {
151
+ await launchChrome(port);
152
+ }
153
+ return BrowserPage.connect(port);
154
+ }
155
+ async waitForExtension(timeout) {
156
+ const deadline = Date.now() + timeout;
157
+ while (Date.now() < deadline) {
158
+ const status = await fetchDaemonStatus({ timeout: 300 });
159
+ if (status?.extensionConnected)
160
+ return status;
161
+ await new Promise((r) => setTimeout(r, DAEMON_POLL_INTERVAL));
144
162
  }
163
+ return null;
164
+ }
165
+ async ensureDaemonBestEffort(timeout) {
166
+ const existing = await fetchDaemonStatus({ timeout: 500 });
167
+ if (existing)
168
+ return existing;
145
169
  // Not running — spawn daemon
146
170
  const daemonPath = join(dirname(fileURLToPath(import.meta.url)), "daemon.js");
147
171
  const proc = spawn(process.execPath, [daemonPath], {
@@ -149,15 +173,15 @@ export class BrowserBridge {
149
173
  stdio: "ignore",
150
174
  });
151
175
  proc.unref();
152
- // Poll until daemon is reachable
176
+ // Poll until daemon is reachable within the caller's connection budget.
153
177
  const deadline = Date.now() + timeout;
154
178
  while (Date.now() < deadline) {
155
179
  await new Promise((r) => setTimeout(r, DAEMON_POLL_INTERVAL));
156
- status = await fetchDaemonStatus({ timeout: 500 });
180
+ const status = await fetchDaemonStatus({ timeout: 300 });
157
181
  if (status)
158
- return;
182
+ return status;
159
183
  }
160
- throw new BridgeConnectionError(`Daemon failed to start within ${timeout / 1000}s. Check if port ${process.env.UNICLI_DAEMON_PORT ?? "19825"} is available.`);
184
+ return null;
161
185
  }
162
186
  }
163
187
  export class DaemonPage {