@anionex/dsh-computer-use 0.2.1 → 0.3.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 (53) hide show
  1. package/README.md +13 -7
  2. package/README.zh.md +13 -7
  3. package/cordis.patch.yml +3 -0
  4. package/docs/interaction-policy.md +6 -4
  5. package/docs/interaction-policy.zh.md +7 -5
  6. package/lib/client.js +23 -11
  7. package/lib/client.js.map +1 -1
  8. package/lib/config.js +13 -3
  9. package/lib/config.js.map +1 -1
  10. package/lib/providers/macos.js +79 -14
  11. package/lib/providers/macos.js.map +1 -1
  12. package/lib/providers/native-helper.js +240 -17
  13. package/lib/providers/native-helper.js.map +1 -1
  14. package/lib/providers/unsupported.js +6 -0
  15. package/lib/providers/unsupported.js.map +1 -1
  16. package/lib/service.js +74 -32
  17. package/lib/service.js.map +1 -1
  18. package/lib/types/backend.d.ts +18 -3
  19. package/lib/types/backend.d.ts.map +1 -1
  20. package/lib/types/client/index.d.ts +5 -2
  21. package/lib/types/client/index.d.ts.map +1 -1
  22. package/lib/types/client/settings-validation.d.ts +3 -0
  23. package/lib/types/client/settings-validation.d.ts.map +1 -0
  24. package/lib/types/config.d.ts +7 -1
  25. package/lib/types/config.d.ts.map +1 -1
  26. package/lib/types/providers/macos.d.ts +8 -2
  27. package/lib/types/providers/macos.d.ts.map +1 -1
  28. package/lib/types/providers/native-helper.d.ts +9 -1
  29. package/lib/types/providers/native-helper.d.ts.map +1 -1
  30. package/lib/types/providers/unsupported.d.ts +6 -2
  31. package/lib/types/providers/unsupported.d.ts.map +1 -1
  32. package/lib/types/service.d.ts.map +1 -1
  33. package/native/macos/Sources/Fixture/main.swift +46 -0
  34. package/native/macos/Sources/Helper/CursorMotion.swift +67 -0
  35. package/native/macos/Sources/Helper/CursorOverlay.swift +334 -60
  36. package/native/macos/Sources/Helper/TargetedPointer.swift +23 -10
  37. package/native/macos/Sources/Helper/main.swift +80 -5
  38. package/native/macos/Sources/Monitor/main.swift +15 -1
  39. package/native/macos/bin/dsh-computer-use-helper +0 -0
  40. package/native/macos/manifest.json +3 -3
  41. package/package.json +16 -18
  42. package/scripts/build-client.mjs +0 -0
  43. package/scripts/build-native.mjs +0 -0
  44. package/scripts/model-e2e.mjs +0 -0
  45. package/scripts/validate.mjs +0 -0
  46. package/src/backend.ts +18 -3
  47. package/src/client/index.tsx +36 -13
  48. package/src/client/settings-validation.ts +14 -0
  49. package/src/config.ts +20 -4
  50. package/src/providers/macos.ts +102 -14
  51. package/src/providers/native-helper.ts +234 -17
  52. package/src/providers/unsupported.ts +11 -1
  53. package/src/service.ts +100 -37
package/README.md CHANGED
@@ -21,7 +21,7 @@ The default DSH Computer Use route is deliberately non-interfering:
21
21
  - **No system-cursor movement:** the helper contains no cursor-warp path.
22
22
  - **No global pointer injection:** click, scroll, and drag fallback use a pid/window-targeted SkyLight route, not the global HID event stream.
23
23
  - **No pointer-triggered activation:** semantic Accessibility, process-targeted pointer input, and `keyboardPolicy: preserve` run without activation; `keyboardPolicy: activate` (Bundle default) brings the target app forward before keyboard fallback, matching Codex Computer Use.
24
- - **A separate Agent cursor:** click, scroll, and drag actions animate a click-through, nonactivating software cursor while the macOS system cursor remains untouched. It is visible by default and stays at the action position until the bound window changes or a hide command; `cursorAutoHideMs` can opt into timed auto-hide.
24
+ - **A separate Agent cursor:** click, scroll, and drag actions animate a click-through, nonactivating software cursor while the macOS system cursor remains untouched. It appears only while the exact target application is frontmost and follows a speed/acceleration-shaped curved path. Click and scroll wait for arrival before input; drag reaches and presses at the start point, then tracks the destination while the native drag runs.
25
25
  - **No blind replay:** every action is tied to an exact, unexpired observation and returns fresh state.
26
26
 
27
27
  The result is a native action layer that can operate many background applications while the user continues working in the current foreground application.
@@ -136,13 +136,15 @@ interaction:
136
136
  keyboardPolicy: activate
137
137
  pointerInputPolicy: targeted
138
138
  cursorVisualization: visible
139
- cursorMotionMs: 180
139
+ cursorSpeedPxPerSecond: 1600
140
+ cursorAccelerationPxPerSecondSquared: 6000
141
+ cursorClickDelayMs: 90
140
142
  cursorAutoHideMs: 0
