@toddzheng024/dscode-desktop 0.0.0-stage → 0.7.33

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 (484) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +120 -2
  3. package/THIRD_PARTY_NOTICES.md +30 -0
  4. package/bin/apply_patch +9 -0
  5. package/cordis.patch.yml +433 -0
  6. package/docs/CHANGELOG.md +641 -0
  7. package/docs/account-login.md +44 -0
  8. package/docs/auto-review.md +128 -0
  9. package/docs/browser-use.md +783 -0
  10. package/docs/computer-use.md +81 -0
  11. package/docs/custom-providers.md +88 -0
  12. package/docs/demo.md +76 -0
  13. package/docs/distribution.md +58 -0
  14. package/docs/dscode-ultra.md +75 -0
  15. package/docs/email.md +296 -0
  16. package/docs/exec.md +40 -0
  17. package/docs/hub-distribution.md +190 -0
  18. package/docs/memory.md +121 -0
  19. package/docs/opencode-go.md +61 -0
  20. package/docs/plugin-hub.md +68 -0
  21. package/docs/releases/0.2.0.md +28 -0
  22. package/docs/releases/0.3.0.md +21 -0
  23. package/docs/releases/0.4.0.md +20 -0
  24. package/docs/releases/0.5.0.md +19 -0
  25. package/docs/releases/0.6.0.md +20 -0
  26. package/docs/releases/0.7.0.md +22 -0
  27. package/docs/releases/0.7.1.md +20 -0
  28. package/docs/releases/0.7.10.md +10 -0
  29. package/docs/releases/0.7.11.md +17 -0
  30. package/docs/releases/0.7.12.md +11 -0
  31. package/docs/releases/0.7.13.md +12 -0
  32. package/docs/releases/0.7.14.md +11 -0
  33. package/docs/releases/0.7.15.md +11 -0
  34. package/docs/releases/0.7.16.md +10 -0
  35. package/docs/releases/0.7.17.md +12 -0
  36. package/docs/releases/0.7.18.md +13 -0
  37. package/docs/releases/0.7.19.md +8 -0
  38. package/docs/releases/0.7.2.md +19 -0
  39. package/docs/releases/0.7.20.md +10 -0
  40. package/docs/releases/0.7.21.md +9 -0
  41. package/docs/releases/0.7.22.md +11 -0
  42. package/docs/releases/0.7.23.md +14 -0
  43. package/docs/releases/0.7.24.md +11 -0
  44. package/docs/releases/0.7.25.md +8 -0
  45. package/docs/releases/0.7.26.md +18 -0
  46. package/docs/releases/0.7.27.md +8 -0
  47. package/docs/releases/0.7.28.md +22 -0
  48. package/docs/releases/0.7.29.md +12 -0
  49. package/docs/releases/0.7.3.md +23 -0
  50. package/docs/releases/0.7.30.md +19 -0
  51. package/docs/releases/0.7.31.md +14 -0
  52. package/docs/releases/0.7.32.md +14 -0
  53. package/docs/releases/0.7.33.md +30 -0
  54. package/docs/releases/0.7.4.md +16 -0
  55. package/docs/releases/0.7.5.md +18 -0
  56. package/docs/releases/0.7.6.md +29 -0
  57. package/docs/releases/0.7.7.md +36 -0
  58. package/docs/releases/0.7.8.md +14 -0
  59. package/docs/releases/0.7.9.md +15 -0
  60. package/docs/session-bridge.md +80 -0
  61. package/docs/session-cards.md +53 -0
  62. package/docs/session-communication.md +186 -0
  63. package/docs/session-metrics.md +41 -0
  64. package/docs/skills.md +81 -0
  65. package/docs/triggers.md +338 -0
  66. package/docs/tui-commands.md +204 -0
  67. package/extensions/browser/manifest.json +22 -0
  68. package/extensions/browser/popup.css +6 -0
  69. package/extensions/browser/popup.html +11 -0
  70. package/extensions/browser/popup.mjs +47 -0
  71. package/extensions/browser/protocol.mjs +168 -0
  72. package/extensions/browser/worker.mjs +94 -0
  73. package/icon.svg +7 -0
  74. package/locale/en.json +6 -0
  75. package/locale/zh-cn.json +6 -0
  76. package/node_modules/@deepseek-ai/node-addon-system/LICENSE +21 -0
  77. package/node_modules/@deepseek-ai/node-addon-system/README.i18n.yaml +6 -0
  78. package/node_modules/@deepseek-ai/node-addon-system/README.md +15 -0
  79. package/node_modules/@deepseek-ai/node-addon-system/README.zh.md +15 -0
  80. package/node_modules/@deepseek-ai/node-addon-system/lib/flock.d.ts +13 -0
  81. package/node_modules/@deepseek-ai/node-addon-system/lib/flock.js +51 -0
  82. package/node_modules/@deepseek-ai/node-addon-system/lib/index.d.ts +73 -0
  83. package/node_modules/@deepseek-ai/node-addon-system/lib/index.js +98 -0
  84. package/node_modules/@deepseek-ai/node-addon-system/package.json +45 -0
  85. package/node_modules/@deepseek-ai/node-addon-system/src/flock.c +164 -0
  86. package/node_modules/@deepseek-ai/node-addon-system/src/main.c +298 -0
  87. package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/LICENSE +28 -0
  88. package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/README.i18n.yaml +6 -0
  89. package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/README.md +9 -0
  90. package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/README.zh.md +9 -0
  91. package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/bin/system.node +0 -0
  92. package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/package.json +31 -0
  93. package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/prebuilds.json +6 -0
  94. package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/LICENSE +28 -0
  95. package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/README.i18n.yaml +6 -0
  96. package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/README.md +9 -0
  97. package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/README.zh.md +9 -0
  98. package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/bin/system.node +0 -0
  99. package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/package.json +31 -0
  100. package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/prebuilds.json +6 -0
  101. package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/LICENSE +28 -0
  102. package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/README.i18n.yaml +6 -0
  103. package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/README.md +11 -0
  104. package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/README.zh.md +11 -0
  105. package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/bin/glibc/system.node +0 -0
  106. package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/bin/landlock-run +0 -0
  107. package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/bin/musl/system.node +0 -0
  108. package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/package.json +31 -0
  109. package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/prebuilds.json +24 -0
  110. package/node_modules/@deepseek-ai/node-addon-system-linux-x64/LICENSE +28 -0
  111. package/node_modules/@deepseek-ai/node-addon-system-linux-x64/README.i18n.yaml +6 -0
  112. package/node_modules/@deepseek-ai/node-addon-system-linux-x64/README.md +11 -0
  113. package/node_modules/@deepseek-ai/node-addon-system-linux-x64/README.zh.md +11 -0
  114. package/node_modules/@deepseek-ai/node-addon-system-linux-x64/bin/glibc/system.node +0 -0
  115. package/node_modules/@deepseek-ai/node-addon-system-linux-x64/bin/landlock-run +0 -0
  116. package/node_modules/@deepseek-ai/node-addon-system-linux-x64/bin/musl/system.node +0 -0
  117. package/node_modules/@deepseek-ai/node-addon-system-linux-x64/package.json +31 -0
  118. package/node_modules/@deepseek-ai/node-addon-system-linux-x64/prebuilds.json +24 -0
  119. package/package.json +156 -4
  120. package/plugins/account/index.mjs +178 -0
  121. package/plugins/account/state.mjs +123 -0
  122. package/plugins/auto-review/audit.mjs +24 -0
  123. package/plugins/auto-review/index.mjs +267 -0
  124. package/plugins/auto-review/policy.mjs +92 -0
  125. package/plugins/browser/SKILL.md +158 -0
  126. package/plugins/browser/access.mjs +143 -0
  127. package/plugins/browser/config.mjs +60 -0
  128. package/plugins/browser/connection.mjs +385 -0
  129. package/plugins/browser/desktop-client.mjs +282 -0
  130. package/plugins/browser/desktop-host.mjs +74 -0
  131. package/plugins/browser/document-identity.mjs +57 -0
  132. package/plugins/browser/extension-relay.mjs +66 -0
  133. package/plugins/browser/files.mjs +32 -0
  134. package/plugins/browser/index.mjs +235 -0
  135. package/plugins/browser/mcp-entry.mjs +18 -0
  136. package/plugins/browser/mcp-tools.mjs +21 -0
  137. package/plugins/browser/presentation.mjs +45 -0
  138. package/plugins/browser/preview.mjs +77 -0
  139. package/plugins/browser/review.mjs +20 -0
  140. package/plugins/browser/screenshots.mjs +35 -0
  141. package/plugins/clipboard-image/clipboard-image.swift +56 -0
  142. package/plugins/clipboard-image/index.mjs +70 -0
  143. package/plugins/code-review/baseline.mjs +143 -0
  144. package/plugins/code-review/git.mjs +163 -0
  145. package/plugins/code-review/index.mjs +236 -0
  146. package/plugins/compaction/engine.mjs +304 -0
  147. package/plugins/compaction/tetris.mjs +65 -0
  148. package/plugins/compaction/threshold.mjs +98 -0
  149. package/plugins/computer-use/DESKTOP-SKILL.md +64 -0
  150. package/plugins/computer-use/desktop-host.mjs +75 -0
  151. package/plugins/computer-use/desktop-skill.mjs +28 -0
  152. package/plugins/computer-use/desktop-upstream.mjs +3 -0
  153. package/plugins/computer-use/index.mjs +37 -0
  154. package/plugins/cordis-config/plain.mjs +31 -0
  155. package/plugins/credentials/index.mjs +73 -0
  156. package/plugins/custom/adapter.mjs +110 -0
  157. package/plugins/custom/config.mjs +85 -0
  158. package/plugins/custom/desktop-client.mjs +150 -0
  159. package/plugins/custom/desktop-host.mjs +78 -0
  160. package/plugins/custom/images.mjs +32 -0
  161. package/plugins/custom/index.mjs +145 -0
  162. package/plugins/custom/wire.mjs +179 -0
  163. package/plugins/desktop/client.mjs +1041 -0
  164. package/plugins/desktop/index.mjs +10 -0
  165. package/plugins/desktop/shell-environment.mjs +9 -0
  166. package/plugins/desktop-workspace/hooks.mjs +29 -0
  167. package/plugins/desktop-workspace/index.mjs +37 -0
  168. package/plugins/dscode/board.mjs +260 -0
  169. package/plugins/dscode/child-target.mjs +11 -0
  170. package/plugins/dscode/control.mjs +17 -0
  171. package/plugins/dscode/desktop-client.mjs +55 -0
  172. package/plugins/dscode/desktop-host.mjs +37 -0
  173. package/plugins/dscode/index.mjs +270 -0
  174. package/plugins/email/cli.mjs +32 -0
  175. package/plugins/email/contacts.mjs +36 -0
  176. package/plugins/email/desktop-client.mjs +117 -0
  177. package/plugins/email/desktop-host.mjs +54 -0
  178. package/plugins/email/desktop-service.mjs +106 -0
  179. package/plugins/email/gmail-oauth.mjs +69 -0
  180. package/plugins/email/gmail-store.mjs +2 -0
  181. package/plugins/email/gmail.mjs +194 -0
  182. package/plugins/email/imap.mjs +136 -0
  183. package/plugins/email/inbox.d.mts +25 -0
  184. package/plugins/email/inbox.mjs +76 -0
  185. package/plugins/email/smtp.mjs +70 -0
  186. package/plugins/email/store.mjs +32 -0
  187. package/plugins/email-tools/index.mjs +46 -0
  188. package/plugins/exec/cli.mjs +64 -0
  189. package/plugins/exec/index.mjs +112 -0
  190. package/plugins/grok/adapter.mjs +114 -0
  191. package/plugins/grok/auth.mjs +76 -0
  192. package/plugins/grok/billing.mjs +146 -0
  193. package/plugins/grok/index.mjs +122 -0
  194. package/plugins/grok/models.mjs +129 -0
  195. package/plugins/grok/status.mjs +28 -0
  196. package/plugins/grok/wire.mjs +268 -0
  197. package/plugins/hub/catalog.mjs +82 -0
  198. package/plugins/hub/desktop-client.mjs +114 -0
  199. package/plugins/hub/desktop-host.mjs +129 -0
  200. package/plugins/i18n/messages.d.mts +21 -0
  201. package/plugins/i18n/messages.mjs +537 -0
  202. package/plugins/jev/approval.mjs +131 -0
  203. package/plugins/jev/client.mjs +74 -0
  204. package/plugins/jev/index.mjs +99 -0
  205. package/plugins/memory/content.mjs +57 -0
  206. package/plugins/memory/desktop-host.mjs +3 -0
  207. package/plugins/memory/index.mjs +168 -0
  208. package/plugins/memory/pipeline.mjs +79 -0
  209. package/plugins/memory/store.mjs +93 -0
  210. package/plugins/message-source/kind.mjs +20 -0
  211. package/plugins/opencode-go/adapter.mjs +96 -0
  212. package/plugins/opencode-go/command.mjs +128 -0
  213. package/plugins/opencode-go/index.mjs +120 -0
  214. package/plugins/opencode-go/models.mjs +58 -0
  215. package/plugins/opencode-go/oauth.mjs +194 -0
  216. package/plugins/opencode-go/search.mjs +86 -0
  217. package/plugins/opencode-go/usage.mjs +119 -0
  218. package/plugins/opencode-go/version.mjs +10 -0
  219. package/plugins/opencode-go/wire.mjs +73 -0
  220. package/plugins/openrouter/adapter.mjs +232 -0
  221. package/plugins/openrouter/index.mjs +123 -0
  222. package/plugins/openrouter/models.mjs +157 -0
  223. package/plugins/openrouter/search.mjs +113 -0
  224. package/plugins/openrouter/wire.mjs +101 -0
  225. package/plugins/providers/catalog.mjs +160 -0
  226. package/plugins/providers/chat-messages.mjs +120 -0
  227. package/plugins/providers/chat-stream.mjs +174 -0
  228. package/plugins/providers/desktop-client.mjs +84 -0
  229. package/plugins/providers/desktop-host.mjs +63 -0
  230. package/plugins/providers/effort.mjs +35 -0
  231. package/plugins/providers/http-errors.mjs +50 -0
  232. package/plugins/providers/openrouter-account.mjs +171 -0
  233. package/plugins/session-bridge/client.mjs +106 -0
  234. package/plugins/session-bridge/communication.mjs +260 -0
  235. package/plugins/session-bridge/index.mjs +68 -0
  236. package/plugins/session-bridge/mailbox.mjs +267 -0
  237. package/plugins/session-bridge/paths.mjs +21 -0
  238. package/plugins/session-bridge/server.mjs +172 -0
  239. package/plugins/session-bridge/tasks.mjs +229 -0
  240. package/plugins/session-cards/content.mjs +64 -0
  241. package/plugins/session-cards/index.mjs +38 -0
  242. package/plugins/session-cards/manager.mjs +140 -0
  243. package/plugins/session-metrics/attribution.mjs +30 -0
  244. package/plugins/session-metrics/balance.mjs +81 -0
  245. package/plugins/session-metrics/desktop-client.mjs +62 -0
  246. package/plugins/session-metrics/desktop-host.mjs +46 -0
  247. package/plugins/session-metrics/index.mjs +96 -0
  248. package/plugins/session-metrics/pricing.mjs +84 -0
  249. package/plugins/session-metrics/rate.mjs +59 -0
  250. package/plugins/session-metrics/store.mjs +75 -0
  251. package/plugins/session-metrics/turns.mjs +134 -0
  252. package/plugins/session-metrics/view.mjs +271 -0
  253. package/plugins/time-marks/desktop-host.mjs +2 -0
  254. package/plugins/time-marks/index.mjs +116 -0
  255. package/plugins/time-marks/marks.mjs +152 -0
  256. package/plugins/triggers/cli.mjs +558 -0
  257. package/plugins/triggers/commands.mjs +143 -0
  258. package/plugins/triggers/config.mjs +264 -0
  259. package/plugins/triggers/desktop-client.mjs +155 -0
  260. package/plugins/triggers/desktop-host.mjs +88 -0
  261. package/plugins/triggers/desktop-management.mjs +97 -0
  262. package/plugins/triggers/desktop-scheduler.mjs +125 -0
  263. package/plugins/triggers/host.mjs +24 -0
  264. package/plugins/triggers/index.mjs +27 -0
  265. package/plugins/triggers/job-cli.mjs +110 -0
  266. package/plugins/triggers/jobs.mjs +156 -0
  267. package/plugins/triggers/launchd.mjs +101 -0
  268. package/plugins/triggers/lease.mjs +24 -0
  269. package/plugins/triggers/log.mjs +104 -0
  270. package/plugins/triggers/management.mjs +181 -0
  271. package/plugins/triggers/options.mjs +117 -0
  272. package/plugins/triggers/overlay.mjs +7 -0
  273. package/plugins/triggers/poll.mjs +65 -0
  274. package/plugins/triggers/run.mjs +157 -0
  275. package/plugins/triggers/schedule.mjs +40 -0
  276. package/plugins/triggers/scheduler-service.mjs +46 -0
  277. package/plugins/triggers/scheduler.mjs +92 -0
  278. package/plugins/triggers/session-run.mjs +125 -0
  279. package/plugins/triggers/session.mjs +48 -0
  280. package/plugins/triggers/source-emit.mjs +19 -0
  281. package/plugins/triggers/source-host.mjs +78 -0
  282. package/plugins/triggers/source-ingress.mjs +70 -0
  283. package/plugins/triggers/source-sandbox.mjs +35 -0
  284. package/plugins/triggers/sources.mjs +45 -0
  285. package/plugins/triggers/spool.mjs +145 -0
  286. package/plugins/triggers/tools.mjs +67 -0
  287. package/plugins/triggers/unattended.mjs +18 -0
  288. package/plugins/tui-tools/composition.mjs +28 -0
  289. package/plugins/tui-tools/desktop-host.mjs +2 -0
  290. package/plugins/tui-tools/doctor-cli.mjs +22 -0
  291. package/plugins/tui-tools/doctor.mjs +148 -0
  292. package/plugins/tui-tools/hook-sources.mjs +113 -0
  293. package/plugins/tui-tools/hooks.mjs +23 -0
  294. package/plugins/tui-tools/index.mjs +268 -0
  295. package/plugins/tui-tools/sandbox-runner.mjs +123 -0
  296. package/plugins/tui-tools/shell.mjs +27 -0
  297. package/plugins/tui-tools/update.mjs +111 -0
  298. package/plugins/tui-tools/workspace-discovery.mjs +129 -0
  299. package/plugins/ultra/policy.mjs +42 -0
  300. package/plugins/worktree-subagent/worktree.mjs +56 -0
  301. package/runtime-sources.json +94 -0
  302. package/vendor/bash/LICENSE +21 -0
  303. package/vendor/bash/index.js +717 -0
  304. package/vendor/bash/types/background.d.ts +50 -0
  305. package/vendor/bash/types/index.d.ts +38 -0
  306. package/vendor/bash/types/render.d.ts +57 -0
  307. package/vendor/command-goal/LICENSE +21 -0
  308. package/vendor/command-goal/index.js +210 -0
  309. package/vendor/command-goal/types/index.d.ts +10 -0
  310. package/vendor/computer-use/LICENSE +21 -0
  311. package/vendor/computer-use/lib/approval-policy.js +12 -0
  312. package/vendor/computer-use/lib/approval-policy.js.map +1 -0
  313. package/vendor/computer-use/lib/artifacts.js +79 -0
  314. package/vendor/computer-use/lib/artifacts.js.map +1 -0
  315. package/vendor/computer-use/lib/backend.js +3 -0
  316. package/vendor/computer-use/lib/backend.js.map +1 -0
  317. package/vendor/computer-use/lib/client.js +369 -0
  318. package/vendor/computer-use/lib/client.js.map +1 -0
  319. package/vendor/computer-use/lib/config.js +159 -0
  320. package/vendor/computer-use/lib/config.js.map +1 -0
  321. package/vendor/computer-use/lib/confirmations.js +99 -0
  322. package/vendor/computer-use/lib/confirmations.js.map +1 -0
  323. package/vendor/computer-use/lib/diff.js +58 -0
  324. package/vendor/computer-use/lib/diff.js.map +1 -0
  325. package/vendor/computer-use/lib/errors.js +22 -0
  326. package/vendor/computer-use/lib/errors.js.map +1 -0
  327. package/vendor/computer-use/lib/exposure.js +244 -0
  328. package/vendor/computer-use/lib/exposure.js.map +1 -0
  329. package/vendor/computer-use/lib/index.js +66 -0
  330. package/vendor/computer-use/lib/index.js.map +1 -0
  331. package/vendor/computer-use/lib/leases.js +262 -0
  332. package/vendor/computer-use/lib/leases.js.map +1 -0
  333. package/vendor/computer-use/lib/providers/macos.js +243 -0
  334. package/vendor/computer-use/lib/providers/macos.js.map +1 -0
  335. package/vendor/computer-use/lib/providers/native-helper.js +726 -0
  336. package/vendor/computer-use/lib/providers/native-helper.js.map +1 -0
  337. package/vendor/computer-use/lib/providers/unsupported.js +51 -0
  338. package/vendor/computer-use/lib/providers/unsupported.js.map +1 -0
  339. package/vendor/computer-use/lib/service.js +608 -0
  340. package/vendor/computer-use/lib/service.js.map +1 -0
  341. package/vendor/computer-use/lib/skill.js +136 -0
  342. package/vendor/computer-use/lib/skill.js.map +1 -0
  343. package/vendor/computer-use/lib/target-resolver.js +180 -0
  344. package/vendor/computer-use/lib/target-resolver.js.map +1 -0
  345. package/vendor/computer-use/lib/tools.js +511 -0
  346. package/vendor/computer-use/lib/tools.js.map +1 -0
  347. package/vendor/computer-use/lib/types/approval-policy.d.ts +13 -0
  348. package/vendor/computer-use/lib/types/approval-policy.d.ts.map +1 -0
  349. package/vendor/computer-use/lib/types/artifacts.d.ts +10 -0
  350. package/vendor/computer-use/lib/types/artifacts.d.ts.map +1 -0
  351. package/vendor/computer-use/lib/types/backend.d.ts +124 -0
  352. package/vendor/computer-use/lib/types/backend.d.ts.map +1 -0
  353. package/vendor/computer-use/lib/types/client/index.d.ts +83 -0
  354. package/vendor/computer-use/lib/types/client/index.d.ts.map +1 -0
  355. package/vendor/computer-use/lib/types/config.d.ts +94 -0
  356. package/vendor/computer-use/lib/types/config.d.ts.map +1 -0
  357. package/vendor/computer-use/lib/types/confirmations.d.ts +23 -0
  358. package/vendor/computer-use/lib/types/confirmations.d.ts.map +1 -0
  359. package/vendor/computer-use/lib/types/diff.d.ts +5 -0
  360. package/vendor/computer-use/lib/types/diff.d.ts.map +1 -0
  361. package/vendor/computer-use/lib/types/errors.d.ts +15 -0
  362. package/vendor/computer-use/lib/types/errors.d.ts.map +1 -0
  363. package/vendor/computer-use/lib/types/exposure.d.ts +30 -0
  364. package/vendor/computer-use/lib/types/exposure.d.ts.map +1 -0
  365. package/vendor/computer-use/lib/types/index.d.ts +21 -0
  366. package/vendor/computer-use/lib/types/index.d.ts.map +1 -0
  367. package/vendor/computer-use/lib/types/leases.d.ts +81 -0
  368. package/vendor/computer-use/lib/types/leases.d.ts.map +1 -0
  369. package/vendor/computer-use/lib/types/providers/macos.d.ts +39 -0
  370. package/vendor/computer-use/lib/types/providers/macos.d.ts.map +1 -0
  371. package/vendor/computer-use/lib/types/providers/native-helper.d.ts +48 -0
  372. package/vendor/computer-use/lib/types/providers/native-helper.d.ts.map +1 -0
  373. package/vendor/computer-use/lib/types/providers/unsupported.d.ts +23 -0
  374. package/vendor/computer-use/lib/types/providers/unsupported.d.ts.map +1 -0
  375. package/vendor/computer-use/lib/types/service.d.ts +58 -0
  376. package/vendor/computer-use/lib/types/service.d.ts.map +1 -0
  377. package/vendor/computer-use/lib/types/skill.d.ts +14 -0
  378. package/vendor/computer-use/lib/types/skill.d.ts.map +1 -0
  379. package/vendor/computer-use/lib/types/target-resolver.d.ts +38 -0
  380. package/vendor/computer-use/lib/types/target-resolver.d.ts.map +1 -0
  381. package/vendor/computer-use/lib/types/tools.d.ts +6 -0
  382. package/vendor/computer-use/lib/types/tools.d.ts.map +1 -0
  383. package/vendor/computer-use/lib/types/types.d.ts +270 -0
  384. package/vendor/computer-use/lib/types/types.d.ts.map +1 -0
  385. package/vendor/computer-use/lib/types/web.d.ts +33 -0
  386. package/vendor/computer-use/lib/types/web.d.ts.map +1 -0
  387. package/vendor/computer-use/lib/types.js +9 -0
  388. package/vendor/computer-use/lib/types.js.map +1 -0
  389. package/vendor/computer-use/lib/web.js +188 -0
  390. package/vendor/computer-use/lib/web.js.map +1 -0
  391. package/vendor/computer-use/native/macos/Sources/Fixture/main.swift +412 -0
  392. package/vendor/computer-use/native/macos/Sources/Helper/CursorImage.swift +11 -0
  393. package/vendor/computer-use/native/macos/Sources/Helper/CursorMotion.swift +67 -0
  394. package/vendor/computer-use/native/macos/Sources/Helper/CursorOverlay.swift +840 -0
  395. package/vendor/computer-use/native/macos/Sources/Helper/TargetedPointer.swift +327 -0
  396. package/vendor/computer-use/native/macos/Sources/Helper/WindowNumberMatcher.swift +29 -0
  397. package/vendor/computer-use/native/macos/Sources/Helper/main.swift +1244 -0
  398. package/vendor/computer-use/native/macos/Sources/Monitor/main.swift +153 -0
  399. package/vendor/computer-use/native/macos/bin/dsh-computer-use-helper +0 -0
  400. package/vendor/computer-use/native/macos/manifest.json +14 -0
  401. package/vendor/persistent/LICENSE +21 -0
  402. package/vendor/persistent/index.js +411 -0
  403. package/vendor/persistent/types/index.d.ts +24 -0
  404. package/vendor/subagent/LICENSE +21 -0
  405. package/vendor/subagent/index.js +694 -0
  406. package/vendor/subagent/invariant.js +52 -0
  407. package/vendor/subagent/model-selection-settings.js +68 -0
  408. package/vendor/subagent/types/index.d.ts +82 -0
  409. package/vendor/subagent/types/invariant.d.ts +16 -0
  410. package/vendor/subagent/types/list-models.d.ts +10 -0
  411. package/vendor/subagent/types/model-selection-settings.d.ts +45 -0
  412. package/vendor/subagent/types/model-selection-state.d.ts +48 -0
  413. package/vendor/subagent/types/model-selection.d.ts +81 -0
  414. package/vendor/subagent-core/LICENSE +21 -0
  415. package/vendor/subagent-core/index.js +3202 -0
  416. package/vendor/subagent-core/invariant.js +76 -0
  417. package/vendor/subagent-core/typert.host.d.ts +3 -0
  418. package/vendor/subagent-core/typert.host.js +978 -0
  419. package/vendor/subagent-core/typert.remote-client.d.ts +25 -0
  420. package/vendor/subagent-core/typert.remote-client.js +114 -0
  421. package/vendor/subagent-core/types/archive-admission.d.ts +16 -0
  422. package/vendor/subagent-core/types/archive-admission.js +151 -0
  423. package/vendor/subagent-core/types/assistant-output.d.ts +48 -0
  424. package/vendor/subagent-core/types/assistant-output.js +73 -0
  425. package/vendor/subagent-core/types/catalog.d.ts +84 -0
  426. package/vendor/subagent-core/types/catalog.js +109 -0
  427. package/vendor/subagent-core/types/child-agent.d.ts +156 -0
  428. package/vendor/subagent-core/types/child-agent.js +213 -0
  429. package/vendor/subagent-core/types/client.d.ts +8 -0
  430. package/vendor/subagent-core/types/client.js +7 -0
  431. package/vendor/subagent-core/types/continuation-activation.d.ts +267 -0
  432. package/vendor/subagent-core/types/continuation-activation.js +700 -0
  433. package/vendor/subagent-core/types/continuation-messages.d.ts +62 -0
  434. package/vendor/subagent-core/types/continuation-messages.js +106 -0
  435. package/vendor/subagent-core/types/continuation.d.ts +124 -0
  436. package/vendor/subagent-core/types/continuation.js +455 -0
  437. package/vendor/subagent-core/types/control-types.d.ts +135 -0
  438. package/vendor/subagent-core/types/control-types.js +8 -0
  439. package/vendor/subagent-core/types/control.d.ts +45 -0
  440. package/vendor/subagent-core/types/control.js +79 -0
  441. package/vendor/subagent-core/types/depth.d.ts +31 -0
  442. package/vendor/subagent-core/types/depth.js +39 -0
  443. package/vendor/subagent-core/types/descriptor.d.ts +144 -0
  444. package/vendor/subagent-core/types/descriptor.js +193 -0
  445. package/vendor/subagent-core/types/error.d.ts +11 -0
  446. package/vendor/subagent-core/types/error.js +14 -0
  447. package/vendor/subagent-core/types/inbox.d.ts +43 -0
  448. package/vendor/subagent-core/types/inbox.js +61 -0
  449. package/vendor/subagent-core/types/index.d.ts +320 -0
  450. package/vendor/subagent-core/types/index.js +475 -0
  451. package/vendor/subagent-core/types/internal.d.ts +58 -0
  452. package/vendor/subagent-core/types/internal.js +58 -0
  453. package/vendor/subagent-core/types/invariant.d.ts +13 -0
  454. package/vendor/subagent-core/types/invariant.js +91 -0
  455. package/vendor/subagent-core/types/lifecycle.d.ts +113 -0
  456. package/vendor/subagent-core/types/lifecycle.js +180 -0
  457. package/vendor/subagent-core/types/list-children.d.ts +36 -0
  458. package/vendor/subagent-core/types/list-children.js +166 -0
  459. package/vendor/subagent-core/types/out-of-process.d.ts +118 -0
  460. package/vendor/subagent-core/types/out-of-process.js +219 -0
  461. package/vendor/subagent-core/types/projection-types.d.ts +82 -0
  462. package/vendor/subagent-core/types/projection-types.js +7 -0
  463. package/vendor/subagent-core/types/projection.d.ts +100 -0
  464. package/vendor/subagent-core/types/projection.js +157 -0
  465. package/vendor/subagent-core/types/run-settlement.d.ts +17 -0
  466. package/vendor/subagent-core/types/run-settlement.js +70 -0
  467. package/vendor/subagent-core/types/types.d.ts +377 -0
  468. package/vendor/subagent-core/types/types.js +19 -0
  469. package/vendor/subagent-driver/LICENSE +21 -0
  470. package/vendor/subagent-driver/index.js +255 -0
  471. package/vendor/subagent-driver/types/index.d.ts +33 -0
  472. package/vendor/subagent-driver/types/structured.d.ts +42 -0
  473. package/vendor/subagent-fork/LICENSE +21 -0
  474. package/vendor/subagent-fork/index.js +61 -0
  475. package/vendor/subagent-fork/types/index.d.ts +20 -0
  476. package/vendor/subagent-spawn/LICENSE +21 -0
  477. package/vendor/subagent-spawn/index.js +45 -0
  478. package/vendor/subagent-spawn/types/index.d.ts +19 -0
  479. package/vendor/terminal/LICENSE +21 -0
  480. package/vendor/terminal/index.js +1093 -0
  481. package/vendor/terminal/types/config.d.ts +82 -0
  482. package/vendor/terminal/types/index.d.ts +36 -0
  483. package/vendor/terminal/types/sanitize.d.ts +47 -0
  484. package/vendor/terminal/types/session.d.ts +87 -0
