@blue-soda/dsh-remote 0.5.6 → 0.5.7

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 (232) hide show
  1. package/README.md +2 -2
  2. package/cordis.patch.yml +30 -30
  3. package/dist/client.github.js +1 -1
  4. package/dist/client.js +1 -1
  5. package/dist/index.js +321 -57
  6. package/dist/index.js.map +3 -3
  7. package/dsh-plugin.json +41 -41
  8. package/package.json +165 -165
  9. package/dist/acp.d.ts +0 -75
  10. package/dist/acp.d.ts.map +0 -1
  11. package/dist/acp.js +0 -61
  12. package/dist/acp.js.map +0 -1
  13. package/dist/api-proxy-switch.d.ts +0 -33
  14. package/dist/api-proxy-switch.d.ts.map +0 -1
  15. package/dist/api-proxy-switch.js +0 -109
  16. package/dist/api-proxy-switch.js.map +0 -1
  17. package/dist/atomic-file.d.ts +0 -16
  18. package/dist/atomic-file.d.ts.map +0 -1
  19. package/dist/atomic-file.js +0 -81
  20. package/dist/atomic-file.js.map +0 -1
  21. package/dist/bin/doctor.d.ts +0 -3
  22. package/dist/bin/doctor.d.ts.map +0 -1
  23. package/dist/bin/doctor.js +0 -13
  24. package/dist/bin/doctor.js.map +0 -1
  25. package/dist/cli.d.ts +0 -32
  26. package/dist/cli.d.ts.map +0 -1
  27. package/dist/cli.js +0 -289
  28. package/dist/cli.js.map +0 -1
  29. package/dist/client-runtime.d.ts +0 -375
  30. package/dist/client-runtime.d.ts.map +0 -1
  31. package/dist/client-runtime.js +0 -1768
  32. package/dist/client-runtime.js.map +0 -1
  33. package/dist/client-secure-transport.d.ts +0 -23
  34. package/dist/client-secure-transport.d.ts.map +0 -1
  35. package/dist/client-secure-transport.js +0 -144
  36. package/dist/client-secure-transport.js.map +0 -1
  37. package/dist/client-target-store.d.ts +0 -40
  38. package/dist/client-target-store.d.ts.map +0 -1
  39. package/dist/client-target-store.js +0 -79
  40. package/dist/client-target-store.js.map +0 -1
  41. package/dist/client.d.ts +0 -13
  42. package/dist/client.d.ts.map +0 -1
  43. package/dist/codex/app-server.d.ts +0 -71
  44. package/dist/codex/app-server.d.ts.map +0 -1
  45. package/dist/codex/app-server.js +0 -268
  46. package/dist/codex/app-server.js.map +0 -1
  47. package/dist/codex/codex-image-codec.d.ts +0 -7
  48. package/dist/codex/codex-image-codec.d.ts.map +0 -1
  49. package/dist/codex/codex-image-codec.js +0 -288
  50. package/dist/codex/codex-image-codec.js.map +0 -1
  51. package/dist/codex/domain.d.ts +0 -102
  52. package/dist/codex/domain.d.ts.map +0 -1
  53. package/dist/codex/domain.js +0 -1323
  54. package/dist/codex/domain.js.map +0 -1
  55. package/dist/codex/method-policy.d.ts +0 -338
  56. package/dist/codex/method-policy.d.ts.map +0 -1
  57. package/dist/codex/method-policy.js +0 -141
  58. package/dist/codex/method-policy.js.map +0 -1
  59. package/dist/codex/peer-bridge.d.ts +0 -57
  60. package/dist/codex/peer-bridge.d.ts.map +0 -1
  61. package/dist/codex/peer-bridge.js +0 -299
  62. package/dist/codex/peer-bridge.js.map +0 -1
  63. package/dist/codex/permissions.d.ts +0 -4
  64. package/dist/codex/permissions.d.ts.map +0 -1
  65. package/dist/codex/permissions.js +0 -21
  66. package/dist/codex/permissions.js.map +0 -1
  67. package/dist/codex/session-id.d.ts +0 -10
  68. package/dist/codex/session-id.d.ts.map +0 -1
  69. package/dist/codex/session-id.js +0 -15
  70. package/dist/codex/session-id.js.map +0 -1
  71. package/dist/codex/virtual-harness.d.ts +0 -209
  72. package/dist/codex/virtual-harness.d.ts.map +0 -1
  73. package/dist/codex/virtual-harness.js +0 -2650
  74. package/dist/codex/virtual-harness.js.map +0 -1
  75. package/dist/codex-workspace-bridge.d.ts +0 -108
  76. package/dist/codex-workspace-bridge.d.ts.map +0 -1
  77. package/dist/codex-workspace-bridge.js +0 -502
  78. package/dist/codex-workspace-bridge.js.map +0 -1
  79. package/dist/config.d.ts +0 -99
  80. package/dist/config.d.ts.map +0 -1
  81. package/dist/config.js +0 -127
  82. package/dist/config.js.map +0 -1
  83. package/dist/connection-controller.d.ts +0 -44
  84. package/dist/connection-controller.d.ts.map +0 -1
  85. package/dist/connection-controller.js +0 -185
  86. package/dist/connection-controller.js.map +0 -1
  87. package/dist/control-route.d.ts +0 -34
  88. package/dist/control-route.d.ts.map +0 -1
  89. package/dist/control-route.js +0 -136
  90. package/dist/control-route.js.map +0 -1
  91. package/dist/control-runtime.d.ts +0 -138
  92. package/dist/control-runtime.d.ts.map +0 -1
  93. package/dist/control-runtime.js +0 -543
  94. package/dist/control-runtime.js.map +0 -1
  95. package/dist/control-stream.d.ts +0 -67
  96. package/dist/control-stream.d.ts.map +0 -1
  97. package/dist/control-stream.js +0 -179
  98. package/dist/control-stream.js.map +0 -1
  99. package/dist/defaults.d.ts +0 -9
  100. package/dist/defaults.d.ts.map +0 -1
  101. package/dist/defaults.js +0 -9
  102. package/dist/defaults.js.map +0 -1
  103. package/dist/file-viewer-bridge.d.ts +0 -30
  104. package/dist/file-viewer-bridge.d.ts.map +0 -1
  105. package/dist/file-viewer-bridge.js +0 -128
  106. package/dist/file-viewer-bridge.js.map +0 -1
  107. package/dist/file-viewer-contract.d.ts +0 -5
  108. package/dist/file-viewer-contract.d.ts.map +0 -1
  109. package/dist/file-viewer-contract.js +0 -4
  110. package/dist/file-viewer-contract.js.map +0 -1
  111. package/dist/harness-api-bridge.d.ts +0 -81
  112. package/dist/harness-api-bridge.d.ts.map +0 -1
  113. package/dist/harness-api-bridge.js +0 -862
  114. package/dist/harness-api-bridge.js.map +0 -1
  115. package/dist/harness-api-history.d.ts +0 -3
  116. package/dist/harness-api-history.d.ts.map +0 -1
  117. package/dist/harness-api-history.js +0 -59
  118. package/dist/harness-api-history.js.map +0 -1
  119. package/dist/harness-remote-bridge.d.ts +0 -60
  120. package/dist/harness-remote-bridge.d.ts.map +0 -1
  121. package/dist/harness-remote-bridge.js +0 -540
  122. package/dist/harness-remote-bridge.js.map +0 -1
  123. package/dist/harness-version.d.ts +0 -23
  124. package/dist/harness-version.d.ts.map +0 -1
  125. package/dist/harness-version.js +0 -95
  126. package/dist/harness-version.js.map +0 -1
  127. package/dist/identity-store.d.ts +0 -45
  128. package/dist/identity-store.d.ts.map +0 -1
  129. package/dist/identity-store.js +0 -186
  130. package/dist/identity-store.js.map +0 -1
  131. package/dist/ids.d.ts +0 -2
  132. package/dist/ids.d.ts.map +0 -1
  133. package/dist/ids.js +0 -17
  134. package/dist/ids.js.map +0 -1
  135. package/dist/index.d.ts +0 -78
  136. package/dist/index.d.ts.map +0 -1
  137. package/dist/logging.d.ts +0 -18
  138. package/dist/logging.d.ts.map +0 -1
  139. package/dist/logging.js +0 -30
  140. package/dist/logging.js.map +0 -1
  141. package/dist/loopback-host.d.ts +0 -20
  142. package/dist/loopback-host.d.ts.map +0 -1
  143. package/dist/loopback-host.js +0 -245
  144. package/dist/loopback-host.js.map +0 -1
  145. package/dist/loopback-preview.d.ts +0 -19
  146. package/dist/loopback-preview.d.ts.map +0 -1
  147. package/dist/loopback-preview.js +0 -232
  148. package/dist/loopback-preview.js.map +0 -1
  149. package/dist/native-rtc-helper.d.ts +0 -14
  150. package/dist/native-rtc-helper.d.ts.map +0 -1
  151. package/dist/native-rtc-helper.js +0 -575
  152. package/dist/native-rtc-helper.js.map +0 -1
  153. package/dist/remote-api-proxy.d.ts +0 -17
  154. package/dist/remote-api-proxy.d.ts.map +0 -1
  155. package/dist/remote-api-proxy.js +0 -451
  156. package/dist/remote-api-proxy.js.map +0 -1
  157. package/dist/remote-directory-browser.d.ts +0 -16
  158. package/dist/remote-directory-browser.d.ts.map +0 -1
  159. package/dist/remote-directory-browser.js +0 -48
  160. package/dist/remote-directory-browser.js.map +0 -1
  161. package/dist/remote-file-content-provider.d.ts +0 -48
  162. package/dist/remote-file-content-provider.d.ts.map +0 -1
  163. package/dist/remote-file-content-provider.js +0 -93
  164. package/dist/remote-file-content-provider.js.map +0 -1
  165. package/dist/remote-typert-gateway.d.ts +0 -20
  166. package/dist/remote-typert-gateway.d.ts.map +0 -1
  167. package/dist/remote-typert-gateway.js +0 -334
  168. package/dist/remote-typert-gateway.js.map +0 -1
  169. package/dist/rpc-binary-attachments.d.ts +0 -33
  170. package/dist/rpc-binary-attachments.d.ts.map +0 -1
  171. package/dist/rpc-binary-attachments.js +0 -142
  172. package/dist/rpc-binary-attachments.js.map +0 -1
  173. package/dist/rpc-router.d.ts +0 -31
  174. package/dist/rpc-router.d.ts.map +0 -1
  175. package/dist/rpc-router.js +0 -201
  176. package/dist/rpc-router.js.map +0 -1
  177. package/dist/safe-error.d.ts +0 -8
  178. package/dist/safe-error.d.ts.map +0 -1
  179. package/dist/safe-error.js +0 -20
  180. package/dist/safe-error.js.map +0 -1
  181. package/dist/server-api.d.ts +0 -109
  182. package/dist/server-api.d.ts.map +0 -1
  183. package/dist/server-api.js +0 -520
  184. package/dist/server-api.js.map +0 -1
  185. package/dist/server-connection.d.ts +0 -79
  186. package/dist/server-connection.d.ts.map +0 -1
  187. package/dist/server-connection.js +0 -1023
  188. package/dist/server-connection.js.map +0 -1
  189. package/dist/server-credentials.d.ts +0 -55
  190. package/dist/server-credentials.d.ts.map +0 -1
  191. package/dist/server-credentials.js +0 -108
  192. package/dist/server-credentials.js.map +0 -1
  193. package/dist/service.d.ts +0 -151
  194. package/dist/service.d.ts.map +0 -1
  195. package/dist/service.js +0 -448
  196. package/dist/service.js.map +0 -1
  197. package/dist/session-format-compat.d.ts +0 -3
  198. package/dist/session-format-compat.d.ts.map +0 -1
  199. package/dist/session-format-compat.js +0 -183
  200. package/dist/session-format-compat.js.map +0 -1
  201. package/dist/status-stream.d.ts +0 -48
  202. package/dist/status-stream.d.ts.map +0 -1
  203. package/dist/status-stream.js +0 -133
  204. package/dist/status-stream.js.map +0 -1
  205. package/dist/terminal-policy.d.ts +0 -21
  206. package/dist/terminal-policy.d.ts.map +0 -1
  207. package/dist/terminal-policy.js +0 -68
  208. package/dist/terminal-policy.js.map +0 -1
  209. package/dist/tui-command.d.ts +0 -13
  210. package/dist/tui-command.d.ts.map +0 -1
  211. package/dist/tui-command.js +0 -392
  212. package/dist/tui-command.js.map +0 -1
  213. package/dist/typert-gateway-contract.d.ts +0 -59
  214. package/dist/typert-gateway-contract.d.ts.map +0 -1
  215. package/dist/typert-gateway-contract.js +0 -2
  216. package/dist/typert-gateway-contract.js.map +0 -1
  217. package/dist/typert-gateway-switch.d.ts +0 -85
  218. package/dist/typert-gateway-switch.d.ts.map +0 -1
  219. package/dist/typert-gateway-switch.js +0 -448
  220. package/dist/typert-gateway-switch.js.map +0 -1
  221. package/dist/types.d.ts +0 -20
  222. package/dist/types.d.ts.map +0 -1
  223. package/dist/types.js +0 -2
  224. package/dist/types.js.map +0 -1
  225. package/dist/version.d.ts +0 -12
  226. package/dist/version.d.ts.map +0 -1
  227. package/dist/version.js +0 -12
  228. package/dist/version.js.map +0 -1
  229. package/dist/werift-rtc.d.ts +0 -121
  230. package/dist/werift-rtc.d.ts.map +0 -1
  231. package/dist/werift-rtc.js +0 -490
  232. package/dist/werift-rtc.js.map +0 -1