141
143
  ```
142
144
 
143
- `cursorVisualization: visible` displays the Agent's own non-interactive cursor for click, scroll, and drag. It never replaces or moves the macOS system cursor. Set it to `hidden` when visual feedback is unwanted. `pointerInputPolicy: deny` disables coordinate click/fallback, scroll, and drag. `keyboardPolicy: activate` (Bundle default) makes `type-text` keyboard fallback and `press-key` reliable by activating the target app first; `focusPolicy: activate` is the broader compatibility mode that also activates before pointer input. After activation, the helper re-observes and revalidates the exact target before input.
145
+ `cursorVisualization: visible` displays the Agent's own non-interactive cursor for click, scroll, and drag only while the selected application is frontmost. It never replaces or moves the macOS system cursor. Set it to `hidden` when visual feedback is unwanted. `pointerInputPolicy: deny` disables coordinate click/fallback, scroll, and drag. `keyboardPolicy: activate` (Bundle default) makes `type-text` keyboard fallback and `press-key` reliable by activating the target app first; `focusPolicy: activate` is the broader compatibility mode that also activates and freshly revalidates before pointer cursor movement and input.
144
146
 
145
- The cursor is a 28x28 transparent whole-image cursor (Cursor arrow plus DeepSeek whale, `assets/cursor.png`) with the hotspot at the image's top-left corner. It is a separate process, click-through, nonactivating, and bound to the exact observed pid, window, and frame so it disappears if the target window closes, moves, resizes, or is minimized.
147
+ The cursor is a 28x28 transparent whole-image cursor (Cursor arrow plus DeepSeek whale, `assets/cursor.png`) with the hotspot at the image's top-left corner. It is a separate process, click-through, nonactivating, and bound to the exact observed pid, window, frame, and current frontmost application. It disappears when that binding stops matching. Travel time is derived from distance, maximum speed, and acceleration; a short curved path plus symmetric acceleration/deceleration keeps the default motion legible, while high values reduce it to a few visible frames. Click input is sent only after native arrival and the configured dwell. For drag, that same sequence reaches the start point before the targeted native drag and endpoint cursor travel begin together.
146
148
 
147
149
  The helper executable is an internal DSH transport rather than a public authorization API. It requires an isolated process group plus parent-owned standard transports, so ordinary shell redirection fails closed before command parsing. This is defense in depth, not authentication against arbitrary code running as the same macOS user: a deliberately constructed detached parent can reproduce that transport topology. Use the registered Tools so application leases, sensitive-action confirmation, and host policy checks remain in force; `danger-full-access` must not be treated as protection against direct native invocation.
148
150
 
@@ -241,18 +243,22 @@ The committed helper is an ad-hoc-signed universal `arm64` + `x86_64` binary tar
241
243
  | `interaction.keyboardPolicy` | `preserve` keeps keyboard events routed without activation; `activate` (Bundle default) activates the target app before keyboard fallback |
242
244
  | `interaction.pointerInputPolicy` | `targeted` (default) permits pid/window-targeted pointer input; `deny` disables click fallback, scroll, and drag |
243
245
  | `interaction.cursorVisualization` | `visible` (default) shows the separate Agent cursor; `hidden` disables only the overlay |
244
- | `interaction.cursorMotionMs` | Animated Agent-cursor travel duration, default `180` ms |
245
- | `interaction.cursorAutoHideMs` | Idle time before the Agent cursor hides; default `0` keeps it visible until the bound window changes or a hide command, or set a finite value up to `30000` ms |
246
+ | `interaction.cursorSpeedPxPerSecond` | Requested maximum Agent-cursor speed; default `1600`, range `100` to `50000` pixels per second; the 48 to 2000 ms motion safety bound takes priority at extreme distance/value combinations |
247
+ | `interaction.cursorAccelerationPxPerSecondSquared` | Agent-cursor acceleration and deceleration; default `6000`, range `100` to `500000` pixels per second squared |
248
+ | `interaction.cursorClickDelayMs` | Dwell after arrival and before click/drag press feedback and native input; default `90`, range `0` to `1000` ms |
249
+ | `interaction.cursorAutoHideMs` | Idle time before the Agent cursor hides; default `0` keeps it visible while the target remains frontmost and bound, or set a finite value up to `30000` ms |
246
250
  | `allowAllApps` | Grant `read` and `control` to every running app; default `false`. When enabled, exact `grants` are ignored |
247
251
  | `grants` | Exact non-wildcard bundle-id read/control policy; `control: true` implies read |
248
252
 
249
253
  </details>
250
254
 
255
+ The deprecated 0.2.x `interaction.cursorMotionMs` field remains accepted so existing Settings documents load, but it is ignored at runtime and removed the next time Web Settings saves the configuration.
256
+
251
257
  Settings updates replace the active provider generation only after validation and health checks pass. Replacement invalidates existing observations and pending confirmations.
252
258
 
253
259
  ## Status and limitations
254
260
 
255
- - Status: early `0.2.1`; model-facing and provider behavior may change before a stable release.
261
+ - Status: early `0.3.0`; model-facing and provider behavior may change before a stable release.
256
262
  - The current provider is macOS-only. Windows UI Automation and Linux providers are not implemented.
257
263
  - On non-macOS hosts the plugin degrades gracefully: the DSH profile starts normally, Computer Use Tools and the Skill are not registered, and Web Settings reports `COMPUTER_UNSUPPORTED_PLATFORM` instead of failing startup.
258
264
  - Target-process pointer delivery uses dynamically resolved SkyLight SPI. If it is unavailable, pointer fallback fails closed rather than switching to global input.
package/README.zh.md CHANGED
@@ -21,7 +21,7 @@ DSH Computer Use 的默认路由有意避免干扰:
21
21
  - **不移动系统光标:** helper 中没有 cursor warp 路径。
22
22
  - **不做全局指针注入:** click、scroll 与 drag fallback 使用 pid/window 定向的 SkyLight 路由,不进入全局 HID 事件流。
23
23
  - **指针动作不激活应用:** 语义化 Accessibility、目标进程指针输入与 `keyboardPolicy: preserve` 都不激活;`keyboardPolicy: activate`(Bundle 默认)在键盘 fallback 前把目标应用带到前台,与 Codex Computer Use 对齐。
24
- - **独立 Agent 光标:** click、scroll 与 drag 动作会移动一个点击穿透、不会激活应用的软件光标,同时保持系统真实光标不变。默认显示,并停留在动作落点,直到绑定窗口变化或收到 hide 命令;`cursorAutoHideMs` 可开启定时自动隐藏。
24
+ - **独立 Agent 光标:** click、scroll 与 drag 动作会移动一个点击穿透、不会激活应用的软件光标,同时保持系统真实光标不变。它只在准确目标应用位于前台时显示,并沿速度/加速度塑造的轻微弧线移动。点击与滚动会等待到达后再输入;拖拽会先到达起点并显示按下,再让目标进程拖拽与光标向终点移动同步开始。
25
25
  - **不盲目重放:** 每个动作都绑定准确、未过期的 observation,并返回新鲜状态。
26
26
 
27
27
  因此,这个原生动作层可以在用户继续使用当前前台应用时,操作许多后台应用。
@@ -136,13 +136,15 @@ interaction:
136
136
  keyboardPolicy: activate
137
137
  pointerInputPolicy: targeted
138
138
  cursorVisualization: visible
139
- cursorMotionMs: 180
139
+ cursorSpeedPxPerSecond: 1600
140
+ cursorAccelerationPxPerSecondSquared: 6000
141
+ cursorClickDelayMs: 90
140
142
  cursorAutoHideMs: 0
141
143
  ```
142
144
 
143
- `cursorVisualization: visible` 会在 click、scroll 与 drag 时显示 Agent 自己的非交互光标;它不会替代或移动 macOS 系统光标。不需要视觉反馈时可设为 `hidden`。`pointerInputPolicy: deny` 会禁用坐标点击/fallback、滚动与拖拽。`keyboardPolicy: activate`(Bundle 默认)会先激活目标应用,让 `type-text` 键盘 fallback 与 `press-key` 可靠工作;`focusPolicy: activate` 是更宽的兼容模式,还会在指针输入前激活。激活后 helper 会重新观察并校验准确目标,之后才发出输入。
145
+ `cursorVisualization: visible` 会在选定应用位于前台时,为 click、scroll 与 drag 显示 Agent 自己的非交互光标;它不会替代或移动 macOS 系统光标。不需要视觉反馈时可设为 `hidden`。`pointerInputPolicy: deny` 会禁用坐标点击/fallback、滚动与拖拽。`keyboardPolicy: activate`(Bundle 默认)会先激活目标应用,让 `type-text` 键盘 fallback 与 `press-key` 可靠工作;`focusPolicy: activate` 是更宽的兼容模式,还会在指针光标移动和输入前激活目标应用,并重新观察、校验准确目标。
144
146
 
145
- Agent 光标是 28x28 的透明整图光标(Cursor 箭头加 DeepSeek 鲸鱼,`assets/cursor.png`),热点位于图片左上角。它由独立进程运行,点击穿透、不激活应用,并绑定准确已观察的 pid、窗口与 frame;目标窗口关闭、移动、缩放或最小化时会自动隐藏。
147
+ Agent 光标是 28x28 的透明整图光标(Cursor 箭头加 DeepSeek 鲸鱼,`assets/cursor.png`),热点位于图片左上角。它由独立进程运行,点击穿透、不激活应用,并绑定准确已观察的 pid、窗口、frame 与当前前台应用;任一条件不再匹配时就会隐藏。移动时间由距离、最大速度与加速度计算,默认采用带对称加减速的轻微弧线;把速度和加速度调高后仍保留少量可见动画帧。Native 到达目标并经过配置的停顿后,才会发出点击输入。拖拽则先按同一顺序到达起点,再让目标进程拖拽与 Agent 光标向终点移动同时开始。
146
148
 
147
149
  Helper executable 是 DSH 内部传输实现,不是公共授权 API。它要求独立进程组和父进程持有的标准传输,因此普通 shell 重定向会在解析命令前 fail closed。这个检查只属于纵深防御,不会认证同一 macOS 用户下运行的任意代码:专门构造的 detached 父进程仍能复现这类传输拓扑。应通过已注册 Tool 使用该能力,以保留应用 lease、敏感动作 confirmation 与宿主策略检查;不能把 `danger-full-access` 当作阻止直接 native 调用的保护。
148
150
 
@@ -241,18 +243,22 @@ Accessibility 与 Screen Recording 是 UI 权限,不是文件系统权限。
241
243
  | `interaction.keyboardPolicy` | `preserve` 不激活地把键盘事件定向投递;`activate`(Bundle 默认)在键盘 fallback 前激活目标应用 |
242
244
  | `interaction.pointerInputPolicy` | `targeted`(默认)允许 pid/window 定向指针输入;`deny` 禁用 click fallback、scroll 和 drag |
243
245
  | `interaction.cursorVisualization` | `visible`(默认)显示独立 Agent 光标;`hidden` 只关闭 overlay,不影响输入 |
