@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,31 @@
1
+ {
2
+ "name": "@deepseek-ai/node-addon-system-darwin-x64",
3
+ "version": "0.1.2",
4
+ "description": "Prebuilt POSIX flock Node-API binding for macOS x64",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/deepseek-harness/deepseek-harness.git",
8
+ "directory": "native/system/packages/darwin-x64"
9
+ },
10
+ "os": [
11
+ "darwin"
12
+ ],
13
+ "cpu": [
14
+ "x64"
15
+ ],
16
+ "files": [
17
+ "README.md",
18
+ "bin/",
19
+ "prebuilds.json"
20
+ ],
21
+ "scripts": {
22
+ "prepack": "node ../../scripts/verify-launcher-binary.mjs"
23
+ },
24
+ "engines": {
25
+ "node": ">=20"
26
+ },
27
+ "license": "BSD-3-Clause",
28
+ "publishConfig": {
29
+ "access": "public"
30
+ }
31
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "platform": "darwin-x64",
3
+ "binaries": [
4
+ { "tool": "flock", "kind": "node-api", "napi": 8, "path": "bin/system.node" }
5
+ ]
6
+ }
@@ -0,0 +1,28 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2026, node-addon-landlock-run contributors
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright notice, this
9
+ list of conditions and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ this list of conditions and the following disclaimer in the documentation
13
+ and/or other materials provided with the distribution.
14
+
15
+ 3. Neither the name of the copyright holder nor the names of its
16
+ contributors may be used to endorse or promote products derived from
17
+ this software without specific prior written permission.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,6 @@
1
+ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each
2
+ # side as of the last confirmed-consistent state. Both languages carry equal authority;
3
+ # after editing either side, bring the other along and re-record with:
4
+ # pnpm run verify-translation-pairing --write native/system/packages/linux-arm64/README.md
5
+ README.md: b1e97481a3f59b5b7cf85e6565cd3d078e42cd7f
6
+ README.zh.md: 79f3b75e16570c4dff8d7249bcd75481f11cc85c
@@ -0,0 +1,11 @@
1
+ ---
2
+ description: "Prebuilt Landlock launcher and POSIX flock addons for Linux arm64."
3
+ kind: "package-library"
4
+ ---
5
+ # @deepseek-ai/node-addon-system-linux-arm64
6
+
7
+ English | [中文](README.zh.md)
8
+
9
+ This platform package contains the static musl executable `bin/landlock-run` and Node-API v8 addons `bin/glibc/system.node` and `bin/musl/system.node`. The entry chooses the addon matching the running Node process's libc; the Landlock executable serves both libc systems.
10
+
11
+ The package contains no JavaScript or installation build script. Platform prepack checks complete payloads, ELF architecture, Node-API exports, and launcher executability; the installed-artifact rehearsal checks bytes and executes native behavior. See the workspace [support matrix](../../docs/support-matrix.md).
@@ -0,0 +1,11 @@
1
+ ---
2
+ description: "为 Linux arm64 提供预编译 Landlock 启动器和 POSIX flock addon。"
3
+ kind: "package-library"
4
+ ---
5
+ # @deepseek-ai/node-addon-system-linux-arm64
6
+
7
+ [English](README.md) | 中文
8
+
9
+ 此平台包包含静态 musl 可执行文件 `bin/landlock-run`,以及 Node-API v8 addon `bin/glibc/system.node` 和 `bin/musl/system.node`。入口包按运行 Node 进程的 libc 选择 addon;Landlock 可执行文件在两种 libc 系统上共用。
10
+
11
+ 包中没有 JavaScript 或安装编译脚本。平台 prepack 检查完整产物、ELF 架构、Node-API 导出和启动器可执行权限;安装演练核对字节并执行原生行为。参见工作区[支持矩阵](../../docs/support-matrix.md)。
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "@deepseek-ai/node-addon-system-linux-arm64",
3
+ "version": "0.1.2",
4
+ "description": "Linux arm64 system binaries: static Landlock launcher and glibc/musl Node-API flock addons",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/deepseek-harness/deepseek-harness.git",
8
+ "directory": "native/system/packages/linux-arm64"
9
+ },
10
+ "os": [
11
+ "linux"
12
+ ],
13
+ "cpu": [
14
+ "arm64"
15
+ ],
16
+ "files": [
17
+ "README.md",
18
+ "bin/",
19
+ "prebuilds.json"
20
+ ],
21
+ "scripts": {
22
+ "prepack": "node ../../scripts/verify-launcher-binary.mjs"
23
+ },
24
+ "engines": {
25
+ "node": ">=20"
26
+ },
27
+ "license": "BSD-3-Clause",
28
+ "publishConfig": {
29
+ "access": "public"
30
+ }
31
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "platform": "linux-arm64",
3
+ "binaries": [
4
+ {
5
+ "tool": "landlock-run",
6
+ "kind": "static-musl",
7
+ "path": "bin/landlock-run"
8
+ },
9
+ {
10
+ "tool": "flock",
11
+ "kind": "node-api",
12
+ "napi": 8,
13
+ "libc": "glibc",
14
+ "path": "bin/glibc/system.node"
15
+ },
16
+ {
17
+ "tool": "flock",
18
+ "kind": "node-api",
19
+ "napi": 8,
20
+ "libc": "musl",
21
+ "path": "bin/musl/system.node"
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,28 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2026, node-addon-landlock-run contributors
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright notice, this
9
+ list of conditions and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ this list of conditions and the following disclaimer in the documentation
13
+ and/or other materials provided with the distribution.
14
+
15
+ 3. Neither the name of the copyright holder nor the names of its
16
+ contributors may be used to endorse or promote products derived from
17
+ this software without specific prior written permission.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,6 @@
1
+ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each
2
+ # side as of the last confirmed-consistent state. Both languages carry equal authority;
3
+ # after editing either side, bring the other along and re-record with:
4
+ # pnpm run verify-translation-pairing --write native/system/packages/linux-x64/README.md
5
+ README.md: caebb5d8a888a69a952fc89afb3edfb8ece489fc
6
+ README.zh.md: 6ad1dcf6fe26007f76cdeb98936a94262ece4d7c
@@ -0,0 +1,11 @@
1
+ ---
2
+ description: "Prebuilt Landlock launcher and POSIX flock addons for Linux x64."
3
+ kind: "package-library"
4
+ ---
5
+ # @deepseek-ai/node-addon-system-linux-x64
6
+
7
+ English | [中文](README.zh.md)
8
+
9
+ This platform package contains the static musl executable `bin/landlock-run` and Node-API v8 addons `bin/glibc/system.node` and `bin/musl/system.node`. The entry chooses the addon matching the running Node process's libc; the Landlock executable serves both libc systems.
10
+
11
+ The package contains no JavaScript or installation build script. Platform prepack checks complete payloads, ELF architecture, Node-API exports, and launcher executability; the installed-artifact rehearsal checks bytes and executes native behavior. See the workspace [support matrix](../../docs/support-matrix.md).
@@ -0,0 +1,11 @@
1
+ ---
2
+ description: "为 Linux x64 提供预编译 Landlock 启动器和 POSIX flock addon。"
3
+ kind: "package-library"
4
+ ---
5
+ # @deepseek-ai/node-addon-system-linux-x64
6
+
7
+ [English](README.md) | 中文
8
+
9
+ 此平台包包含静态 musl 可执行文件 `bin/landlock-run`,以及 Node-API v8 addon `bin/glibc/system.node` 和 `bin/musl/system.node`。入口包按运行 Node 进程的 libc 选择 addon;Landlock 可执行文件在两种 libc 系统上共用。
10
+
11
+ 包中没有 JavaScript 或安装编译脚本。平台 prepack 检查完整产物、ELF 架构、Node-API 导出和启动器可执行权限;安装演练核对字节并执行原生行为。参见工作区[支持矩阵](../../docs/support-matrix.md)。
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "@deepseek-ai/node-addon-system-linux-x64",
3
+ "version": "0.1.2",
4
+ "description": "Linux x64 system binaries: static Landlock launcher and glibc/musl Node-API flock addons",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/deepseek-harness/deepseek-harness.git",
8
+ "directory": "native/system/packages/linux-x64"
9
+ },
10
+ "os": [
11
+ "linux"
12
+ ],
13
+ "cpu": [
14
+ "x64"
15
+ ],
16
+ "files": [
17
+ "README.md",
18
+ "bin/",
19
+ "prebuilds.json"
20
+ ],
21
+ "scripts": {
22
+ "prepack": "node ../../scripts/verify-launcher-binary.mjs"
23
+ },
24
+ "engines": {
25
+ "node": ">=20"
26
+ },
27
+ "license": "BSD-3-Clause",
28
+ "publishConfig": {
29
+ "access": "public"
30
+ }
31
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "platform": "linux-x64",
3
+ "binaries": [
4
+ {
5
+ "tool": "landlock-run",
6
+ "kind": "static-musl",
7
+ "path": "bin/landlock-run"
8
+ },
9
+ {
10
+ "tool": "flock",
11
+ "kind": "node-api",
12
+ "napi": 8,
13
+ "libc": "glibc",
14
+ "path": "bin/glibc/system.node"
15
+ },
16
+ {
17
+ "tool": "flock",
18
+ "kind": "node-api",
19
+ "napi": 8,
20
+ "libc": "musl",
21
+ "path": "bin/musl/system.node"
22
+ }
23
+ ]
24
+ }
package/package.json CHANGED
@@ -1,6 +1,158 @@
1
1
  {
2
2
  "name": "@toddzheng024/dscode-desktop",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.7.33",
4
+ "private": false,
5
+ "description": "DSCODE for Harness Desktop: coding collaboration, session memory, browser workflows and task management.",
6
+ "license": "MIT",
7
+ "type": "module",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/qiz029/dscode.git"
11
+ },
12
+ "homepage": "https://github.com/qiz029/dscode#readme",
13
+ "bugs": {
14
+ "url": "https://github.com/qiz029/dscode/issues"
15
+ },
16
+ "keywords": [
17
+ "dsh-plugin",
18
+ "deepseek-harness",
19
+ "desktop",
20
+ "coding",
21
+ "collaboration"
22
+ ],
23
+ "engines": {
24
+ "node": "^22.19.0 || >=24.0.0",
25
+ "dsh": "0.2.0-rc.2"
26
+ },
27
+ "peerDependencies": {
28
+ "@deepseek-ai/dsh": "0.2.0-rc.2"
29
+ },
30
+ "icon": "./icon.svg",
31
+ "publishConfig": {
32
+ "access": "public",
33
+ "tag": "preview"
34
+ },
35
+ "exports": {
36
+ "./package.json": "./package.json",
37
+ "./cordis.patch.yml": "./cordis.patch.yml",
38
+ ".": "./plugins/desktop/index.mjs",
39
+ "./client": "./plugins/desktop/client.mjs",
40
+ "./browser": "./plugins/browser/index.mjs",
41
+ "./auto-review": "./plugins/auto-review/index.mjs",
42
+ "./policy": "./plugins/dscode/index.mjs",
43
+ "./control": "./plugins/dscode/control.mjs",
44
+ "./compaction": "./plugins/compaction/engine.mjs",
45
+ "./code-review": "./plugins/code-review/index.mjs",
46
+ "./workspace": "./plugins/desktop-workspace/index.mjs",
47
+ "./credentials": "./plugins/credentials/index.mjs",
48
+ "./custom": "./plugins/custom/index.mjs",
49
+ "./hub": "./plugins/hub/desktop-host.mjs",
50
+ "./openrouter": "./plugins/openrouter/index.mjs",
51
+ "./grok": "./plugins/grok/index.mjs",
52
+ "./opencode-go": "./plugins/opencode-go/index.mjs",
53
+ "./jev": "./plugins/jev/index.mjs",
54
+ "./session-metrics": "./plugins/session-metrics/index.mjs",
55
+ "./session-cards": "./plugins/session-cards/index.mjs",
56
+ "./session-bridge": "./plugins/session-bridge/index.mjs",
57
+ "./triggers": "./plugins/triggers/desktop-host.mjs",
58
+ "./email": "./plugins/email/desktop-host.mjs",
59
+ "./memory": "./plugins/memory/desktop-host.mjs",
60
+ "./computer-use": "./plugins/computer-use/desktop-host.mjs",
61
+ "./time-marks": "./plugins/time-marks/desktop-host.mjs",
62
+ "./diagnostics": "./plugins/tui-tools/desktop-host.mjs",
63
+ "./metrics-ui": "./plugins/session-metrics/desktop-host.mjs",
64
+ "./delegation-ui": "./plugins/dscode/desktop-host.mjs",
65
+ "./bash": "./vendor/bash/index.js",
66
+ "./persistent": "./vendor/persistent/index.js",
67
+ "./terminal": "./vendor/terminal/index.js",
68
+ "./subagent": "./vendor/subagent/index.js",
69
+ "./subagent-core": "./vendor/subagent-core/index.js",
70
+ "./subagent-driver": "./vendor/subagent-driver/index.js",
71
+ "./subagent-spawn": "./vendor/subagent-spawn/index.js",
72
+ "./subagent-fork": "./vendor/subagent-fork/index.js",
73
+ "./command-goal": "./vendor/command-goal/index.js",
74
+ "./icon": "./icon.svg",
75
+ "./locale/*": "./locale/*"
76
+ },
77
+ "files": [
78
+ "plugins",
79
+ "bin",
80
+ "docs",
81
+ "extensions",
82
+ "vendor",
83
+ "locale",
84
+ "icon.svg",
85
+ "cordis.patch.yml",
86
+ "runtime-sources.json",
87
+ "THIRD_PARTY_NOTICES.md",
88
+ "README.md",
89
+ "LICENSE"
90
+ ],
91
+ "dependencies": {
92
+ "@modelcontextprotocol/sdk": "1.30.0",
93
+ "chrome-devtools-mcp": "1.10.1",
94
+ "ws": "8.21.3",
95
+ "@dsh-plugin-hub/schemas": "0.5.0",
96
+ "semver": "7.8.5",
97
+ "imapflow": "2.0.5",
98
+ "mailparser": "3.9.28",
99
+ "nodemailer": "10.0.10",
100
+ "cron-parser": "5.7.0",
101
+ "yaml": "2.9.1",
102
+ "zod": "4.6.5",
103
+ "@deepseek-ai/node-addon-system": "0.1.2"
104
+ },
105
+ "bundledDependencies": [
106
+ "@deepseek-ai/node-addon-system"
107
+ ],
108
+ "dsh": {
109
+ "bundle": {
110
+ "patch": "./cordis.patch.yml"
111
+ },
112
+ "hub": {
113
+ "schemaVersion": 1,
114
+ "displayName": "DSCODE Desktop",
115
+ "summary": "Coding collaboration, memory, browser workflows and community plugin discovery for Harness Desktop.",
116
+ "description": "Adds DSCODE to the official Harness Desktop application. Requires the exact DSH runtime 0.2.0-rc.2. Qualified on macOS Apple Silicon. Install the plugin, select the DSCODE agent preset and configure a model account. This package does not include a standalone application or the terminal UI.",
117
+ "homepage": "https://github.com/qiz029/dscode#readme",
118
+ "categories": [
119
+ "developer-tools",
120
+ "agents-orchestration"
121
+ ],
122
+ "keywords": [
123
+ "coding",
124
+ "desktop",
125
+ "browser",
126
+ "collaboration",
127
+ "plugin-hub"
128
+ ],
129
+ "compatibility": {
130
+ "dsh": "0.2.0-rc.2",
131
+ "node": "^22.19.0 || >=24.0.0",
132
+ "platforms": [
133
+ "darwin"
134
+ ],
135
+ "surfaces": [
136
+ "desktop"
137
+ ],
138
+ "hmr": "restart"
139
+ },
140
+ "entryIds": [
141
+ "dscode-desktop",
142
+ "dscode-hub",
143
+ "dscode-browser"
144
+ ],
145
+ "before": [],
146
+ "after": [],
147
+ "channel": "beta"
148
+ },
149
+ "client": {
150
+ "platform": "web",
151
+ "inject": [
152
+ "@deepseek-ai/dsh-client-ui-settings",
153
+ "@deepseek-ai/dsh-api-remotes",
154
+ "@deepseek-ai/dsh-client-ui-sidebar-right"
155
+ ]
156
+ }
157
+ }
158
+ }
@@ -0,0 +1,178 @@
1
+ /**
2
+ * `/account`: the DeepSeek account login, from the terminal.
3
+ *
4
+ * DSH 0.1.7 added an account plane beside API keys: `deepseekAccount` signs in through the
5
+ * system browser with PKCE, keeps the grant in the local credential store, and the DeepSeek
6
+ * route resolves it for the configured inference origin — so a signed-in user needs no
7
+ * `DEEPSEEK_API_KEY` at all. Upstream drives that plane from its Web settings page; this
8
+ * command is DSCODE's terminal equivalent.
9
+ *
10
+ * The provider registers `/oauth/callback` on the Host webserver for the lifetime of one
11
+ * attempt, which is why the TUI profile composes a loopback webserver (see
12
+ * `packages/tui/cordis.patch.yml`). Without it the command says so instead of starting an
13
+ * attempt the browser could never complete.
14
+ *
15
+ * Tokens never pass through here: the service's view is the client-safe projection, and
16
+ * `resolveToken` stays Host-only inside the LLM route.
17
+ *
18
+ * @module dscode-account
19
+ */
20
+
21
+ import { execFile } from 'node:child_process';
22
+ import { readLanguage, t } from '../i18n/messages.mjs';
23
+ import { ACTIVE_PHASES, TERMINAL_PHASES, callbackOrigin, outcomeLines, signInBlocked, statusLines } from './state.mjs';
24
+
25
+ export const name = 'dscode-account';
26
+ export const inject = ['commands'];
27
+
28
+ /** Upper bound for one terminal-driven attempt; the provider applies its own deadline too. */
29
+ const ATTEMPT_WAIT_MS = 300000;
30
+
31
+ const ok = text => ({ kind: 'success', text });
32
+ const fail = text => ({ kind: 'error', text });
33
+
34
+ /** Open a URL in the user's browser, reporting failure instead of throwing. */
35
+ export function openBrowser(url, { platform = process.platform, run = execFile } = {}) {
36
+ return new Promise(resolve => {
37
+ if (platform === 'win32') { resolve(false); return; }
38
+ run(platform === 'darwin' ? 'open' : 'xdg-open', [url], { timeout: 10000 }, error => resolve(!error));
39
+ });
40
+ }
41
+
42
+ /**
43
+ * Follow one attempt until `done(view)` accepts it, the attempt is replaced, or the wait
44
+ * runs out.
45
+ *
46
+ * `watch()` yields the current state first and then on every change, so an already
47
+ * settled attempt returns immediately and a cancelled one does not hang. Both the
48
+ * caller's signal and the bounded wait end the iteration.
49
+ *
50
+ * @param account - the account service.
51
+ * @param id - the attempt this wait belongs to; a different attempt ends the wait.
52
+ * @param done - predicate over each view; true stops the wait.
53
+ * @param signal - the command's cancellation.
54
+ * @returns the last view seen.
55
+ */
56
+ export async function followAttempt(account, id, done, signal, { timeoutMs = ATTEMPT_WAIT_MS } = {}) {
57
+ const deadline = AbortSignal.any([signal, AbortSignal.timeout(timeoutMs)]);
58
+ let last = await account.getState();
59
+ if (done(last)) return last;
60
+ try {
61
+ for await (const view of account.watch(deadline)) {
62
+ last = view;
63
+ const attempt = view.attempt;
64
+ if (attempt === null || attempt.id !== id) break;
65
+ if (done(view)) break;
66
+ }
67
+ } catch { /* an aborted watch leaves the last view in place */ }
68
+ return last;
69
+ }
70
+
71
+ /** A view whose attempt carries the browser URL, or has already settled without one. */
72
+ export function authorizeReady(view, id) {
73
+ const attempt = view.attempt;
74
+ if (attempt === null || attempt.id !== id) return true;
75
+ return attempt.authorizeUrl !== undefined || TERMINAL_PHASES.includes(attempt.phase);
76
+ }
77
+
78
+ /** A view whose attempt will not change again. */
79
+ export function settled(view, id) {
80
+ const attempt = view.attempt;
81
+ if (attempt === null || attempt.id !== id) return true;
82
+ return TERMINAL_PHASES.includes(attempt.phase);
83
+ }
84
+
85
+ /**
86
+ * Run one browser sign-in to settlement.
87
+ *
88
+ * Kept apart from the command so the whole flow — waiting for the URL, opening the
89
+ * browser, following the attempt, reading the result — is drivable with a fake service
90
+ * and a fake opener.
91
+ *
92
+ * @param service - the account service.
93
+ * @param origin - the loopback callback origin.
94
+ * @param locale - DSCODE interface language.
95
+ * @param signal - the command's cancellation.
96
+ * @param open - browser opener returning whether it launched.
97
+ * @returns the lines to print and whether the sign-in succeeded.
98
+ */
99
+ export async function runSignIn({ service, origin, locale, signal, open = openBrowser }) {
100
+ // An attempt already in flight is returned unchanged rather than replaced, so this also
101
+ // covers "resume the sign-in you started a moment ago".
102
+ const started = await service.startSignIn(locale, origin, 'desktop');
103
+ const attempt = started.attempt;
104
+ if (attempt === null || attempt === undefined) return { ok: false, lines: [t(locale, 'account.startFailed')] };
105
+ const lines = [t(locale, 'account.starting')];
106
+ // The browser URL is not part of `startSignIn`'s answer: the provider returns as soon as
107
+ // the attempt exists and publishes the URL once `auth_init` replies, so it is awaited
108
+ // before anything is opened.
109
+ const ready = await followAttempt(service, attempt.id, view => authorizeReady(view, attempt.id), signal);
110
+ const url = ready.attempt?.id === attempt.id ? ready.attempt.authorizeUrl : undefined;
111
+ if (url !== undefined) {
112
+ lines.push(await open(url) ? t(locale, 'account.browserOpened') : t(locale, 'account.browserManual'));
113
+ lines.push(url);
114
+ }
115
+ const final = settled(ready, attempt.id) ? ready : await followAttempt(service, attempt.id, view => settled(view, attempt.id), signal);
116
+ const details = final.status === 'credential-stored' ? await readDetails(service) : undefined;
117
+ return {
118
+ ok: final.attempt?.phase === 'succeeded' || final.status === 'credential-stored',
119
+ lines: [...lines, '', ...outcomeLines(final, details, locale)],
120
+ };
121
+ }
122
+
123
+ export function apply(ctx) {
124
+ const language = () => readLanguage();
125
+ const account = () => ctx.get('deepseekAccount');
126
+
127
+ ctx.commands.register({
128
+ name: 'account',
129
+ description: 'Sign in to a DeepSeek account through the browser, or read its status (/account [login|cancel|logout])',
130
+ input: { hint: '[login|cancel|logout]' },
131
+ handler: async ({ rawInput, signal }) => {
132
+ const locale = language();
133
+ const service = account();
134
+ const argument = String(rawInput ?? '').trim().toLowerCase();
135
+ if (service === undefined) return fail(t(locale, 'account.unavailable'));
136
+
137
+ if (argument === '' || argument === 'status') {
138
+ const view = await service.getState();
139
+ const details = view.status === 'credential-stored' ? await readDetails(service) : undefined;
140
+ return ok(statusLines(view, details, locale).join('\n'));
141
+ }
142
+
143
+ if (argument === 'logout' || argument === 'sign-out' || argument === 'signout') {
144
+ const view = await service.signOut();
145
+ return ok(statusLines(view, undefined, locale).join('\n'));
146
+ }
147
+
148
+ if (argument === 'cancel') {
149
+ const current = await service.getState();
150
+ const attempt = current.attempt;
151
+ if (attempt === null || !ACTIVE_PHASES.includes(attempt.phase)) return ok(t(locale, 'account.nothingToCancel'));
152
+ const view = await service.cancelSignIn(attempt.id);
153
+ return ok(outcomeLines(view, undefined, locale).join('\n'));
154
+ }
155
+
156
+ if (argument !== 'login' && argument !== 'signin' && argument !== 'sign-in') {
157
+ return fail(t(locale, 'account.usage'));
158
+ }
159
+
160
+ const origin = callbackOrigin(ctx.get('webServer'));
161
+ const blocked = signInBlocked(service, origin, locale);
162
+ if (blocked !== undefined) return fail(blocked);
163
+
164
+ const result = await runSignIn({ service, origin, locale, signal });
165
+ ctx.logger?.info?.(`account: sign-in ${result.ok ? 'succeeded' : 'did not complete'}`);
166
+ return (result.ok ? ok : fail)(result.lines.join('\n'));
167
+ },
168
+ });
169
+ }
170
+
171
+ /** Read identity and balance, letting either failure render on its own. */
172
+ async function readDetails(service) {
173
+ const [profile, balance] = await Promise.all([
174
+ service.getProfile().catch(() => ({ status: 'failed' })),
175
+ service.getBalance().catch(() => ({ status: 'failed' })),
176
+ ]);
177
+ return { profile: profile ?? undefined, balance: balance ?? undefined };
178
+ }