@liyuera/dsh-dev-dock 0.0.0-stage → 1.0.3
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/LICENSE +24 -0
- package/README.md +42 -2
- package/cordis.patch.yml +4 -0
- package/lib/client.js +1131 -0
- package/lib/index.js +5770 -0
- package/lib/invariant.js +24 -0
- package/lib/types/actions.d.ts +124 -0
- package/lib/types/client/ComposerActions.d.ts +25 -0
- package/lib/types/client/DevDockDrawer.d.ts +29 -0
- package/lib/types/client/DevDockEntry.d.ts +28 -0
- package/lib/types/client/DevDockSettingsPage.d.ts +24 -0
- package/lib/types/client/StartTile.d.ts +25 -0
- package/lib/types/client/StartWorkButton.d.ts +28 -0
- package/lib/types/client/StartWorkModal.d.ts +25 -0
- package/lib/types/client/api.d.ts +56 -0
- package/lib/types/client/data.d.ts +75 -0
- package/lib/types/client/icons.d.ts +40 -0
- package/lib/types/client/index.d.ts +27 -0
- package/lib/types/client/locales.d.ts +65 -0
- package/lib/types/client/pages/ImportPage.d.ts +26 -0
- package/lib/types/client/pages/ProjectListPage.d.ts +34 -0
- package/lib/types/client/pages/QuickStartPage.d.ts +26 -0
- package/lib/types/client/probe.d.ts +3 -0
- package/lib/types/client/stores.d.ts +22 -0
- package/lib/types/domain.d.ts +17 -0
- package/lib/types/editors.d.ts +27 -0
- package/lib/types/index.d.ts +31 -0
- package/lib/types/invariant.d.ts +16 -0
- package/lib/types/platform/editors-darwin.d.ts +25 -0
- package/lib/types/platform/editors-win32.d.ts +25 -0
- package/lib/types/platform/open-ide.d.ts +23 -0
- package/lib/types/platform/open-terminal.d.ts +25 -0
- package/lib/types/platform/runner.d.ts +22 -0
- package/lib/types/schema.d.ts +52 -0
- package/lib/types/tools/actions.d.ts +35 -0
- package/lib/types/tools/editors.d.ts +27 -0
- package/lib/types/tools/project.d.ts +50 -0
- package/lib/types/tools/scan.d.ts +44 -0
- package/package.json +85 -4
package/LICENSE
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
Copyright (c) 2026 李昱 (liyuera). All rights reserved.
|
|
2
|
+
|
|
3
|
+
This repository and all of its contents are proprietary and confidential.
|
|
4
|
+
No part of this software — including its source code, build artifacts,
|
|
5
|
+
documentation, and assets — may be used, copied, modified, merged,
|
|
6
|
+
published, distributed, sublicensed, or sold in any form or by any means
|
|
7
|
+
without the prior written permission of the copyright holder.
|
|
8
|
+
|
|
9
|
+
Notwithstanding the preceding paragraph, the copyright holder publishes the
|
|
10
|
+
packages under the `@liyuera` scope to the public npm registry. Downloading,
|
|
11
|
+
installing and running those published packages — including through DeepSeek
|
|
12
|
+
Harness — is permitted. Every other right stays reserved: the published
|
|
13
|
+
packages grant no right to modify, redistribute, sublicense or sell the
|
|
14
|
+
software, and no source code is licensed for reuse.
|
|
15
|
+
|
|
16
|
+
The software is provided "as is", without warranty of any kind, express or
|
|
17
|
+
implied, including but not limited to the warranties of merchantability,
|
|
18
|
+
fitness for a particular purpose and noninfringement. In no event shall the
|
|
19
|
+
copyright holder be liable for any claim, damages or other liability,
|
|
20
|
+
whether in an action of contract, tort or otherwise, arising from, out of or
|
|
21
|
+
in connection with the software or the use or other dealings in the software.
|
|
22
|
+
|
|
23
|
+
Third-party components bundled into the build artifacts remain under their
|
|
24
|
+
own licenses.
|
package/README.md
CHANGED
|
@@ -1,3 +1,43 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @liyuera/dsh-dev-dock
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Frontend project engineering management for DeepSeek Harness, v2: projects are dsh workspaces (no separate registry), one-click start-work, and deterministic desktop actions that open projects in an IDE or a system terminal window. No agent in the loop, no approval prompt — the button click is the user's authorization. The only guard is the sandbox mode: `read-only` denies desktop side effects.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
dsh plugin --profile web add link:/Users/liyu/Documents/www/DeepSeek/deepseek-harness/deepseek-harness-plugin/dev-dock
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Restart `dsh web`. The sidebar foot shows **开始上班** (start-work dialog) above a `devDock - N项目` row (N = workspace count); every session header gets **IDE / 终端 / 启动** actions for its workspace; the devDock settings page opens from **设置 → devDock**.
|
|
12
|
+
|
|
13
|
+
## UI surfaces
|
|
14
|
+
|
|
15
|
+
| Surface | Slot | Purpose |
|
|
16
|
+
|---|---|---|
|
|
17
|
+
| 开始上班 button + devDock entry row | `sidebar.footer.action` | start-work dialog (remembered selection) + project count |
|
|
18
|
+
| IDE / 终端 / 启动 | `conversation.session.header.actions` | open editor / open system terminal / both, for the current session's workspace |
|
|
19
|
+
| start-work dialog | `shell.overlay` | checkbox list of workspaces, prefill from last selection |
|
|
20
|
+
| devDock settings page | `settings.section` | per-workspace editor preference, editor manual paths + detection refresh, terminal preference |
|
|
21
|
+
|
|
22
|
+
## How it works
|
|
23
|
+
|
|
24
|
+
- **Projects are dsh workspaces** (the workspace registry is the fact source; deleted workspaces simply drop out).
|
|
25
|
+
- **Settings namespace `dev-dock`** holds only preferences: `workspacePrefs` (per-workspace IDE), `editors` (detected + manual paths), `terminalApp` (Terminal.app / iTerm), `startWork` (selection memory).
|
|
26
|
+
- **Default editor**: per-workspace preference first; otherwise auto-detected — uni-app traits (manifest.json / project.config.json) prefer HBuilderX, other projects prefer WebStorm, then any installed editor.
|
|
27
|
+
- **Actions are deterministic**: the browser half POSTs a JSON action to the host route `/dev-dock/action` (registered through `webServer`); the host runs the open directly. Static client bundles have no package-private RPC channel (`host.call` is a dynamic-plugin builtin), so the loopback route is the sanctioned channel. The route is registered only when a web server is present; headless profiles just keep the settings namespace.
|
|
28
|
+
- **read-only guard**: `sandboxPolicy.resolve().mode === 'read-only'` rejects every action with an error.
|
|
29
|
+
|
|
30
|
+
## Build
|
|
31
|
+
|
|
32
|
+
```sh
|
|
33
|
+
tsc -b && tsdown --env.DSH_BUILD_FACE=client # bins resolve from the harness root node_modules
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
The harness client-bundle preset only recognizes packages under `packages/*/*` (boundary gate since the harness `build(client): enforce client package boundaries` commit), so an out-of-tree build needs a transient manifest copy at `packages/litepack/dev-dock/package.json` during the tsdown step; remove it afterwards. `lib/` artifacts (including `lib/client.js`) are committed, install-and-go.
|
|
37
|
+
|
|
38
|
+
## Known limitations (v1)
|
|
39
|
+
|
|
40
|
+
- The devDock entry row opens the start-work dialog (the settings shell exposes no cross-plugin API to open the panel on a chosen section); the settings page is reached through 设置 → devDock.
|
|
41
|
+
- Tests for v1 were removed with the v1 surface; host unit tests (editor merge, action command building) and client component specs are the next iteration item.
|
|
42
|
+
- Windows detection and terminal fallback remain untested on real Windows hardware.
|
|
43
|
+
- The HTTP action route is loopback-bound like the rest of the web server; the browser page is the only same-origin caller.
|
package/cordis.patch.yml
ADDED