244
- | `interaction.cursorMotionMs` | Agent 光标移动动画时长,默认 `180` 毫秒 |
245
- | `interaction.cursorAutoHideMs` | Agent 光标空闲后隐藏时间;默认 `0` 表示保持显示,直到绑定窗口变化或收到 hide 命令,也可设为最大 `30000` ms 内的有限值 |
246
+ | `interaction.cursorSpeedPxPerSecond` | Agent 光标期望最大速度;默认 `1600`,范围为每秒 `100` 至 `50000` 像素;极端距离/参数组合下优先遵守 48 至 2000 毫秒的移动安全边界 |
247
+ | `interaction.cursorAccelerationPxPerSecondSquared` | Agent 光标加速度与减速度;默认 `6000`,范围为每秒平方 `100` 至 `500000` 像素 |
248
+ | `interaction.cursorClickDelayMs` | 到达后、点击/拖拽按下反馈与原生输入前的停顿;默认 `90`,范围 `0` 至 `1000` 毫秒 |
249
+ | `interaction.cursorAutoHideMs` | Agent 光标空闲后隐藏时间;默认 `0` 表示在目标保持前台且绑定有效时持续显示,也可设为最大 `30000` ms 内的有限值 |
246
250
  | `allowAllApps` | 向所有运行中的应用授予 `read` 与 `control`;默认 `false`。开启后忽略精确 `grants` |
247
251
  | `grants` | 准确、无通配符的 bundle-id read/control policy;`control: true` 隐含 read |
248
252
 
249
253
  </details>
250
254
 
255
+ 已弃用的 0.2.x `interaction.cursorMotionMs` 仍会被接受,确保旧 Settings 文档能够加载,但运行时会忽略它;下次通过 Web Settings 保存时会移除该字段。
256
+
251
257
  Settings 更新只有在校验与健康检查通过后才替换当前 provider generation;替换会使已有 observation 与待用 confirmation 失效。
252
258
 
253
259
  ## 状态与限制
254
260
 
255
- - 状态:早期 `0.2.1`;稳定版本发布前,模型可见和 provider 行为仍可能变化。
261
+ - 状态:早期 `0.3.0`;稳定版本发布前,模型可见和 provider 行为仍可能变化。
256
262
  - 当前 provider 只支持 macOS;Windows UI Automation 和 Linux provider 尚未实现。
257
263
  - 在非 macOS 主机上插件会优雅降级:DSH profile 正常启动,不会注册 Computer Use 工具与 Skill,Web Settings 会显示 `COMPUTER_UNSUPPORTED_PLATFORM`,而不是让启动失败。
258
264
  - 目标进程指针投递使用动态解析的 SkyLight SPI。该路由不可用时,pointer fallback 会 fail closed,不会切换到全局输入。
package/cordis.patch.yml CHANGED
@@ -10,4 +10,7 @@
10
10
  keyboardPolicy: activate
11
11
  pointerInputPolicy: targeted
12
12
  cursorVisualization: visible
13
+ cursorSpeedPxPerSecond: 1600
14
+ cursorAccelerationPxPerSecondSquared: 6000
15
+ cursorClickDelayMs: 90
13
16
  cursorAutoHideMs: 0
@@ -12,11 +12,13 @@ interaction:
12
12
  keyboardPolicy: activate
13
13
  pointerInputPolicy: targeted
14
14
  cursorVisualization: visible
15
- cursorMotionMs: 180
15
+ cursorSpeedPxPerSecond: 1600
16
+ cursorAccelerationPxPerSecondSquared: 6000
17
+ cursorClickDelayMs: 90
16
18
  cursorAutoHideMs: 0
17
19
  ```
18
20
 
19
- `preserve` means pointer actions do not request foreground activation. `keyboardPolicy: activate` (the Bundle default) requests foreground activation before `type-text` keyboard fallback and `press-key`; `keyboardPolicy: preserve` keeps typing routed to the selected pid without activation and is reliable only for applications that accept background keyboard events. `targeted` means mouse, drag, and wheel events may be sent only to the exact observed process and window. `visible` enables the separate Agent cursor, whose motion and auto-hide timing are also host-owned. The model cannot change any interaction policy through Tool arguments.
21
+ `preserve` means pointer actions do not request foreground activation. `keyboardPolicy: activate` (the Bundle default) requests foreground activation before `type-text` keyboard fallback and `press-key`; `keyboardPolicy: preserve` keeps typing routed to the selected pid without activation and is reliable only for applications that accept background keyboard events. `targeted` means mouse, drag, and wheel events may be sent only to the exact observed process and window. `visible` enables the separate Agent cursor only when that target application is frontmost. Cursor speed, acceleration, post-arrival click delay, and auto-hide timing are host-owned. The deprecated 0.2.x `cursorMotionMs` field is accepted during upgrade but ignored. The model cannot change any interaction policy through Tool arguments.
20
22
 
21
23
  This is an input-routing property, not a consequence of Accessibility permission alone. Accessibility grants semantic UI access; foreground preservation comes from choosing semantic Accessibility operations first and using process/window-targeted fallback instead of the system cursor.
22
24
 
@@ -32,7 +34,7 @@ The action path has five ordered layers:
32
34
 
33
35
  Pointer delivery uses the observed window when it contains the point; otherwise it resolves the topmost on-screen window of the selected app that contains the screen point and posts through `SLEventPostToPid` with the pid/window fields and window-local coordinates. This is the same target-process shape Codex Computer Use uses (`SynthesizedEvent.send(to: pid)` with `CGWindow.window(at:)`), so `coordinateSpace: screen` supports arbitrary-coordinate clicks without a global HID event stream. Unavailable SkyLight symbols or a point outside every window of the selected app fails closed.
34
36
 
35
- Visual feedback uses a 28x28 `NSPanel` owned by a dedicated, persistent cursor process. The panel is borderless, nonactivating, click-through, and excluded from normal window cycling; it is not made visible on every Space. It draws the embedded transparent whole-image cursor (`assets/cursor.png`, Cursor arrow plus DeepSeek whale) with its top-left corner at the target point. Before input it animates to the same screen-global target point using an ease-out motion, briefly compresses the image for click, and keeps it pressed through a drag. By default it stays at the target point until the bound window changes or a hide command; set `cursorAutoHideMs` to a finite value for inactivity auto-hide. The overlay never posts input and never changes the system cursor position.
37
+ Visual feedback uses a 28x28 `NSPanel` owned by a dedicated, persistent cursor process. The panel is borderless, nonactivating, click-through, and excluded from normal window cycling; it is not made visible on every Space or over a background target application. It draws the embedded transparent whole-image cursor (`assets/cursor.png`, Cursor arrow plus DeepSeek whale) with its top-left corner at the target point. The first visible move starts at the system cursor's current location without moving that cursor. Later moves start at the prior Agent-cursor point. Distance, requested maximum speed, and acceleration determine a travel time bounded to 48 through 2000 ms; the safety bound takes priority over exact physical units at extreme combinations. Symmetric acceleration/deceleration and a small deterministic Bezier bend produce a legible path. The native move command replies only after arrival, then the provider applies `cursorClickDelayMs` before press feedback. Click input follows that sequence. Drag reaches and presses at the start point first. The native helper then validates the target and waits at a start barrier until the endpoint cursor command has been written; Agent-cursor travel and targeted native drag follow the same bounded Quartz path. Once native mouse-down is possible, caller cancellation waits for the bounded mouse-up instead of terminating the helper mid-gesture. Release validation follows both. The overlay never posts input and never changes the system cursor position.
36
38
 
37
39
  Policy is enforced twice on the supported DSH Tool path. The Service rejects a known pointer or foreground requirement before obtaining a control lease or consuming a sensitive-action confirmation. The helper validates the same resolved policy immediately before input, including fallback decisions that can only be made at runtime. The helper also requires an isolated process group plus three standard pipe or Unix-socket transports whose peer endpoints belong to its direct parent process; ordinary shell redirection fails closed before any command is parsed. This transport check is defense in depth, not authentication against arbitrary code running as the same macOS user: a deliberately constructed detached parent can reproduce the topology, especially under `danger-full-access`. The registered Tool path remains the only supported route because it applies leases, confirmations, and host policy before invoking the helper.
38
40
 
@@ -136,5 +138,5 @@ The release evidence covers both implementation and observed behavior:
136
138
  - The clicked point must fall inside an on-screen window of the selected app; minimized, fully hidden, or windowless targets fail closed.
137
139
  - `focusPolicy: activate` and `keyboardPolicy: activate` are intentionally disruptive and exist only as operator-selected compatibility modes.
138
140
  - A target application may change its own activation or focus as a side effect of an accepted action; the helper does not claim control over application-internal behavior.
139
- - The Agent cursor is scoped to one active Space and the exact observed window. `cursorAutoHideMs: 0` keeps it visible until the bound window changes, a new hide command arrives, or the helper is disposed.
141
+ - The Agent cursor is scoped to the current frontmost application, one active Space, and the exact observed window. `cursorAutoHideMs: 0` keeps it visible only while all three remain valid; a foreground change hides it within the periodic target check.
140
142
  - Stable handles currently use exact locators, provider-native identifiers, and strict semantic identity. Semantic-spatial rebinding and provider-native visual hit-testing remain follow-up work; a vision-derived coordinate alone is never a verified target.
@@ -12,11 +12,13 @@ interaction:
12
12
  keyboardPolicy: activate
13
13
  pointerInputPolicy: targeted
14
14
  cursorVisualization: visible
15
- cursorMotionMs: 180
16
- cursorAutoHideMs: 1400
15
+ cursorSpeedPxPerSecond: 1600
16
+ cursorAccelerationPxPerSecondSquared: 6000
17
+ cursorClickDelayMs: 90
18
+ cursorAutoHideMs: 0
17
19
  ```
