@linxin666/dsh-ssh 0.3.13 → 0.3.15
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/lib/client.js +1 -1
- package/lib/index.js +17 -7
- package/package.json +14 -14
- package/src/index.ts +18 -7
package/lib/client.js
CHANGED
|
@@ -16152,7 +16152,7 @@ window.__ModuleLoader__.load({
|
|
|
16152
16152
|
/** The building package's version, when the bundle carries it. */
|
|
16153
16153
|
function bakedVersion() {
|
|
16154
16154
|
try {
|
|
16155
|
-
return "0.3.
|
|
16155
|
+
return "0.3.15";
|
|
16156
16156
|
} catch {
|
|
16157
16157
|
return;
|
|
16158
16158
|
}
|
package/lib/index.js
CHANGED
|
@@ -3645,14 +3645,24 @@ function applyImpl(ctx, config) {
|
|
|
3645
3645
|
}, "dsh-ssh: tools");
|
|
3646
3646
|
};
|
|
3647
3647
|
ctx.inject(["settings"], (settingsCtx) => {
|
|
3648
|
-
|
|
3649
|
-
|
|
3648
|
+
try {
|
|
3649
|
+
if (typeof settingsCtx.settings?.installSection === "function") settingsCtx.settings.installSection(ctx, SSH_SETTINGS_NAMESPACE, Config, config ?? {}, {
|
|
3650
|
+
setSource: (source) => {
|
|
3651
|
+
isSettingsBound = true;
|
|
3652
|
+
current = source;
|
|
3653
|
+
sync();
|
|
3654
|
+
},
|
|
3655
|
+
onChange: sync
|
|
3656
|
+
});
|
|
3657
|
+
else if (typeof settingsCtx.settings?.register === "function") {
|
|
3658
|
+
const scope = settingsCtx.settings.register(SSH_SETTINGS_NAMESPACE, Config, { base: config ?? {} });
|
|
3650
3659
|
isSettingsBound = true;
|
|
3651
|
-
current =
|
|
3652
|
-
|
|
3653
|
-
|
|
3654
|
-
|
|
3655
|
-
|
|
3660
|
+
current = () => scope?.get?.() ?? config ?? {};
|
|
3661
|
+
scope?.watch?.(() => {
|
|
3662
|
+
sync();
|
|
3663
|
+
});
|
|
3664
|
+
}
|
|
3665
|
+
} catch {}
|
|
3656
3666
|
});
|
|
3657
3667
|
sync();
|
|
3658
3668
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@linxin666/dsh-ssh",
|
|
3
3
|
"description": "Remote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster execution, plus agent tools (ssh_list, ssh_exec, ssh_upload, ssh_download, ssh_tunnel, ssh_cluster). Hot-pluggable — mounted via ~/.dsh/cordis.patch.yml + a profile node_modules symlink, no dsh source changes.",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.15",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
7
7
|
"node": "^22.19.0 || >=24.0.0"
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
},
|
|
27
27
|
"dsh": {
|
|
28
28
|
"engines": {
|
|
29
|
-
"dsh": ">=0.1.2-
|
|
29
|
+
"dsh": ">=0.1.2-rc.1"
|
|
30
30
|
},
|
|
31
31
|
"bundle": {
|
|
32
32
|
"patch": "./cordis.patch.yml"
|
|
@@ -52,18 +52,18 @@
|
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@deepseek-ai/cordis": "^4.0.2",
|
|
55
|
-
"@deepseek-ai/dsh-client-connection": "^0.1.2-
|
|
56
|
-
"@deepseek-ai/dsh-client-locale": "^0.1.2-
|
|
57
|
-
"@deepseek-ai/dsh-client-ui-renderer": "^0.1.2-
|
|
58
|
-
"@deepseek-ai/dsh-client-ui-settings": "^0.1.2-
|
|
59
|
-
"@deepseek-ai/dsh-client-ui-slots": "^0.1.2-
|
|
60
|
-
"@deepseek-ai/dsh-host-webserver": "^0.1.2-
|
|
61
|
-
"@deepseek-ai/dsh-llm": "^0.1.2-
|
|
62
|
-
"@deepseek-ai/dsh-scope": "^0.1.2-
|
|
63
|
-
"@deepseek-ai/dsh-settings": "^0.1.2-
|
|
64
|
-
"@deepseek-ai/dsh-system-prompt": "^0.1.2-
|
|
65
|
-
"@deepseek-ai/dsh-timeout": "^0.1.2-
|
|
66
|
-
"@deepseek-ai/dsh-tools": "^0.1.2-
|
|
55
|
+
"@deepseek-ai/dsh-client-connection": "^0.1.2-rc.1",
|
|
56
|
+
"@deepseek-ai/dsh-client-locale": "^0.1.2-rc.1",
|
|
57
|
+
"@deepseek-ai/dsh-client-ui-renderer": "^0.1.2-rc.1",
|
|
58
|
+
"@deepseek-ai/dsh-client-ui-settings": "^0.1.2-rc.1",
|
|
59
|
+
"@deepseek-ai/dsh-client-ui-slots": "^0.1.2-rc.1",
|
|
60
|
+
"@deepseek-ai/dsh-host-webserver": "^0.1.2-rc.1",
|
|
61
|
+
"@deepseek-ai/dsh-llm": "^0.1.2-rc.1",
|
|
62
|
+
"@deepseek-ai/dsh-scope": "^0.1.2-rc.1",
|
|
63
|
+
"@deepseek-ai/dsh-settings": "^0.1.2-rc.1",
|
|
64
|
+
"@deepseek-ai/dsh-system-prompt": "^0.1.2-rc.1",
|
|
65
|
+
"@deepseek-ai/dsh-timeout": "^0.1.2-rc.1",
|
|
66
|
+
"@deepseek-ai/dsh-tools": "^0.1.2-rc.1",
|
|
67
67
|
"@types/node": "^22.20.0",
|
|
68
68
|
"@types/react": "~18.3.1",
|
|
69
69
|
"@types/react-dom": "^18.3.5",
|
package/src/index.ts
CHANGED
|
@@ -163,14 +163,25 @@ function applyImpl(ctx: Context, config?: Config): void {
|
|
|
163
163
|
}
|
|
164
164
|
|
|
165
165
|
ctx.inject(['settings'], (settingsCtx) => {
|
|
166
|
-
|
|
167
|
-
|
|
166
|
+
try {
|
|
167
|
+
if (typeof settingsCtx.settings?.installSection === 'function') {
|
|
168
|
+
settingsCtx.settings.installSection(ctx, SSH_SETTINGS_NAMESPACE, Config, config ?? {}, {
|
|
169
|
+
setSource: (source) => {
|
|
170
|
+
isSettingsBound = true
|
|
171
|
+
current = source
|
|
172
|
+
sync()
|
|
173
|
+
},
|
|
174
|
+
onChange: sync,
|
|
175
|
+
})
|
|
176
|
+
} else if (typeof settingsCtx.settings?.register === 'function') {
|
|
177
|
+
const scope = settingsCtx.settings.register(SSH_SETTINGS_NAMESPACE, Config, { base: config ?? {} })
|
|
168
178
|
isSettingsBound = true
|
|
169
|
-
current =
|
|
170
|
-
sync()
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
|
|
179
|
+
current = () => scope?.get?.() ?? (config ?? {})
|
|
180
|
+
scope?.watch?.(() => { sync() })
|
|
181
|
+
}
|
|
182
|
+
} catch {
|
|
183
|
+
// Defensive fallback against settings registration differences
|
|
184
|
+
}
|
|
174
185
|
})
|
|
175
186
|
|
|
176
187
|
// Initial registration from the composition entry (covers deployments with
|