@@ -0,0 +1,124 @@
1
+ /** Provider-facing backend protocol kept below the public Computer Use Service. */
2
+ import type { ComputerActionRequest, ComputerAppIdentity, ComputerAppSelector, ComputerAppSummary, ComputerElement, ComputerPermissionState, ComputerRect, ComputerScreenshotMode } from './types.ts';
3
+ import type { ResolvedComputerUseConfig } from './config.ts';
4
+ /** Internal provider evidence never exposed to the model or persisted in Session logs. */
5
+ export interface BackendElement extends Omit<ComputerElement, 'targetHandle'> {
6
+ locator: number[];
7
+ nativeIdentifier?: string;
8
+ }
9
+ /** Raw full-state observation returned by a provider before Service diff projection. */
10
+ export interface BackendObservation {
11
+ app: ComputerAppIdentity;
12
+ stateHash: string;
13
+ frontmost: boolean;
14
+ window?: {
15
+ title?: string;
16
+ frame: ComputerRect;
17
+ id?: number;
18
+ };
19
+ treeText: string;
20
+ truncated: boolean;
21
+ elements: BackendElement[];
22
+ screenshot?: {
23
+ path: string;
24
+ width: number;
25
+ height: number;
26
+ };
27
+ permissions: {
28
+ accessibility: ComputerPermissionState;
29
+ screenRecording: ComputerPermissionState;
30
+ };
31
+ }
32
+ /** Provider limits resolved by the configuration owner before a call. */
33
+ export interface BackendObserveOptions {
34
+ screenshot: ComputerScreenshotMode;
35
+ screenshotPath?: string;
36
+ maxNodes: number;
37
+ maxDepth: number;
38
+ maxTextBytes: number;
39
+ }
40
+ /** Action bound to fresh provider state and one exact internally resolved target. */
41
+ export interface BackendActionRequest {
42
+ action: Exclude<ComputerActionRequest, {
43
+ kind: 'wait';
44
+ }>;
45
+ app: ComputerAppIdentity;
46
+ expectedStateHash: string;
47
+ interaction: ResolvedComputerUseConfig['interaction'];
48
+ element?: BackendElement;
49
+ window?: BackendObservation['window'];
50
+ }
51
+ /** Provider action outcome before the Service obtains the mandatory post-action observation. */
52
+ export interface BackendActionResult {
53
+ channel: 'accessibility' | 'coordinates' | 'keyboard';
54
+ activation: 'not-requested' | 'already-frontmost' | 'activated';
55
+ pointerInput: boolean;
56
+ pointerRouting: 'none' | 'target-process';
57
+ }
58
+ /** One model-selected point or gesture for the non-interactive Agent cursor overlay. */
59
+ /** Whether the agent cursor ended up visible, and why not when it did not. */
60
+ export interface CursorVisibility {
61
+ readonly visible: boolean;
62
+ readonly reason?: string;
63
+ readonly reasonCode?: 'target-not-frontmost' | 'target-invalid';
64
+ }
65
+ /** Fresh state after a host-authorized foreground activation for cursor sequencing. */
66
+ export interface BackendCursorActivation {
67
+ readonly observation: BackendObservation;
68
+ readonly activation: 'already-frontmost' | 'activated';
69
+ }
70
+ /** Native drag input and its Agent-cursor endpoint tracking result. */
71
+ export interface BackendTrackedDragResult {
72
+ readonly action: BackendActionResult;
73
+ readonly cursor: CursorVisibility;
74
+ }
75
+ export interface BackendCursorAction {
76
+ kind: 'click' | 'scroll' | 'drag';
77
+ from?: {
78
+ x: number;
79
+ y: number;
80
+ };
81
+ to: {
82
+ x: number;
83
+ y: number;
84
+ };
85
+ /** Exact target identity used to prevent the overlay from lingering over another window. */
86
+ targetPid: number;
87
+ targetWindowNumber: number;
88
+ targetWindowFrame: ComputerRect;
89
+ }
90
+ /** Health facts obtained without changing permissions. */
91
+ export interface BackendHealth {
92
+ helperVersion: string;
93
+ helperSha256: string;
94
+ accessibility: ComputerPermissionState;
95
+ screenRecording: ComputerPermissionState;
96
+ /** False when the provider is intentionally disabled on this host (for example non-macOS). */
97
+ ready?: boolean;
98
+ /** Operator-facing reason shown in Settings when `ready` is false. */
99
+ error?: string;
100
+ }
101
+ /** Platform backend used by the provider-independent Service implementation. */
102
+ export interface ComputerUseBackend {
103
+ readonly name: 'macos-ax' | 'unsupported';
104
+ readonly helperPath: string;
105
+ resolveApp(selector: ComputerAppSelector, signal: AbortSignal): Promise<ComputerAppIdentity>;
106
+ listApps(signal: AbortSignal): Promise<ComputerAppSummary[]>;
107
+ observe(app: ComputerAppIdentity, options: BackendObserveOptions, signal: AbortSignal): Promise<BackendObservation>;
108
+ activateForCursor(app: ComputerAppIdentity, expectedStateHash: string, options: BackendObserveOptions, signal: AbortSignal): Promise<BackendCursorActivation>;
109
+ act(request: BackendActionRequest, signal: AbortSignal): Promise<BackendActionResult>;
110
+ actDragWithCursor(request: BackendActionRequest, cursor: BackendCursorAction & {
111
+ kind: 'drag';
112
+ }, signal: AbortSignal): Promise<BackendTrackedDragResult>;
113
+ /**
114
+ * Drive the agent cursor for one action.
115
+ * @returns whether the cursor is on screen afterwards, plus why not when it
116
+ * is hidden. The Service permits intentional background hiding but fails
117
+ * closed for foreground placement, transport, and target-validation failures.
118
+ */
119
+ visualizeCursor(action: BackendCursorAction, phase: 'before' | 'during' | 'after', signal: AbortSignal): Promise<CursorVisibility>;
120
+ dispose(): Promise<void>;
121
+ health(signal: AbortSignal): Promise<BackendHealth>;
122
+ openSettings(kind: 'accessibility' | 'screen-recording', signal: AbortSignal): Promise<void>;
123
+ }
124
+ //# sourceMappingURL=backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/backend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /** DSH Computer Use browser plugin: provider health, permissions, limits, and app policy. */
2
+ import type { Context as ClientContext } from '@deepseek-ai/cordis';
3
+ /** Parse one bounded integer using caller-owned localized error copy. */
4
+ export declare function integerInRange(value: string, field: string, min: number, max: number, formatError: (field: string, min: number, max: number) => string): number;
5
+ declare const en: {
6
+ readonly nav: "Computer Use";
7
+ readonly title: "macOS Computer Use";
8
+ readonly intro: "Inspect the native helper, macOS privacy permissions, foreground/targeted-input policy, observation limits, and exact per-app read/control grants.";
9
+ readonly pluginKind: "DSH native plugin";
10
+ readonly privacy: "macOS privacy";
11
+ readonly access: "Application access";
12
+ readonly accessHint: "Choose whether Computer Use may work with every app. Exact per-app rules remain available under Advanced settings.";
13
+ readonly advanced: "Advanced options";
14
+ readonly advancedHint: "Limits, helper path, cursor timing, and application grants.";
15
+ readonly cursorTiming: "Agent cursor motion";
16
+ readonly helper: "Native helper";
17
+ readonly helperUnknown: "Unknown";
18
+ readonly ready: "Ready";
19
+ readonly unavailable: "Unavailable";
20
+ readonly generation: "Applied in this run";
21
+ readonly generationValue: "{generation} times";
22
+ readonly accessibility: "Accessibility";
23
+ readonly screenRecording: "Screen Recording";
24
+ readonly granted: "Granted";
25
+ readonly denied: "Needs permission";
26
+ readonly openSettings: "Open macOS Settings";
27
+ readonly refresh: "Refresh health";
28
+ readonly limits: "Observation and action limits";
29
+ readonly ttl: "Observation TTL (ms; 0 = no expiry)";
30
+ readonly confirmationTtl: "Confirmation TTL (ms)";
31
+ readonly actionTimeout: "Action timeout (ms)";
32
+ readonly settle: "Settlement interval (ms)";
33
+ readonly maxSettle: "Maximum settlement (ms)";
34
+ readonly maxNodes: "Maximum AX nodes";
35
+ readonly maxDepth: "Maximum AX depth";
36
+ readonly maxText: "Maximum AX text bytes";
37
+ readonly maxScreenshot: "Maximum screenshot bytes";
38
+ readonly artifactRoot: "Artifact root";
39
+ readonly helperPath: "External helper path";
40
+ readonly sourceBuild: "Allow explicit source-build fallback";
41
+ readonly interaction: "Foreground and targeted input";
42
+ readonly interactionHint: "The default route sends pointer and keyboard events only to the selected process. It does not move the system cursor or activate the app.";
43
+ readonly focusPolicy: "Foreground policy";
44
+ readonly focusPreserve: "Preserve current foreground app";
45
+ readonly focusActivate: "Allow activating the target app";
46
+ readonly keyboardPolicy: "Keyboard policy";
47
+ readonly keyboardPreserve: "Preserve foreground; typing compatibility varies";
48
+ readonly keyboardActivate: "Activate the target app before typing";
49
+ readonly pointerInputPolicy: "Target-process pointer input";
50
+ readonly pointerDeny: "Deny mouse, drag, and wheel events";
51
+ readonly pointerAllow: "Route events only to the target process";
52
+ readonly cursorVisualization: "Agent cursor";
53
+ readonly cursorVisible: "Show a separate click-through Agent cursor";
54
+ readonly cursorHidden: "Hide the Agent cursor";
55
+ readonly cursorSpeed: "Requested maximum cursor speed (px/s)";
56
+ readonly cursorAcceleration: "Cursor acceleration/deceleration (px/s²)";
57
+ readonly cursorClickDelay: "Delay after arrival before click (ms)";
58
+ readonly cursorAutoHide: "Cursor auto-hide (ms; 0 = stay visible)";
59
+ readonly grants: "Application grants";
60
+ readonly grantsHint: "One exact bundle id per line, followed by read or read,control. Wildcards are rejected.";
61
+ readonly allowAllApps: "Allow read and control for every app";
62
+ readonly allowAllAppsHint: "When enabled, exact grants are ignored and every running app is readable and controllable.";
63
+ readonly save: "Save and apply";
64
+ readonly saving: "Applying...";
65
+ readonly saved: "Settings applied.";
66
+ readonly readOnly: "The current Settings provider is read-only.";
67
+ readonly loading: "Loading Computer Use settings...";
68
+ readonly retry: "Retry";
69
+ readonly numberRange: "{field} must be an integer from {min} to {max}.";
70
+ };
71
+ type LocaleKey = keyof typeof en;
72
+ declare module '@deepseek-ai/dsh-client-ui-slots' {
73
+ interface LocaleNamespaceMap {
74
+ /** DSH Computer Use Settings copy. */
75
+ 'computer-use': LocaleKey;
76
+ }
77
+ }
78
+ /** Required browser services. */
79
+ export declare const inject: string[];
80
+ /** Register the Computer Use Settings section. */
81
+ export declare function apply(ctx: ClientContext): void;
82
+ export {};
83
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AAAA,6FAA6F;AAI7F,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AASnE,yEAAyE;AACzE,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,GAC/D,MAAM,CAMR;AAKD,QAAA,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiEE,CAAA;AAEV,KAAK,SAAS,GAAG,MAAM,OAAO,EAAE,CAAA;AA2HhC,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,kBAAkB;QAC1B,sCAAsC;QACtC,cAAc,EAAE,SAAS,CAAA;KAC1B;CACF;AAwUD,iCAAiC;AACjC,eAAO,MAAM,MAAM,UAAgC,CAAA;AAEnD,kDAAkD;AAClD,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAmB9C"}
@@ -0,0 +1,94 @@
1
+ /** Validated provider, observation, settlement, artifact, and app-policy configuration. */
2
+ import type Schema from '@deepseek-ai/schemastery';
3
+ import type { SettingsNamespace } from '@deepseek-ai/dsh-settings';
4
+ /**
5
+ * Settings document namespace owned by this package.
6
+ *
7
+ * DSH 0.1.5 removed the `settingsNamespace()` runtime brander: the namespace is
8
+ * a compile-time-only brand and the official convention is a plain string
9
+ * literal (0.1.5's own `ui-chat` client does `const CHAT_SETTINGS_NAMESPACE =
10
+ * "ui-chat"`). The literal below satisfies the 0.1.5 grammar
11
+ * `/^[a-z][a-z0-9-]*$/` and, because `SettingsNamespace` is a type-only export
12
+ * in every supported release, the cast is erased at build time — the value that
13
+ * reaches the host is exactly `'computer-use'`.
14
+ */
15
+ export declare const COMPUTER_USE_SETTINGS_NAMESPACE: SettingsNamespace;
16
+ /** One persisted application grant. Wildcards are intentionally unsupported. */
17
+ export interface ComputerUseAppGrant {
18
+ bundleId: string;
19
+ read?: boolean;
20
+ control?: boolean;
21
+ }
22
+ /** Host-owned policy for foreground activation, keyboard routing, target-process input, and the visible Agent cursor. */
23
+ export interface ComputerUseInteractionConfig {
24
+ focusPolicy?: 'preserve' | 'activate';
25
+ keyboardPolicy?: 'preserve' | 'activate';
26
+ pointerInputPolicy?: 'deny' | 'targeted';
27
+ cursorVisualization?: 'hidden' | 'visible';
28
+ /** @deprecated Accepted for 0.2.x settings compatibility; physical motion replaces fixed duration. */
29
+ cursorMotionMs?: number;
30
+ cursorSpeedPxPerSecond?: number;
31
+ cursorAccelerationPxPerSecondSquared?: number;
32
+ cursorClickDelayMs?: number;
33
+ cursorAutoHideMs?: number;
34
+ }
35
+ /** User-facing configuration; schema defaults are repeated by {@link resolveConfig}. `observationTtlMs: 0` disables observation expiry. */
36
+ export interface ComputerUseConfig {
37
+ observationTtlMs?: number;
38
+ confirmationTtlMs?: number;
39
+ actionTimeoutMs?: number;
40
+ settleMs?: number;
41
+ maxSettleMs?: number;
42
+ maxNodes?: number;
43
+ maxDepth?: number;
44
+ maxTextBytes?: number;
45
+ maxScreenshotBytes?: number;
46
+ artifactRoot?: string;
47
+ helper?: {
48
+ path?: string;
49
+ allowSourceBuild?: boolean;
50
+ };
51
+ interaction?: ComputerUseInteractionConfig;
52
+ allowAllApps?: boolean;
53
+ grants?: ComputerUseAppGrant[];
54
+ }
55
+ /** Read the newer Loader's stable references without changing the legacy shape. */
56
+ export declare function readComputerUseConfig(config: ComputerUseConfig): ComputerUseConfig;
57
+ /** Configuration schema used by Cordis and the Settings provider. */
58
+ export declare const Config: Schema<ComputerUseConfig>;
59
+ /** Fully defaulted configuration consumed at runtime. */
60
+ export interface ResolvedComputerUseConfig {
61
+ observationTtlMs: number;
62
+ confirmationTtlMs: number;
63
+ actionTimeoutMs: number;
64
+ settleMs: number;
65
+ maxSettleMs: number;
66
+ maxNodes: number;
67
+ maxDepth: number;
68
+ maxTextBytes: number;
69
+ maxScreenshotBytes: number;
70
+ artifactRoot: string;
71
+ helper: {
72
+ path?: string;
73
+ allowSourceBuild: boolean;
74
+ };
75
+ interaction: {
76
+ focusPolicy: 'preserve' | 'activate';
77
+ keyboardPolicy: 'preserve' | 'activate';
78
+ pointerInputPolicy: 'deny' | 'targeted';
79
+ cursorVisualization: 'hidden' | 'visible';
80
+ cursorSpeedPxPerSecond: number;
81
+ cursorAccelerationPxPerSecondSquared: number;
82
+ cursorClickDelayMs: number;
83
+ cursorAutoHideMs: number;
84
+ };
85
+ allowAllApps: boolean;
86
+ grants: Array<{
87
+ bundleId: string;
88
+ read: boolean;
89
+ control: boolean;
90
+ }>;
91
+ }
92
+ /** Validate and normalize one raw config object. */
93
+ export declare function resolveConfig(config?: ComputerUseConfig): ResolvedComputerUseConfig;
94
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /** One-use just-in-time confirmation tokens for sensitive Computer Use actions. */
2
+ import type { Agent } from '@deepseek-ai/dsh-agent';
3
+ import type { Context } from '@deepseek-ai/cordis';
4
+ import type { ResolvedComputerUseConfig } from './config.ts';
5
+ import { ComputerConfirmationToken, type ComputerActionRequest, type ComputerAppIdentity, type ComputerConfirmRequest, type ComputerConfirmation } from './types.ts';
6
+ /** Issues, validates, consumes, and releases scoped sensitive-action tokens. */
7
+ export declare class ComputerConfirmationManager {
8
+ private readonly ctx;
9
+ private readonly config;
10
+ private readonly records;
11
+ constructor(ctx: Context, config: () => ResolvedComputerUseConfig);
12
+ /** Request user approval and mint one token bound to the exact action. */
13
+ confirm(agent: Agent, app: ComputerAppIdentity, request: ComputerConfirmRequest, callId: import('@deepseek-ai/dsh-tools').ToolRunContext['callId'] | undefined, signal: AbortSignal): Promise<ComputerConfirmation>;
14
+ /** Require and consume the one matching token when an action is marked sensitive. */
15
+ consume(agent: Agent, app: ComputerAppIdentity, action: ComputerActionRequest): void;
16
+ /** Invalidate one pending token after target identity changes before input. */
17
+ invalidate(agent: Agent, token: ComputerConfirmationToken | undefined): void;
18
+ /** Release every pending token owned by one Agent. */
19
+ releaseAgent(agent: Agent): void;
20
+ /** Release all pending tokens on provider teardown or generation replacement. */
21
+ clear(): void;
22
+ }
23
+ //# sourceMappingURL=confirmations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirmations.d.ts","sourceRoot":"","sources":["../../src/confirmations.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAGnF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAE5D,OAAO,EACL,yBAAyB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EAE1B,MAAM,YAAY,CAAA;AAqBnB,gFAAgF;AAChF,qBAAa,2BAA2B;IAIpC,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuE;gBAG5E,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,yBAAyB;IAG1D,0EAA0E;IACpE,OAAO,CACX,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE,sBAAsB,EAC/B,MAAM,EAAE,OAAO,wBAAwB,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,SAAS,EAC7E,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,oBAAoB,CAAC;IAkChC,qFAAqF;IACrF,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,qBAAqB,GAAG,IAAI;IA0BpF,+EAA+E;IAC/E,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,GAAG,SAAS,GAAG,IAAI;IAI5E,sDAAsD;IACtD,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAIhC,iFAAiF;IACjF,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,5 @@
1
+ /** Accessibility-tree diff projection for model-context efficiency. */
2
+ import type { ComputerElement } from './types.ts';
3
+ /** Return a bounded full-to-full element diff whose current rows use current indexes. */
4
+ export declare function diffElements(previous: readonly ComputerElement[], current: readonly ComputerElement[], maxBytes: number): string;
5
+ //# sourceMappingURL=diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/diff.ts"],"names":[],"mappings":"AAAA,uEAAuE;AAEvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AA8BjD,yFAAyF;AACzF,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,EAAE,OAAO,EAAE,SAAS,eAAe,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkBhI"}
@@ -0,0 +1,15 @@
1
+ /** Stable Computer Use failure codes returned across provider and Tool boundaries. */
2
+ export type ComputerUseErrorCode = 'COMPUTER_UNSUPPORTED_PLATFORM' | 'COMPUTER_PERMISSION_REQUIRED' | 'COMPUTER_APP_NOT_FOUND' | 'COMPUTER_STALE_OBSERVATION' | 'COMPUTER_ELEMENT_UNAVAILABLE' | 'COMPUTER_TARGET_UNAVAILABLE' | 'COMPUTER_TARGET_AMBIGUOUS' | 'COMPUTER_TARGET_LOW_CONFIDENCE' | 'COMPUTER_TARGET_REBIND_REQUIRES_CONFIRMATION' | 'COMPUTER_CONFIRMATION_REQUIRED' | 'COMPUTER_ACTION_BLOCKED' | 'COMPUTER_TIMEOUT' | 'COMPUTER_CANCELLED' | 'COMPUTER_PROVIDER_FAILURE';
3
+ /** Error with a stable model-visible code and bounded public details. */
4
+ export declare class ComputerUseError extends Error {
5
+ readonly code: ComputerUseErrorCode;
6
+ /**
7
+ * @param code - Stable failure category.
8
+ * @param message - Bounded correction-oriented description without UI secrets.
9
+ * @param options - Optional original cause retained outside the model-facing message.
10
+ */
11
+ constructor(code: ComputerUseErrorCode, message: string, options?: ErrorOptions);
12
+ }
13
+ /** Convert an unknown failure into the provider-failure category without leaking unbounded native text. */
14
+ export declare function computerUseError(error: unknown, fallback: string): ComputerUseError;
15
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,MAAM,MAAM,oBAAoB,GAC5B,+BAA+B,GAC/B,8BAA8B,GAC9B,wBAAwB,GACxB,4BAA4B,GAC5B,8BAA8B,GAC9B,6BAA6B,GAC7B,2BAA2B,GAC3B,gCAAgC,GAChC,8CAA8C,GAC9C,gCAAgC,GAChC,yBAAyB,GACzB,kBAAkB,GAClB,oBAAoB,GACpB,2BAA2B,CAAA;AAE/B,yEAAyE;AACzE,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAA;IAEnC;;;;OAIG;gBACS,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAKhF;AAED,2GAA2G;AAC3G,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAInF"}
@@ -0,0 +1,30 @@
1
+ /** Agent-scoped progressive exposure for Computer Use execution Tools. */
2
+ import type { Session } from '@deepseek-ai/dsh-session';
3
+ import { type ToolDefinition } from '@deepseek-ai/dsh-tools';
4
+ import type { Context } from '@deepseek-ai/cordis';
5
+ /** One global bootstrap retained until the current Agent loads the Skill. */
6
+ export declare const COMPUTER_USE_ACTIVATE = "computer_use_activate";
7
+ /** Activation result returned to the model. */
8
+ export interface ComputerUseActivationResult {
9
+ activated: boolean;
10
+ tools: string[];
11
+ }
12
+ /** Whether durable Session history proves that the bundled Skill was loaded. */
13
+ export declare function hasLoadedComputerUseSkill(session: Session): boolean;
14
+ /** Owns one progressive Tool-exposure generation. */
15
+ export declare class ComputerUseExposure {
16
+ private readonly ctx;
17
+ private readonly createTools;
18
+ readonly activationTool: ToolDefinition;
19
+ private readonly states;
20
+ private installed;
21
+ constructor(ctx: Context, createTools: () => ToolDefinition[]);
22
+ /** Install lifecycle listeners and adopt existing Agents. */
23
+ install(): () => void;
24
+ private attach;
25
+ private activate;
26
+ private detach;
27
+ private disposeStates;
28
+ private disposeState;
29
+ }
30
+ //# sourceMappingURL=exposure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exposure.d.ts","sourceRoot":"","sources":["../../src/exposure.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAI1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB,0BAA0B,CAAA;AA0B5D,+CAA+C;AAC/C,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAqDD,gFAAgF;AAChF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAgCnE;AAED,qDAAqD;AACrD,qBAAa,mBAAmB;IAM5B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAN9B,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,OAAO,CAAC,SAAS,CAAQ;gBAGN,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,MAAM,cAAc,EAAE;IA4BtD,6DAA6D;IAC7D,OAAO,IAAI,MAAM,IAAI;IAuCrB,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,YAAY;CAIrB"}
@@ -0,0 +1,21 @@
1
+ /** DSH Computer Use model-facing consumer and progressive Skill bundle. */
2
+ import { Service, type Context } from '@deepseek-ai/cordis';
3
+ import { type ComputerUseConfig } from './config.ts';
4
+ import { MacOSComputerUseProvider } from './providers/macos.ts';
5
+ export { Config } from './config.ts';
6
+ export * from './errors.ts';
7
+ export * from './service.ts';
8
+ export * from './types.ts';
9
+ /** Register the portable Skill, bootstrap, Agent-scoped Tools, and optional Web diagnostics. */
10
+ export declare function installComputerUseConsumer(ctx: Context): () => void;
11
+ /** macOS provider plus the portable Skill, scoped Tools, and optional Web diagnostics. */
12
+ export declare class ComputerUseBundle extends MacOSComputerUseProvider {
13
+ static inject: string[];
14
+ static Config: import("@deepseek-ai/schemastery").default<ComputerUseConfig>;
15
+ private consumerDispose;
16
+ constructor(ctx: Context, config?: ComputerUseConfig);
17
+ /** Publish model-facing capabilities only after provider integrity and health pass. */
18
+ protected [Service.init](): Promise<void>;
19
+ }
20
+ export default ComputerUseBundle;
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,OAAO,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAK3D,OAAO,EAAU,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAK/D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAE1B,gGAAgG;AAChG,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,IAAI,CAyBnE;AAED,0FAA0F;AAC1F,qBAAa,iBAAkB,SAAQ,wBAAwB;IAC7D,OAAgB,MAAM,WAAkF;IACxG,OAAgB,MAAM,gEAAS;IAE/B,OAAO,CAAC,eAAe,CAA0B;gBAErC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,iBAAsB;IAQxD,uFAAuF;cAC9D,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;CAUzD;AAED,eAAe,iBAAiB,CAAA"}
@@ -0,0 +1,81 @@
1
+ /** Session-sidecar read leases, durable denials, and per-turn control leases. */
2
+ import { z } from 'zod';
3
+ import type { Agent } from '@deepseek-ai/dsh-agent';
4
+ import type { ToolRunContext } from '@deepseek-ai/dsh-tools';
5
+ type CallId = ToolRunContext['callId'];
6
+ import type { SessionId } from '@deepseek-ai/dsh-session';
7
+ import type { Context } from '@deepseek-ai/cordis';
8
+ import type { ResolvedComputerUseConfig } from './config.ts';
9
+ import type { ComputerAppIdentity } from './types.ts';
10
+ declare const sessionIdentitySchema: z.ZodObject<{
11
+ createdAt: z.ZodNumber;
12
+ cwd: z.ZodOptional<z.ZodString>;
13
+ }, z.core.$strip>;
14
+ /** Session fields that fence one sidecar row to one exact Session lifecycle. */
15
+ export type ComputerUseSessionIdentity = z.infer<typeof sessionIdentitySchema>;
16
+ declare const deniedLeaseSchema: z.ZodObject<{
17
+ bundleId: z.ZodString;
18
+ scope: z.ZodUnion<readonly [z.ZodLiteral<"read">, z.ZodLiteral<"control">]>;
19
+ }, z.core.$strip>;
20
+ /** One application/scope rejection that remains final for the Session lifecycle. */
21
+ export type ComputerUseDeniedLease = z.infer<typeof deniedLeaseSchema>;
22
+ /** Runtime validation for the whole-Session Computer Use sidecar row. */
23
+ export declare const computerUseSessionStateSchema: z.ZodObject<{
24
+ session: z.ZodObject<{
25
+ createdAt: z.ZodNumber;
26
+ cwd: z.ZodOptional<z.ZodString>;
27
+ }, z.core.$strip>;
28
+ readGrants: z.ZodArray<z.ZodString>;
29
+ denied: z.ZodArray<z.ZodObject<{
30
+ bundleId: z.ZodString;
31
+ scope: z.ZodUnion<readonly [z.ZodLiteral<"read">, z.ZodLiteral<"control">]>;
32
+ }, z.core.$strip>>;
33
+ }, z.core.$strip>;
34
+ /** Plugin-owned durable authorization state for one Session lifecycle. */
35
+ export type ComputerUseSessionState = z.infer<typeof computerUseSessionStateSchema>;
36
+ /** One lifecycle-bound Computer Use sidecar record per Session id. */
37
+ export declare const computerUseStateDomainSpec: {
38
+ name: string;
39
+ version: number;
40
+ tables: {
41
+ sessions: import("@deepseek-ai/dsh-storage-domain").DomainTableSpec<SessionId, {
42
+ session: {
43
+ createdAt: number;
44
+ cwd?: string | undefined;
45
+ };
46
+ readGrants: string[];
47
+ denied: {
48
+ bundleId: string;
49
+ scope: "read" | "control";
50
+ }[];
51
+ }>;
52
+ };
53
+ };
54
+ /** Source of the technical application lease used by an operation. */
55
+ export type ComputerLeaseSource = 'configured' | 'approved';
56
+ /** Applies configured app policy and routes missing leases through DSH approval. */
57
+ export declare class ComputerLeaseManager {
58
+ private readonly ctx;
59
+ private readonly config;
60
+ private storage;
61
+ private readonly storageFiber;
62
+ private readonly decisionTails;
63
+ private readonly mutationTails;
64
+ private readonly controlGrants;
65
+ constructor(ctx: Context, config: () => ResolvedComputerUseConfig);
66
+ /** Wait for an already-composed storage-domain service to finish opening. */
67
+ initialize(): Promise<void>;
68
+ /** Ensure one Agent may read or control one exact running application. */
69
+ ensure(agent: Agent, app: ComputerAppIdentity, scope: 'read' | 'control', toolName: string, callId: CallId | undefined, signal: AbortSignal): Promise<ComputerLeaseSource>;
70
+ /** Forget process-local control grants when their Agent is disposed. */
71
+ releaseAgent(agent: Agent): void;
72
+ private ensureInteractive;
73
+ private currentState;
74
+ private prepareStorage;
75
+ private persist;
76
+ private storageRequired;
77
+ private enqueueDecision;
78
+ private enqueueMutation;
79
+ }
80
+ export {};
81
+ //# sourceMappingURL=leases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leases.d.ts","sourceRoot":"","sources":["../../src/leases.ts"],"names":[],"mappings":"AAAA,iFAAiF;AAEjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,KAAK,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;AACtC,OAAO,KAAK,EAA+B,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAGtF,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,qBAAqB,CAAA;AAEzD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAE5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAKrD,QAAA,MAAM,qBAAqB;;;iBAGzB,CAAA;AAEF,gFAAgF;AAChF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAE9E,QAAA,MAAM,iBAAiB;;;iBAGrB,CAAA;AAEF,oFAAoF;AACpF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEtE,yEAAyE;AACzE,eAAO,MAAM,6BAA6B;;;;;;;;;;iBA6BxC,CAAA;AAEF,0EAA0E;AAC1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEnF,sEAAsE;AACtE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;CAMrC,CAAA;AAiDF,sEAAsE;AACtE,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,UAAU,CAAA;AAE3D,oFAAoF;AACpF,qBAAa,oBAAoB;IAQ7B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IARzB,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4C;gBAGvD,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,yBAAyB;IAe1D,6EAA6E;IACvE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,0EAA0E;IACpE,MAAM,CACV,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,mBAAmB,EACxB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,mBAAmB,CAAC;IAQ/B,wEAAwE;IACxE,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;YAIlB,iBAAiB;IAgF/B,OAAO,CAAC,YAAY;YAKN,cAAc;YAOd,OAAO;IAuCrB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,eAAe;CASxB"}
@@ -0,0 +1,39 @@
1
+ /** macOS Accessibility/CoreGraphics/ScreenCaptureKit provider for `ctx.computerUse`. */
2
+ import { Service, type Context } from '@deepseek-ai/cordis';
3
+ import type { BackendActionRequest, BackendActionResult, BackendCursorActivation, BackendTrackedDragResult, BackendCursorAction, BackendHealth, BackendObservation, BackendObserveOptions, ComputerUseBackend, CursorVisibility } from '../backend.ts';
4
+ import { type ComputerUseConfig, type ResolvedComputerUseConfig } from '../config.ts';
5
+ import { ComputerUseService } from '../service.ts';
6
+ import type { ComputerAppIdentity, ComputerAppSelector, ComputerAppSummary } from '../types.ts';
7
+ import { NativeHelperClient } from './native-helper.ts';
8
+ /** Fixed-command native backend. */
9
+ export declare class MacOSBackend implements ComputerUseBackend {
10
+ private readonly config;
11
+ readonly name: "macos-ax";
12
+ readonly client: NativeHelperClient;
13
+ constructor(ctx: Context, config: ResolvedComputerUseConfig);
14
+ get helperPath(): string;
15
+ resolveApp(selector: ComputerAppSelector, signal: AbortSignal): Promise<ComputerAppIdentity>;
16
+ listApps(signal: AbortSignal): Promise<ComputerAppSummary[]>;
17
+ observe(app: ComputerAppIdentity, options: BackendObserveOptions, signal: AbortSignal): Promise<BackendObservation>;
18
+ activateForCursor(app: ComputerAppIdentity, expectedStateHash: string, options: BackendObserveOptions, signal: AbortSignal): Promise<BackendCursorActivation>;
19
+ act(request: BackendActionRequest, signal: AbortSignal): Promise<BackendActionResult>;
20
+ actDragWithCursor(request: BackendActionRequest, cursor: BackendCursorAction & {
21
+ kind: 'drag';
22
+ }, signal: AbortSignal): Promise<BackendTrackedDragResult>;
23
+ private prepareNativeDrag;
24
+ visualizeCursor(action: BackendCursorAction, phase: 'before' | 'during' | 'after', signal: AbortSignal): Promise<CursorVisibility>;
25
+ private visualizeCursorPhase;
26
+ dispose(): Promise<void>;
27
+ health(signal: AbortSignal): Promise<BackendHealth>;
28
+ openSettings(kind: 'accessibility' | 'screen-recording', signal: AbortSignal): Promise<void>;
29
+ }
30
+ /** Cordis Service provider loaded by the Bundle before the model-facing consumer. */
31
+ export declare class MacOSComputerUseProvider extends ComputerUseService {
32
+ static inject: string[];
33
+ static Config: import("@deepseek-ai/schemastery").default<ComputerUseConfig>;
34
+ constructor(ctx: Context, config?: ComputerUseConfig);
35
+ /** Verify helper integrity and permissions before the service is injectable. */
36
+ protected [Service.init](): Promise<void>;
37
+ }
38
+ export default MacOSComputerUseProvider;
39
+ //# sourceMappingURL=macos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"macos.d.ts","sourceRoot":"","sources":["../../../src/providers/macos.ts"],"names":[],"mappings":"AAAA,wFAAwF;AAGxF,OAAO,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAK3D,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,eAAe,CAAA;AACtB,OAAO,EAKL,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC/B,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAsBvD,oCAAoC;AACpC,qBAAa,YAAa,YAAW,kBAAkB;IAI3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHjD,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAS;IACnC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;gBAEvB,GAAG,EAAE,OAAO,EAAmB,MAAM,EAAE,yBAAyB;IAI5E,IAAI,UAAU,IAAI,MAAM,CAEvB;IAEK,UAAU,CAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAI5F,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAI5D,OAAO,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQnH,iBAAiB,CACrB,GAAG,EAAE,mBAAmB,EACxB,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,uBAAuB,CAAC;IAU7B,GAAG,CAAC,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAoBrF,iBAAiB,CACrB,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,mBAAmB,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAC9C,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,wBAAwB,CAAC;YAuBtB,iBAAiB;IAezB,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAI1H,oBAAoB;IAqE5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAWnD,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,kBAAkB,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAGnG;AAED,qFAAqF;AACrF,qBAAa,wBAAyB,SAAQ,kBAAkB;IAC9D,MAAM,CAAC,MAAM,WAA+D;IAC5E,MAAM,CAAC,MAAM,gEAAS;gBAEV,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,iBAAsB;IA8CxD,gFAAgF;cAChE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhD;AAED,eAAe,wBAAwB,CAAA"}
@@ -0,0 +1,48 @@
1
+ /** Managed invocation and integrity checks for the fixed-command Swift helper. */
2
+ import type { Context } from '@deepseek-ai/cordis';
3
+ import type { CursorVisibility } from '../backend.ts';
4
+ import type { ResolvedComputerUseConfig } from '../config.ts';
5
+ export interface PreparedNativeDrag<T> {
6
+ readonly result: Promise<T>;
7
+ start(): Promise<void>;
8
+ cancel(): void;
9
+ }
10
+ /** Exact helper paths and integrity data for one active generation. */
11
+ export interface PreparedNativeHelper {
12
+ path: string;
13
+ version: string;
14
+ sha256: string;
15
+ }
16
+ /** Invokes only the packaged JSON protocol through `ctx.subprocess`; no source or shell reaches the helper. */
17
+ export declare class NativeHelperClient {
18
+ private readonly ctx;
19
+ private readonly config;
20
+ private readonly managedRoot;
21
+ private prepared?;
22
+ private cursor;
23
+ private cursorStart;
24
+ private cursorCommandTail;
25
+ private disposed;
26
+ constructor(ctx: Context, config: ResolvedComputerUseConfig, managedRoot?: string);
27
+ /** Absolute executable path selected by explicit override or the packaged managed binary. */
28
+ get helperPath(): string;
29
+ /** Verify platform, file type, packaged hash, and executable mode before use. */
30
+ prepare(signal: AbortSignal): Promise<PreparedNativeHelper>;
31
+ /** Invoke one fixed helper command and parse its bounded JSON envelope. */
32
+ invoke<T>(request: Record<string, unknown>, signal: AbortSignal): Promise<T>;
33
+ /** Prepare and validate a drag, then wait for an explicit pre-mouse-down start barrier. */
34
+ prepareDrag<T>(request: Record<string, unknown>, signal: AbortSignal, readinessTimeoutMs: number): Promise<PreparedNativeDrag<T>>;
35
+ /** Send one serialized command to the persistent, click-through Agent cursor overlay. */
36
+ cursorCommand(command: Record<string, unknown>, signal: AbortSignal, onWritten?: () => void | Promise<void>): Promise<CursorVisibility>;
37
+ private executeCursorCommand;
38
+ private discardCursor;
39
+ /** Stop the cursor process before a provider generation is replaced or disposed. */
40
+ dispose(): Promise<void>;
41
+ /** Prepared integrity facts used by provider health. */
42
+ preparedInfo(): PreparedNativeHelper;
43
+ private buildManaged;
44
+ private getCursor;
45
+ private spawnCursor;
46
+ private waitForCursorReady;
47
+ }
48
+ //# sourceMappingURL=native-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-helper.d.ts","sourceRoot":"","sources":["../../../src/providers/native-helper.ts"],"names":[],"mappings":"AAAA,kFAAkF;AASlF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AA8B7D,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,MAAM,IAAI,IAAI,CAAA;CACf;AA4GD,uEAAuE;AACvE,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf;AAED,+GAA+G;AAC/G,qBAAa,kBAAkB;IAQ3B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAT9B,OAAO,CAAC,QAAQ,CAAC,CAAsB;IACvC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,WAAW,CAAiD;IACpE,OAAO,CAAC,iBAAiB,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAQ;gBAGL,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,yBAAyB,EACjC,WAAW,SAAe;IAG7C,6FAA6F;IAC7F,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,iFAAiF;IAC3E,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAqDjE,2EAA2E;IACrE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IA4ClF,2FAA2F;IACrF,WAAW,CAAC,CAAC,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,WAAW,EACnB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAmIjC,yFAAyF;IACzF,aAAa,CACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,WAAW,EACnB,SAAS,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACrC,OAAO,CAAC,gBAAgB,CAAC;YAmBd,oBAAoB;IAsClC,OAAO,CAAC,aAAa;IAKrB,oFAAoF;IAC9E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB9B,wDAAwD;IACxD,YAAY,IAAI,oBAAoB;YAKtB,YAAY;YAuBZ,SAAS;YA2BT,WAAW;YAkIX,kBAAkB;CAsEjC"}