18
20
 
19
- `preserve` 表示指针动作不请求前台激活。`keyboardPolicy: activate`(Bundle 默认)会在 `type-text` 键盘 fallback 与 `press-key` 前请求前台激活;`keyboardPolicy: preserve` 仍把键盘事件定向投递给选定 pid 而不激活,只有接受后台键盘事件的应用才可靠。`targeted` 表示鼠标、拖拽和滚轮事件只能投递给准确的已观察进程与窗口。`visible` 开启独立 Agent 光标,其移动与自动隐藏时长同样归宿主所有。模型不能通过 Tool 参数修改任何交互策略。
21
+ `preserve` 表示指针动作不请求前台激活。`keyboardPolicy: activate`(Bundle 默认)会在 `type-text` 键盘 fallback 与 `press-key` 前请求前台激活;`keyboardPolicy: preserve` 仍把键盘事件定向投递给选定 pid 而不激活,只有接受后台键盘事件的应用才可靠。`targeted` 表示鼠标、拖拽和滚轮事件只能投递给准确的已观察进程与窗口。`visible` 只在该目标应用位于前台时开启独立 Agent 光标。光标速度、加速度、到达后点击延迟与自动隐藏时长都归宿主所有。升级时仍接受已弃用的 0.2.x `cursorMotionMs`,但运行时会忽略它。模型不能通过 Tool 参数修改任何交互策略。
20
22
 
21
23
  这是一项输入路由属性,并不是只要拿到 Accessibility 权限就自然成立。Accessibility 授予语义化 UI 访问能力;真正避免抢前台的是优先使用语义化 Accessibility 操作,并用进程/窗口定向 fallback 代替系统光标。
22
24
 
@@ -32,7 +34,7 @@ interaction:
32
34
 
33
35
  指针投递在点位于已观察窗口内时直接使用该窗口;否则解析选定应用在该屏幕点下最上层的屏幕内窗口,再通过 `SLEventPostToPid` 投递并附带 pid/window 字段与窗口本地坐标。这与 Codex Computer Use 的 target-process 形态一致(`SynthesizedEvent.send(to: pid)` 配合 `CGWindow.window(at:)`),因此 `coordinateSpace: screen` 无需全局 HID 事件流即可支持任意坐标点击。SkyLight symbol 不可用,或该点不在选定应用的任何屏幕内窗口中时都会 fail closed。
34
36
 
35
- 视觉反馈由专用、常驻的光标进程创建 28x28 `NSPanel`。该 panel 无边框、不激活应用、点击穿透,并且不会进入普通窗口切换列表;它不会在全部 Space 上显示。它绘制嵌入的透明整图光标(`assets/cursor.png`,Cursor 箭头加 DeepSeek 鲸鱼),图片左上角对准目标点。输入前它会以 ease-out 动画移动到相同的屏幕全局目标点,click 时短暂压缩图片,drag 期间保持按压状态。默认它会停留在目标点,直到绑定窗口变化或收到 hide 命令;设置 `cursorAutoHideMs` 为有限值可以开启空闲自动隐藏。这个 overlay 不发出输入,也不会改变系统光标位置。
37
+ 视觉反馈由专用、常驻的光标进程创建 28x28 `NSPanel`。该 panel 无边框、不激活应用、点击穿透,并且不会进入普通窗口切换列表;它不会显示在全部 Space,也不会覆盖后台目标应用。第一次可见移动从系统鼠标当前点开始,但不会移动系统鼠标;后续移动从 Agent 光标上一个落点开始。移动距离、期望最大速度与加速度共同决定 48 至 2000 毫秒的有界时长;极端组合下安全边界优先于精确物理单位。对称加减速与轻微确定性 Bezier 弧线形成清晰轨迹。Native move 只有在到达后才回包,provider 随后等待 `cursorClickDelayMs` 再显示按下反馈。点击输入随后发出。拖拽会先到达起点并按下;native helper 校验目标后停在启动门闩,直到终点光标命令已经写入,随后 Agent 光标与目标进程拖拽沿同一条有界 Quartz 轨迹运行。一旦可能已经发出 native mouse-down,调用取消也会等待有界 mouse-up 完成,不会在手势中途终止 helper。两者结束后才执行释放校验。这个 overlay 本身不发出输入,也不会改变系统光标位置。
36
38
 
37
39
  受支持的 DSH Tool 路径会执行两层策略检查。Service 会在申请 control lease 或消费敏感动作 confirmation 之前拒绝已知需要指针或前台权限的动作;helper 会在真正发出输入前再次校验同一份已解析策略,包括只能在运行时确定的 fallback。Helper 还要求独立进程组,以及三条标准 pipe 或 Unix socket 传输的对端都属于它的直接父进程;普通 shell 重定向会在解析命令前 fail closed。这个传输检查只属于纵深防御,不会认证同一 macOS 用户下运行的任意代码:专门构造的 detached 父进程仍能复现这类拓扑,尤其是在 `danger-full-access` 下。注册 Tool 路径仍是唯一受支持的调用方式,因为它会在调用 helper 前执行 lease、confirmation 与宿主策略。
38
40
 
@@ -136,5 +138,5 @@ Helper 不会先移动系统光标再尝试恢复。那种设计仍会打断用
136
138
  - 点击点必须落在选定应用的某个屏幕内窗口里;最小化、完全隐藏或无窗口目标会 fail closed。
137
139
  - `focusPolicy: activate` 与 `keyboardPolicy: activate` 会有意打断前台工作,只作为操作方显式选择的兼容模式。
138
140
  - 目标应用可能因接受动作而自行改变 activation 或 focus;helper 不承诺控制应用内部副作用。
139
- - Agent 光标只属于当前 Space 和准确已观察窗口。`cursorAutoHideMs: 0` 会让它持续显示,直到绑定窗口变化、收到新的 hide 命令或 helper 被释放。
141
+ - Agent 光标只属于当前前台应用、当前 Space 和准确已观察窗口。`cursorAutoHideMs: 0` 也只会在这三项持续有效时保持显示;前台变化后,周期性目标检查会将它隐藏。
140
142
  - Stable handle 当前只使用准确 locator、provider-native identifier 与严格 semantic identity。Semantic-spatial rebind 和 provider-native visual hit-test 留作后续;仅凭 vision 得到的坐标永远不是已验证目标。
package/lib/client.js CHANGED
@@ -8,6 +8,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  /** DSH Computer Use browser plugin: provider health, permissions, limits, and app policy. */
9
9
  const react_1 = require("react");
10
10
  const dsh_client_ui_primitives_1 = require("@deepseek-ai/dsh-client-ui-primitives");
11
+ const settings_validation_js_1 = require("./settings-validation.js");
11
12
  const NS = 'computer-use';
12
13
  const ROUTE = '/_dsh/computer-use/settings';
