dsh-permission-rules 0.7.0 → 0.7.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/CHANGELOG.md +17 -0
- package/{README.es.md → README-es.md} +2 -2
- package/{README.hi.md → README-hi.md} +2 -2
- package/{README.pt.md → README-pt.md} +2 -2
- package/{README.zh.md → README-zh.md} +2 -2
- package/README.md +2 -2
- package/lib/client.js +19 -6668
- package/lib/client.js.map +1 -1
- package/lib/index.js +11 -4
- package/lib/types/allow-host-notice.d.ts +56 -0
- package/lib/types/allow-host-notice.d.ts.map +1 -0
- package/lib/types/allow-host.d.ts +13 -39
- package/lib/types/allow-host.d.ts.map +1 -1
- package/package.json +24 -23
- package/src/allow-host-notice.ts +76 -0
- package/src/allow-host.ts +16 -59
- package/src/client/section.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
## v0.7.2 - 2026-09-12
|
|
2
|
+
|
|
3
|
+
### Fixed
|
|
4
|
+
|
|
5
|
+
- **The plugin failed to load when installed from git.** `src/client/section.ts` imported `allowHostNotice` and `allowHostWorkspaces` by value from `src/allow-host.ts`, which is host-only: it carries `node:path`, `node:net` and `yaml`, and reads `process.platform`. The client bundler inlines every value import it meets, so those node builtins were emitted into `lib/client.js` as `require("process")` / `require("buffer")` calls — and the shell answers a client factory's `require` from a frozen module table seeded with the platform modules only. The loader therefore threw and the plugin never mounted: host half, `/rules` and the settings page together. The two helpers now live in their own client-safe module, `src/allow-host-notice.ts`, whose only import is `import type ... from './wire.ts'`; `src/allow-host.ts` re-exports them, so pre-split host-side import sites are unchanged. No public behaviour or wire-format change — the moved functions are byte-identical — and `lib/client.js` drops from 412 kB to 166 kB. Reported and fixed by @am-i-dead (#24). The same defect is present in the published `0.7.1`, whose `lib/client.js` is byte-for-byte the pre-fix build.
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- `scripts/verify-client-bundle.mjs` (also `pnpm run verify:client-bundle`): every `require("...")` left in `lib/client.js` must name one of the eight `PLATFORM_EXTERNALS` declared in `tsdown.config.ts`, which the script parses as the single source of truth and fails loudly on when the array is missing or parses empty. It runs at the end of `scripts/prepare.mjs` — so both `pnpm run build` and the git-install `prepare` channel refuse a regression — and as its own `ci.yml` step.
|
|
10
|
+
|
|
1
11
|
## v0.7.0 - 2026-09-10
|
|
2
12
|
|
|
3
13
|
### Added
|
|
@@ -424,6 +434,13 @@ All notable changes to dsh-permission-rules are recorded here, newest first.
|
|
|
424
434
|
- Per-workspace rule discovery (`<cwd>/.dsh/rules.yaml`), `fallbackPath`, Chokidar HMR with debounce, `/rules` session command.
|
|
425
435
|
- Fail-loud loading: invalid YAML, unknown fields/actions, bad globs/regexes, and rule counts over `maxRules` fail the load.
|
|
426
436
|
|
|
437
|
+
## v0.7.1 - 2026-09-12
|
|
438
|
+
|
|
439
|
+
### Changed
|
|
440
|
+
|
|
441
|
+
- Rename the four translated READMEs to `README-<lang>.md`. npm selects the package-page readme as the first markdown file matching its `{README,README.*}` glob (`@npmcli/package-json`, publish path), and that glob order puts `README.<lang>.md` ahead of `README.md` — so npm was serving the Simplified-Chinese file for this package too (measured on 15/15 sampled packages of the family). The new names sit outside the glob, so the English source is served again. No content changed apart from the language-switcher link each translation holds to its siblings, and the repo readme gate still passes. Takes effect with the next release; an already-published version cannot gain a corrected readme retroactively.
|
|
442
|
+
- Pin the `@deepseek-ai/dsh-*` dev/test dependencies to the published `0.1.5-rc.2` line and record `0.1.5-rc.2` in `dshWorkshop.compatibility.dshVersions`; the monthly Compat workflow now runs against `0.1.5-rc.2`. The peer range `>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0` is unchanged, so no supported host line is dropped.
|
|
443
|
+
|
|
427
444
|
## [0.6.13] - 2026-09-09
|
|
428
445
|
|
|
429
446
|
### Changed
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
[](https://www.npmjs.com/package/dsh-permission-rules)
|
|
17
17
|
[](https://www.npmjs.com/package/dsh-permission-rules)
|
|
18
18
|
|
|
19
|
-
[English](README.md) · [简体中文](README
|
|
19
|
+
[English](README.md) · [简体中文](README-zh.md) · [Español](README-es.md) · [Português](README-pt.md) · [हिन्दी](README-hi.md)
|
|
20
20
|
|
|
21
21
|
</div>
|
|
22
22
|
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
| Surface | Status |
|
|
28
28
|
|---|---|
|
|
29
|
-
| Harness | DeepSeek Harness `dsh-v0.1.5-rc.
|
|
29
|
+
| Harness | DeepSeek Harness `dsh-v0.1.5-rc.2` (adaptado el 2026-09-09, cadena completa de gates + smoke de instalación de profile): su `Session.append` todavía no puede estampar el marcador `ignorable` —verificado en el paquete publicado `0.1.5-rc.2`, donde el tercer argumento se descarta silenciosamente y el campo del sobre solo sobrevive para la lectura de logs almacenados—, así que toda la línea `0.1.5-alpha` se preverifica como no marcada y la auditoría del registro de sesión queda desactivada por defecto. La línea `0.1.3-alpha` mantiene la misma firma de append surface-only. Las migraciones de log de ambas líneas rechazan eventos de plugin sin clasificar incluso marcados: aplica `strip` a las filas de auditoría v1 antes de que un host `0.1.3-alpha` abra el log y a las v2 antes de que un host `0.1.5-alpha` lo migre (los logs v3 nativos solo necesitan `repair`). |
|
|
30
30
|
| Node | `^22.19.0 || >=24.0.0` |
|
|
31
31
|
| Platforms | Todas (host + cliente web de settings) |
|
|
32
32
|
| Model | Cualquiera (las razones deny/ask se muestran a través de los resultados de herramienta) |
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
[](https://www.npmjs.com/package/dsh-permission-rules)
|
|
17
17
|
[](https://www.npmjs.com/package/dsh-permission-rules)
|
|
18
18
|
|
|
19
|
-
[English](README.md) · [简体中文](README
|
|
19
|
+
[English](README.md) · [简体中文](README-zh.md) · [Español](README-es.md) · [Português](README-pt.md) · [हिन्दी](README-hi.md)
|
|
20
20
|
|
|
21
21
|
</div>
|
|
22
22
|
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
| Surface | Status |
|
|
28
28
|
|---|---|
|
|
29
|
-
| Harness | DeepSeek Harness `dsh-v0.1.5-rc.
|
|
29
|
+
| Harness | DeepSeek Harness `dsh-v0.1.5-rc.2` (2026-09-09 को अनुकूलित, पूर्ण gates शृंखला + profile इंस्टॉल smoke): इसका `Session.append` अभी भी `ignorable` मार्कर स्टैम्प नहीं कर सकता — प्रकाशित `0.1.5-rc.2` पैकेज पर सत्यापित, जहाँ तीसरा आर्ग्युमेंट चुपचाप छोड़ दिया जाता है और लिफ़ाफ़ा फ़ील्ड केवल संग्रहीत-लॉग पठन के लिए बचता है — इसलिए पूरी `0.1.5-alpha` पंक्ति पहले append से पहले ही अनमार्क्ड के रूप में पूर्व-जाँची जाती है और सत्र-लॉग ऑडिट डिफ़ॉल्ट रूप से बंद रहता है। `0.1.3-alpha` पंक्ति वही surface-only append हस्ताक्षर रखती है। दोनों पंक्तियों का लॉग प्रवासन चिह्नित अन-क्लासिफ़ाइड प्लगइन घटनाओं को भी अस्वीकारता है: `0.1.3-alpha` host के लॉग खोलने से पहले v1 ऑडिट पंक्तियाँ और `0.1.5-alpha` host के प्रवासन से पहले v2 पंक्तियाँ `strip` करें (v3 मूल लॉग के लिए केवल `repair` चाहिए)। |
|
|
30
30
|
| Node | `^22.19.0 || >=24.0.0` |
|
|
31
31
|
| Platforms | सभी (host + वेब settings क्लाइंट) |
|
|
32
32
|
| Model | कोई भी (deny/ask कारण टूल परिणामों के माध्यम से दिखते हैं) |
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
[](https://www.npmjs.com/package/dsh-permission-rules)
|
|
17
17
|
[](https://www.npmjs.com/package/dsh-permission-rules)
|
|
18
18
|
|
|
19
|
-
[English](README.md) · [简体中文](README
|
|
19
|
+
[English](README.md) · [简体中文](README-zh.md) · [Español](README-es.md) · [Português](README-pt.md) · [हिन्दी](README-hi.md)
|
|
20
20
|
|
|
21
21
|
</div>
|
|
22
22
|
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
| Surface | Status |
|
|
28
28
|
|---|---|
|
|
29
|
-
| Harness | DeepSeek Harness `dsh-v0.1.5-rc.
|
|
29
|
+
| Harness | DeepSeek Harness `dsh-v0.1.5-rc.2` (adaptado em 2026-09-09, cadeia completa de gates + smoke de instalação de profile): o `Session.append` ainda não consegue estampar o marcador `ignorable` — verificado no pacote publicado `0.1.5-rc.2`, onde o terceiro argumento é descartado silenciosamente e o campo do envelope só sobrevive para a leitura de logs armazenados —, então toda a linha `0.1.5-alpha` é pré-verificada como não marcada e a auditoria do log de sessão fica desativada por padrão. A linha `0.1.3-alpha` mantém a mesma assinatura de append surface-only. As migrações de log de ambas as linhas recusam eventos de plugin não classificados mesmo marcados: aplique `strip` nas linhas de auditoria v1 antes de um host `0.1.3-alpha` abrir o log e nas v2 antes de um host `0.1.5-alpha` migrá-lo (logs v3 nativos só precisam de `repair`). |
|
|
30
30
|
| Node | `^22.19.0 || >=24.0.0` |
|
|
31
31
|
| Platforms | Todas (host + cliente web de settings) |
|
|
32
32
|
| Model | Qualquer (razões deny/ask aparecem pelos resultados de ferramenta) |
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
[](https://www.npmjs.com/package/dsh-permission-rules)
|
|
17
17
|
[](https://www.npmjs.com/package/dsh-permission-rules)
|
|
18
18
|
|
|
19
|
-
[English](README.md) · [简体中文](README
|
|
19
|
+
[English](README.md) · [简体中文](README-zh.md) · [Español](README-es.md) · [Português](README-pt.md) · [हिन्दी](README-hi.md)
|
|
20
20
|
|
|
21
21
|
</div>
|
|
22
22
|
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
| Surface | Status |
|
|
28
28
|
|---|---|
|
|
29
|
-
| Harness | DeepSeek Harness `dsh-v0.1.5-rc.
|
|
29
|
+
| Harness | DeepSeek Harness `dsh-v0.1.5-rc.2`(2026-09-09 已适配,完整门禁链 + profile 安装冒烟):其 `Session.append` 仍无法盖章 `ignorable` 标记——已在已发布的 `0.1.5-rc.2` 包上实测,第三参数被静默丢弃,信封字段仅用于存量日志读取——故整条 `0.1.5-alpha` 线在首次追加前即被预检为未盖章,会话日志审计默认停用。`0.1.3-alpha` 线同样沿用 surface-only 追加签名。两条线的日志迁移连已标记的未分类插件事件也拒绝:在 `0.1.3-alpha` 宿主打开日志前 `strip` 掉 v1 审计行,在 `0.1.5-alpha` 宿主迁移前 `strip` 掉 v2 审计行(v3 原生日志只需 `repair`)。 |
|
|
30
30
|
| Node | `^22.19.0 || >=24.0.0` |
|
|
31
31
|
| Platforms | 全部(host + Web 设置客户端) |
|
|
32
32
|
| Model | 任意(deny/ask 原因经工具结果呈现) |
|
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
[](https://www.npmjs.com/package/dsh-permission-rules)
|
|
18
18
|
[](https://www.npmjs.com/package/dsh-permission-rules)
|
|
19
19
|
|
|
20
|
-
[English](README.md) · [简体中文](README
|
|
20
|
+
[English](README.md) · [简体中文](README-zh.md) · [Español](README-es.md) · [Português](README-pt.md) · [हिन्दी](README-hi.md)
|
|
21
21
|
|
|
22
22
|
</div>
|
|
23
23
|
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
| Surface | Status |
|
|
29
29
|
|---|---|
|
|
30
|
-
| Harness | DeepSeek Harness `dsh-v0.1.5-rc.
|
|
30
|
+
| Harness | DeepSeek Harness `dsh-v0.1.5-rc.2` (adapted 2026-09-09, full gate chain + profile install smoke): its `Session.append` still cannot stamp the `ignorable` marker — verified on the published `0.1.5-rc.2` package, where the third argument is silently dropped and the envelope field survives for stored-log reads only — so the whole `0.1.5-alpha` line is pre-checked as unmarked and session-log audit stays disabled by default. The `0.1.3-alpha` line keeps the same surface-only append signature. Both lines' log migrations refuse unclassified plugin events even when marked, so `strip` v1 audit rows before a `0.1.3-alpha` host opens the log and v2 audit rows before a `0.1.5-alpha` host migrates it (native v3 logs only need `repair`). |
|
|
31
31
|
| Node | `^22.19.0 || >=24.0.0` |
|
|
32
32
|
| Platforms | All (host + web settings client) |
|
|
33
33
|
| Model | Any (deny/ask reasons surface through tool results) |
|