@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.
Files changed (39) hide show
  1. package/LICENSE +24 -0
  2. package/README.md +42 -2
  3. package/cordis.patch.yml +4 -0
  4. package/lib/client.js +1131 -0
  5. package/lib/index.js +5770 -0
  6. package/lib/invariant.js +24 -0
  7. package/lib/types/actions.d.ts +124 -0
  8. package/lib/types/client/ComposerActions.d.ts +25 -0
  9. package/lib/types/client/DevDockDrawer.d.ts +29 -0
  10. package/lib/types/client/DevDockEntry.d.ts +28 -0
  11. package/lib/types/client/DevDockSettingsPage.d.ts +24 -0
  12. package/lib/types/client/StartTile.d.ts +25 -0
  13. package/lib/types/client/StartWorkButton.d.ts +28 -0
  14. package/lib/types/client/StartWorkModal.d.ts +25 -0
  15. package/lib/types/client/api.d.ts +56 -0
  16. package/lib/types/client/data.d.ts +75 -0
  17. package/lib/types/client/icons.d.ts +40 -0
  18. package/lib/types/client/index.d.ts +27 -0
  19. package/lib/types/client/locales.d.ts +65 -0
  20. package/lib/types/client/pages/ImportPage.d.ts +26 -0
  21. package/lib/types/client/pages/ProjectListPage.d.ts +34 -0
  22. package/lib/types/client/pages/QuickStartPage.d.ts +26 -0
  23. package/lib/types/client/probe.d.ts +3 -0
  24. package/lib/types/client/stores.d.ts +22 -0
  25. package/lib/types/domain.d.ts +17 -0
  26. package/lib/types/editors.d.ts +27 -0
  27. package/lib/types/index.d.ts +31 -0
  28. package/lib/types/invariant.d.ts +16 -0
  29. package/lib/types/platform/editors-darwin.d.ts +25 -0
  30. package/lib/types/platform/editors-win32.d.ts +25 -0
  31. package/lib/types/platform/open-ide.d.ts +23 -0
  32. package/lib/types/platform/open-terminal.d.ts +25 -0
  33. package/lib/types/platform/runner.d.ts +22 -0
  34. package/lib/types/schema.d.ts +52 -0
  35. package/lib/types/tools/actions.d.ts +35 -0
  36. package/lib/types/tools/editors.d.ts +27 -0
  37. package/lib/types/tools/project.d.ts +50 -0
  38. package/lib/types/tools/scan.d.ts +44 -0
  39. 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
- # Temporary Holding Version
1
+ # @liyuera/dsh-dev-dock
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
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.
@@ -0,0 +1,4 @@
1
+ # dsh bundle layer: mount the dev-dock plugin (host tools + browser UI).
2
+ - insert:
3
+ - id: dev-dock
4
+ name: '@liyuera/dsh-dev-dock'