dshm-compat 0.1.2 → 0.1.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/CHANGELOG.md +12 -0
- package/INSTALL.md +5 -5
- package/README.md +2 -1
- package/lib/convert.js +2 -2
- package/lib/recipes/dsh-ops.js +9 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.3
|
|
4
|
+
|
|
5
|
+
- Fixed dsh-ops recipe dispatch for GitHub specs: the converter now keys on
|
|
6
|
+
`report.package.name`, not `report.resolved.name` (which is `owner/repo` for
|
|
7
|
+
GitHub). `compat_convert("https://github.com/T-Auto/dsh-ops", ...)` now
|
|
8
|
+
reaches the recipe and returns `needs-native-build` instead of `skipped`.
|
|
9
|
+
- The dsh-ops recipe relaxes `peerDependencies["@deepseek-ai/dsh"]` to
|
|
10
|
+
`workspace:*` so installing it does not make the DSHM core fail its
|
|
11
|
+
prerelease compatibility check on the next boot.
|
|
12
|
+
- Clearer S2 skipped message ("needs a recipe or an external native build").
|
|
13
|
+
- Offline regression suite: 24/24.
|
|
14
|
+
|
|
3
15
|
## 0.1.2
|
|
4
16
|
|
|
5
17
|
- Added `compat_doctor`: one read-only diagnosis of DSHM mode, core version,
|
package/INSTALL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Installing dshm-compat
|
|
2
2
|
|
|
3
|
-
The artifact is a normal DSH bundle package: `dshm-compat-0.1.
|
|
3
|
+
The artifact is a normal DSH bundle package: `dshm-compat-0.1.3.tgz`.
|
|
4
4
|
It is host-only, has no runtime dependencies, and adds eight agent tools.
|
|
5
5
|
|
|
6
6
|
## A. DSHM (the tablet)
|
|
@@ -15,7 +15,7 @@ input calls `pnpm view` before installing and fails with
|
|
|
15
15
|
`Command failed with EACCES: pnpm view ... spawn pnpm EACCES`. Use one of these
|
|
16
16
|
instead:
|
|
17
17
|
|
|
18
|
-
- ask the DSHM Agent to run `pnpm add dshm-compat@0.1.
|
|
18
|
+
- ask the DSHM Agent to run `pnpm add dshm-compat@0.1.3` in its bash tool (the
|
|
19
19
|
bundled pnpm shim routes that command to the host install queue); or
|
|
20
20
|
- install from a GitHub repository URL; or
|
|
21
21
|
- after any working install, use the plugin's own `compat_install` tool for
|
|
@@ -28,7 +28,7 @@ not accept local paths, `file:` or `http://` specs.
|
|
|
28
28
|
|
|
29
29
|
### A2. HTTPS tarball
|
|
30
30
|
|
|
31
|
-
Put `dshm-compat-0.1.
|
|
31
|
+
Put `dshm-compat-0.1.3.tgz` on any HTTPS host (GitHub Release, Gitee Release,
|
|
32
32
|
object storage) and paste the `.tgz` URL into the same Add plugin input. DSHM's
|
|
33
33
|
installer accepts tarball specs; if the current market UI refuses a plain URL,
|
|
34
34
|
use A1.
|
|
@@ -38,7 +38,7 @@ use A1.
|
|
|
38
38
|
If `hdc` is available and the app can read the path:
|
|
39
39
|
|
|
40
40
|
```sh
|
|
41
|
-
hdc file send dshm-compat-0.1.
|
|
41
|
+
hdc file send dshm-compat-0.1.3.tgz /data/storage/el2/base/haps/entry/files/dshm-compat-0.1.3.tgz
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
Then enter the absolute path (or `file:/...`) in the Add plugin input. This
|
|
@@ -47,7 +47,7 @@ depends on the DSHM build's local-file support; A1 is safer.
|
|
|
47
47
|
## B. Desktop DSH (for testing only)
|
|
48
48
|
|
|
49
49
|
```powershell
|
|
50
|
-
& 'D:\安装\dsh-desktop\resources\runtime\cli\bin\dsh.cmd' plugin --profile desktop add 'D:\dsh\dsh-26-09-30\dshm-compat\dshm-compat-0.1.
|
|
50
|
+
& 'D:\安装\dsh-desktop\resources\runtime\cli\bin\dsh.cmd' plugin --profile desktop add 'D:\dsh\dsh-26-09-30\dshm-compat\dshm-compat-0.1.3.tgz'
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
If the profile reports `ERR_PNPM_UNEXPECTED_VIRTUAL_STORE`, its `node_modules`
|
package/README.md
CHANGED
|
@@ -5,7 +5,8 @@ them through the least invasive strategy that can work.
|
|
|
5
5
|
|
|
6
6
|
## Current phase
|
|
7
7
|
|
|
8
|
-
0.1.
|
|
8
|
+
0.1.3 fixes dsh-ops recipe dispatch for GitHub specs and relaxes its DSH peer
|
|
9
|
+
range; it also adds `compat_doctor`, rollback-safe local installs, and codeload
|
|
9
10
|
fallbacks for GitHub. Phase 1 ships the analyzer, the S0/S1 converter, the
|
|
10
11
|
dsh-ops recipe, guest probing/provisioning, the DSHM install-queue transport,
|
|
11
12
|
and a profile-local fallback for artifacts the host queue rejects:
|
package/lib/convert.js
CHANGED
|
@@ -47,7 +47,7 @@ function safeName(name) {
|
|
|
47
47
|
*/
|
|
48
48
|
export async function convert(spec, options = {}) {
|
|
49
49
|
const report = options.report ?? await analyze(spec, { textScan: false, signal: options.signal, registry: options.registry })
|
|
50
|
-
if (report.
|
|
50
|
+
if (report.package?.name === 'dsh-ops' && report.rule?.nativeBuild?.language === 'rust') {
|
|
51
51
|
const { convertDshOps } = await import('./recipes/dsh-ops.js')
|
|
52
52
|
return await convertDshOps(spec, {
|
|
53
53
|
report,
|
|
@@ -62,7 +62,7 @@ export async function convert(spec, options = {}) {
|
|
|
62
62
|
strategy: report.strategy,
|
|
63
63
|
reasons: report.reasons,
|
|
64
64
|
next: report.next,
|
|
65
|
-
message: `strategy ${report.strategy}
|
|
65
|
+
message: `strategy ${report.strategy} needs a recipe or an external native build; see next`,
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
if (report.signals?.hasDsh !== true) {
|
package/lib/recipes/dsh-ops.js
CHANGED
|
@@ -128,6 +128,14 @@ export async function convertDshOps(spec, options = {}) {
|
|
|
128
128
|
const pkg = JSON.parse(pkgFile.data.toString('utf8'))
|
|
129
129
|
delete pkg.os
|
|
130
130
|
delete pkg.cpu
|
|
131
|
+
// DSHM core is a prerelease (e.g. 0.2.1-alpha.4+dshm.56). The upstream
|
|
132
|
+
// ^0.2.0-rc.2 range does not match 0.2.1-*, and the bundle loader would throw
|
|
133
|
+
// on the next boot. "workspace:*" follows the running core instead.
|
|
134
|
+
if (pkg.peerDependencies !== null && typeof pkg.peerDependencies === 'object' && !Array.isArray(pkg.peerDependencies)) {
|
|
135
|
+
if (typeof pkg.peerDependencies['@deepseek-ai/dsh'] === 'string') {
|
|
136
|
+
pkg.peerDependencies['@deepseek-ai/dsh'] = 'workspace:*'
|
|
137
|
+
}
|
|
138
|
+
}
|
|
131
139
|
if (pkg.optionalDependencies !== null && typeof pkg.optionalDependencies === 'object') {
|
|
132
140
|
delete pkg.optionalDependencies['@dsh-ops/bash-win32-x64']
|
|
133
141
|
delete pkg.optionalDependencies['@dsh-ops/pwsh-win32-x64']
|
|
@@ -165,6 +173,7 @@ export async function convertDshOps(spec, options = {}) {
|
|
|
165
173
|
'added linux-arm64 to PLATFORMS and mapped openharmony/linux-arm64 to it',
|
|
166
174
|
'wrapped the file worker spawn in bash -c so dshm-vm-bash routes it to the guest',
|
|
167
175
|
'removed package.json os/cpu gates and win32 optional payloads',
|
|
176
|
+
'relaxed @deepseek-ai/dsh peer range to workspace:* for the DSHM core',
|
|
168
177
|
'added dsh-plugin.json openharmony/linux-arm64 targets',
|
|
169
178
|
`staged ${workerPath}`,
|
|
170
179
|
]
|