@anionex/dsh-computer-use 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.i18n.yaml +2 -2
- package/README.md +15 -1
- package/README.zh.md +15 -1
- package/lib/index.js +6 -0
- package/lib/index.js.map +1 -1
- package/lib/providers/macos.js +37 -23
- package/lib/providers/macos.js.map +1 -1
- package/lib/providers/native-helper.js +151 -6
- package/lib/providers/native-helper.js.map +1 -1
- package/lib/providers/unsupported.js +45 -0
- package/lib/providers/unsupported.js.map +1 -0
- package/lib/service.js +101 -15
- package/lib/service.js.map +1 -1
- package/lib/skill.js +7 -1
- package/lib/skill.js.map +1 -1
- package/lib/tools.js +18 -0
- package/lib/tools.js.map +1 -1
- package/lib/types/backend.d.ts +17 -2
- package/lib/types/backend.d.ts.map +1 -1
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/providers/macos.d.ts +20 -1
- package/lib/types/providers/macos.d.ts.map +1 -1
- package/lib/types/providers/native-helper.d.ts +6 -2
- package/lib/types/providers/native-helper.d.ts.map +1 -1
- package/lib/types/providers/unsupported.d.ts +19 -0
- package/lib/types/providers/unsupported.d.ts.map +1 -0
- package/lib/types/service.d.ts +6 -0
- package/lib/types/service.d.ts.map +1 -1
- package/lib/types/skill.d.ts +1 -1
- package/lib/types/skill.d.ts.map +1 -1
- package/lib/types/tools.d.ts.map +1 -1
- package/lib/types/types.d.ts +23 -1
- package/lib/types/types.d.ts.map +1 -1
- package/lib/types.js.map +1 -1
- package/native/macos/Sources/Helper/CursorOverlay.swift +96 -21
- package/native/macos/Sources/Helper/WindowNumberMatcher.swift +29 -0
- package/native/macos/Sources/Helper/main.swift +20 -7
- package/native/macos/bin/dsh-computer-use-helper +0 -0
- package/native/macos/manifest.json +3 -3
- package/package.json +1 -1
- package/scripts/build-native.mjs +8 -1
- package/scripts/model-e2e.mjs +11 -2
- package/src/backend.ts +18 -2
- package/src/index.ts +6 -0
- package/src/providers/macos.ts +35 -19
- package/src/providers/native-helper.ts +154 -5
- package/src/providers/unsupported.ts +67 -0
- package/src/service.ts +103 -16
- package/src/skill.ts +7 -1
- package/src/tools.ts +18 -0
- package/src/types.ts +21 -1
package/README.i18n.yaml
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write dsh-computer-use/README.md
|
|
5
|
-
README.md:
|
|
6
|
-
README.zh.md:
|
|
5
|
+
README.md: 712c9674a45e3d6b041ffc5db8492a7a3a7474a9
|
|
6
|
+
README.zh.md: 1e8b5d5f4dfce1aca26736077523bf19e4de9f2b
|
package/README.md
CHANGED
|
@@ -78,6 +78,11 @@ See [Foreground-safe input policy](docs/interaction-policy.md) for the requireme
|
|
|
78
78
|
|
|
79
79
|
Install the Web and Headless bundles directly from npm:
|
|
80
80
|
|
|
81
|
+
> [!IMPORTANT]
|
|
82
|
+
> The published package name is `@anionex/dsh-computer-use`. The former
|
|
83
|
+
> `@dsh-external/dsh-computer-use` name was never published to npm and is not
|
|
84
|
+
> installable; update any old profile or manifest references before installing.
|
|
85
|
+
|
|
81
86
|
```sh
|
|
82
87
|
dsh plugin --profile web add @anionex/dsh-computer-use
|
|
83
88
|
dsh plugin --profile headless add @anionex/dsh-computer-use
|
|
@@ -153,8 +158,16 @@ resolution?: {
|
|
|
153
158
|
candidateCount: number
|
|
154
159
|
targetChanged: boolean
|
|
155
160
|
}
|
|
161
|
+
agentCursor?: { visible: false; reason?: string }
|
|
162
|
+
effect: {
|
|
163
|
+
observedStateChanged: boolean
|
|
164
|
+
observedForMs: number
|
|
165
|
+
note?: string
|
|
166
|
+
}
|
|
156
167
|
```
|
|
157
168
|
|
|
169
|
+
`effect.observedStateChanged` compares the window title, id and frame plus the Accessibility element tree. It does not prove causation and cannot see pixel-only, transient, remote, or otherwise external effects. `agentCursor` appears only when the separate Agent cursor was expected but could not be shown or validated.
|
|
170
|
+
|
|
158
171
|
The model cannot override these host policies through Tool arguments.
|
|
159
172
|
|
|
160
173
|
## Model Tools
|
|
@@ -239,8 +252,9 @@ Settings updates replace the active provider generation only after validation an
|
|
|
239
252
|
|
|
240
253
|
## Status and limitations
|
|
241
254
|
|
|
242
|
-
- Status: early `0.
|
|
255
|
+
- Status: early `0.2.0`; model-facing and provider behavior may change before a stable release.
|
|
243
256
|
- The current provider is macOS-only. Windows UI Automation and Linux providers are not implemented.
|
|
257
|
+
- 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.
|
|
244
258
|
- Target-process pointer delivery uses dynamically resolved SkyLight SPI. If it is unavailable, pointer fallback fails closed rather than switching to global input.
|
|
245
259
|
- The clicked point must fall inside an on-screen window of the selected app; the helper resolves the topmost matching window so ambiguous frame/title matches no longer block coordinate actions. Minimized, hidden, or windowless targets fail closed.
|
|
246
260
|
- Custom canvases, games, hardened input surfaces, and future macOS releases may reject target-process pointer or keyboard events. Prefer semantic Accessibility whenever possible.
|
package/README.zh.md
CHANGED
|
@@ -78,6 +78,11 @@ Fixture 会记录每次 `applicationDidBecomeActive` 回调。独立 native moni
|
|
|
78
78
|
|
|
79
79
|
直接从 npm 一键安装 Web 与 Headless Bundle:
|
|
80
80
|
|
|
81
|
+
> [!IMPORTANT]
|
|
82
|
+
> 已发布的包名为 `@anionex/dsh-computer-use`。旧名
|
|
83
|
+
> `@dsh-external/dsh-computer-use` 从未发布到 npm,不可安装;
|
|
84
|
+
> 安装前请先更新旧的 profile 或 manifest 引用。
|
|
85
|
+
|
|
81
86
|
```sh
|
|
82
87
|
dsh plugin --profile web add @anionex/dsh-computer-use
|
|
83
88
|
dsh plugin --profile headless add @anionex/dsh-computer-use
|
|
@@ -153,8 +158,16 @@ resolution?: {
|
|
|
153
158
|
candidateCount: number
|
|
154
159
|
targetChanged: boolean
|
|
155
160
|
}
|
|
161
|
+
agentCursor?: { visible: false; reason?: string }
|
|
162
|
+
effect: {
|
|
163
|
+
observedStateChanged: boolean
|
|
164
|
+
observedForMs: number
|
|
165
|
+
note?: string
|
|
166
|
+
}
|
|
156
167
|
```
|
|
157
168
|
|
|
169
|
+
`effect.observedStateChanged` 比较窗口 title、id、frame 与 Accessibility 元素树;它不证明变化由本次动作造成,也无法观察纯像素、瞬时、远端或其他外部效果。只有独立 Agent 光标本应显示却无法显示或验证时,结果才会出现 `agentCursor`。
|
|
170
|
+
|
|
158
171
|
模型不能通过 Tool 参数覆盖这些宿主策略。
|
|
159
172
|
|
|
160
173
|
## 模型 Tool
|
|
@@ -239,8 +252,9 @@ Settings 更新只有在校验与健康检查通过后才替换当前 provider g
|
|
|
239
252
|
|
|
240
253
|
## 状态与限制
|
|
241
254
|
|
|
242
|
-
- 状态:早期 `0.
|
|
255
|
+
- 状态:早期 `0.2.0`;稳定版本发布前,模型可见和 provider 行为仍可能变化。
|
|
243
256
|
- 当前 provider 只支持 macOS;Windows UI Automation 和 Linux provider 尚未实现。
|
|
257
|
+
- 在非 macOS 主机上插件会优雅降级:DSH profile 正常启动,不会注册 Computer Use 工具与 Skill,Web Settings 会显示 `COMPUTER_UNSUPPORTED_PLATFORM`,而不是让启动失败。
|
|
244
258
|
- 目标进程指针投递使用动态解析的 SkyLight SPI。该路由不可用时,pointer fallback 会 fail closed,不会切换到全局输入。
|
|
245
259
|
- 点击点必须落在选定应用的某个屏幕内窗口中;helper 会解析该点下最上层的匹配窗口,frame/title 匹配有歧义不再阻塞坐标动作。最小化、隐藏或无窗口目标会 fail closed。
|
|
246
260
|
- 自定义 canvas、游戏、强化输入 surface 与未来 macOS 版本可能拒绝目标进程指针或键盘事件。应尽量优先使用语义化 Accessibility。
|
package/lib/index.js
CHANGED
|
@@ -49,6 +49,12 @@ export class ComputerUseBundle extends MacOSComputerUseProvider {
|
|
|
49
49
|
/** Publish model-facing capabilities only after provider integrity and health pass. */
|
|
50
50
|
async [Service.init]() {
|
|
51
51
|
await super[Service.init]();
|
|
52
|
+
if (process.platform !== 'darwin') {
|
|
53
|
+
// Non-macOS hosts keep the profile healthy and show the reason in Web Settings,
|
|
54
|
+
// but never expose Computer Use Tools or the Skill to the model.
|
|
55
|
+
installComputerUseWeb(this.ctx);
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
52
58
|
this.consumerDispose = installComputerUseConsumer(this.ctx);
|
|
53
59
|
}
|
|
54
60
|
}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,OAAO,EAAE,OAAO,EAAgB,MAAM,qBAAqB,CAAA;AAK3D,OAAO,EAAE,MAAM,EAA0B,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAE1B,gGAAgG;AAChG,MAAM,UAAU,0BAA0B,CAAC,GAAY;IACrD,MAAM,QAAQ,GAAG,IAAI,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAA;IAC5F,IAAI,UAAoC,CAAA;IACxC,IAAI,KAA+B,CAAA;IACnC,IAAI,eAAyC,CAAA;IAC7C,IAAI,CAAC;QACH,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;QACxD,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;QAC/C,eAAe,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAA;QACpC,qBAAqB,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAe,EAAE,EAAE,CAAA;QACnB,KAAK,EAAE,EAAE,CAAA;QACT,UAAU,EAAE,EAAE,CAAA;QACd,MAAM,KAAK,CAAA;IACb,CAAC;IACD,OAAO,GAAG,EAAE;QACV,eAAe,EAAE,EAAE,CAAA;QACnB,UAAU,EAAE,EAAE,CAAA;QACd,KAAK,EAAE,EAAE,CAAA;IACX,CAAC,CAAA;AACH,CAAC;AAED,0FAA0F;AAC1F,MAAM,OAAO,iBAAkB,SAAQ,wBAAwB;IAC7D,MAAM,CAAU,MAAM,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IACxG,MAAM,CAAU,MAAM,GAAG,MAAM,CAAA;IAEvB,eAAe,CAA0B;IAEjD,YAAY,GAAY,EAAE,SAA4B,EAAE;QACtD,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAClB,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE;YACpB,IAAI,CAAC,eAAe,EAAE,EAAE,CAAA;YACxB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAClC,CAAC,EAAE,sCAAsC,CAAC,CAAA;IAC5C,CAAC;IAED,uFAAuF;IACpE,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACrC,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;QAC3B,IAAI,CAAC,eAAe,GAAG,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7D,CAAC;;AAGH,eAAe,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,OAAO,EAAE,OAAO,EAAgB,MAAM,qBAAqB,CAAA;AAK3D,OAAO,EAAE,MAAM,EAA0B,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAE1B,gGAAgG;AAChG,MAAM,UAAU,0BAA0B,CAAC,GAAY;IACrD,MAAM,QAAQ,GAAG,IAAI,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAA;IAC5F,IAAI,UAAoC,CAAA;IACxC,IAAI,KAA+B,CAAA;IACnC,IAAI,eAAyC,CAAA;IAC7C,IAAI,CAAC;QACH,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;QACxD,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;QAC/C,eAAe,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAA;QACpC,qBAAqB,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAe,EAAE,EAAE,CAAA;QACnB,KAAK,EAAE,EAAE,CAAA;QACT,UAAU,EAAE,EAAE,CAAA;QACd,MAAM,KAAK,CAAA;IACb,CAAC;IACD,OAAO,GAAG,EAAE;QACV,eAAe,EAAE,EAAE,CAAA;QACnB,UAAU,EAAE,EAAE,CAAA;QACd,KAAK,EAAE,EAAE,CAAA;IACX,CAAC,CAAA;AACH,CAAC;AAED,0FAA0F;AAC1F,MAAM,OAAO,iBAAkB,SAAQ,wBAAwB;IAC7D,MAAM,CAAU,MAAM,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IACxG,MAAM,CAAU,MAAM,GAAG,MAAM,CAAA;IAEvB,eAAe,CAA0B;IAEjD,YAAY,GAAY,EAAE,SAA4B,EAAE;QACtD,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAClB,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE;YACpB,IAAI,CAAC,eAAe,EAAE,EAAE,CAAA;YACxB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAClC,CAAC,EAAE,sCAAsC,CAAC,CAAA;IAC5C,CAAC;IAED,uFAAuF;IACpE,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACrC,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;QAC3B,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,gFAAgF;YAChF,iEAAiE;YACjE,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC/B,OAAM;QACR,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7D,CAAC;;AAGH,eAAe,iBAAiB,CAAA"}
|
package/lib/providers/macos.js
CHANGED
|
@@ -2,11 +2,16 @@
|
|
|
2
2
|
import { setTimeout as delay } from 'node:timers/promises';
|
|
3
3
|
import { Service } from '@deepseek-ai/cordis';
|
|
4
4
|
import { Config, COMPUTER_USE_SETTINGS_NAMESPACE, resolveConfig, } from "../config.js";
|
|
5
|
-
import { ComputerUseError } from "../errors.js";
|
|
6
5
|
import { ComputerUseService } from "../service.js";
|
|
7
6
|
import { NativeHelperClient } from "./native-helper.js";
|
|
7
|
+
import { UnsupportedPlatformBackend } from "./unsupported.js";
|
|
8
|
+
function createBackend(ctx, config) {
|
|
9
|
+
return process.platform === 'darwin'
|
|
10
|
+
? new MacOSBackend(ctx, config)
|
|
11
|
+
: new UnsupportedPlatformBackend(process.platform);
|
|
12
|
+
}
|
|
8
13
|
/** Fixed-command native backend. */
|
|
9
|
-
class MacOSBackend {
|
|
14
|
+
export class MacOSBackend {
|
|
10
15
|
config;
|
|
11
16
|
name = 'macos-ax';
|
|
12
17
|
client;
|
|
@@ -46,10 +51,17 @@ class MacOSBackend {
|
|
|
46
51
|
}
|
|
47
52
|
async visualizeCursor(action, phase, signal) {
|
|
48
53
|
if (this.config.interaction.cursorVisualization !== 'visible')
|
|
49
|
-
return;
|
|
54
|
+
return { visible: false, reason: 'the agent cursor is disabled by configuration' };
|
|
55
|
+
// The overlay answers per command; the least visible outcome wins, because
|
|
56
|
+
// a cursor that vanished partway through is a cursor the user cannot follow.
|
|
57
|
+
let outcome = { visible: true };
|
|
58
|
+
const record = (response) => {
|
|
59
|
+
if (!response.visible && outcome.visible)
|
|
60
|
+
outcome = response;
|
|
61
|
+
};
|
|
50
62
|
const autoHideMs = this.config.interaction.cursorAutoHideMs;
|
|
51
63
|
const move = async (point, durationMs) => {
|
|
52
|
-
await this.client.cursorCommand({
|
|
64
|
+
record(await this.client.cursorCommand({
|
|
53
65
|
op: 'move',
|
|
54
66
|
x: point.x,
|
|
55
67
|
y: point.y,
|
|
@@ -58,39 +70,41 @@ class MacOSBackend {
|
|
|
58
70
|
targetPid: action.targetPid,
|
|
59
71
|
targetWindowNumber: action.targetWindowNumber,
|
|
60
72
|
targetWindowFrame: action.targetWindowFrame,
|
|
61
|
-
}, signal);
|
|
73
|
+
}, signal));
|
|
62
74
|
};
|
|
63
75
|
if (phase === 'after') {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
76
|
+
// Every action validates the bound target after native input. Only drag
|
|
77
|
+
// needs release semantics; click and scroll use a side-effect-free check.
|
|
78
|
+
record(await this.client.cursorCommand({
|
|
79
|
+
op: action.kind === 'drag' ? 'release' : 'validate',
|
|
80
|
+
autoHideMs,
|
|
81
|
+
targetPid: action.targetPid,
|
|
82
|
+
targetWindowNumber: action.targetWindowNumber,
|
|
83
|
+
targetWindowFrame: action.targetWindowFrame,
|
|
84
|
+
}, signal));
|
|
85
|
+
return outcome;
|
|
73
86
|
}
|
|
74
87
|
const start = action.kind === 'drag' ? action.from : action.to;
|
|
75
88
|
if (start === undefined)
|
|
76
|
-
return;
|
|
89
|
+
return { visible: false, reason: 'this action has no cursor position to show' };
|
|
77
90
|
await move(start, this.config.interaction.cursorMotionMs);
|
|
78
91
|
if (this.config.interaction.cursorMotionMs > 0) {
|
|
79
92
|
await delay(this.config.interaction.cursorMotionMs, undefined, { signal });
|
|
80
93
|
}
|
|
81
94
|
if (action.kind === 'scroll')
|
|
82
|
-
return;
|
|
83
|
-
await this.client.cursorCommand({
|
|
95
|
+
return outcome;
|
|
96
|
+
record(await this.client.cursorCommand({
|
|
84
97
|
op: 'press',
|
|
85
98
|
autoHideMs,
|
|
86
99
|
targetPid: action.targetPid,
|
|
87
100
|
targetWindowNumber: action.targetWindowNumber,
|
|
88
101
|
targetWindowFrame: action.targetWindowFrame,
|
|
89
102
|
sustainedPress: action.kind === 'drag',
|
|
90
|
-
}, signal);
|
|
103
|
+
}, signal));
|
|
91
104
|
if (action.kind === 'drag') {
|
|
92
105
|
await move(action.to, Math.max(this.config.interaction.cursorMotionMs, 240));
|
|
93
106
|
}
|
|
107
|
+
return outcome;
|
|
94
108
|
}
|
|
95
109
|
async dispose() {
|
|
96
110
|
await this.client.dispose();
|
|
@@ -115,20 +129,20 @@ export class MacOSComputerUseProvider extends ComputerUseService {
|
|
|
115
129
|
static Config = Config;
|
|
116
130
|
settings;
|
|
117
131
|
constructor(ctx, config = {}) {
|
|
118
|
-
if (process.platform !== 'darwin') {
|
|
119
|
-
throw new ComputerUseError('COMPUTER_UNSUPPORTED_PLATFORM', `dsh-computer-use 0.1.0 supports macOS only; current platform is ${process.platform}`);
|
|
120
|
-
}
|
|
121
132
|
const settings = ctx.settings.register(COMPUTER_USE_SETTINGS_NAMESPACE, Config, {
|
|
122
133
|
base: config,
|
|
123
134
|
applies: 'live',
|
|
124
135
|
validate: (value) => { resolveConfig(value); },
|
|
125
136
|
});
|
|
126
137
|
const resolved = resolveConfig(settings.get());
|
|
127
|
-
super(ctx,
|
|
138
|
+
super(ctx, createBackend(ctx, resolved), resolved);
|
|
128
139
|
this.settings = settings;
|
|
140
|
+
if (process.platform !== 'darwin') {
|
|
141
|
+
ctx.logger.warn('dsh-computer-use: supports macOS only; Computer Use Tools are disabled on %s', process.platform);
|
|
142
|
+
}
|
|
129
143
|
ctx.effect(() => this.settings.watch(async (next) => {
|
|
130
144
|
const candidate = resolveConfig(next);
|
|
131
|
-
const backend =
|
|
145
|
+
const backend = createBackend(ctx, candidate);
|
|
132
146
|
try {
|
|
133
147
|
await this.reconfigure(backend, candidate);
|
|
134
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"macos.js","sourceRoot":"","sources":["../../src/providers/macos.ts"],"names":[],"mappings":"AAAA,wFAAwF;AAExF,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAgB,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"macos.js","sourceRoot":"","sources":["../../src/providers/macos.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,11 @@ import { constants } from 'node:fs';
|
|
|
5
5
|
import { dirname, resolve } from 'node:path';
|
|
6
6
|
import { fileURLToPath } from 'node:url';
|
|
7
7
|
import { ComputerUseError, computerUseError } from "../errors.js";
|
|
8
|
+
/** The overlay normally answers in under a millisecond; silence is a visibility failure. */
|
|
9
|
+
// Keep this off the native action's critical path. A timed-out generation is
|
|
10
|
+
// discarded before the next serialized command, so a late frame cannot be
|
|
11
|
+
// mistaken for the next command's response.
|
|
12
|
+
const CURSOR_RESPONSE_TIMEOUT_MS = 120;
|
|
8
13
|
const CURSOR_READY_TIMEOUT_MS = 2_000;
|
|
9
14
|
const CURSOR_PROTOCOL_MAX_BYTES = 64 * 1024;
|
|
10
15
|
function collected(reader) {
|
|
@@ -21,6 +26,57 @@ async function sha256(path) {
|
|
|
21
26
|
function nativeRoot() {
|
|
22
27
|
return fileURLToPath(new URL('../../native/macos/', import.meta.url));
|
|
23
28
|
}
|
|
29
|
+
function cursorErrorMessage(error) {
|
|
30
|
+
if (typeof error === 'string' && error.length > 0)
|
|
31
|
+
return error.slice(0, 1000);
|
|
32
|
+
if (typeof error !== 'object' || error === null)
|
|
33
|
+
return undefined;
|
|
34
|
+
const message = error.message;
|
|
35
|
+
return typeof message === 'string' && message.length > 0 ? message.slice(0, 1000) : undefined;
|
|
36
|
+
}
|
|
37
|
+
function normalizeCursorResponse(command, response) {
|
|
38
|
+
if (response.ok === false) {
|
|
39
|
+
const detail = cursorErrorMessage(response.error);
|
|
40
|
+
return {
|
|
41
|
+
result: {
|
|
42
|
+
visible: false,
|
|
43
|
+
reason: detail === undefined
|
|
44
|
+
? 'the native cursor overlay rejected its command'
|
|
45
|
+
: `the native cursor overlay rejected its command: ${detail}`,
|
|
46
|
+
},
|
|
47
|
+
discardGeneration: false,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
if (response.ok !== true) {
|
|
51
|
+
return {
|
|
52
|
+
result: { visible: false, reason: 'the native cursor overlay returned a malformed response' },
|
|
53
|
+
discardGeneration: true,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
if (typeof command.op !== 'string' || response.op !== command.op) {
|
|
57
|
+
return {
|
|
58
|
+
result: { visible: false, reason: 'the native cursor overlay response did not match its command' },
|
|
59
|
+
discardGeneration: true,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
if (response.visible === true)
|
|
63
|
+
return { result: { visible: true }, discardGeneration: false };
|
|
64
|
+
if (response.visible === false) {
|
|
65
|
+
return {
|
|
66
|
+
result: {
|
|
67
|
+
visible: false,
|
|
68
|
+
...(typeof response.reason === 'string' && response.reason.length > 0
|
|
69
|
+
? { reason: response.reason.slice(0, 1000) }
|
|
70
|
+
: { reason: 'the native cursor overlay reported that the cursor is not visible' }),
|
|
71
|
+
},
|
|
72
|
+
discardGeneration: false,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
result: { visible: false, reason: 'the native cursor overlay did not report boolean visibility' },
|
|
77
|
+
discardGeneration: true,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
24
80
|
/** Invokes only the packaged JSON protocol through `ctx.subprocess`; no source or shell reaches the helper. */
|
|
25
81
|
export class NativeHelperClient {
|
|
26
82
|
ctx;
|
|
@@ -29,6 +85,7 @@ export class NativeHelperClient {
|
|
|
29
85
|
prepared;
|
|
30
86
|
cursor;
|
|
31
87
|
cursorStart;
|
|
88
|
+
cursorCommandTail = Promise.resolve();
|
|
32
89
|
constructor(ctx, config, managedRoot = nativeRoot()) {
|
|
33
90
|
this.ctx = ctx;
|
|
34
91
|
this.config = config;
|
|
@@ -142,8 +199,13 @@ export class NativeHelperClient {
|
|
|
142
199
|
throw new ComputerUseError(envelope.error.code, envelope.error.message.slice(0, 1000));
|
|
143
200
|
return envelope.value;
|
|
144
201
|
}
|
|
145
|
-
/** Send one
|
|
146
|
-
|
|
202
|
+
/** Send one serialized command to the persistent, click-through Agent cursor overlay. */
|
|
203
|
+
cursorCommand(command, signal) {
|
|
204
|
+
const run = this.cursorCommandTail.then(async () => await this.executeCursorCommand(command, signal));
|
|
205
|
+
this.cursorCommandTail = run.then(() => undefined, () => undefined);
|
|
206
|
+
return run;
|
|
207
|
+
}
|
|
208
|
+
async executeCursorCommand(command, signal) {
|
|
147
209
|
const prepared = this.prepared ?? await this.prepare(signal);
|
|
148
210
|
const cursor = await this.getCursor(prepared, signal);
|
|
149
211
|
signal.throwIfAborted();
|
|
@@ -156,14 +218,26 @@ export class NativeHelperClient {
|
|
|
156
218
|
rejectWrite(error);
|
|
157
219
|
});
|
|
158
220
|
});
|
|
221
|
+
const frame = await cursor.nextResponse();
|
|
222
|
+
if (frame.kind === 'failure') {
|
|
223
|
+
this.discardCursor(cursor);
|
|
224
|
+
return { visible: false, reason: frame.reason };
|
|
225
|
+
}
|
|
226
|
+
const normalized = normalizeCursorResponse(command, frame.response);
|
|
227
|
+
if (normalized.discardGeneration)
|
|
228
|
+
this.discardCursor(cursor);
|
|
229
|
+
return normalized.result;
|
|
159
230
|
}
|
|
160
231
|
catch (error) {
|
|
161
|
-
|
|
162
|
-
this.cursor = undefined;
|
|
163
|
-
cursor.terminate();
|
|
232
|
+
this.discardCursor(cursor);
|
|
164
233
|
throw computerUseError(error, 'native cursor overlay command failed');
|
|
165
234
|
}
|
|
166
235
|
}
|
|
236
|
+
discardCursor(cursor) {
|
|
237
|
+
if (this.cursor === cursor)
|
|
238
|
+
this.cursor = undefined;
|
|
239
|
+
cursor.terminate();
|
|
240
|
+
}
|
|
167
241
|
/** Stop the cursor process before a provider generation is replaced or disposed. */
|
|
168
242
|
async dispose() {
|
|
169
243
|
const cursor = this.cursor ?? await this.cursorStart?.promise.catch(() => undefined);
|
|
@@ -268,10 +342,81 @@ export class NativeHelperClient {
|
|
|
268
342
|
const stderr = collected(handle.collected.stderr).trim();
|
|
269
343
|
throw new ComputerUseError('COMPUTER_PROVIDER_FAILURE', `native cursor overlay failed to become ready${stderr.length === 0 ? '' : `: ${stderr.slice(0, 1000)}`}`, { cause: error });
|
|
270
344
|
}
|
|
271
|
-
|
|
345
|
+
// Commands are serialized by the client and the overlay answers one line
|
|
346
|
+
// per command. A protocol failure invalidates this entire process
|
|
347
|
+
// generation; its buffered or late frames can never reach a replacement.
|
|
348
|
+
const pending = [];
|
|
349
|
+
const buffered = [];
|
|
350
|
+
const dispatch = (frame) => {
|
|
351
|
+
const waiter = pending.shift();
|
|
352
|
+
if (waiter === undefined)
|
|
353
|
+
buffered.push(frame);
|
|
354
|
+
else
|
|
355
|
+
waiter(frame);
|
|
356
|
+
};
|
|
357
|
+
let residue = '';
|
|
358
|
+
handle.stdout.setEncoding('utf8').on('data', (chunk) => {
|
|
359
|
+
residue += chunk;
|
|
360
|
+
if (Buffer.byteLength(residue) > CURSOR_PROTOCOL_MAX_BYTES && !residue.includes('\n')) {
|
|
361
|
+
residue = '';
|
|
362
|
+
dispatch({ kind: 'failure', reason: 'the native cursor overlay response exceeded its protocol limit' });
|
|
363
|
+
return;
|
|
364
|
+
}
|
|
365
|
+
while (true) {
|
|
366
|
+
const newline = residue.indexOf('\n');
|
|
367
|
+
if (newline < 0)
|
|
368
|
+
break;
|
|
369
|
+
const line = residue.slice(0, newline).trim();
|
|
370
|
+
residue = residue.slice(newline + 1);
|
|
371
|
+
if (line.length === 0)
|
|
372
|
+
continue;
|
|
373
|
+
if (Buffer.byteLength(line) > CURSOR_PROTOCOL_MAX_BYTES) {
|
|
374
|
+
dispatch({ kind: 'failure', reason: 'the native cursor overlay response exceeded its protocol limit' });
|
|
375
|
+
continue;
|
|
376
|
+
}
|
|
377
|
+
let parsed;
|
|
378
|
+
try {
|
|
379
|
+
parsed = JSON.parse(line);
|
|
380
|
+
}
|
|
381
|
+
catch {
|
|
382
|
+
dispatch({ kind: 'failure', reason: 'the native cursor overlay returned invalid JSON' });
|
|
383
|
+
continue;
|
|
384
|
+
}
|
|
385
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
386
|
+
dispatch({ kind: 'failure', reason: 'the native cursor overlay returned a malformed response' });
|
|
387
|
+
continue;
|
|
388
|
+
}
|
|
389
|
+
dispatch({ kind: 'response', response: parsed });
|
|
390
|
+
}
|
|
391
|
+
});
|
|
392
|
+
handle.stdout.once('end', () => {
|
|
393
|
+
dispatch({ kind: 'failure', reason: 'the native cursor overlay closed before replying' });
|
|
394
|
+
});
|
|
395
|
+
handle.stdout.once('error', error => {
|
|
396
|
+
dispatch({ kind: 'failure', reason: `the native cursor overlay response stream failed: ${error.message}` });
|
|
397
|
+
});
|
|
272
398
|
return {
|
|
273
399
|
stdin: handle.stdin,
|
|
274
400
|
done: handle.done,
|
|
401
|
+
nextResponse: async () => {
|
|
402
|
+
const ready = buffered.shift();
|
|
403
|
+
if (ready !== undefined)
|
|
404
|
+
return ready;
|
|
405
|
+
return await new Promise((resolveResponse) => {
|
|
406
|
+
const settle = (frame) => {
|
|
407
|
+
const index = pending.indexOf(settle);
|
|
408
|
+
if (index >= 0)
|
|
409
|
+
pending.splice(index, 1);
|
|
410
|
+
clearTimeout(timer);
|
|
411
|
+
resolveResponse(frame);
|
|
412
|
+
};
|
|
413
|
+
const timer = setTimeout(() => settle({
|
|
414
|
+
kind: 'failure',
|
|
415
|
+
reason: `the native cursor overlay did not respond within ${CURSOR_RESPONSE_TIMEOUT_MS} milliseconds`,
|
|
416
|
+
}), CURSOR_RESPONSE_TIMEOUT_MS);
|
|
417
|
+
pending.push(settle);
|
|
418
|
+
});
|
|
419
|
+
},
|
|
275
420
|
terminate: () => {
|
|
276
421
|
cursorSignal.abort();
|
|
277
422
|
handle.terminate();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-helper.js","sourceRoot":"","sources":["../../src/providers/native-helper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"native-helper.js","sourceRoot":"","sources":["../../src/providers/native-helper.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAElF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACjF,OAAO,EAAE,SAAS,EAAc,MAAM,SAAS,CAAA;AAE/C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAKxC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAA6B,MAAM,cAAc,CAAA;AA6B5F,4FAA4F;AAC5F,6EAA6E;AAC7E,0EAA0E;AAC1E,4CAA4C;AAC5C,MAAM,0BAA0B,GAAG,GAAG,CAAA;AAEtC,MAAM,uBAAuB,GAAG,KAAK,CAAA;AACrC,MAAM,yBAAyB,GAAG,EAAE,GAAG,IAAI,CAAA;AAe3C,SAAS,SAAS,CAAC,MAA0C;IAC3D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAChC,IAAI,KAAK,CAAC,KAAK;QAAE,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,kDAAkD,CAAC,CAAA;IAC5H,OAAO,KAAK,CAAC,IAAI,CAAA;AACnB,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAY;IAChC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACxE,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AACvE,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAC9E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IACjE,MAAM,OAAO,GAAI,KAA+B,CAAC,OAAO,CAAA;IACxD,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAC/F,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAAgC,EAChC,QAAiC;IAEjC,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACjD,OAAO;YACL,MAAM,EAAE;gBACN,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,MAAM,KAAK,SAAS;oBAC1B,CAAC,CAAC,gDAAgD;oBAClD,CAAC,CAAC,mDAAmD,MAAM,EAAE;aAChE;YACD,iBAAiB,EAAE,KAAK;SACzB,CAAA;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QACzB,OAAO;YACL,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,yDAAyD,EAAE;YAC7F,iBAAiB,EAAE,IAAI;SACxB,CAAA;IACH,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,IAAI,QAAQ,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;QACjE,OAAO;YACL,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,8DAA8D,EAAE;YAClG,iBAAiB,EAAE,IAAI;SACxB,CAAA;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAA;IAC7F,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC/B,OAAO;YACL,MAAM,EAAE;gBACN,OAAO,EAAE,KAAK;gBACd,GAAG,CAAC,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;oBACnE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;oBAC5C,CAAC,CAAC,EAAE,MAAM,EAAE,mEAAmE,EAAE,CAAC;aACrF;YACD,iBAAiB,EAAE,KAAK;SACzB,CAAA;IACH,CAAC;IACD,OAAO;QACL,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,6DAA6D,EAAE;QACjG,iBAAiB,EAAE,IAAI;KACxB,CAAA;AACH,CAAC;AASD,+GAA+G;AAC/G,MAAM,OAAO,kBAAkB;IAOV;IACA;IACA;IARX,QAAQ,CAAuB;IAC/B,MAAM,CAA2B;IACjC,WAAW,CAAiD;IAC5D,iBAAiB,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAA;IAE5D,YACmB,GAAY,EACZ,MAAiC,EACjC,cAAc,UAAU,EAAE;QAF1B,QAAG,GAAH,GAAG,CAAS;QACZ,WAAM,GAAN,MAAM,CAA2B;QACjC,gBAAW,GAAX,WAAW,CAAe;IAC1C,CAAC;IAEJ,6FAA6F;IAC7F,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,yBAAyB,CAAC,CAAA;IACtH,CAAC;IAED,iFAAiF;IACjF,KAAK,CAAC,OAAO,CAAC,MAAmB;QAC/B,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,gBAAgB,CAAC,+BAA+B,EAAE,gCAAgC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;QACjH,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAA;QACrD,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAA;QAC1B,IAAI,YAAmB,CAAA;QACvB,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAI,KAA+B,CAAC,IAAI,KAAK,QAAQ,CAAA;YAClE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBACjE,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,2CAA2C,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;YAC9H,CAAC;YACD,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;YAC/B,YAAY,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC;YAC5D,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,8DAA8D,CAAC,CAAA;QACzH,CAAC;QACD,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,OAAO,GAAG,UAAU,CAAA;QACxB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;YAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAmB,CAAA;YACnF,IAAI,QAAQ,CAAC,aAAa,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,6BAA6B,EAAE,CAAC;gBAC3F,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,qCAAqC,CAAC,CAAA;YAChG,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtC,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,8DAA8D,CAAC,CAAA;YACzH,CAAC;YACD,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAA;QAClC,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,6CAA6C,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;YAChI,CAAC;YACD,IAAI,CAAC;gBACH,sEAAsE;gBACtE,qEAAqE;gBACrE,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,CAAA;gBACtD,MAAM,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;YACpC,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,sDAAsD,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;YAC9I,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QACjD,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,2EAA2E;IAC3E,KAAK,CAAC,MAAM,CAAI,OAAgC,EAAE,MAAmB;QACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC5D,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;QAChE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;YACvC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,KAAK,EAAE;gBACL,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI,EAAE;gBAC1E,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE;gBACrC,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,EAAE;aAChC;YACD,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE;gBACH,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,aAAa;gBACvC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,aAAa;aAC5C;SACF,CAAC,CAAA;QACF,IAAI,OAAO,CAAA;QACX,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAA;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,gBAAgB,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAA;QAChE,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,MAAM,CAAC,OAAO;gBAAE,MAAM,IAAI,gBAAgB,CAAC,oBAAoB,EAAE,kCAAkC,CAAC,CAAA;YACxG,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,0BAA0B,IAAI,CAAC,MAAM,CAAC,eAAe,eAAe,CAAC,CAAA;QACtH,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QACjD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QACjD,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,wBAAwB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QACrL,CAAC;QACD,IAAI,QAA2B,CAAA;QAC/B,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAsB,CAAA;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,qCAAqC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QAClH,CAAC;QACD,IAAI,QAAQ,CAAC,EAAE,KAAK,IAAI;YAAE,MAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;QAChH,OAAO,QAAQ,CAAC,KAAK,CAAA;IACvB,CAAC;IAED,yFAAyF;IACzF,aAAa,CAAC,OAAgC,EAAE,MAAmB;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;QACrG,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QACnE,OAAO,GAAG,CAAA;IACZ,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,OAAgC,EAAE,MAAmB;QACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACrD,MAAM,CAAC,cAAc,EAAE,CAAA;QACvB,IAAI,CAAC;YACH,MAAM,IAAI,OAAO,CAAO,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE;gBACpD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;oBACzD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;wBAAE,YAAY,EAAE,CAAA;;wBACpD,WAAW,CAAC,KAAK,CAAC,CAAA;gBACzB,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YACF,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAA;YACzC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC7B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;gBAC1B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAA;YACjD,CAAC;YACD,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;YACnE,IAAI,UAAU,CAAC,iBAAiB;gBAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;YAC5D,OAAO,UAAU,CAAC,MAAM,CAAA;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;YAC1B,MAAM,gBAAgB,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAA;QACvE,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,MAAqB;QACzC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;QACnD,MAAM,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAED,oFAAoF;IACpF,KAAK,CAAC,OAAO;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QACpF,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;QACvB,IAAI,MAAM,KAAK,SAAS;YAAE,OAAM;QAChC,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,CAAA;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,+EAA+E;QACjF,CAAC;QACD,IAAI,MAAM,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAAE,OAAM;QAChE,MAAM,CAAC,SAAS,EAAE,CAAA;QAClB,MAAM,MAAM,CAAC,WAAW,EAAE,CAAA;IAC5B,CAAC;IAED,wDAAwD;IACxD,YAAY;QACV,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,+BAA+B,CAAC,CAAA;QACzH,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,MAAmB;QAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,gCAAgC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACxF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;YACvC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC;YACjD,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC;YACpB,KAAK,EAAE;gBACL,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI,EAAE;gBAChC,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI,EAAE;aACjC;YACD,OAAO,EAAE,IAAI;YACb,MAAM;YACN,GAAG,EAAE,EAAE;SACR,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAA;QACjC,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YACjD,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,wCAAwC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;QAC1H,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAC/D,IAAI,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI;YAAE,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,4DAA4D,CAAC,CAAA;IACpJ,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,QAA8B,EAAE,MAAmB;QACzE,MAAM,CAAC,cAAc,EAAE,CAAA;QACvB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,MAAM,CAAA;QACjD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,KAAK,GAAwC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,SAAkB,CAAC,EAAE,CAAA;YACnG,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACvD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;gBACpB,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;oBACnD,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;wBAAE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;gBACrD,CAAC,CAAC,CAAA;gBACF,OAAO,MAAM,CAAA;YACf,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBACd,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK;oBAAE,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;YAC9D,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;QAC1B,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAA;QAC7C,MAAM,CAAC,cAAc,EAAE,CAAA;QACvB,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,QAA8B;QACtD,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAA;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;YACvC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;YACzC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,KAAK,EAAE;gBACL,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,EAAE;aAChC;YACD,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,GAAG,EAAE;gBACH,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,aAAa;gBACvC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,aAAa;aAC5C;SACF,CAAC,CAAA;QACF,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9D,MAAM,CAAC,SAAS,EAAE,CAAA;YAClB,MAAM,MAAM,CAAC,WAAW,EAAE,CAAA;YAC1B,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,sDAAsD,CAAC,CAAA;QACjH,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC5B,iFAAiF;QACnF,CAAC,CAAC,CAAA;QACF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,SAAS,EAAE,CAAA;YAClB,MAAM,MAAM,CAAC,WAAW,EAAE,CAAA;YAC1B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;YACxD,MAAM,IAAI,gBAAgB,CACxB,2BAA2B,EAC3B,+CAA+C,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,EACxG,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;QACH,CAAC;QACD,yEAAyE;QACzE,kEAAkE;QAClE,yEAAyE;QACzE,MAAM,OAAO,GAAgD,EAAE,CAAA;QAC/D,MAAM,QAAQ,GAA0B,EAAE,CAAA;QAC1C,MAAM,QAAQ,GAAG,CAAC,KAA0B,EAAQ,EAAE;YACpD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAA;YAC9B,IAAI,MAAM,KAAK,SAAS;gBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;;gBACzC,MAAM,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC,CAAA;QACD,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAC7D,OAAO,IAAI,KAAK,CAAA;YAChB,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,yBAAyB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtF,OAAO,GAAG,EAAE,CAAA;gBACZ,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,gEAAgE,EAAE,CAAC,CAAA;gBACvG,OAAM;YACR,CAAC;YACD,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;gBACrC,IAAI,OAAO,GAAG,CAAC;oBAAE,MAAK;gBACtB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;gBAC7C,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;gBACpC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAQ;gBAC/B,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,yBAAyB,EAAE,CAAC;oBACxD,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,gEAAgE,EAAE,CAAC,CAAA;oBACvG,SAAQ;gBACV,CAAC;gBACD,IAAI,MAAe,CAAA;gBACnB,IAAI,CAAC;oBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,iDAAiD,EAAE,CAAC,CAAA;oBACxF,SAAQ;gBACV,CAAC;gBACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3E,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,yDAAyD,EAAE,CAAC,CAAA;oBAChG,SAAQ;gBACV,CAAC;gBACD,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAiC,EAAE,CAAC,CAAA;YAC7E,CAAC;QACH,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;YAC7B,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,kDAAkD,EAAE,CAAC,CAAA;QAC3F,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YAClC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,qDAAqD,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QAC7G,CAAC,CAAC,CAAA;QACF,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,YAAY,EAAE,KAAK,IAAI,EAAE;gBACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;gBAC9B,IAAI,KAAK,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAA;gBACrC,OAAO,MAAM,IAAI,OAAO,CAAsB,CAAC,eAAe,EAAE,EAAE;oBAChE,MAAM,MAAM,GAAG,CAAC,KAA0B,EAAQ,EAAE;wBAClD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;wBACrC,IAAI,KAAK,IAAI,CAAC;4BAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;wBACxC,YAAY,CAAC,KAAK,CAAC,CAAA;wBACnB,eAAe,CAAC,KAAK,CAAC,CAAA;oBACxB,CAAC,CAAA;oBACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;wBACpC,IAAI,EAAE,SAAS;wBACf,MAAM,EAAE,oDAAoD,0BAA0B,eAAe;qBACtG,CAAC,EAAE,0BAA0B,CAAC,CAAA;oBAC/B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACtB,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,SAAS,EAAE,GAAG,EAAE;gBACd,YAAY,CAAC,KAAK,EAAE,CAAA;gBACpB,MAAM,CAAC,SAAS,EAAE,CAAA;YACpB,CAAC;YACD,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;SAClD,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,MAAwB;QACvD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC5B,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QACzE,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAA;QAC5D,MAAM,IAAI,OAAO,CAAO,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE;YACpD,IAAI,MAAM,GAAG,EAAE,CAAA;YACf,IAAI,OAAO,GAAG,KAAK,CAAA;YACnB,MAAM,OAAO,GAAG,GAAS,EAAE;gBACzB,cAAc,EAAE,CAAA;gBAChB,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;YACjD,CAAC,CAAA;YACD,MAAM,OAAO,GAAG,GAAS,EAAE;gBACzB,IAAI,OAAO;oBAAE,OAAM;gBACnB,OAAO,GAAG,IAAI,CAAA;gBACd,OAAO,EAAE,CAAA;gBACT,YAAY,EAAE,CAAA;YAChB,CAAC,CAAA;YACD,MAAM,IAAI,GAAG,CAAC,KAAc,EAAQ,EAAE;gBACpC,IAAI,OAAO;oBAAE,OAAM;gBACnB,OAAO,GAAG,IAAI,CAAA;gBACd,OAAO,EAAE,CAAA;gBACT,WAAW,CAAC,KAAK,CAAC,CAAA;YACpB,CAAC,CAAA;YACD,MAAM,MAAM,GAAG,CAAC,KAAsB,EAAQ,EAAE;gBAC9C,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAA;gBAC1B,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAC;oBAC1D,IAAI,CAAC,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC,CAAA;oBACpE,OAAM;gBACR,CAAC;gBACD,OAAO,IAAI,EAAE,CAAC;oBACZ,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;oBACpC,IAAI,OAAO,GAAG,CAAC;wBAAE,OAAM;oBACvB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;oBACrC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;oBAClC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;wBAAE,SAAQ;oBAC/B,IAAI,QAAiB,CAAA;oBACrB,IAAI,CAAC;wBACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBAC7B,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,CAAC,KAAK,CAAC,CAAA;wBACX,OAAM;oBACR,CAAC;oBACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI;2BAC/C,QAA6B,CAAC,EAAE,KAAK,IAAI;2BACzC,QAAgC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;wBACtD,OAAO,EAAE,CAAA;wBACT,OAAM;oBACR,CAAC;oBACD,IAAI,CAAC,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC,CAAA;oBACvE,OAAM;gBACR,CAAC;YACH,CAAC,CAAA;YACD,MAAM,KAAK,GAAG,GAAS,EAAE,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAA,CAAC,CAAC,CAAA;YAC1F,MAAM,OAAO,GAAG,CAAC,KAAY,EAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,CAAA;YACvD,MAAM,SAAS,GAAG,GAAS,EAAE,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC,sCAAsC,uBAAuB,eAAe,CAAC,CAAC,CAAA,CAAC,CAAC,CAAA;YAC/H,MAAM,cAAc,GAAG,GAAS,EAAE;gBAChC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;gBACrC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;gBACnC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACzC,CAAC,CAAA;YACD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACzB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YACzB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC7B,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC5D,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CACnB,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC,uCAAuC,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA,CAAC,CAAC,EACpH,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,CACzB,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/** Non-macOS fallback backend: keeps the Service injectable, fails closed, and reports an unavailable health state. */
|
|
2
|
+
import { ComputerUseError } from "../errors.js";
|
|
3
|
+
function unsupported(platform) {
|
|
4
|
+
return new ComputerUseError('COMPUTER_UNSUPPORTED_PLATFORM', `dsh-computer-use supports macOS only; Computer Use is disabled on ${platform}`);
|
|
5
|
+
}
|
|
6
|
+
/** Backend that reports a clear unavailable state instead of failing profile startup on non-macOS hosts. */
|
|
7
|
+
export class UnsupportedPlatformBackend {
|
|
8
|
+
platform;
|
|
9
|
+
name = 'unsupported';
|
|
10
|
+
helperPath = '';
|
|
11
|
+
constructor(platform) {
|
|
12
|
+
this.platform = platform;
|
|
13
|
+
}
|
|
14
|
+
async health() {
|
|
15
|
+
const failure = unsupported(this.platform);
|
|
16
|
+
return {
|
|
17
|
+
ready: false,
|
|
18
|
+
error: failure.message,
|
|
19
|
+
helperVersion: 'unsupported',
|
|
20
|
+
helperSha256: '',
|
|
21
|
+
accessibility: 'unavailable',
|
|
22
|
+
screenRecording: 'unavailable',
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
resolveApp(_selector) {
|
|
26
|
+
return Promise.reject(unsupported(this.platform));
|
|
27
|
+
}
|
|
28
|
+
listApps() {
|
|
29
|
+
return Promise.reject(unsupported(this.platform));
|
|
30
|
+
}
|
|
31
|
+
observe(_app, _options) {
|
|
32
|
+
return Promise.reject(unsupported(this.platform));
|
|
33
|
+
}
|
|
34
|
+
act(_request) {
|
|
35
|
+
return Promise.reject(unsupported(this.platform));
|
|
36
|
+
}
|
|
37
|
+
visualizeCursor(_action, _phase) {
|
|
38
|
+
return Promise.reject(unsupported(this.platform));
|
|
39
|
+
}
|
|
40
|
+
openSettings(_kind) {
|
|
41
|
+
return Promise.reject(unsupported(this.platform));
|
|
42
|
+
}
|
|
43
|
+
async dispose() { }
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=unsupported.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unsupported.js","sourceRoot":"","sources":["../../src/providers/unsupported.ts"],"names":[],"mappings":"AAAA,uHAAuH;AAYvH,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAG/C,SAAS,WAAW,CAAC,QAAyB;IAC5C,OAAO,IAAI,gBAAgB,CACzB,+BAA+B,EAC/B,qEAAqE,QAAQ,EAAE,CAChF,CAAA;AACH,CAAC;AAED,4GAA4G;AAC5G,MAAM,OAAO,0BAA0B;IAIR;IAHpB,IAAI,GAAG,aAAsB,CAAA;IAC7B,UAAU,GAAG,EAAE,CAAA;IAExB,YAA6B,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAAG,CAAC;IAE1D,KAAK,CAAC,MAAM;QACV,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC1C,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,OAAO,CAAC,OAAO;YACtB,aAAa,EAAE,aAAa;YAC5B,YAAY,EAAE,EAAE;YAChB,aAAa,EAAE,aAAa;YAC5B,eAAe,EAAE,aAAa;SAC/B,CAAA;IACH,CAAC;IAED,UAAU,CAAC,SAA8B;QACvC,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,QAAQ;QACN,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,OAAO,CAAC,IAAyB,EAAE,QAA+B;QAChE,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,GAAG,CAAC,QAA8B;QAChC,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,eAAe,CAAC,OAA4B,EAAE,MAA0B;QACtE,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,YAAY,CAAC,KAA2C;QACtD,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,OAAO,KAAmB,CAAC;CAClC"}
|