dsh-zen-remote 2.2.9 → 2.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/README.zh-CN.md +2 -2
- package/docs/interface.md +1 -1
- package/docs/remote-access.md +20 -0
- package/lan-gate.mjs +11 -1
- package/lib/adapters/dsh-better-sidebar/index.js +6 -2
- package/lib/adapters/dsh-better-sidebar/index.js.map +1 -1
- package/lib/adapters/dsh-better-sidebar/methods.js +3 -0
- package/lib/adapters/dsh-better-sidebar/methods.js.map +1 -1
- package/lib/admin-routes.js +33 -2
- package/lib/admin-routes.js.map +1 -1
- package/lib/client.js +3293 -6
- package/lib/config.js +70 -0
- package/lib/config.js.map +1 -1
- package/lib/index.js +232 -2
- package/lib/index.js.map +1 -1
- package/lib/intercept.js +43 -3
- package/lib/intercept.js.map +1 -1
- package/lib/lan-gate-server.cjs +58 -3
- package/lib/merge-streams.js +42 -12
- package/lib/merge-streams.js.map +1 -1
- package/lib/types/adapters/dsh-better-sidebar/index.d.ts +1 -1
- package/lib/types/adapters/dsh-better-sidebar/index.d.ts.map +1 -1
- package/lib/types/adapters/dsh-better-sidebar/methods.d.ts.map +1 -1
- package/lib/types/admin-routes.d.ts +13 -0
- package/lib/types/admin-routes.d.ts.map +1 -1
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/locales.d.ts +204 -1
- package/lib/types/client/locales.d.ts.map +1 -1
- package/lib/types/client/wizard/GatewayWizard.d.ts +29 -0
- package/lib/types/client/wizard/GatewayWizard.d.ts.map +1 -0
- package/lib/types/client/wizard/WizardCard.d.ts +30 -0
- package/lib/types/client/wizard/WizardCard.d.ts.map +1 -0
- package/lib/types/client/wizard/cards/MigrateCard.d.ts +15 -0
- package/lib/types/client/wizard/cards/MigrateCard.d.ts.map +1 -0
- package/lib/types/client/wizard/cards/PortForwardCard.d.ts +15 -0
- package/lib/types/client/wizard/cards/PortForwardCard.d.ts.map +1 -0
- package/lib/types/client/wizard/cards/ProxyCard.d.ts +19 -0
- package/lib/types/client/wizard/cards/ProxyCard.d.ts.map +1 -0
- package/lib/types/client/wizard/cards/TokenCard.d.ts +20 -0
- package/lib/types/client/wizard/cards/TokenCard.d.ts.map +1 -0
- package/lib/types/client/wizard/register-wizard.d.ts +51 -0
- package/lib/types/client/wizard/register-wizard.d.ts.map +1 -0
- package/lib/types/client/wizard/wizard-css.d.ts +10 -0
- package/lib/types/client/wizard/wizard-css.d.ts.map +1 -0
- package/lib/types/client-data/qr.d.ts +20 -0
- package/lib/types/client-data/qr.d.ts.map +1 -0
- package/lib/types/client-data/settings-form.d.ts +7 -2
- package/lib/types/client-data/settings-form.d.ts.map +1 -1
- package/lib/types/client-data/wizard.d.ts +247 -0
- package/lib/types/client-data/wizard.d.ts.map +1 -0
- package/lib/types/config.d.ts +27 -0
- package/lib/types/config.d.ts.map +1 -1
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/intercept.d.ts.map +1 -1
- package/lib/types/merge-streams.d.ts.map +1 -1
- package/lib/types/wizard/binary-io.d.ts +111 -0
- package/lib/types/wizard/binary-io.d.ts.map +1 -0
- package/lib/types/wizard/binary.d.ts +118 -0
- package/lib/types/wizard/binary.d.ts.map +1 -0
- package/lib/types/wizard/caddy-process.d.ts +101 -0
- package/lib/types/wizard/caddy-process.d.ts.map +1 -0
- package/lib/types/wizard/caddy.d.ts +53 -0
- package/lib/types/wizard/caddy.d.ts.map +1 -0
- package/lib/types/wizard/cloudflare.d.ts +112 -0
- package/lib/types/wizard/cloudflare.d.ts.map +1 -0
- package/lib/types/wizard/cloudflared.d.ts +71 -0
- package/lib/types/wizard/cloudflared.d.ts.map +1 -0
- package/lib/types/wizard/probe.d.ts +66 -0
- package/lib/types/wizard/probe.d.ts.map +1 -0
- package/lib/types/wizard/proxy-snippets.d.ts +60 -0
- package/lib/types/wizard/proxy-snippets.d.ts.map +1 -0
- package/lib/types/wizard/routes.d.ts +152 -0
- package/lib/types/wizard/routes.d.ts.map +1 -0
- package/lib/types/wizard/source-detect.d.ts +53 -0
- package/lib/types/wizard/source-detect.d.ts.map +1 -0
- package/lib/types/wizard/status.d.ts +115 -0
- package/lib/types/wizard/status.d.ts.map +1 -0
- package/lib/types/wizard/token-store.d.ts +27 -0
- package/lib/types/wizard/token-store.d.ts.map +1 -0
- package/lib/types/wizard/tunnel-orchestrator.d.ts +90 -0
- package/lib/types/wizard/tunnel-orchestrator.d.ts.map +1 -0
- package/lib/types/wizard/verify.d.ts +97 -0
- package/lib/types/wizard/verify.d.ts.map +1 -0
- package/lib/wizard/binary-io.js +386 -0
- package/lib/wizard/binary-io.js.map +1 -0
- package/lib/wizard/binary.js +138 -0
- package/lib/wizard/binary.js.map +1 -0
- package/lib/wizard/caddy-process.js +162 -0
- package/lib/wizard/caddy-process.js.map +1 -0
- package/lib/wizard/caddy.js +80 -0
- package/lib/wizard/caddy.js.map +1 -0
- package/lib/wizard/cloudflare.js +334 -0
- package/lib/wizard/cloudflare.js.map +1 -0
- package/lib/wizard/cloudflared.js +158 -0
- package/lib/wizard/cloudflared.js.map +1 -0
- package/lib/wizard/probe.js +118 -0
- package/lib/wizard/probe.js.map +1 -0
- package/lib/wizard/proxy-snippets.js +112 -0
- package/lib/wizard/proxy-snippets.js.map +1 -0
- package/lib/wizard/routes.js +462 -0
- package/lib/wizard/routes.js.map +1 -0
- package/lib/wizard/source-detect.js +77 -0
- package/lib/wizard/source-detect.js.map +1 -0
- package/lib/wizard/status.js +94 -0
- package/lib/wizard/status.js.map +1 -0
- package/lib/wizard/token-store.js +71 -0
- package/lib/wizard/token-store.js.map +1 -0
- package/lib/wizard/tunnel-orchestrator.js +155 -0
- package/lib/wizard/tunnel-orchestrator.js.map +1 -0
- package/lib/wizard/verify.js +171 -0
- package/lib/wizard/verify.js.map +1 -0
- package/package.json +37 -37
- package/scripts/check-settings-form.mjs +5 -4
- package/scripts/check-wizard-ui.mjs +690 -0
- package/src/adapters/dsh-better-sidebar/index.ts +6 -2
- package/src/adapters/dsh-better-sidebar/methods.ts +3 -0
- package/src/admin-routes.ts +44 -2
- package/src/client/index.tsx +9 -0
- package/src/client/locales.ts +410 -2
- package/src/client/wizard/GatewayWizard.tsx +2224 -0
- package/src/client/wizard/WizardCard.tsx +81 -0
- package/src/client/wizard/cards/MigrateCard.tsx +42 -0
- package/src/client/wizard/cards/PortForwardCard.tsx +37 -0
- package/src/client/wizard/cards/ProxyCard.tsx +56 -0
- package/src/client/wizard/cards/TokenCard.tsx +81 -0
- package/src/client/wizard/register-wizard.ts +99 -0
- package/src/client/wizard/wizard-css.ts +948 -0
- package/src/client-data/qr.ts +284 -0
- package/src/client-data/settings-form.ts +12 -3
- package/src/client-data/wizard.ts +432 -0
- package/src/config.ts +87 -0
- package/src/index.ts +227 -2
- package/src/intercept.ts +43 -3
- package/src/merge-streams.ts +41 -12
- package/src/wizard/binary-io.ts +449 -0
- package/src/wizard/binary.ts +177 -0
- package/src/wizard/caddy-process.ts +228 -0
- package/src/wizard/caddy.ts +97 -0
- package/src/wizard/cloudflare.ts +413 -0
- package/src/wizard/cloudflared.ts +196 -0
- package/src/wizard/probe.ts +161 -0
- package/src/wizard/proxy-snippets.ts +128 -0
- package/src/wizard/routes.ts +537 -0
- package/src/wizard/source-detect.ts +87 -0
- package/src/wizard/status.ts +180 -0
- package/src/wizard/token-store.ts +73 -0
- package/src/wizard/tunnel-orchestrator.ts +197 -0
- package/src/wizard/verify.ts +236 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-zen-remote",
|
|
3
|
-
"version": "2.2
|
|
3
|
+
"version": "2.3.2",
|
|
4
4
|
"description": "一个插件、两种角色:主服务端把 DeepSeek Harness 变成手机能安全访问的 PWA(移动端界面、配对码网关、Web Push),并把选定会话共享给已配对的桌面端;子客户端在另一台 DSH 桌面端的侧边栏里远程使用这些会话。One DSH plugin, two roles: the host turns DeepSeek Harness into a phone-reachable PWA (mobile UI, pairing-code gateway behind your own reverse proxy, Web Push) and shares chosen sessions to paired desktops; the client uses those sessions remotely from another DSH desktop app's sidebar.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -117,41 +117,41 @@
|
|
|
117
117
|
"devDependencies": {
|
|
118
118
|
"@deepseek-ai/cordis": "4.0.5",
|
|
119
119
|
"@deepseek-ai/cosmokit": "1.8.5",
|
|
120
|
-
"@deepseek-ai/dsh-agent": "0.2.1-rc.
|
|
121
|
-
"@deepseek-ai/dsh-api-remotes": "0.2.1-rc.
|
|
122
|
-
"@deepseek-ai/dsh-api-session-controller": "0.2.1-rc.
|
|
123
|
-
"@deepseek-ai/dsh-api-workspace-controller": "0.2.1-rc.
|
|
124
|
-
"@deepseek-ai/dsh-brand": "0.2.1-rc.
|
|
125
|
-
"@deepseek-ai/dsh-client-connection": "0.2.1-rc.
|
|
126
|
-
"@deepseek-ai/dsh-client-locale": "0.2.1-rc.
|
|
127
|
-
"@deepseek-ai/dsh-client-store": "0.2.1-rc.
|
|
128
|
-
"@deepseek-ai/dsh-client-ui-conversation": "0.2.1-rc.
|
|
129
|
-
"@deepseek-ai/dsh-client-ui-layout": "0.2.1-rc.
|
|
130
|
-
"@deepseek-ai/dsh-client-ui-primitives": "0.2.1-rc.
|
|
131
|
-
"@deepseek-ai/dsh-client-ui-renderer": "0.2.1-rc.
|
|
132
|
-
"@deepseek-ai/dsh-client-ui-session": "0.2.1-rc.
|
|
133
|
-
"@deepseek-ai/dsh-client-ui-sidebar": "0.2.1-rc.
|
|
134
|
-
"@deepseek-ai/dsh-client-ui-slots": "0.2.1-rc.
|
|
135
|
-
"@deepseek-ai/dsh-host-webserver": "0.2.1-rc.
|
|
136
|
-
"@deepseek-ai/dsh-llm": "0.2.1-rc.
|
|
137
|
-
"@deepseek-ai/dsh-ptc-runtime": "0.2.1-rc.
|
|
138
|
-
"@deepseek-ai/dsh-sandbox": "0.2.1-rc.
|
|
139
|
-
"@deepseek-ai/dsh-sandbox-policy": "0.2.1-rc.
|
|
140
|
-
"@deepseek-ai/dsh-scope": "0.2.1-rc.
|
|
141
|
-
"@deepseek-ai/dsh-session": "0.2.1-rc.
|
|
142
|
-
"@deepseek-ai/dsh-session-log-export": "0.2.1-rc.
|
|
143
|
-
"@deepseek-ai/dsh-session-projection": "0.2.1-rc.
|
|
144
|
-
"@deepseek-ai/dsh-session-query": "0.2.1-rc.
|
|
145
|
-
"@deepseek-ai/dsh-session-stats": "0.2.1-rc.
|
|
146
|
-
"@deepseek-ai/dsh-subagent": "0.2.1-rc.
|
|
147
|
-
"@deepseek-ai/dsh-timeout": "0.2.1-rc.
|
|
148
|
-
"@deepseek-ai/dsh-token-meter": "0.2.1-rc.
|
|
149
|
-
"@deepseek-ai/dsh-tools": "0.2.1-rc.
|
|
150
|
-
"@deepseek-ai/dsh-typert-protocol": "0.2.1-rc.
|
|
151
|
-
"@deepseek-ai/dsh-util-crypto": "0.2.1-rc.
|
|
152
|
-
"@deepseek-ai/dsh-util-values": "0.2.1-rc.
|
|
153
|
-
"@deepseek-ai/dsh-workspace": "0.2.1-rc.
|
|
154
|
-
"@deepseek-ai/schemastery": "3.18.
|
|
120
|
+
"@deepseek-ai/dsh-agent": "0.2.1-rc.4",
|
|
121
|
+
"@deepseek-ai/dsh-api-remotes": "0.2.1-rc.4",
|
|
122
|
+
"@deepseek-ai/dsh-api-session-controller": "0.2.1-rc.4",
|
|
123
|
+
"@deepseek-ai/dsh-api-workspace-controller": "0.2.1-rc.4",
|
|
124
|
+
"@deepseek-ai/dsh-brand": "0.2.1-rc.4",
|
|
125
|
+
"@deepseek-ai/dsh-client-connection": "0.2.1-rc.4",
|
|
126
|
+
"@deepseek-ai/dsh-client-locale": "0.2.1-rc.4",
|
|
127
|
+
"@deepseek-ai/dsh-client-store": "0.2.1-rc.4",
|
|
128
|
+
"@deepseek-ai/dsh-client-ui-conversation": "0.2.1-rc.4",
|
|
129
|
+
"@deepseek-ai/dsh-client-ui-layout": "0.2.1-rc.4",
|
|
130
|
+
"@deepseek-ai/dsh-client-ui-primitives": "0.2.1-rc.4",
|
|
131
|
+
"@deepseek-ai/dsh-client-ui-renderer": "0.2.1-rc.4",
|
|
132
|
+
"@deepseek-ai/dsh-client-ui-session": "0.2.1-rc.4",
|
|
133
|
+
"@deepseek-ai/dsh-client-ui-sidebar": "0.2.1-rc.4",
|
|
134
|
+
"@deepseek-ai/dsh-client-ui-slots": "0.2.1-rc.4",
|
|
135
|
+
"@deepseek-ai/dsh-host-webserver": "0.2.1-rc.4",
|
|
136
|
+
"@deepseek-ai/dsh-llm": "0.2.1-rc.4",
|
|
137
|
+
"@deepseek-ai/dsh-ptc-runtime": "0.2.1-rc.4",
|
|
138
|
+
"@deepseek-ai/dsh-sandbox": "0.2.1-rc.4",
|
|
139
|
+
"@deepseek-ai/dsh-sandbox-policy": "0.2.1-rc.4",
|
|
140
|
+
"@deepseek-ai/dsh-scope": "0.2.1-rc.4",
|
|
141
|
+
"@deepseek-ai/dsh-session": "0.2.1-rc.4",
|
|
142
|
+
"@deepseek-ai/dsh-session-log-export": "0.2.1-rc.4",
|
|
143
|
+
"@deepseek-ai/dsh-session-projection": "0.2.1-rc.4",
|
|
144
|
+
"@deepseek-ai/dsh-session-query": "0.2.1-rc.4",
|
|
145
|
+
"@deepseek-ai/dsh-session-stats": "0.2.1-rc.4",
|
|
146
|
+
"@deepseek-ai/dsh-subagent": "0.2.1-rc.4",
|
|
147
|
+
"@deepseek-ai/dsh-timeout": "0.2.1-rc.4",
|
|
148
|
+
"@deepseek-ai/dsh-token-meter": "0.2.1-rc.4",
|
|
149
|
+
"@deepseek-ai/dsh-tools": "0.2.1-rc.4",
|
|
150
|
+
"@deepseek-ai/dsh-typert-protocol": "0.2.1-rc.4",
|
|
151
|
+
"@deepseek-ai/dsh-util-crypto": "0.2.1-rc.4",
|
|
152
|
+
"@deepseek-ai/dsh-util-values": "0.2.1-rc.4",
|
|
153
|
+
"@deepseek-ai/dsh-workspace": "0.2.1-rc.4",
|
|
154
|
+
"@deepseek-ai/schemastery": "3.18.5",
|
|
155
155
|
"@types/node": "^26.2.0",
|
|
156
156
|
"@types/react": "~18.3.1",
|
|
157
157
|
"@types/react-dom": "~18.3.0",
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
"scripts": {
|
|
161
161
|
"build": "tsc -p tsconfig.json && tsc -p tsconfig.client.json && node scripts/build-client.mjs",
|
|
162
162
|
"verify": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.client.json --noEmit",
|
|
163
|
-
"test": "node --test \"test/*.test.cjs\" && node scripts/check-sunk-viewport.mjs && node scripts/check-keyboard-avoid.mjs && node scripts/check-attach-upload.mjs && node scripts/check-share-image.mjs && node scripts/check-upload-endpoint.mjs && node scripts/check-host-shadow.mjs && node scripts/check-compat-store.mjs && node scripts/check-settings-form.mjs && node scripts/check-shares.mjs && node scripts/check-plugin-bridge-ui.mjs && node scripts/check-remote-drop.mjs && node scripts/check-client-externals.mjs && node scripts/check-info-sheet-stacking.mjs && node scripts/sync-doc-version.mjs --check",
|
|
163
|
+
"test": "node --test \"test/*.test.cjs\" && node scripts/check-sunk-viewport.mjs && node scripts/check-keyboard-avoid.mjs && node scripts/check-attach-upload.mjs && node scripts/check-share-image.mjs && node scripts/check-upload-endpoint.mjs && node scripts/check-host-shadow.mjs && node scripts/check-compat-store.mjs && node scripts/check-settings-form.mjs && node scripts/check-shares.mjs && node scripts/check-plugin-bridge-ui.mjs && node scripts/check-remote-drop.mjs && node scripts/check-client-externals.mjs && node scripts/check-info-sheet-stacking.mjs && node scripts/check-wizard-ui.mjs && node scripts/sync-doc-version.mjs --check",
|
|
164
164
|
"version": "node scripts/sync-doc-version.mjs && git add README.md README.zh-CN.md"
|
|
165
165
|
}
|
|
166
166
|
}
|
|
@@ -619,10 +619,11 @@ test('CLIENT_RECONNECT_ROUTE is the one reconnect endpoint', () => {
|
|
|
619
619
|
assert.equal(CLIENT_RECONNECT_ROUTE, '/_dsh/zen-remote/client/reconnect')
|
|
620
620
|
})
|
|
621
621
|
|
|
622
|
-
test('normalizePairingCode uppercases
|
|
623
|
-
assert.equal(normalizePairingCode('ab cd-
|
|
624
|
-
assert.equal(normalizePairingCode('
|
|
625
|
-
assert.equal(normalizePairingCode('abcd-
|
|
622
|
+
test('normalizePairingCode uppercases, filters to the 32-char code alphabet (no 0/O/1/I/L or symbols), and caps at 8 chars', () => {
|
|
623
|
+
assert.equal(normalizePairingCode('ab cd-23'), 'ABCD23')
|
|
624
|
+
assert.equal(normalizePairingCode(' abcd23ef '), 'ABCD23EF')
|
|
625
|
+
assert.equal(normalizePairingCode('abcd-23-ef-gh'), 'ABCD23EF')
|
|
626
|
+
assert.equal(normalizePairingCode('0O1IL!@#$%^&*()_+=abcd2345'), 'ABCD2345')
|
|
626
627
|
assert.equal(normalizePairingCode(''), '')
|
|
627
628
|
})
|
|
628
629
|
|