dsh-over-ssh 0.2.0 → 0.2.1
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 +4 -4
- package/agents/agent-manifest.json +6 -6
- package/agents/linux-amd64/dsh-over-ssh-agent +0 -0
- package/agents/linux-arm64/dsh-over-ssh-agent +0 -0
- package/lib/client.js +507 -222
- package/lib/fs.js +3 -2
- package/lib/index.js +890 -373
- package/lib/types/src/host/domain/session/session-admin.d.ts +5 -0
- package/lib/types/src/wiring/helpers.d.ts +10 -1
- package/package.json +1 -1
|
@@ -158,6 +158,11 @@ export interface DeleteDecision {
|
|
|
158
158
|
* 默认不可被单独删除);
|
|
159
159
|
* 5. selecting a parent **always** takes its whole descendant subtree along, ordered **children first**.
|
|
160
160
|
*
|
|
161
|
+
* Rule 4 has one exception: an **orphan** sub-session — its parent is not in the inventory, or the parent is
|
|
162
|
+
* itself unreadable — can never be deleted "with its parent", because the parent does not exist to delete. Left
|
|
163
|
+
* refused, such a row is visible in the panel and permanently undeletable (审计 2026-11-05 session P2). It is
|
|
164
|
+
* therefore treated as a root: deletable on its own, and its own subtree still comes along by rule 5.
|
|
165
|
+
*
|
|
161
166
|
* Rule 5 is unconditional on purpose. It used to be an opt-in `includeSubsessions` switch, and that was the
|
|
162
167
|
* wrong shape: leaving a parent's children behind orphans their logs — the parent is gone, so nothing
|
|
163
168
|
* navigates to them, and the platform's listing hides them by `parentId` nesting, so the bytes stay on disk
|
|
@@ -60,7 +60,16 @@ export declare function resolveAuth(ctx: Context, profile: ConnectionProfile): P
|
|
|
60
60
|
export declare function resolvePasswordSecret(credentials: CredentialsLike, key: string): Promise<string | undefined>;
|
|
61
61
|
/** Whether the optional `ssh2` dependency can be loaded in this installation. */
|
|
62
62
|
export declare function isSsh2Available(): boolean;
|
|
63
|
-
/**
|
|
63
|
+
/**
|
|
64
|
+
* Expand a leading `~` to the user's home directory.
|
|
65
|
+
*
|
|
66
|
+
* **One implementation.** 这里原来自己写了一份,和 `host/domain/roots/ssh-config.ts` 的那份并存;两份对
|
|
67
|
+
* `~\\seg` 的处理并不同(`join` 折叠分隔符,字符串拼接不会),同一个配置在"连接凭据路径"与"ssh-config
|
|
68
|
+
* 导入"两条路上可能落到不同路径。domain 的那份是纯函数(`home` 由调用方传入),全仓只保留它。
|
|
69
|
+
*
|
|
70
|
+
* @param path - the configured path, possibly starting with `~`.
|
|
71
|
+
* @returns the absolute path, or the input unchanged when it has no leading `~`.
|
|
72
|
+
*/
|
|
64
73
|
export declare function expandHome(path: string): string;
|
|
65
74
|
/** One configured connection. */
|
|
66
75
|
export interface ConnectionEntry {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-over-ssh",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "SSH remote development for DeepSeek Harness: connections (key/password/ProxyJump/ssh config), remote files without sync, remote terminal, remote workspaces, remote @-completion, upload/download.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|