@tiphareth/dsh-hardssh 0.1.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 +50 -0
- package/cordis.patch.yml +26 -0
- package/lib/client.js +17780 -0
- package/lib/environment-BL1jddfB.js +449 -0
- package/lib/fs.js +478 -0
- package/lib/index.js +6758 -0
- package/lib/subprocess.js +600 -0
- package/lib/switch-fs-CAJpFY9C.js +193 -0
- package/lib/switch-fs-RrZtG2gv.js +210 -0
- package/lib/types/backend.d.ts +108 -0
- package/lib/types/base/capability.d.ts +107 -0
- package/lib/types/base/index.d.ts +18 -0
- package/lib/types/base/ledger-router.d.ts +48 -0
- package/lib/types/base/ledger.d.ts +82 -0
- package/lib/types/base/model.d.ts +108 -0
- package/lib/types/base/namespace.d.ts +57 -0
- package/lib/types/base/plugin.d.ts +102 -0
- package/lib/types/base/registry.d.ts +60 -0
- package/lib/types/base/router.d.ts +40 -0
- package/lib/types/client/api.d.ts +85 -0
- package/lib/types/client/directory-flow.d.ts +82 -0
- package/lib/types/client/icons.d.ts +19 -0
- package/lib/types/client/index.d.ts +34 -0
- package/lib/types/client/locales.d.ts +104 -0
- package/lib/types/client/manager-button.d.ts +32 -0
- package/lib/types/client/migrate.d.ts +20 -0
- package/lib/types/client/ssh/api.d.ts +89 -0
- package/lib/types/client/ssh/apply.d.ts +23 -0
- package/lib/types/client/ssh/locales.d.ts +156 -0
- package/lib/types/client/ssh/mount.d.ts +13 -0
- package/lib/types/client/ssh/panel/ClusterTab.d.ts +8 -0
- package/lib/types/client/ssh/panel/HostFingerprintDialog.d.ts +16 -0
- package/lib/types/client/ssh/panel/HostFormDialog.d.ts +13 -0
- package/lib/types/client/ssh/panel/HostsTab.d.ts +10 -0
- package/lib/types/client/ssh/panel/SessionSecretDialog.d.ts +16 -0
- package/lib/types/client/ssh/panel/SshPanel.d.ts +14 -0
- package/lib/types/client/ssh/panel/TerminalTab.d.ts +12 -0
- package/lib/types/client/ssh/panel/TransferTab.d.ts +8 -0
- package/lib/types/client/ssh/panel/TunnelsTab.d.ts +8 -0
- package/lib/types/client/ssh/panel/controller.d.ts +23 -0
- package/lib/types/client/ssh/panel/helpers.d.ts +15 -0
- package/lib/types/client/ssh/panel/xterm.css.d.ts +3 -0
- package/lib/types/client/ssh/sidebar-entry.d.ts +25 -0
- package/lib/types/client/state.d.ts +32 -0
- package/lib/types/client/text.d.ts +11 -0
- package/lib/types/client/workspace-badges.d.ts +38 -0
- package/lib/types/client/workspace-gate.d.ts +15 -0
- package/lib/types/client-http.d.ts +15 -0
- package/lib/types/core.d.ts +43 -0
- package/lib/types/fs.d.ts +36 -0
- package/lib/types/host-http.d.ts +25 -0
- package/lib/types/index.d.ts +53 -0
- package/lib/types/ledger.d.ts +132 -0
- package/lib/types/protocol.d.ts +101 -0
- package/lib/types/providers/index.d.ts +19 -0
- package/lib/types/providers/local/provider.d.ts +58 -0
- package/lib/types/providers/ssh/provider.d.ts +112 -0
- package/lib/types/remote/environment.d.ts +29 -0
- package/lib/types/remote/output.d.ts +38 -0
- package/lib/types/remote/remote-fs.d.ts +69 -0
- package/lib/types/remote/remote-process.d.ts +41 -0
- package/lib/types/remote/remote-subprocess.d.ts +31 -0
- package/lib/types/remote/remote-terminal.d.ts +41 -0
- package/lib/types/remote-runner.d.ts +83 -0
- package/lib/types/remote-search.d.ts +50 -0
- package/lib/types/routes.d.ts +24 -0
- package/lib/types/runtime/workspace-core.d.ts +59 -0
- package/lib/types/seam-state.d.ts +69 -0
- package/lib/types/shell.d.ts +8 -0
- package/lib/types/ssh/connection/lease.d.ts +16 -0
- package/lib/types/ssh/connection/pool.d.ts +57 -0
- package/lib/types/ssh/engine.d.ts +434 -0
- package/lib/types/ssh/exec/output.d.ts +31 -0
- package/lib/types/ssh/known-hosts.d.ts +89 -0
- package/lib/types/ssh/plugin.d.ts +57 -0
- package/lib/types/ssh/protocol.d.ts +236 -0
- package/lib/types/ssh/routes.d.ts +44 -0
- package/lib/types/ssh/store.d.ts +107 -0
- package/lib/types/ssh/tools.d.ts +35 -0
- package/lib/types/ssh/transfer/progress.d.ts +14 -0
- package/lib/types/ssh/vault.d.ts +110 -0
- package/lib/types/subprocess.d.ts +32 -0
- package/lib/types/switch/switch-fs.d.ts +88 -0
- package/lib/types/switch/switch-subprocess.d.ts +34 -0
- package/lib/types/tools.d.ts +12 -0
- package/package.json +134 -0
- package/src/backend.ts +624 -0
- package/src/base/capability.ts +86 -0
- package/src/base/index.ts +18 -0
- package/src/base/ledger-router.ts +128 -0
- package/src/base/ledger.ts +299 -0
- package/src/base/model.ts +118 -0
- package/src/base/namespace.ts +102 -0
- package/src/base/plugin.ts +170 -0
- package/src/base/registry.ts +109 -0
- package/src/base/router.ts +43 -0
- package/src/client/api.ts +196 -0
- package/src/client/css-modules.d.ts +5 -0
- package/src/client/directory-flow.tsx +482 -0
- package/src/client/icons.tsx +50 -0
- package/src/client/index.ts +210 -0
- package/src/client/locales.ts +105 -0
- package/src/client/manager-button.tsx +269 -0
- package/src/client/migrate.ts +109 -0
- package/src/client/ssh/api.ts +411 -0
- package/src/client/ssh/apply.ts +50 -0
- package/src/client/ssh/locales.ts +322 -0
- package/src/client/ssh/mount.tsx +83 -0
- package/src/client/ssh/panel/ClusterTab.tsx +123 -0
- package/src/client/ssh/panel/HostFingerprintDialog.tsx +82 -0
- package/src/client/ssh/panel/HostFormDialog.tsx +228 -0
- package/src/client/ssh/panel/HostsTab.tsx +236 -0
- package/src/client/ssh/panel/SessionSecretDialog.tsx +80 -0
- package/src/client/ssh/panel/SshPanel.tsx +77 -0
- package/src/client/ssh/panel/TerminalTab.tsx +176 -0
- package/src/client/ssh/panel/TransferTab.tsx +232 -0
- package/src/client/ssh/panel/TunnelsTab.tsx +177 -0
- package/src/client/ssh/panel/controller.ts +48 -0
- package/src/client/ssh/panel/helpers.ts +26 -0
- package/src/client/ssh/panel/panel.module.css +1006 -0
- package/src/client/ssh/panel/xterm.css.ts +2 -0
- package/src/client/ssh/sidebar-entry.ts +123 -0
- package/src/client/state.ts +99 -0
- package/src/client/text.ts +22 -0
- package/src/client/workspace-badges.ts +96 -0
- package/src/client/workspace-gate.ts +225 -0
- package/src/client/workspace.module.css +283 -0
- package/src/client-http.ts +45 -0
- package/src/core.ts +47 -0
- package/src/fs.ts +85 -0
- package/src/host-http.ts +74 -0
- package/src/index.ts +244 -0
- package/src/ledger.ts +416 -0
- package/src/protocol.ts +114 -0
- package/src/providers/index.ts +34 -0
- package/src/providers/local/provider.ts +179 -0
- package/src/providers/ssh/provider.ts +274 -0
- package/src/remote/environment.ts +123 -0
- package/src/remote/output.ts +142 -0
- package/src/remote/remote-fs.ts +532 -0
- package/src/remote/remote-process.ts +203 -0
- package/src/remote/remote-subprocess.ts +159 -0
- package/src/remote/remote-terminal.ts +141 -0
- package/src/remote-runner.ts +201 -0
- package/src/remote-search.ts +163 -0
- package/src/routes.ts +395 -0
- package/src/runtime/workspace-core.ts +154 -0
- package/src/seam-state.ts +185 -0
- package/src/shell.ts +10 -0
- package/src/ssh/connection/lease.ts +17 -0
- package/src/ssh/connection/pool.ts +275 -0
- package/src/ssh/engine.ts +1761 -0
- package/src/ssh/exec/output.ts +70 -0
- package/src/ssh/known-hosts.ts +214 -0
- package/src/ssh/plugin.ts +184 -0
- package/src/ssh/protocol.ts +227 -0
- package/src/ssh/routes.ts +892 -0
- package/src/ssh/store.ts +544 -0
- package/src/ssh/tools.ts +402 -0
- package/src/ssh/transfer/progress.ts +75 -0
- package/src/ssh/vault.ts +477 -0
- package/src/subprocess.ts +71 -0
- package/src/switch/switch-fs.ts +253 -0
- package/src/switch/switch-subprocess.ts +59 -0
- package/src/tools.ts +221 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `ctx.fs` switching facade: routes every filesystem call to the backend
|
|
3
|
+
* of the SESSION's workspace — a local session operates on the local sandbox,
|
|
4
|
+
* an SSH-bound workspace on the remote host the workspace is bound to.
|
|
5
|
+
*
|
|
6
|
+
* Routing anchor: the cwd the tool call was made under (`resolve`'s
|
|
7
|
+
* `opts.cwd`, the write/edit `sandboxPolicy.workspaceRoot`). The resolver
|
|
8
|
+
* ("which SSH workspace owns this cwd?") lives in the deps; a hit routes to
|
|
9
|
+
* that workspace's remote backend, a miss to the local backend. Later
|
|
10
|
+
* operations (stat/read/write) receive only the resolved `FsTarget`, so the
|
|
11
|
+
* backend identity is encoded into the target key — `ssh:<recordId>:<remoteKey>`
|
|
12
|
+
* for remote targets, bare local keys for local ones — and decoded on every
|
|
13
|
+
* dispatch. This keeps two SSH workspaces on DIFFERENT hosts (or different
|
|
14
|
+
* directories on the SAME host) from colliding, and never misroutes a local
|
|
15
|
+
* target.
|
|
16
|
+
*
|
|
17
|
+
* @module dsh-hardssh/switch-fs
|
|
18
|
+
*/
|
|
19
|
+
import { FileSystem } from '@deepseek-ai/dsh-fs';
|
|
20
|
+
import type { FsDirEntry, FsEditOutcome, FsEditRequest, FsInfo, FsPathInfo, FsTarget, FsWriteIntent, FsWriteOutcome } from '@deepseek-ai/dsh-fs';
|
|
21
|
+
import type { SandboxExecutionPolicy, SandboxMode } from '@deepseek-ai/dsh-sandbox';
|
|
22
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
23
|
+
/** Key namespace: 'ssh:<recordId>:' (legacy) or 'wfs://<id>/' (current)
|
|
24
|
+
* for remote/workspace-bound targets. Both decode; new keys emit wfs://. */
|
|
25
|
+
export declare const REMOTE_PREFIX = "ssh:";
|
|
26
|
+
/** New URI-style workspace namespace marker. */
|
|
27
|
+
export declare const WFS_PREFIX = "wfs://";
|
|
28
|
+
/** Strict WFS key prefix (includes the double slash + separator). */
|
|
29
|
+
export declare const WFS_NAMESPACE_MARKER = "wfs://";
|
|
30
|
+
/** Route one cwd anchor to a backend + namespace. */
|
|
31
|
+
export interface WorkspaceWorld {
|
|
32
|
+
backend: FileSystem;
|
|
33
|
+
/** '' for local; 'wfs://<id>/' or legacy 'ssh:<recordId>:' for one workspace. */
|
|
34
|
+
namespace: string;
|
|
35
|
+
/** The local anchor dir of the SSH workspace ('' for local) — used to
|
|
36
|
+
* translate a model-supplied anchor path into the remote root. */
|
|
37
|
+
anchorPath?: string;
|
|
38
|
+
/** The remote root of the SSH workspace ('' for local). */
|
|
39
|
+
remoteRoot?: string;
|
|
40
|
+
}
|
|
41
|
+
/** Routing resolver offered by the mount site. */
|
|
42
|
+
export interface SwitchFsDeps {
|
|
43
|
+
local: FileSystem;
|
|
44
|
+
/** The world for a session cwd (undefined = local). */
|
|
45
|
+
worldFor(cwd: string | undefined): WorkspaceWorld;
|
|
46
|
+
/** The world owning one namespaced target key (never undefined: every
|
|
47
|
+
* key this facade issued maps back). */
|
|
48
|
+
worldForNamespace(namespace: string): WorkspaceWorld | undefined;
|
|
49
|
+
}
|
|
50
|
+
/** The routing filesystem facade. */
|
|
51
|
+
export declare class SwitchFileSystem extends FileSystem {
|
|
52
|
+
private readonly deps;
|
|
53
|
+
private readonly local;
|
|
54
|
+
constructor(ctx: Context, deps: SwitchFsDeps);
|
|
55
|
+
/** Sandbox default from the local backend (remote worlds are unconfined —
|
|
56
|
+
* the docs/doc of the tool layer reads this once at mount). */
|
|
57
|
+
get sandboxMode(): SandboxMode | undefined;
|
|
58
|
+
/** Encode a raw key into the world's namespace. */
|
|
59
|
+
private encode;
|
|
60
|
+
/** Decode a namespaced key back to (rawKey, world). Supports both the
|
|
61
|
+
* current `wfs://<id>/…` form and the legacy `ssh:<recordId>:…` form. */
|
|
62
|
+
private decode;
|
|
63
|
+
resolve(path: string, opts?: {
|
|
64
|
+
cwd?: string;
|
|
65
|
+
signal?: AbortSignal;
|
|
66
|
+
}): Promise<FsTarget>;
|
|
67
|
+
/** Rewrite `<anchor>/<rest>` to `<remoteRoot>/<rest>` when `path` is the
|
|
68
|
+
* anchor or under it; otherwise return `path` unchanged (remote absolute
|
|
69
|
+
* paths, relative paths, and foreign local paths all pass through). */
|
|
70
|
+
private translateAnchorPath;
|
|
71
|
+
processPath(target: FsTarget): string;
|
|
72
|
+
fileUrl(target: FsTarget): string;
|
|
73
|
+
contains(parent: FsTarget, child: FsTarget): boolean;
|
|
74
|
+
stat(target: FsTarget, signal?: AbortSignal): Promise<FsInfo | undefined>;
|
|
75
|
+
lstat(path: string, opts?: {
|
|
76
|
+
cwd?: string;
|
|
77
|
+
}, signal?: AbortSignal): Promise<FsPathInfo | undefined>;
|
|
78
|
+
readText(target: FsTarget, signal?: AbortSignal): Promise<string>;
|
|
79
|
+
streamText(target: FsTarget, signal?: AbortSignal): Promise<AsyncIterable<string>>;
|
|
80
|
+
readBytes(target: FsTarget, signal: AbortSignal | undefined, maxBytes: number): Promise<Uint8Array>;
|
|
81
|
+
listDir(target: FsTarget, signal?: AbortSignal): Promise<FsDirEntry[]>;
|
|
82
|
+
writeText(target: FsTarget, content: string, expected?: FsWriteIntent, signal?: AbortSignal, sandboxPolicy?: SandboxExecutionPolicy): Promise<FsWriteOutcome>;
|
|
83
|
+
editText(target: FsTarget, edit: FsEditRequest, expected?: {
|
|
84
|
+
version: ReturnType<typeof import('@deepseek-ai/dsh-fs').FsVersion>;
|
|
85
|
+
}, signal?: AbortSignal, sandboxPolicy?: Parameters<FileSystem['editText']>[4]): Promise<FsEditOutcome>;
|
|
86
|
+
}
|
|
87
|
+
export default SwitchFileSystem;
|
|
88
|
+
//# sourceMappingURL=switch-fs.d.ts.map
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `ctx.subprocess` switching facade: routes every spawn to the execution
|
|
3
|
+
* world of the SESSION's workspace — local sessions spawn locally, SSH-bound
|
|
4
|
+
* workspaces spawn on the bound host. The routing anchor is the spawn spec's
|
|
5
|
+
* `cwd` (bash tools default it to the session cwd); the resolver lives in
|
|
6
|
+
* the deps. One instance provides `ctx.subprocess` after the profile patch
|
|
7
|
+
* disabled the plain subprocess row, like the fs facade.
|
|
8
|
+
*
|
|
9
|
+
* @module dsh-hardssh/switch-subprocess
|
|
10
|
+
*/
|
|
11
|
+
import { SubprocessRuntime } from '@deepseek-ai/dsh-subprocess';
|
|
12
|
+
import type { SubprocessHandle, SubprocessSpawnSpec, SubprocessTerminalHandle, SubprocessTerminalSpawnSpec } from '@deepseek-ai/dsh-subprocess';
|
|
13
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
14
|
+
/** Route one spawn cwd to a runtime. */
|
|
15
|
+
export interface SwitchSubprocessDeps {
|
|
16
|
+
local: SubprocessRuntime;
|
|
17
|
+
/** The runtime for a spawn cwd (undefined = local). */
|
|
18
|
+
worldFor(cwd: string | undefined): SubprocessRuntime;
|
|
19
|
+
}
|
|
20
|
+
/** Workspace-routing subprocess facade. */
|
|
21
|
+
export declare class SwitchSubprocessRuntime extends SubprocessRuntime {
|
|
22
|
+
private readonly deps;
|
|
23
|
+
constructor(ctx: Context, deps: SwitchSubprocessDeps);
|
|
24
|
+
/** The runtime for one spec (by its cwd). */
|
|
25
|
+
private runtimeFor;
|
|
26
|
+
/** @inheritdoc */
|
|
27
|
+
resolveExecutable(command: string, env?: Readonly<Record<string, string>>, signal?: AbortSignal): Promise<string>;
|
|
28
|
+
/** @inheritdoc */
|
|
29
|
+
spawn(spec: SubprocessSpawnSpec): SubprocessHandle;
|
|
30
|
+
/** @inheritdoc */
|
|
31
|
+
spawnTerminal(spec: SubprocessTerminalSpawnSpec): Promise<SubprocessTerminalHandle>;
|
|
32
|
+
}
|
|
33
|
+
export default SwitchSubprocessRuntime;
|
|
34
|
+
//# sourceMappingURL=switch-subprocess.d.ts.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SshEngine } from './ssh/engine.ts';
|
|
2
|
+
import { RemoteSearchService } from './remote-search.ts';
|
|
3
|
+
import type { SshWorkspaceLedger } from './ledger.ts';
|
|
4
|
+
/** Tool-set dependencies. */
|
|
5
|
+
export interface WorkspaceToolsDeps {
|
|
6
|
+
engine: SshEngine;
|
|
7
|
+
ledger: SshWorkspaceLedger;
|
|
8
|
+
search: RemoteSearchService;
|
|
9
|
+
}
|
|
10
|
+
/** Build every remote_* tool (registered by the host half). */
|
|
11
|
+
export declare function makeWorkspaceTools(deps: WorkspaceToolsDeps): import("@deepseek-ai/dsh-tools").ToolDefinition[];
|
|
12
|
+
//# sourceMappingURL=tools.d.ts.map
|
package/package.json
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tiphareth/dsh-hardssh",
|
|
3
|
+
"description": "Generic workspace base for the dsh harness (local + remote workspace providers with per-workspace routing), with SSH as one concrete provider: enter SSH mode from the session header, browse/edit remote files in a new left panel, let the local harness operate the remote server through remote_* agent tools, and manage hosts through the ssh_* tools and the SSH panel (legacy dsh-ssh merged in).",
|
|
4
|
+
"version": "0.1.2",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"dsh",
|
|
8
|
+
"deepseek-harness",
|
|
9
|
+
"dsh-plugin",
|
|
10
|
+
"workspace",
|
|
11
|
+
"ssh",
|
|
12
|
+
"remote-development",
|
|
13
|
+
"sftp"
|
|
14
|
+
],
|
|
15
|
+
"engines": {
|
|
16
|
+
"node": "^22.19.0 || >=24.0.0"
|
|
17
|
+
},
|
|
18
|
+
"main": "lib/index.js",
|
|
19
|
+
"types": "lib/types/index.d.ts",
|
|
20
|
+
"exports": {
|
|
21
|
+
".": {
|
|
22
|
+
"types": "./lib/types/index.d.ts",
|
|
23
|
+
"default": "./lib/index.js"
|
|
24
|
+
},
|
|
25
|
+
"./fs": {
|
|
26
|
+
"types": "./lib/types/fs.d.ts",
|
|
27
|
+
"default": "./lib/fs.js"
|
|
28
|
+
},
|
|
29
|
+
"./subprocess": {
|
|
30
|
+
"types": "./lib/types/subprocess.d.ts",
|
|
31
|
+
"default": "./lib/subprocess.js"
|
|
32
|
+
},
|
|
33
|
+
"./client": {
|
|
34
|
+
"types": "./lib/types/client/index.d.ts",
|
|
35
|
+
"default": "./lib/client.js"
|
|
36
|
+
},
|
|
37
|
+
"./src/*": "./src/*",
|
|
38
|
+
"./package.json": "./package.json"
|
|
39
|
+
},
|
|
40
|
+
"dsh": {
|
|
41
|
+
"bundle": {
|
|
42
|
+
"patch": "./cordis.patch.yml"
|
|
43
|
+
},
|
|
44
|
+
"client": {
|
|
45
|
+
"inject": [
|
|
46
|
+
"@deepseek-ai/dsh-client-runtime",
|
|
47
|
+
"@deepseek-ai/dsh-client-connection",
|
|
48
|
+
"@deepseek-ai/dsh-client-ui-settings"
|
|
49
|
+
],
|
|
50
|
+
"platform": "web"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"scripts": {
|
|
54
|
+
"build": "tsc -b && tsdown",
|
|
55
|
+
"bundle": "tsdown",
|
|
56
|
+
"watch": "tsdown --watch",
|
|
57
|
+
"typecheck": "tsc -b --pretty false",
|
|
58
|
+
"test": "vitest run",
|
|
59
|
+
"prepare": "tsdown"
|
|
60
|
+
},
|
|
61
|
+
"dependencies": {
|
|
62
|
+
"@xterm/addon-fit": "^0.11.0",
|
|
63
|
+
"@xterm/xterm": "^6.0.0",
|
|
64
|
+
"ssh2": "^1.17.0",
|
|
65
|
+
"ws": "^8.18.0"
|
|
66
|
+
},
|
|
67
|
+
"peerDependencies": {
|
|
68
|
+
"@deepseek-ai/cordis": "^4.0.2",
|
|
69
|
+
"@deepseek-ai/dsh-client-connection": "^0.1.2-alpha.3",
|
|
70
|
+
"@deepseek-ai/dsh-client-locale": "^0.1.2-alpha.3",
|
|
71
|
+
"@deepseek-ai/dsh-client-runtime": "^0.1.1-rc.2",
|
|
72
|
+
"@deepseek-ai/dsh-client-ui-settings": "^0.1.2-alpha.3",
|
|
73
|
+
"@deepseek-ai/dsh-client-ui-sidebar": "^0.1.2-alpha.3",
|
|
74
|
+
"@deepseek-ai/dsh-client-ui-slots": "^0.1.2-alpha.3",
|
|
75
|
+
"@deepseek-ai/dsh-fs": "^0.1.2-alpha.3",
|
|
76
|
+
"@deepseek-ai/dsh-fs-sandbox": "^0.1.2-alpha.3",
|
|
77
|
+
"@deepseek-ai/dsh-host-webserver": "^0.1.2-alpha.3",
|
|
78
|
+
"@deepseek-ai/schemastery": "^3.18.1",
|
|
79
|
+
"@deepseek-ai/dsh-settings": "^0.1.2-alpha.3",
|
|
80
|
+
"@deepseek-ai/dsh-subprocess": "^0.1.2-alpha.3",
|
|
81
|
+
"@deepseek-ai/dsh-subprocess-local": "^0.1.2-alpha.3",
|
|
82
|
+
"@deepseek-ai/dsh-system-prompt": "^0.1.2-alpha.3",
|
|
83
|
+
"@deepseek-ai/dsh-timeout": "^0.1.2-alpha.3",
|
|
84
|
+
"@deepseek-ai/dsh-tools": "^0.1.2-alpha.3",
|
|
85
|
+
"react": "^18.2.0",
|
|
86
|
+
"react-dom": "^18.2.0"
|
|
87
|
+
},
|
|
88
|
+
"devDependencies": {
|
|
89
|
+
"@deepseek-ai/cordis": "^4.0.2",
|
|
90
|
+
"@deepseek-ai/dsh-client-connection": "0.1.2-alpha.3",
|
|
91
|
+
"@deepseek-ai/dsh-client-locale": "0.1.2-alpha.3",
|
|
92
|
+
"@deepseek-ai/dsh-client-runtime": "0.1.1-rc.2",
|
|
93
|
+
"@deepseek-ai/dsh-client-ui-conversation": "0.1.2-alpha.3",
|
|
94
|
+
"@deepseek-ai/dsh-client-ui-settings": "0.1.2-alpha.3",
|
|
95
|
+
"@deepseek-ai/dsh-client-ui-sidebar": "0.1.2-alpha.3",
|
|
96
|
+
"@deepseek-ai/dsh-client-ui-slots": "0.1.2-alpha.3",
|
|
97
|
+
"@deepseek-ai/dsh-client-ui-workspace": "0.1.2-alpha.3",
|
|
98
|
+
"@deepseek-ai/dsh-fs": "0.1.2-alpha.3",
|
|
99
|
+
"@deepseek-ai/dsh-fs-local": "0.1.2-alpha.3",
|
|
100
|
+
"@deepseek-ai/dsh-fs-sandbox": "0.1.2-alpha.3",
|
|
101
|
+
"@deepseek-ai/dsh-host-webserver": "0.1.2-alpha.3",
|
|
102
|
+
"@deepseek-ai/dsh-invariants": "0.1.2-alpha.3",
|
|
103
|
+
"@deepseek-ai/dsh-llm": "0.1.2-alpha.3",
|
|
104
|
+
"@deepseek-ai/dsh-sandbox": "0.1.2-alpha.3",
|
|
105
|
+
"@deepseek-ai/dsh-sandbox-policy": "0.1.2-alpha.3",
|
|
106
|
+
"@deepseek-ai/dsh-scope": "0.1.2-alpha.3",
|
|
107
|
+
"@deepseek-ai/dsh-settings": "0.1.2-alpha.3",
|
|
108
|
+
"@deepseek-ai/dsh-subprocess": "0.1.2-alpha.3",
|
|
109
|
+
"@deepseek-ai/dsh-subprocess-local": "0.1.2-alpha.3",
|
|
110
|
+
"@deepseek-ai/dsh-system-prompt": "0.1.2-alpha.3",
|
|
111
|
+
"@deepseek-ai/schemastery": "^3.18.1",
|
|
112
|
+
"@deepseek-ai/dsh-timeout": "0.1.2-alpha.3",
|
|
113
|
+
"@deepseek-ai/dsh-tools": "0.1.2-alpha.3",
|
|
114
|
+
"@types/node": "^22.20.0",
|
|
115
|
+
"@types/react": "~18.3.1",
|
|
116
|
+
"@types/react-dom": "^18.3.5",
|
|
117
|
+
"@types/ssh2": "^1.15.5",
|
|
118
|
+
"@types/ws": "^8.5.13",
|
|
119
|
+
"jsdom": "catalog:",
|
|
120
|
+
"react": "catalog:",
|
|
121
|
+
"react-dom": "catalog:",
|
|
122
|
+
"tsdown": "catalog:",
|
|
123
|
+
"typescript": "catalog:",
|
|
124
|
+
"vitest": "catalog:"
|
|
125
|
+
},
|
|
126
|
+
"files": [
|
|
127
|
+
"lib/*.js",
|
|
128
|
+
"lib/types/**/*.d.ts",
|
|
129
|
+
"src",
|
|
130
|
+
"cordis.patch.yml",
|
|
131
|
+
"README.md"
|
|
132
|
+
],
|
|
133
|
+
"license": "BSD-3-Clause"
|
|
134
|
+
}
|