13
14
  const en = {
@@ -20,7 +21,7 @@ const en = {
20
21
  accessHint: 'Choose whether Computer Use may work with every app. Exact per-app rules remain available under Advanced settings.',
21
22
  advanced: 'Advanced options',
22
23
  advancedHint: 'Limits, helper path, cursor timing, and application grants.',
23
- cursorTiming: 'Cursor timing',
24
+ cursorTiming: 'Agent cursor motion',
24
25
  helper: 'Native helper',
25
26
  helperUnknown: 'Unknown',
26
27
  ready: 'Ready',
@@ -60,7 +61,9 @@ const en = {
60
61
  cursorVisualization: 'Agent cursor',
61
62
  cursorVisible: 'Show a separate click-through Agent cursor',
62
63
  cursorHidden: 'Hide the Agent cursor',
63
- cursorMotion: 'Cursor travel (ms)',
64
+ cursorSpeed: 'Requested maximum cursor speed (px/s)',
65
+ cursorAcceleration: 'Cursor acceleration/deceleration (px/s²)',
66
+ cursorClickDelay: 'Delay after arrival before click (ms)',
64
67
  cursorAutoHide: 'Cursor auto-hide (ms; 0 = stay visible)',
65
68
  grants: 'Application grants',
66
69
  grantsHint: 'One exact bundle id per line, followed by read or read,control. Wildcards are rejected.',
@@ -72,6 +75,7 @@ const en = {
72
75
  readOnly: 'The current Settings provider is read-only.',
73
76
  loading: 'Loading Computer Use settings...',
74
77
  retry: 'Retry',
78
+ numberRange: '{field} must be an integer from {min} to {max}.',
75
79
  };
76
80
  const zh = {
77
81
  nav: '电脑操作',
@@ -83,7 +87,7 @@ const zh = {
83
87
  accessHint: '日常使用只需决定是否允许操作所有应用;指定应用规则可在高级设置中配置。',
84
88
  advanced: '高级设置',
85
89
  advancedHint: '操作方式、性能限制、光标效果、指定应用规则和运行组件。一般无需修改。',
86
- cursorTiming: '光标效果',
90
+ cursorTiming: '智能体光标移动',
87
91
  helper: '运行组件版本',
88
92
  helperUnknown: '未提供',
89
93
  ready: '已就绪',
@@ -123,7 +127,9 @@ const zh = {
123
127
  cursorVisualization: '智能体光标',
124
128
  cursorVisible: '显示单独的智能体光标',
125
129
  cursorHidden: '隐藏智能体光标',
126
- cursorMotion: '光标移动时长(毫秒)',
130
+ cursorSpeed: '光标期望最大速度(像素/秒)',
131
+ cursorAcceleration: '光标加/减速度(像素/秒²)',
132
+ cursorClickDelay: '到达后点击延迟(毫秒)',
127
133
  cursorAutoHide: '光标自动隐藏(毫秒;0 = 保持显示)',
128
134
  grants: '指定应用规则',
129
135
  grantsHint: '每行填写一个应用标识,后接 read 或 read,control。应用标识必须完整,不能使用通配符。',
@@ -135,6 +141,7 @@ const zh = {
135
141
  readOnly: '当前配置为只读,无法在这里修改。',
136
142
  loading: '正在加载电脑操作设置...',
137
143
  retry: '重试',
144
+ numberRange: '{field}必须是 {min} 到 {max} 之间的整数。',
138
145
  };
139
146
  class ComputerUseSettingsController {
140
147
  state = { status: 'idle' };
@@ -218,7 +225,9 @@ function draftOf(value) {
218
225
  keyboardPolicy: value.interaction?.keyboardPolicy ?? 'preserve',
219
226
  pointerInputPolicy: value.interaction?.pointerInputPolicy ?? 'targeted',
220
227
  cursorVisualization: value.interaction?.cursorVisualization ?? 'visible',
221
- cursorMotionMs: String(value.interaction?.cursorMotionMs ?? 180),
228
+ cursorSpeedPxPerSecond: String(value.interaction?.cursorSpeedPxPerSecond ?? 1600),
229
+ cursorAccelerationPxPerSecondSquared: String(value.interaction?.cursorAccelerationPxPerSecondSquared ?? 6000),
230
+ cursorClickDelayMs: String(value.interaction?.cursorClickDelayMs ?? 90),
222
231
  cursorAutoHideMs: String(value.interaction?.cursorAutoHideMs ?? 0),
223
232
  allowAllApps: value.allowAllApps ?? false,
224
233
  grants: (value.grants ?? []).map(grant => `${grant.bundleId} ${grant.control === true ? 'read,control' : 'read'}`).join('\n'),
@@ -230,7 +239,8 @@ function integer(value, name) {
230
239
  throw new Error(`${name} must be a non-negative integer`);
231
240
  return parsed;
232
241
  }
233
- function configOf(draft) {
242
+ function configOf(draft, t) {
243
+ const rangeError = (field, min, max) => t('numberRange', { field, min, max });
234
244
  const grants = draft.grants.split(/\r?\n/u).map(line => line.trim()).filter(Boolean).map((line) => {
235
245
  const [bundleId, rawScopes, ...extra] = line.split(/\s+/u);
236
246
  if (bundleId === undefined || rawScopes === undefined || extra.length > 0)
@@ -260,8 +270,10 @@ function configOf(draft) {
260
270
  keyboardPolicy: draft.keyboardPolicy,
261
271
  pointerInputPolicy: draft.pointerInputPolicy,
262
272
  cursorVisualization: draft.cursorVisualization,
263
- cursorMotionMs: integer(draft.cursorMotionMs, 'interaction.cursorMotionMs'),
264
- cursorAutoHideMs: integer(draft.cursorAutoHideMs, 'interaction.cursorAutoHideMs'),
273
+ cursorSpeedPxPerSecond: (0, settings_validation_js_1.integerInRange)(draft.cursorSpeedPxPerSecond, t('cursorSpeed'), 100, 50000, rangeError),
274
+ cursorAccelerationPxPerSecondSquared: (0, settings_validation_js_1.integerInRange)(draft.cursorAccelerationPxPerSecondSquared, t('cursorAcceleration'), 100, 500000, rangeError),
275
+ cursorClickDelayMs: (0, settings_validation_js_1.integerInRange)(draft.cursorClickDelayMs, t('cursorClickDelay'), 0, 1000, rangeError),
276
+ cursorAutoHideMs: (0, settings_validation_js_1.integerInRange)(draft.cursorAutoHideMs, t('cursorAutoHide'), 0, 30000, rangeError),
265
277
  },
266
278
  allowAllApps: draft.allowAllApps,
267
279
  grants,
@@ -295,14 +307,14 @@ function LoadedSettings({ controller, t }) {
295
307
  const save = () => {
296
308
  try {
297
309
  setDraftError(undefined);
298
- void controller.action('save', { expectedRevision: snapshot.settings.revision, value: configOf(draft) }, 'save');
310
+ void controller.action('save', { expectedRevision: snapshot.settings.revision, value: configOf(draft, t) }, 'save');
299
311
  }
300
312
  catch (error) {
301
313
  setDraftError(error instanceof Error ? error.message : String(error));
302
314
  }
303
315
  };
304
- const numberField = (key, label) => (0, jsx_runtime_1.jsx)(Field, { label: label, children: (0, jsx_runtime_1.jsx)(dsh_client_ui_primitives_1.Input, { value: String(draft[key]), onChange: event => update(key, event.target.value) }) });
305
- return (0, jsx_runtime_1.jsxs)("div", { className: "dcu-settings", children: [snapshot.provider.lastError === undefined ? null : (0, jsx_runtime_1.jsx)("div", { className: "dcu-alert error", children: snapshot.provider.lastError }), !snapshot.writable ? (0, jsx_runtime_1.jsx)("div", { className: "dcu-alert warning", children: t('readOnly') }) : null, state.error === undefined && draftError === undefined ? null : (0, jsx_runtime_1.jsx)("div", { className: "dcu-alert error", children: draftError ?? state.error }), state.notice === 'saved' ? (0, jsx_runtime_1.jsx)("div", { className: "dcu-alert ok", children: t('saved') }) : null, (0, jsx_runtime_1.jsxs)("section", { className: "dcu-panel", children: [(0, jsx_runtime_1.jsxs)("div", { className: "dcu-panel-title", children: [(0, jsx_runtime_1.jsx)("h3", { children: t('privacy') }), (0, jsx_runtime_1.jsx)(dsh_client_ui_primitives_1.Button, { variant: "outline", onClick: () => { void controller.action('health', {}, 'health'); }, children: t('refresh') })] }), (0, jsx_runtime_1.jsxs)("div", { className: "dcu-permissions", children: [(0, jsx_runtime_1.jsx)(PermissionCard, { label: t('accessibility'), state: snapshot.provider.accessibility, kind: "accessibility", controller: controller, t: t }), (0, jsx_runtime_1.jsx)(PermissionCard, { label: t('screenRecording'), state: snapshot.provider.screenRecording, kind: "screen-recording", controller: controller, t: t })] })] }), (0, jsx_runtime_1.jsxs)("section", { className: "dcu-panel dcu-essential", children: [(0, jsx_runtime_1.jsx)("div", { className: "dcu-panel-title", children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h3", { children: t('access') }), (0, jsx_runtime_1.jsx)("p", { children: t('accessHint') })] }) }), (0, jsx_runtime_1.jsxs)("label", { className: "dcu-check dcu-check-primary", children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: draft.allowAllApps, onChange: event => update('allowAllApps', event.target.checked) }), (0, jsx_runtime_1.jsxs)("span", { children: [(0, jsx_runtime_1.jsx)("strong", { children: t('allowAllApps') }), (0, jsx_runtime_1.jsx)("small", { children: t('allowAllAppsHint') })] })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "dcu-actions", children: (0, jsx_runtime_1.jsx)(dsh_client_ui_primitives_1.Button, { variant: "primary", disabled: !snapshot.writable || state.action !== undefined, onClick: save, children: state.action === 'save' ? t('saving') : t('save') }) }), (0, jsx_runtime_1.jsxs)("details", { className: "dcu-advanced", children: [(0, jsx_runtime_1.jsxs)("summary", { children: [(0, jsx_runtime_1.jsx)("span", { children: t('advanced') }), (0, jsx_runtime_1.jsx)("small", { children: t('advancedHint') })] }), (0, jsx_runtime_1.jsxs)("div", { className: "dcu-advanced-body", children: [(0, jsx_runtime_1.jsxs)("section", { className: "dcu-panel", children: [(0, jsx_runtime_1.jsx)("div", { className: "dcu-panel-title", children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h3", { children: t('interaction') }), (0, jsx_runtime_1.jsx)("p", { children: t('interactionHint') })] }) }), (0, jsx_runtime_1.jsxs)("div", { className: "dcu-grid", children: [(0, jsx_runtime_1.jsx)(Field, { label: t('focusPolicy'), children: (0, jsx_runtime_1.jsxs)("select", { value: draft.focusPolicy, onChange: event => update('focusPolicy', event.target.value), children: [(0, jsx_runtime_1.jsx)("option", { value: "preserve", children: t('focusPreserve') }), (0, jsx_runtime_1.jsx)("option", { value: "activate", children: t('focusActivate') })] }) }), (0, jsx_runtime_1.jsx)(Field, { label: t('keyboardPolicy'), children: (0, jsx_runtime_1.jsxs)("select", { value: draft.keyboardPolicy, onChange: event => update('keyboardPolicy', event.target.value), children: [(0, jsx_runtime_1.jsx)("option", { value: "preserve", children: t('keyboardPreserve') }), (0, jsx_runtime_1.jsx)("option", { value: "activate", children: t('keyboardActivate') })] }) }), (0, jsx_runtime_1.jsx)(Field, { label: t('pointerInputPolicy'), children: (0, jsx_runtime_1.jsxs)("select", { value: draft.pointerInputPolicy, onChange: event => update('pointerInputPolicy', event.target.value), children: [(0, jsx_runtime_1.jsx)("option", { value: "deny", children: t('pointerDeny') }), (0, jsx_runtime_1.jsx)("option", { value: "targeted", children: t('pointerAllow') })] }) }), (0, jsx_runtime_1.jsx)(Field, { label: t('cursorVisualization'), children: (0, jsx_runtime_1.jsxs)("select", { value: draft.cursorVisualization, onChange: event => update('cursorVisualization', event.target.value), children: [(0, jsx_runtime_1.jsx)("option", { value: "visible", children: t('cursorVisible') }), (0, jsx_runtime_1.jsx)("option", { value: "hidden", children: t('cursorHidden') })] }) })] })] }), (0, jsx_runtime_1.jsxs)("section", { className: "dcu-panel", children: [(0, jsx_runtime_1.jsx)("div", { className: "dcu-panel-title", children: (0, jsx_runtime_1.jsx)("h3", { children: t('limits') }) }), (0, jsx_runtime_1.jsxs)("div", { className: "dcu-grid", children: [numberField('observationTtlMs', t('ttl')), numberField('confirmationTtlMs', t('confirmationTtl')), numberField('actionTimeoutMs', t('actionTimeout')), numberField('settleMs', t('settle')), numberField('maxSettleMs', t('maxSettle')), numberField('maxNodes', t('maxNodes')), numberField('maxDepth', t('maxDepth')), numberField('maxTextBytes', t('maxText')), numberField('maxScreenshotBytes', t('maxScreenshot')), (0, jsx_runtime_1.jsx)(Field, { label: t('artifactRoot'), children: (0, jsx_runtime_1.jsx)(dsh_client_ui_primitives_1.Input, { value: draft.artifactRoot, onChange: event => update('artifactRoot', event.target.value) }) })] })] }), (0, jsx_runtime_1.jsxs)("section", { className: "dcu-panel", children: [(0, jsx_runtime_1.jsx)("div", { className: "dcu-panel-title", children: (0, jsx_runtime_1.jsx)("h3", { children: t('cursorTiming') }) }), (0, jsx_runtime_1.jsxs)("div", { className: "dcu-grid", children: [numberField('cursorMotionMs', t('cursorMotion')), numberField('cursorAutoHideMs', t('cursorAutoHide'))] })] }), (0, jsx_runtime_1.jsxs)("section", { className: "dcu-panel", children: [(0, jsx_runtime_1.jsx)("div", { className: "dcu-panel-title", children: (0, jsx_runtime_1.jsx)("h3", { children: t('helper') }) }), (0, jsx_runtime_1.jsx)("code", { className: "dcu-path", children: snapshot.provider.helperPath }), snapshot.provider.helperSha256 === undefined ? null : (0, jsx_runtime_1.jsxs)("code", { className: "dcu-path", children: ["sha256 ", snapshot.provider.helperSha256] }), (0, jsx_runtime_1.jsxs)("div", { className: "dcu-grid", children: [(0, jsx_runtime_1.jsx)(Field, { label: t('helperPath'), children: (0, jsx_runtime_1.jsx)(dsh_client_ui_primitives_1.Input, { value: draft.helperPath, placeholder: "managed", onChange: event => update('helperPath', event.target.value) }) }), (0, jsx_runtime_1.jsxs)("label", { className: "dcu-check", children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: draft.allowSourceBuild, onChange: event => update('allowSourceBuild', event.target.checked) }), (0, jsx_runtime_1.jsx)("span", { children: t('sourceBuild') })] })] })] }), (0, jsx_runtime_1.jsxs)("section", { className: "dcu-panel", children: [(0, jsx_runtime_1.jsx)("div", { className: "dcu-panel-title", children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h3", { children: t('grants') }), (0, jsx_runtime_1.jsx)("p", { children: t('grantsHint') })] }) }), (0, jsx_runtime_1.jsx)("textarea", { value: draft.grants, disabled: draft.allowAllApps, onChange: event => update('grants', event.target.value), placeholder: 'com.example.App read\ncom.example.Editor read,control' })] })] })] }), (0, jsx_runtime_1.jsxs)("footer", { className: "dcu-footer", children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { className: "dcu-kicker", children: t('pluginKind') }), (0, jsx_runtime_1.jsx)("h2", { children: t('title') }), (0, jsx_runtime_1.jsx)("p", { children: t('intro') })] }), (0, jsx_runtime_1.jsxs)("div", { className: "dcu-release", children: [(0, jsx_runtime_1.jsxs)("span", { children: [t('helper'), " ", (0, jsx_runtime_1.jsx)("strong", { children: snapshot.provider.helperVersion ?? t('helperUnknown') })] }), (0, jsx_runtime_1.jsxs)("span", { children: [t('generation'), " ", (0, jsx_runtime_1.jsx)("strong", { children: t('generationValue', { generation: snapshot.provider.generation }) })] }), (0, jsx_runtime_1.jsx)("span", { className: snapshot.provider.ready ? 'ok' : 'bad', children: snapshot.provider.ready ? t('ready') : t('unavailable') })] })] })] });
316
+ const numberField = (key, label, bounds = {}) => ((0, jsx_runtime_1.jsx)(Field, { label: label, children: (0, jsx_runtime_1.jsx)(dsh_client_ui_primitives_1.Input, { type: "number", min: bounds.min ?? 0, max: bounds.max, step: 1, value: String(draft[key]), onChange: event => update(key, event.target.value) }) }));
317
+ return (0, jsx_runtime_1.jsxs)("div", { className: "dcu-settings", children: [snapshot.provider.lastError === undefined ? null : (0, jsx_runtime_1.jsx)("div", { className: "dcu-alert error", children: snapshot.provider.lastError }), !snapshot.writable ? (0, jsx_runtime_1.jsx)("div", { className: "dcu-alert warning", children: t('readOnly') }) : null, state.error === undefined && draftError === undefined ? null : (0, jsx_runtime_1.jsx)("div", { className: "dcu-alert error", children: draftError ?? state.error }), state.notice === 'saved' ? (0, jsx_runtime_1.jsx)("div", { className: "dcu-alert ok", children: t('saved') }) : null, (0, jsx_runtime_1.jsxs)("section", { className: "dcu-panel", children: [(0, jsx_runtime_1.jsxs)("div", { className: "dcu-panel-title", children: [(0, jsx_runtime_1.jsx)("h3", { children: t('privacy') }), (0, jsx_runtime_1.jsx)(dsh_client_ui_primitives_1.Button, { variant: "outline", onClick: () => { void controller.action('health', {}, 'health'); }, children: t('refresh') })] }), (0, jsx_runtime_1.jsxs)("div", { className: "dcu-permissions", children: [(0, jsx_runtime_1.jsx)(PermissionCard, { label: t('accessibility'), state: snapshot.provider.accessibility, kind: "accessibility", controller: controller, t: t }), (0, jsx_runtime_1.jsx)(PermissionCard, { label: t('screenRecording'), state: snapshot.provider.screenRecording, kind: "screen-recording", controller: controller, t: t })] })] }), (0, jsx_runtime_1.jsxs)("section", { className: "dcu-panel dcu-essential", children: [(0, jsx_runtime_1.jsx)("div", { className: "dcu-panel-title", children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h3", { children: t('access') }), (0, jsx_runtime_1.jsx)("p", { children: t('accessHint') })] }) }), (0, jsx_runtime_1.jsxs)("label", { className: "dcu-check dcu-check-primary", children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: draft.allowAllApps, onChange: event => update('allowAllApps', event.target.checked) }), (0, jsx_runtime_1.jsxs)("span", { children: [(0, jsx_runtime_1.jsx)("strong", { children: t('allowAllApps') }), (0, jsx_runtime_1.jsx)("small", { children: t('allowAllAppsHint') })] })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "dcu-actions", children: (0, jsx_runtime_1.jsx)(dsh_client_ui_primitives_1.Button, { variant: "primary", disabled: !snapshot.writable || state.action !== undefined, onClick: save, children: state.action === 'save' ? t('saving') : t('save') }) }), (0, jsx_runtime_1.jsxs)("details", { className: "dcu-advanced", children: [(0, jsx_runtime_1.jsxs)("summary", { children: [(0, jsx_runtime_1.jsx)("span", { children: t('advanced') }), (0, jsx_runtime_1.jsx)("small", { children: t('advancedHint') })] }), (0, jsx_runtime_1.jsxs)("div", { className: "dcu-advanced-body", children: [(0, jsx_runtime_1.jsxs)("section", { className: "dcu-panel", children: [(0, jsx_runtime_1.jsx)("div", { className: "dcu-panel-title", children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h3", { children: t('interaction') }), (0, jsx_runtime_1.jsx)("p", { children: t('interactionHint') })] }) }), (0, jsx_runtime_1.jsxs)("div", { className: "dcu-grid", children: [(0, jsx_runtime_1.jsx)(Field, { label: t('focusPolicy'), children: (0, jsx_runtime_1.jsxs)("select", { value: draft.focusPolicy, onChange: event => update('focusPolicy', event.target.value), children: [(0, jsx_runtime_1.jsx)("option", { value: "preserve", children: t('focusPreserve') }), (0, jsx_runtime_1.jsx)("option", { value: "activate", children: t('focusActivate') })] }) }), (0, jsx_runtime_1.jsx)(Field, { label: t('keyboardPolicy'), children: (0, jsx_runtime_1.jsxs)("select", { value: draft.keyboardPolicy, onChange: event => update('keyboardPolicy', event.target.value), children: [(0, jsx_runtime_1.jsx)("option", { value: "preserve", children: t('keyboardPreserve') }), (0, jsx_runtime_1.jsx)("option", { value: "activate", children: t('keyboardActivate') })] }) }), (0, jsx_runtime_1.jsx)(Field, { label: t('pointerInputPolicy'), children: (0, jsx_runtime_1.jsxs)("select", { value: draft.pointerInputPolicy, onChange: event => update('pointerInputPolicy', event.target.value), children: [(0, jsx_runtime_1.jsx)("option", { value: "deny", children: t('pointerDeny') }), (0, jsx_runtime_1.jsx)("option", { value: "targeted", children: t('pointerAllow') })] }) }), (0, jsx_runtime_1.jsx)(Field, { label: t('cursorVisualization'), children: (0, jsx_runtime_1.jsxs)("select", { value: draft.cursorVisualization, onChange: event => update('cursorVisualization', event.target.value), children: [(0, jsx_runtime_1.jsx)("option", { value: "visible", children: t('cursorVisible') }), (0, jsx_runtime_1.jsx)("option", { value: "hidden", children: t('cursorHidden') })] }) })] })] }), (0, jsx_runtime_1.jsxs)("section", { className: "dcu-panel", children: [(0, jsx_runtime_1.jsx)("div", { className: "dcu-panel-title", children: (0, jsx_runtime_1.jsx)("h3", { children: t('limits') }) }), (0, jsx_runtime_1.jsxs)("div", { className: "dcu-grid", children: [numberField('observationTtlMs', t('ttl')), numberField('confirmationTtlMs', t('confirmationTtl')), numberField('actionTimeoutMs', t('actionTimeout')), numberField('settleMs', t('settle')), numberField('maxSettleMs', t('maxSettle')), numberField('maxNodes', t('maxNodes')), numberField('maxDepth', t('maxDepth')), numberField('maxTextBytes', t('maxText')), numberField('maxScreenshotBytes', t('maxScreenshot')), (0, jsx_runtime_1.jsx)(Field, { label: t('artifactRoot'), children: (0, jsx_runtime_1.jsx)(dsh_client_ui_primitives_1.Input, { value: draft.artifactRoot, onChange: event => update('artifactRoot', event.target.value) }) })] })] }), (0, jsx_runtime_1.jsxs)("section", { className: "dcu-panel", children: [(0, jsx_runtime_1.jsx)("div", { className: "dcu-panel-title", children: (0, jsx_runtime_1.jsx)("h3", { children: t('cursorTiming') }) }), (0, jsx_runtime_1.jsxs)("div", { className: "dcu-grid", children: [numberField('cursorSpeedPxPerSecond', t('cursorSpeed'), { min: 100, max: 50000 }), numberField('cursorAccelerationPxPerSecondSquared', t('cursorAcceleration'), { min: 100, max: 500000 }), numberField('cursorClickDelayMs', t('cursorClickDelay'), { max: 1000 }), numberField('cursorAutoHideMs', t('cursorAutoHide'), { max: 30000 })] })] }), (0, jsx_runtime_1.jsxs)("section", { className: "dcu-panel", children: [(0, jsx_runtime_1.jsx)("div", { className: "dcu-panel-title", children: (0, jsx_runtime_1.jsx)("h3", { children: t('helper') }) }), (0, jsx_runtime_1.jsx)("code", { className: "dcu-path", children: snapshot.provider.helperPath }), snapshot.provider.helperSha256 === undefined ? null : (0, jsx_runtime_1.jsxs)("code", { className: "dcu-path", children: ["sha256 ", snapshot.provider.helperSha256] }), (0, jsx_runtime_1.jsxs)("div", { className: "dcu-grid", children: [(0, jsx_runtime_1.jsx)(Field, { label: t('helperPath'), children: (0, jsx_runtime_1.jsx)(dsh_client_ui_primitives_1.Input, { value: draft.helperPath, placeholder: "managed", onChange: event => update('helperPath', event.target.value) }) }), (0, jsx_runtime_1.jsxs)("label", { className: "dcu-check", children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: draft.allowSourceBuild, onChange: event => update('allowSourceBuild', event.target.checked) }), (0, jsx_runtime_1.jsx)("span", { children: t('sourceBuild') })] })] })] }), (0, jsx_runtime_1.jsxs)("section", { className: "dcu-panel", children: [(0, jsx_runtime_1.jsx)("div", { className: "dcu-panel-title", children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h3", { children: t('grants') }), (0, jsx_runtime_1.jsx)("p", { children: t('grantsHint') })] }) }), (0, jsx_runtime_1.jsx)("textarea", { value: draft.grants, disabled: draft.allowAllApps, onChange: event => update('grants', event.target.value), placeholder: 'com.example.App read\ncom.example.Editor read,control' })] })] })] }), (0, jsx_runtime_1.jsxs)("footer", { className: "dcu-footer", children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { className: "dcu-kicker", children: t('pluginKind') }), (0, jsx_runtime_1.jsx)("h2", { children: t('title') }), (0, jsx_runtime_1.jsx)("p", { children: t('intro') })] }), (0, jsx_runtime_1.jsxs)("div", { className: "dcu-release", children: [(0, jsx_runtime_1.jsxs)("span", { children: [t('helper'), " ", (0, jsx_runtime_1.jsx)("strong", { children: snapshot.provider.helperVersion ?? t('helperUnknown') })] }), (0, jsx_runtime_1.jsxs)("span", { children: [t('generation'), " ", (0, jsx_runtime_1.jsx)("strong", { children: t('generationValue', { generation: snapshot.provider.generation }) })] }), (0, jsx_runtime_1.jsx)("span", { className: snapshot.provider.ready ? 'ok' : 'bad', children: snapshot.provider.ready ? t('ready') : t('unavailable') })] })] })] });
306
318
  }
307
319
  const CSS = `
308
320
  .dcu-settings{display:grid;gap:14px;max-width:920px;padding:2px 0 24px}.dcu-footer{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;margin-top:8px;padding:20px 2px 4px;border-top:1px solid var(--dsw-alias-border-subtle,#dedbd5);opacity:.82}.dcu-footer h2{margin:4px 0 6px;font-size:18px}.dcu-footer p{margin:0;max-width:610px;font-size:11px;line-height:1.55;color:var(--dsw-alias-fg-muted,#706d67)}.dcu-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#687f74;font-weight:700}.dcu-release{display:grid;gap:5px;min-width:220px;padding:10px 12px;border-radius:11px;background:var(--dsw-alias-bg-layer-2,#f7f5f1);font-size:10px}.dcu-release span{display:flex;justify-content:space-between;gap:12px;white-space:nowrap}.dcu-release .ok{color:#277d52}.dcu-release .bad{color:#aa3939}.dcu-panel{display:grid;gap:13px;padding:16px;border:1px solid var(--dsw-alias-border-subtle,#dedbd5);border-radius:14px;background:var(--dsw-alias-bg-layer-1,#fff)}.dcu-essential{border-color:color-mix(in srgb,#687f74 35%,var(--dsw-alias-border-subtle,#dedbd5));box-shadow:0 0 0 3px rgba(104,127,116,.05)}.dcu-panel-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.dcu-panel-title h3{margin:0;font-size:14px}.dcu-panel-title p{margin:4px 0 0;font-size:10px;line-height:1.45;color:var(--dsw-alias-fg-muted,#706d67)}.dcu-permissions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dcu-permission{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px;border-radius:11px;background:var(--dsw-alias-bg-layer-2,#f7f5f1);border-left:3px solid #cc5555}.dcu-permission[data-granted]{border-left-color:#3ca26b}.dcu-permission div{display:grid;gap:3px}.dcu-permission span{font-size:10px}.dcu-permission strong{font-size:11px}.dcu-path{display:block;overflow:auto;padding:8px 10px;border-radius:8px;background:var(--dsw-alias-bg-layer-2,#f7f5f1);font-size:10px;color:var(--dsw-alias-fg-muted,#706d67)}.dcu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.dcu-field{display:grid;gap:5px}.dcu-field>span{font-size:10px;font-weight:650}.dcu-field select,.dcu-panel textarea{border:1px solid var(--dsw-alias-border-subtle,#dedbd5);border-radius:9px;background:var(--dsw-alias-bg-layer-1,#fff);color:inherit}.dcu-field select{min-height:34px;padding:6px 9px;font:11px inherit}.dcu-check{display:flex;align-items:center;gap:8px;padding-top:19px;font-size:11px}.dcu-check-primary{align-items:flex-start;padding:10px 0}.dcu-check-primary input{margin-top:2px}.dcu-check-primary span{display:grid;gap:3px}.dcu-check-primary strong{font-size:12px}.dcu-check-primary small{font-size:10px;line-height:1.45;color:var(--dsw-alias-fg-muted,#706d67)}.dcu-panel textarea{min-height:110px;resize:vertical;padding:10px;font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.dcu-alert{padding:10px 12px;border-radius:10px;font-size:11px}.dcu-alert.error{background:rgba(205,72,72,.1);color:#a13b3b}.dcu-alert.warning{background:rgba(211,151,49,.12);color:#8b651f}.dcu-alert.ok{background:rgba(48,154,100,.12);color:#267d52}.dcu-actions{display:flex;justify-content:flex-start;padding:2px 0}@media(max-width:720px){.dcu-footer{display:grid}.dcu-release{width:auto}.dcu-grid,.dcu-permissions{grid-template-columns:1fr}}
package/lib/client.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client/src/client/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client/src/client/index.tsx"],"names":[],"mappings":"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"}
package/lib/config.js CHANGED
@@ -25,7 +25,10 @@ export const Config = z.object({
25
25
  keyboardPolicy: z.union(['preserve', 'activate']).default('preserve'),
26
26
  pointerInputPolicy: z.union(['deny', 'targeted']).default('targeted'),
27
27
  cursorVisualization: z.union(['hidden', 'visible']).default('visible'),
28
- cursorMotionMs: z.number().default(180),
28
+ cursorMotionMs: z.number(),
29
+ cursorSpeedPxPerSecond: z.number().default(1600),
30
+ cursorAccelerationPxPerSecondSquared: z.number().default(6000),
31
+ cursorClickDelayMs: z.number().default(90),
29
32
  cursorAutoHideMs: z.number().default(0),
30
33
  }),
31
34
  allowAllApps: z.boolean().default(false),
@@ -74,7 +77,12 @@ export function resolveConfig(config = {}) {
74
77
  const keyboardPolicy = option('interaction.keyboardPolicy', config.interaction?.keyboardPolicy ?? 'preserve', ['preserve', 'activate']);
75
78
  const pointerInputPolicy = option('interaction.pointerInputPolicy', config.interaction?.pointerInputPolicy ?? 'targeted', ['deny', 'targeted']);
76
79
  const cursorVisualization = option('interaction.cursorVisualization', config.interaction?.cursorVisualization ?? 'visible', ['hidden', 'visible']);
77
- const cursorMotionMs = integer('interaction.cursorMotionMs', config.interaction?.cursorMotionMs ?? 180, 0, 2000);
80
+ if (config.interaction?.cursorMotionMs !== undefined) {
81
+ integer('interaction.cursorMotionMs', config.interaction.cursorMotionMs, 0, 2000);
82
+ }
83
+ const cursorSpeedPxPerSecond = integer('interaction.cursorSpeedPxPerSecond', config.interaction?.cursorSpeedPxPerSecond ?? 1600, 100, 50000);
84
+ const cursorAccelerationPxPerSecondSquared = integer('interaction.cursorAccelerationPxPerSecondSquared', config.interaction?.cursorAccelerationPxPerSecondSquared ?? 6000, 100, 500000);
85
+ const cursorClickDelayMs = integer('interaction.cursorClickDelayMs', config.interaction?.cursorClickDelayMs ?? 90, 0, 1000);
78
86
  const cursorAutoHideMs = integer('interaction.cursorAutoHideMs', config.interaction?.cursorAutoHideMs ?? 0, 0, 30000);
79
87
  const allowAllApps = config.allowAllApps ?? false;
80
88
  const seen = new Set();
@@ -110,7 +118,9 @@ export function resolveConfig(config = {}) {
110
118
  keyboardPolicy,
111
119
  pointerInputPolicy,
112
120
  cursorVisualization,
113
- cursorMotionMs,
121
+ cursorSpeedPxPerSecond,
122
+ cursorAccelerationPxPerSecondSquared,
123
+ cursorClickDelayMs,
114
124
  cursorAutoHideMs,
115
125
  },
116
126
  allowAllApps,
package/lib/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}