package/dsh-plugin.json CHANGED
@@ -1,41 +1,41 @@
1
- {
2
- "$schema": "https://dsh.community/schemas/dsh-plugin-0.15.json",
3
- "id": "com.r2049.ds-harness-remote",
4
- "name": "@blue-soda/dsh-remote",
5
- "version": "0.5.6",
6
- "manifestVersion": "0.15",
7
- "facets": {
8
- "host": {
9
- "entry": "dist/index.js",
10
- "apiVersion": "v1alpha1"
11
- }
12
- },
13
- "requires": {
14
- "contracts": [
15
- {
16
- "apiVersion": "commands.dsh/v1alpha1",
17
- "kind": "Command"
18
- }
19
- ]
20
- },
21
- "contributes": {
22
- "commands": [
23
- {
24
- "id": "ds-harness.remote",
25
- "title": "Manage Remote Host login and connection status"
26
- }
27
- ]
28
- },
29
- "permissions": [
30
- {
31
- "name": "commands.invoke",
32
- "scope": "ds-harness.remote",
33
- "reason": "run /remote status, login, and logout from dsh-TUI"
34
- }
35
- ],
36
- "subscriptions": [],
37
- "license": "MIT",
38
- "source": {
39
- "repository": "https://github.com/blue-soda/ds-harness-remote"
40
- }
41
- }
1
+ {
2
+ "$schema": "https://dsh.community/schemas/dsh-plugin-0.15.json",
3
+ "id": "com.r2049.ds-harness-remote",
4
+ "name": "@blue-soda/dsh-remote",
5
+ "version": "0.5.7",
6
+ "manifestVersion": "0.15",
7
+ "facets": {
8
+ "host": {
9
+ "entry": "dist/index.js",
10
+ "apiVersion": "v1alpha1"
11
+ }
12
+ },
13
+ "requires": {
14
+ "contracts": [
15
+ {
16
+ "apiVersion": "commands.dsh/v1alpha1",
17
+ "kind": "Command"
18
+ }
19
+ ]
20
+ },
21
+ "contributes": {
22
+ "commands": [
23
+ {
24
+ "id": "ds-harness.remote",
25
+ "title": "Manage Remote Host login and connection status"
26
+ }
27
+ ]
28
+ },
29
+ "permissions": [
30
+ {
31
+ "name": "commands.invoke",
32
+ "scope": "ds-harness.remote",
33
+ "reason": "run /remote status, login, and logout from dsh-TUI"
34
+ }
35
+ ],
36
+ "subscriptions": [],
37
+ "license": "MIT",
38
+ "source": {
39
+ "repository": "https://github.com/blue-soda/ds-harness-remote"
40
+ }
41
+ }
package/package.json CHANGED
@@ -1,165 +1,165 @@
1
- {
2
- "name": "@blue-soda/dsh-remote",
3
- "version": "0.5.6",
4
- "description": "End-to-end encrypted remote access to DeepSeek Harness and experimental Codex workspaces from desktop, web, and Android, with dsh-TUI Host support.",
5
- "keywords": [
6
- "deepseek",
7
- "deepseek-harness",
8
- "dsh",
9
- "dsh-plugin",
10
- "codex",
11
- "remote-development",
12
- "end-to-end-encryption",
13
- "webrtc"
14
- ],
15
- "homepage": "https://github.com/blue-soda/ds-harness-remote#readme",
16
- "repository": {
17
- "type": "git",
18
- "url": "git+https://github.com/blue-soda/ds-harness-remote.git"
19
- },
20
- "bugs": {
21
- "url": "https://github.com/blue-soda/ds-harness-remote/issues"
22
- },
23
- "author": "blue-soda <blue-soda@users.noreply.github.com>",
24
- "license": "MIT",
25
- "publishConfig": {
26
- "access": "public"
27
- },
28
- "type": "module",
29
- "main": "./dist/index.js",
30
- "bin": {
31
- "ds-harness-remote": "bin/ds-harness-remote.js"
32
- },
33
- "types": "./public.d.ts",
34
- "exports": {
35
- ".": {
36
- "types": "./public.d.ts",
37
- "import": "./dist/index.js"
38
- },
39
- "./cordis.patch.yml": "./cordis.patch.yml",
40
- "./client": "./dist/client.js",
41
- "./locale/*.json": "./locale/*.json",
42
- "./package.json": "./package.json"
43
- },
44
- "files": [
45
- "bin",
46
- "dist",
47
- "dsh-plugin.json",
48
- "cordis.patch.yml",
49
- "locale",
50
- "public.d.ts",
51
- "README.md",
52
- "LICENSE"
53
- ],
54
- "dsh": {
55
- "bundle": {
56
- "patch": "./cordis.patch.yml"
57
- },
58
- "client": {
59
- "inject": [
60
- "@deepseek-ai/dsh-client-connection",
61
- "@deepseek-ai/dsh-client-locale",
62
- "@deepseek-ai/dsh-client-ui-sidebar",
63
- "@deepseek-ai/dsh-client-ui-slots",
64
- "@deepseek-ai/dsh-client-ui-settings",
65
- "@deepseek-ai/dsh-client-ui-settings-general",
66
- "@deepseek-ai/dsh-client-ui-plugin-manager",
67
- "@deepseek-ai/dsh-client-ui-settings-plugin-inventory",
68
- "@deepseek-ai/dsh-client-ui-settings-plugins"
69
- ],
70
- "platform": "web"
71
- }
72
- },
73
- "scripts": {
74
- "build": "node scripts/verify-version-sync.mjs && tsc -p tsconfig.test.json && tsc -p tsconfig.emit.json && node scripts/build-bundles.mjs",
75
- "check": "node scripts/verify-version-sync.mjs && tsc -p tsconfig.test.json",
76
- "test": "node scripts/verify-version-sync.mjs && vitest run"
77
- },
78
- "dependencies": {
79
- "@deepseek-ai/schemastery": "^3.18.4",
80
- "qrcode": "^1.5.4",
81
- "werift": "0.24.4",
82
- "zod": "^3.24.1",
83
- "ws": "^8.21.3"
84
- },
85
- "optionalDependencies": {
86
- "@roamhq/wrtc": "0.10.0"
87
- },
88
- "peerDependencies": {
89
- "@deepseek-ai/cordis": ">=4.0.1 <5",
90
- "@deepseek-ai/dsh-api-gateway": ">=0.1.1-rc.2 <0.1.2 || >=0.1.2-alpha.1 <=0.1.2-rc.1 || >=0.1.5-alpha.1 || >=0.2.0-rc.1",
91
- "@deepseek-ai/dsh-client-connection": ">=0.1.1-rc.2 <0.1.2 || >=0.1.2-alpha.1 <=0.1.2-rc.1 || >=0.1.5-alpha.1 || >=0.2.0-rc.1",
92
- "@deepseek-ai/dsh-client-locale": ">=0.1.1-rc.2 <0.1.2 || >=0.1.2-alpha.1 <=0.1.2-rc.1 || >=0.1.5-alpha.1 || >=0.2.0-rc.1",
93
- "@deepseek-ai/dsh-client-ui-settings": ">=0.1.1-rc.2 <0.1.2 || >=0.1.2-alpha.1 <=0.1.2-rc.1 || >=0.1.5-alpha.1 || >=0.2.0-rc.1",
94
- "@deepseek-ai/dsh-client-ui-settings-plugins": ">=0.1.1-rc.2 <0.1.2 || >=0.1.2-alpha.1 <=0.1.2-rc.1 || >=0.1.5-alpha.1 || >=0.2.0-rc.1",
95
- "@deepseek-ai/dsh-client-ui-sidebar": ">=0.1.1-rc.2 <0.1.2 || >=0.1.2-alpha.1 <=0.1.2-rc.1 || >=0.1.5-alpha.1 || >=0.2.0-rc.1",
96
- "@deepseek-ai/dsh-client-ui-slots": ">=0.1.1-rc.2 <0.1.2 || >=0.1.2-alpha.1 <=0.1.2-rc.1 || >=0.1.5-alpha.1 || >=0.2.0-rc.1",
97
- "@deepseek-ai/dsh-settings": ">=0.1.1-rc.2 <0.1.2 || >=0.1.2-alpha.1 <=0.1.2-rc.1 || >=0.1.5-alpha.1 || >=0.2.0-rc.1",
98
- "react": ">=18.2.0 <19",
99
- "@deepseek-ai/dsh-client-ui-settings-general": ">=0.1.6-alpha.1 || >=0.2.0-rc.1",
100
- "@deepseek-ai/dsh-client-ui-plugin-manager": ">=0.1.6-alpha.1 || >=0.2.0-rc.1",
101
- "@deepseek-ai/dsh-client-ui-settings-plugin-inventory": ">=0.1.6-alpha.1 || >=0.2.0-rc.1"
102
- },
103
- "peerDependenciesMeta": {
104
- "@deepseek-ai/dsh-client-connection": {
105
- "optional": true
106
- },
107
- "@deepseek-ai/dsh-client-locale": {
108
- "optional": true
109
- },
110
- "@deepseek-ai/dsh-client-ui-sidebar": {
111
- "optional": true
112
- },
113
- "@deepseek-ai/dsh-client-ui-slots": {
114
- "optional": true
115
- },
116
- "@deepseek-ai/dsh-client-ui-settings": {
117
- "optional": true
118
- },
119
- "@deepseek-ai/dsh-client-ui-settings-plugins": {
120
- "optional": true
121
- },
122
- "@deepseek-ai/dsh-client-ui-settings-general": {
123
- "optional": true
124
- },
125
- "@deepseek-ai/dsh-client-ui-plugin-manager": {
126
- "optional": true
127
- },
128
- "@deepseek-ai/dsh-client-ui-settings-plugin-inventory": {
129
- "optional": true
130
- }
131
- },
132
- "devDependencies": {
133
- "@deepseek-ai/cordis": "^4.0.4",
134
- "@deepseek-ai/cordis-plugin-include": "1.0.7",
135
- "@deepseek-ai/cordis-plugin-loader": "1.0.3",
136
- "@deepseek-ai/dsh-api-gateway": "^0.2.0-rc.1",
137
- "@deepseek-ai/dsh-brand": "^0.2.0-rc.1",
138
- "@deepseek-ai/dsh-client-connection": "^0.2.0-rc.1",
139
- "@deepseek-ai/dsh-client-locale": "^0.2.0-rc.1",
140
- "@deepseek-ai/dsh-client-ui-settings": "^0.2.0-rc.1",
141
- "@deepseek-ai/dsh-client-ui-settings-plugins": "^0.2.0-rc.1",
142
- "@deepseek-ai/dsh-client-ui-sidebar": "^0.2.0-rc.1",
143
- "@deepseek-ai/dsh-client-ui-slots": "^0.2.0-rc.1",
144
- "@deepseek-ai/dsh-host-apiproxy": "0.1.1-rc.2",
145
- "@deepseek-ai/dsh-invariants": "^0.2.0-rc.1",
146
- "@deepseek-ai/dsh-scope": "^0.2.0-rc.1",
147
- "@deepseek-ai/dsh-session": "^0.2.0-rc.1",
148
- "@deepseek-ai/dsh-settings": "^0.2.0-rc.1",
149
- "@dsh-remote/client-core": "workspace:*",
150
- "@dsh-remote/crypto": "workspace:*",
151
- "@dsh-remote/protocol": "workspace:*",
152
- "@dsh-remote/webrtc": "workspace:*",
153
- "@types/qrcode": "^1.5.5",
154
- "esbuild": "^0.25.0",
155
- "typescript": "^5.7.3",
156
- "vitest": "^2.1.8",
157
- "@types/ws": "^8.18.1",
158
- "@deepseek-ai/dsh-client-ui-settings-general": "^0.2.0-rc.1",
159
- "@deepseek-ai/dsh-client-ui-plugin-manager": "^0.2.0-rc.1",
160
- "@deepseek-ai/dsh-client-ui-settings-plugin-inventory": "^0.2.0-rc.1"
161
- },
162
- "contributors": [
163
- "liguobao <lgb835485368@gmail.com>"
164
- ]
165
- }
1
+ {
2
+ "name": "@blue-soda/dsh-remote",
3
+ "version": "0.5.7",
4
+ "description": "End-to-end encrypted remote access to DeepSeek Harness and experimental Codex workspaces from desktop, web, and Android, with dsh-TUI Host support.",
5
+ "keywords": [
6
+ "deepseek",
7
+ "deepseek-harness",
8
+ "dsh",
9
+ "dsh-plugin",
10
+ "codex",
11
+ "remote-development",
12
+ "end-to-end-encryption",
13
+ "webrtc"
14
+ ],
15
+ "homepage": "https://github.com/blue-soda/ds-harness-remote#readme",
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/blue-soda/ds-harness-remote.git"
19
+ },
20
+ "bugs": {
21
+ "url": "https://github.com/blue-soda/ds-harness-remote/issues"
22
+ },
23
+ "author": "blue-soda <blue-soda@users.noreply.github.com>",
24
+ "license": "MIT",
25
+ "publishConfig": {
26
+ "access": "public"
27
+ },
28
+ "type": "module",
29
+ "main": "./dist/index.js",
30
+ "bin": {
31
+ "ds-harness-remote": "bin/ds-harness-remote.js"
32
+ },
33
+ "types": "./public.d.ts",
34
+ "exports": {
35
+ ".": {
36
+ "types": "./public.d.ts",
37
+ "import": "./dist/index.js"
38
+ },
39
+ "./cordis.patch.yml": "./cordis.patch.yml",
40
+ "./client": "./dist/client.js",
41
+ "./locale/*.json": "./locale/*.json",
42
+ "./package.json": "./package.json"
43
+ },
44
+ "files": [
45
+ "bin",
46
+ "dist",
47
+ "dsh-plugin.json",
48
+ "cordis.patch.yml",
49
+ "locale",
50
+ "public.d.ts",
51
+ "README.md",
52
+ "LICENSE"
53
+ ],
54
+ "dsh": {
55
+ "bundle": {
56
+ "patch": "./cordis.patch.yml"
57
+ },
58
+ "client": {
59
+ "inject": [
60
+ "@deepseek-ai/dsh-client-connection",
61
+ "@deepseek-ai/dsh-client-locale",
62
+ "@deepseek-ai/dsh-client-ui-sidebar",
63
+ "@deepseek-ai/dsh-client-ui-slots",
64
+ "@deepseek-ai/dsh-client-ui-settings",
65
+ "@deepseek-ai/dsh-client-ui-settings-general",
66
+ "@deepseek-ai/dsh-client-ui-plugin-manager",
67
+ "@deepseek-ai/dsh-client-ui-settings-plugin-inventory",
68
+ "@deepseek-ai/dsh-client-ui-settings-plugins"
69
+ ],
70
+ "platform": "web"
71
+ }
72
+ },
73
+ "scripts": {
74
+ "build": "node scripts/verify-version-sync.mjs && tsc -p tsconfig.test.json && tsc -p tsconfig.emit.json && node scripts/build-bundles.mjs",
75
+ "check": "node scripts/verify-version-sync.mjs && tsc -p tsconfig.test.json",
76
+ "test": "node scripts/verify-version-sync.mjs && vitest run"
77
+ },
78
+ "dependencies": {
79
+ "@deepseek-ai/schemastery": "^3.18.4",
80
+ "qrcode": "^1.5.4",
81
+ "werift": "0.24.4",
82
+ "zod": "^3.24.1",
83
+ "ws": "^8.21.3"
84
+ },
85
+ "optionalDependencies": {
86
+ "@roamhq/wrtc": "0.10.0"
87
+ },
88
+ "peerDependencies": {
89
+ "@deepseek-ai/cordis": ">=4.0.1 <5",
90
+ "@deepseek-ai/dsh-api-gateway": ">=0.1.1-rc.2 <0.1.2 || >=0.1.2-alpha.1 <=0.1.2-rc.1 || >=0.1.5-alpha.1 || >=0.2.0-rc.1",
91
+ "@deepseek-ai/dsh-client-connection": ">=0.1.1-rc.2 <0.1.2 || >=0.1.2-alpha.1 <=0.1.2-rc.1 || >=0.1.5-alpha.1 || >=0.2.0-rc.1",
92
+ "@deepseek-ai/dsh-client-locale": ">=0.1.1-rc.2 <0.1.2 || >=0.1.2-alpha.1 <=0.1.2-rc.1 || >=0.1.5-alpha.1 || >=0.2.0-rc.1",
93
+ "@deepseek-ai/dsh-client-ui-settings": ">=0.1.1-rc.2 <0.1.2 || >=0.1.2-alpha.1 <=0.1.2-rc.1 || >=0.1.5-alpha.1 || >=0.2.0-rc.1",
94
+ "@deepseek-ai/dsh-client-ui-settings-plugins": ">=0.1.1-rc.2 <0.1.2 || >=0.1.2-alpha.1 <=0.1.2-rc.1 || >=0.1.5-alpha.1 || >=0.2.0-rc.1",
95
+ "@deepseek-ai/dsh-client-ui-sidebar": ">=0.1.1-rc.2 <0.1.2 || >=0.1.2-alpha.1 <=0.1.2-rc.1 || >=0.1.5-alpha.1 || >=0.2.0-rc.1",
96
+ "@deepseek-ai/dsh-client-ui-slots": ">=0.1.1-rc.2 <0.1.2 || >=0.1.2-alpha.1 <=0.1.2-rc.1 || >=0.1.5-alpha.1 || >=0.2.0-rc.1",
97
+ "@deepseek-ai/dsh-settings": ">=0.1.1-rc.2 <0.1.2 || >=0.1.2-alpha.1 <=0.1.2-rc.1 || >=0.1.5-alpha.1 || >=0.2.0-rc.1",
98
+ "react": ">=18.2.0 <19",
99
+ "@deepseek-ai/dsh-client-ui-settings-general": ">=0.1.6-alpha.1 || >=0.2.0-rc.1",
100
+ "@deepseek-ai/dsh-client-ui-plugin-manager": ">=0.1.6-alpha.1 || >=0.2.0-rc.1",
101
+ "@deepseek-ai/dsh-client-ui-settings-plugin-inventory": ">=0.1.6-alpha.1 || >=0.2.0-rc.1"
102
+ },
103
+ "peerDependenciesMeta": {
104
+ "@deepseek-ai/dsh-client-connection": {
105
+ "optional": true
106
+ },
107
+ "@deepseek-ai/dsh-client-locale": {
108
+ "optional": true
109
+ },
110
+ "@deepseek-ai/dsh-client-ui-sidebar": {
111
+ "optional": true
112
+ },
113
+ "@deepseek-ai/dsh-client-ui-slots": {
114
+ "optional": true
115
+ },
116
+ "@deepseek-ai/dsh-client-ui-settings": {
117
+ "optional": true
118
+ },
119
+ "@deepseek-ai/dsh-client-ui-settings-plugins": {
120
+ "optional": true
121
+ },
122
+ "@deepseek-ai/dsh-client-ui-settings-general": {
123
+ "optional": true
124
+ },
125
+ "@deepseek-ai/dsh-client-ui-plugin-manager": {
126
+ "optional": true
127
+ },
128
+ "@deepseek-ai/dsh-client-ui-settings-plugin-inventory": {
129
+ "optional": true
130
+ }
131
+ },
132
+ "devDependencies": {
133
+ "@deepseek-ai/cordis": "^4.0.4",
134
+ "@deepseek-ai/cordis-plugin-include": "1.0.7",
135
+ "@deepseek-ai/cordis-plugin-loader": "1.0.3",
136
+ "@deepseek-ai/dsh-api-gateway": "^0.2.0-rc.1",
137
+ "@deepseek-ai/dsh-brand": "^0.2.0-rc.1",
138
+ "@deepseek-ai/dsh-client-connection": "^0.2.0-rc.1",
139
+ "@deepseek-ai/dsh-client-locale": "^0.2.0-rc.1",
140
+ "@deepseek-ai/dsh-client-ui-settings": "^0.2.0-rc.1",
141
+ "@deepseek-ai/dsh-client-ui-settings-plugins": "^0.2.0-rc.1",
142
+ "@deepseek-ai/dsh-client-ui-sidebar": "^0.2.0-rc.1",
143
+ "@deepseek-ai/dsh-client-ui-slots": "^0.2.0-rc.1",
144
+ "@deepseek-ai/dsh-host-apiproxy": "0.1.1-rc.2",
145
+ "@deepseek-ai/dsh-invariants": "^0.2.0-rc.1",
146
+ "@deepseek-ai/dsh-scope": "^0.2.0-rc.1",
147
+ "@deepseek-ai/dsh-session": "^0.2.0-rc.1",
148
+ "@deepseek-ai/dsh-settings": "^0.2.0-rc.1",
149
+ "@dsh-remote/client-core": "workspace:*",
150
+ "@dsh-remote/crypto": "workspace:*",
151
+ "@dsh-remote/protocol": "workspace:*",
152
+ "@dsh-remote/webrtc": "workspace:*",
153
+ "@types/qrcode": "^1.5.5",
154
+ "esbuild": "^0.25.0",
155
+ "typescript": "^5.7.3",
156
+ "vitest": "^2.1.8",
157
+ "@types/ws": "^8.18.1",
158
+ "@deepseek-ai/dsh-client-ui-settings-general": "^0.2.0-rc.1",
159
+ "@deepseek-ai/dsh-client-ui-plugin-manager": "^0.2.0-rc.1",
160
+ "@deepseek-ai/dsh-client-ui-settings-plugin-inventory": "^0.2.0-rc.1"
161
+ },
162
+ "contributors": [
163
+ "liguobao <lgb835485368@gmail.com>"
164
+ ]
165
+ }
package/dist/acp.d.ts DELETED
@@ -1,75 +0,0 @@
1
- import type { AcpBackend, AcpInitializeParams, AcpInitializeResult, AcpPromptParams, AcpSessionParams, AcpPermissionResponseParams, AcpCancelParams, AcpSetModeParams, AcpSessionUpdate } from '@dsh-remote/protocol';
2
- /** Backend-neutral ACP adapter. Implementations must keep state scoped to a connection. */
3
- export interface AcpBackendAdapter {
4
- readonly backend: AcpBackend;
5
- initialize(params: AcpInitializeParams): Promise<AcpInitializeResult>;
6
- sessionNew(params: AcpSessionParams): Promise<{
7
- sessionId: string;
8
- }>;
9
- sessionLoad?(params: AcpSessionParams): Promise<{
10
- sessionId: string;
11
- }>;
12
- prompt(params: AcpPromptParams, emit: (update: AcpSessionUpdate) => Promise<void>): Promise<void>;
13
- respondPermission?(params: AcpPermissionResponseParams): Promise<void>;
14
- cancel?(params: AcpCancelParams): Promise<void>;
15
- setMode?(params: AcpSetModeParams): Promise<void>;
16
- close?(): Promise<void>;
17
- }
18
- export declare class AcpGateway {
19
- private readonly adapters;
20
- constructor(adapters: AcpBackendAdapter | Iterable<AcpBackendAdapter>);
21
- private get;
22
- initialize(p: AcpInitializeParams): Promise<AcpInitializeResult>;
23
- sessionNew(p: AcpSessionParams & {
24
- backend?: AcpBackend;
25
- }): Promise<{
26
- sessionId: string;
27
- }>;
28
- sessionLoad(p: AcpSessionParams & {
29
- backend?: AcpBackend;
30
- }): Promise<{
31
- sessionId: string;
32
- }>;
33
- prompt(p: AcpPromptParams & {
34
- backend?: AcpBackend;
35
- }, emit: (u: AcpSessionUpdate) => Promise<void>): Promise<void>;
36
- respondPermission(p: AcpPermissionResponseParams & {
37
- backend?: AcpBackend;
38
- }): Promise<void>;
39
- cancel(p: AcpCancelParams & {
40
- backend?: AcpBackend;
41
- }): Promise<void>;
42
- setMode(p: AcpSetModeParams & {
43
- backend?: AcpBackend;
44
- }): Promise<void>;
45
- }
46
- export interface AcpIdeConfig {
47
- id: string;
48
- command: string;
49
- args?: string[];
50
- cwd?: string;
51
- }
52
- export declare const DEFAULT_ACP_IDES: readonly AcpIdeConfig[];
53
- /** JSON-RPC stdio bridge for ACP agents (Cursor/Kimi/CodeX). */
54
- export declare class StdioAcpAdapter {
55
- private readonly config;
56
- readonly backend: AcpBackend;
57
- private child?;
58
- private nextId;
59
- constructor(config: AcpIdeConfig);
60
- private ensure;
61
- initialize(params: AcpInitializeParams): Promise<AcpInitializeResult>;
62
- sessionNew(params: AcpSessionParams): Promise<{
63
- sessionId: string;
64
- }>;
65
- sessionLoad(params: AcpSessionParams): Promise<{
66
- sessionId: string;
67
- }>;
68
- prompt(params: AcpPromptParams, emit: (u: AcpSessionUpdate) => Promise<void>): Promise<void>;
69
- cancel(p: AcpCancelParams): Promise<void>;
70
- setMode(p: AcpSetModeParams): Promise<void>;
71
- respondPermission(p: AcpPermissionResponseParams): Promise<void>;
72
- close(): Promise<void>;
73
- private call;
74
- }
75
- //# sourceMappingURL=acp.d.ts.map
package/dist/acp.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"acp.d.ts","sourceRoot":"","sources":["../src/acp.ts"],"names":[],"mappings":"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"}
package/dist/acp.js DELETED
@@ -1,61 +0,0 @@
1
- export class AcpGateway {
2
- adapters;
3
- constructor(adapters) {
4
- this.adapters = adapters;
5
- }
6
- get(p) { const list = this.adapters instanceof Object && 'backend' in this.adapters ? [this.adapters] : [...this.adapters]; const a = list.find(x => !p.backend || x.backend === p.backend); if (!a)
7
- throw new Error('CAPABILITY_NOT_SUPPORTED'); return a; }
8
- initialize(p) { return this.get(p).initialize(p); }
9
- sessionNew(p) { return this.get(p).sessionNew(p); }
10
- sessionLoad(p) { const a = this.get(p); if (!a.sessionLoad)
11
- throw new Error('CAPABILITY_NOT_SUPPORTED'); return a.sessionLoad(p); }
12
- prompt(p, emit) { return this.get(p).prompt(p, emit); }
13
- respondPermission(p) { const a = this.get(p); if (!a.respondPermission)
14
- throw new Error('CAPABILITY_NOT_SUPPORTED'); return a.respondPermission(p); }
15
- cancel(p) { const a = this.get(p); if (!a.cancel)
16
- throw new Error('CAPABILITY_NOT_SUPPORTED'); return a.cancel(p); }
17
- setMode(p) { const a = this.get(p); if (!a.setMode)
18
- throw new Error('CAPABILITY_NOT_SUPPORTED'); return a.setMode(p); }
19
- }
20
- import { spawn } from 'node:child_process';
21
- export const DEFAULT_ACP_IDES = [
22
- { id: 'codex', command: 'codex', args: ['acp'] },
23
- { id: 'cursor', command: 'agent', args: ['acp'] },
24
- { id: 'kimi', command: 'kimi', args: ['acp'] },
25
- ];
26
- /** JSON-RPC stdio bridge for ACP agents (Cursor/Kimi/CodeX). */
27
- export class StdioAcpAdapter {
28
- config;
29
- backend;
30
- child;
31
- nextId = 1;
32
- constructor(config) {
33
- this.config = config;
34
- this.backend = config.id;
35
- }
36
- ensure() { if (!this.child)
37
- this.child = spawn(this.config.command, this.config.args ?? [], { cwd: this.config.cwd, stdio: 'pipe' }); return this.child; }
38
- async initialize(params) { await this.call('initialize', params); return { protocolVersion: 1, capability: 'agent.acp.v1', backend: this.backend, capabilities: ['session.new', 'session.load', 'session.prompt', 'session.cancel'] }; }
39
- async sessionNew(params) { const r = await this.call('session/new', params); if (!r.sessionId)
40
- throw new Error('INVALID_MESSAGE'); return { sessionId: r.sessionId }; }
41
- async sessionLoad(params) { const r = await this.call('session/load', params); if (!r.sessionId)
42
- throw new Error('INVALID_MESSAGE'); return { sessionId: r.sessionId }; }
43
- async prompt(params, emit) { await this.call('session/prompt', params, async (n) => emit({ sessionId: params.sessionId, update: n, seq: this.nextId++ })); }
44
- async cancel(p) { await this.call('session/cancel', p); }
45
- async setMode(p) { await this.call('session/set_mode', p); }
46
- async respondPermission(p) { await this.call('session/request_permission', p); }
47
- async close() { this.child?.kill(); this.child = undefined; }
48
- call(method, params, onNotification) { const c = this.ensure(); const id = this.nextId++; c.stdin.write(JSON.stringify({ jsonrpc: '2.0', id, method, params }) + '\n'); return new Promise((resolve, reject) => { let buf = ''; const onData = async (d) => { buf += d; const lines = buf.split('\n'); buf = lines.pop() ?? ''; for (const l of lines) {
49
- try {
50
- const m = JSON.parse(l);
51
- if (m.id === id) {
52
- c.stdout.off('data', onData);
53
- m.error ? reject(new Error(m.error.message ?? 'ACP error')) : resolve(m.result);
54
- }
55
- else if (m.method && onNotification)
56
- await onNotification(m.params);
57
- }
58
- catch { }
59
- } }; c.stdout.on('data', onData); c.once('error', reject); }); }
60
- }
61
- //# sourceMappingURL=acp.js.map
package/dist/acp.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"acp.js","sourceRoot":"","sources":["../src/acp.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import type { ApiProxy } from '@deepseek-ai/dsh-host-apiproxy/api';
2
- export type HarnessMode = 'local' | 'remote';
3
- export interface RemoteTarget {
4
- deviceId: string;
5
- name: string;
6
- }
7
- /**
8
- * Installs stable forwarding objects into the official ApiProxy instance.
9
- * Existing HTTP/WebSocket carriers retain the same service identity while new
10
- * requests resolve against the currently selected local or remote target.
11
- */
12
- export declare class ApiProxySwitch {
13
- private remote?;
14
- private target?;
15
- private mode;
16
- private installed;
17
- private readonly local;
18
- private readonly originals;
19
- private readonly localRespond;
20
- constructor(local: ApiProxy);
21
- install(): void;
22
- selectRemote(api: ApiProxy, target: RemoteTarget): void;
23
- selectLocal(): void;
24
- status(): {
25
- mode: HarnessMode;
26
- target?: RemoteTarget;
27
- };
28
- restore(): void;
29
- private selected;
30
- private originalDomain;
31
- private requireRemote;
32
- }
33
- //# sourceMappingURL=api-proxy-switch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-proxy-switch.d.ts","sourceRoot":"","sources":["../src/api-proxy-switch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAElE,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAA;AAE5C,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACb;AAgBD;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiF;IAC3G,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;gBAEtC,KAAK,EAAE,QAAQ;IAM3B,OAAO,IAAI,IAAI;IA6Bf,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAOvD,WAAW,IAAI,IAAI;IAMnB,MAAM,IAAI;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,MAAM,CAAC,EAAE,YAAY,CAAA;KAAE;IAItD,OAAO,IAAI,IAAI;IAkBf,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,aAAa;CAItB"}