dsh-permission-rules 0.7.7 → 0.7.8

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 CHANGED
@@ -1,3 +1,9 @@
1
+ ## v0.7.8 - 2026-09-24
2
+
3
+ ### Changed
4
+
5
+ - The host pins move to `0.1.7-rc.1`: every `@deepseek-ai/dsh-*` dev/test pin moves from `0.1.7-alpha.2`, and `dshWorkshop.compatibility.dshVersions` records `0.1.7-rc.1` (appended — the timeline stays append-only). Re-verified against that host line. The declared peer ranges and `engines.dsh` are deliberately **unchanged**: `0.1.7-rc.1` already satisfies their `>=0.1.7-0 <0.2.0` clause, and the family keeps peer ranges wider than the verified line rather than narrowing them to it.
6
+
1
7
  ## v0.7.7 - 2026-09-23
2
8
 
3
9
  ### Changed
package/README-es.md CHANGED
@@ -25,11 +25,18 @@
25
25
 
26
26
  ---
27
27
 
28
+ <!-- star-cta -->
29
+ ## ⭐ 如果它帮到了你
30
+
31
+ Este plugin forma parte de la [familia de plugins DSH](https://github.com/PerryLink) (más de 40, todos Apache-2.0). Si te resulta útil, **dale una estrella**: no desbloquea nada, pero ayuda a que la siguiente persona lo encuentre antes.
32
+
33
+ *English:* part of a 40+ plugin family for DeepSeek Harness. If it is useful, **a star helps the next person find it** — nothing is gated behind it.
34
+
28
35
  ## Compatibility
29
36
 
30
37
  | Surface | Status |
31
38
  |---|---|
32
- | Harness | DeepSeek Harness `dsh-v0.1.7-alpha.2` (adaptado el 2026-09-22, cadena completa de gates): la configuración del plugin es el contrato de settings en vivo — cada campo se declara `.volatile()`, el Loader entrega a `apply` una referencia viva por campo, y una edición guardada se confirma en las referencias en ejecución SIN remontar el plugin, con los valores fuera de rango rechazados por el esquema antes de escribir nada. Un host cuyo Schemastery sea anterior a `volatile()` (antes de 3.18.3) sigue montando y ejecutando este plugin — los campos simplemente quedan como valores ordinarios y el formulario de configuración en vivo no está disponible — porque el marcador se aplica mediante una sonda de capacidad, no se da por supuesto. `Session.append` en esta línea todavía no puede estampar el marcador `ignorable` (su tercer argumento es el paquete surface-intent, y el campo del sobre solo sobrevive para la lectura de logs almacenados), así que toda la línea `0.1.7-alpha` se preverifica como no marcada y la auditoría del registro de sesión queda desactivada por defecto; las líneas anteriores `0.1.5-rc.2` (adaptada el 2026-09-09) y `0.1.3-alpha` mantienen la misma firma de append surface-only. Las migraciones de log de esas 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`). |
39
+ | Harness | DeepSeek Harness `dsh-v0.1.7-rc.1` (adaptado el 2026-09-22, cadena completa de gates): la configuración del plugin es el contrato de settings en vivo — cada campo se declara `.volatile()`, el Loader entrega a `apply` una referencia viva por campo, y una edición guardada se confirma en las referencias en ejecución SIN remontar el plugin, con los valores fuera de rango rechazados por el esquema antes de escribir nada. Un host cuyo Schemastery sea anterior a `volatile()` (antes de 3.18.3) sigue montando y ejecutando este plugin — los campos simplemente quedan como valores ordinarios y el formulario de configuración en vivo no está disponible — porque el marcador se aplica mediante una sonda de capacidad, no se da por supuesto. `Session.append` en esta línea todavía no puede estampar el marcador `ignorable` (su tercer argumento es el paquete surface-intent, y el campo del sobre solo sobrevive para la lectura de logs almacenados), así que toda la línea `0.1.7-alpha` se preverifica como no marcada y la auditoría del registro de sesión queda desactivada por defecto; las líneas anteriores `0.1.5-rc.2` (adaptada el 2026-09-09) y `0.1.3-alpha` mantienen la misma firma de append surface-only. Las migraciones de log de esas 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`). |
33
40
  | Node | `^22.19.0 || >=24.0.0` |
34
41
  | Platforms | Todas (host + cliente web de settings) |
35
42
  | Model | Cualquiera (las razones deny/ask se muestran a través de los resultados de herramienta) |
package/README-hi.md CHANGED
@@ -25,11 +25,18 @@
25
25
 
26
26
  ---
27
27
 
28
+ <!-- star-cta -->
29
+ ## ⭐ 如果它帮到了你
30
+
31
+ यह प्लगइन [DSH प्लगइन परिवार](https://github.com/PerryLink) का हिस्सा है (40+ प्लगइन, सभी Apache-2.0)। अगर यह उपयोगी लगे, तो **एक स्टार दें** — इससे कोई सुविधा अनलॉक नहीं होती, पर अगला व्यक्ति इसे खोज में आसानी से पा लेता है।
32
+
33
+ *English:* part of a 40+ plugin family for DeepSeek Harness. If it is useful, **a star helps the next person find it** — nothing is gated behind it.
34
+
28
35
  ## Compatibility
29
36
 
30
37
  | Surface | Status |
31
38
  |---|---|
32
- | Harness | DeepSeek Harness `dsh-v0.1.7-alpha.2` (2026-09-22 को अनुकूलित, पूर्ण gates शृंखला): इसका प्लगइन कॉन्फ़िग ही नया live settings अनुबंध है — हर फ़ील्ड `.volatile()` घोषित है, Loader `apply` को प्रति-फ़ील्ड एक live संदर्भ देता है, और सहेजा गया संपादन चल रहे संदर्भों में सीधे लिखा जाता है, **प्लगइन दोबारा माउंट नहीं होता**, तथा सीमा-बाहर मान लिखने से पहले ही schema द्वारा अस्वीकार कर दिया जाता है। जिस host का Schemastery `volatile()` से पुराना है (3.18.3 से पहले) वह भी इस प्लगइन को माउंट और चलाता है — फ़ील्ड साधारण मान रह जाते हैं और live कॉन्फ़िग फ़ॉर्म उपलब्ध नहीं होता — क्योंकि यह मार्कर क्षमता-जाँच (capability probe) से लगाया जाता है, मान लेकर नहीं। इस पंक्ति का `Session.append` अभी भी `ignorable` मार्कर स्टैम्प नहीं कर सकता (उसका तीसरा आर्ग्युमेंट surface-intent बैग है, और लिफ़ाफ़ा फ़ील्ड केवल संग्रहीत-लॉग पठन के लिए बचता है), इसलिए पूरी `0.1.7-alpha` पंक्ति पहले append से पहले ही अनमार्क्ड के रूप में पूर्व-जाँची जाती है और सत्र-लॉग ऑडिट डिफ़ॉल्ट रूप से बंद रहता है; पुरानी `0.1.5-rc.2` (2026-09-09 को अनुकूलित) और `0.1.3-alpha` पंक्तियाँ वही surface-only append हस्ताक्षर रखती हैं। उन पंक्तियों का लॉग प्रवासन चिह्नित अन-क्लासिफ़ाइड प्लगइन घटनाओं को भी अस्वीकारता है: `0.1.3-alpha` host के लॉग खोलने से पहले v1 ऑडिट पंक्तियाँ और `0.1.5-alpha` host के प्रवासन से पहले v2 पंक्तियाँ `strip` करें (v3 मूल लॉग के लिए केवल `repair` चाहिए)। |
39
+ | Harness | DeepSeek Harness `dsh-v0.1.7-rc.1` (2026-09-22 को अनुकूलित, पूर्ण gates शृंखला): इसका प्लगइन कॉन्फ़िग ही नया live settings अनुबंध है — हर फ़ील्ड `.volatile()` घोषित है, Loader `apply` को प्रति-फ़ील्ड एक live संदर्भ देता है, और सहेजा गया संपादन चल रहे संदर्भों में सीधे लिखा जाता है, **प्लगइन दोबारा माउंट नहीं होता**, तथा सीमा-बाहर मान लिखने से पहले ही schema द्वारा अस्वीकार कर दिया जाता है। जिस host का Schemastery `volatile()` से पुराना है (3.18.3 से पहले) वह भी इस प्लगइन को माउंट और चलाता है — फ़ील्ड साधारण मान रह जाते हैं और live कॉन्फ़िग फ़ॉर्म उपलब्ध नहीं होता — क्योंकि यह मार्कर क्षमता-जाँच (capability probe) से लगाया जाता है, मान लेकर नहीं। इस पंक्ति का `Session.append` अभी भी `ignorable` मार्कर स्टैम्प नहीं कर सकता (उसका तीसरा आर्ग्युमेंट surface-intent बैग है, और लिफ़ाफ़ा फ़ील्ड केवल संग्रहीत-लॉग पठन के लिए बचता है), इसलिए पूरी `0.1.7-alpha` पंक्ति पहले append से पहले ही अनमार्क्ड के रूप में पूर्व-जाँची जाती है और सत्र-लॉग ऑडिट डिफ़ॉल्ट रूप से बंद रहता है; पुरानी `0.1.5-rc.2` (2026-09-09 को अनुकूलित) और `0.1.3-alpha` पंक्तियाँ वही surface-only append हस्ताक्षर रखती हैं। उन पंक्तियों का लॉग प्रवासन चिह्नित अन-क्लासिफ़ाइड प्लगइन घटनाओं को भी अस्वीकारता है: `0.1.3-alpha` host के लॉग खोलने से पहले v1 ऑडिट पंक्तियाँ और `0.1.5-alpha` host के प्रवासन से पहले v2 पंक्तियाँ `strip` करें (v3 मूल लॉग के लिए केवल `repair` चाहिए)। |
33
40
  | Node | `^22.19.0 || >=24.0.0` |
34
41
  | Platforms | सभी (host + वेब settings क्लाइंट) |
35
42
  | Model | कोई भी (deny/ask कारण टूल परिणामों के माध्यम से दिखते हैं) |
package/README-pt.md CHANGED
@@ -25,11 +25,18 @@
25
25
 
26
26
  ---
27
27
 
28
+ <!-- star-cta -->
29
+ ## ⭐ 如果它帮到了你
30
+
31
+ Este plugin faz parte da [família de plugins DSH](https://github.com/PerryLink) (mais de 40, todos Apache-2.0). Se for útil, **deixe uma estrela**: não desbloqueia nada, mas ajuda a próxima pessoa a encontrá-lo.
32
+
33
+ *English:* part of a 40+ plugin family for DeepSeek Harness. If it is useful, **a star helps the next person find it** — nothing is gated behind it.
34
+
28
35
  ## Compatibility
29
36
 
30
37
  | Surface | Status |
31
38
  |---|---|
32
- | Harness | DeepSeek Harness `dsh-v0.1.7-alpha.2` (adaptado em 2026-09-22, cadeia completa de gates): a configuração do plugin é o contrato de settings ao vivo — cada campo é declarado `.volatile()`, o Loader entrega a `apply` uma referência viva por campo, e uma edição salva é confirmada nas referências em execução SEM remontar o plugin, com valores fora da faixa recusados pelo schema antes de qualquer escrita. Um host cujo Schemastery seja anterior a `volatile()` (antes de 3.18.3) ainda monta e executa este plugin — os campos apenas permanecem valores comuns e o formulário de configuração ao vivo fica indisponível — porque o marcador é aplicado por sondagem de capacidade, não por suposição. O `Session.append` nesta linha ainda não consegue estampar o marcador `ignorable` (seu terceiro argumento é o pacote surface-intent, e o campo do envelope só sobrevive para a leitura de logs armazenados), então toda a linha `0.1.7-alpha` é pré-verificada como não marcada e a auditoria do log de sessão fica desativada por padrão; as linhas anteriores `0.1.5-rc.2` (adaptada em 2026-09-09) e `0.1.3-alpha` mantêm a mesma assinatura de append surface-only. As migrações de log dessas 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`). |
39
+ | Harness | DeepSeek Harness `dsh-v0.1.7-rc.1` (adaptado em 2026-09-22, cadeia completa de gates): a configuração do plugin é o contrato de settings ao vivo — cada campo é declarado `.volatile()`, o Loader entrega a `apply` uma referência viva por campo, e uma edição salva é confirmada nas referências em execução SEM remontar o plugin, com valores fora da faixa recusados pelo schema antes de qualquer escrita. Um host cujo Schemastery seja anterior a `volatile()` (antes de 3.18.3) ainda monta e executa este plugin — os campos apenas permanecem valores comuns e o formulário de configuração ao vivo fica indisponível — porque o marcador é aplicado por sondagem de capacidade, não por suposição. O `Session.append` nesta linha ainda não consegue estampar o marcador `ignorable` (seu terceiro argumento é o pacote surface-intent, e o campo do envelope só sobrevive para a leitura de logs armazenados), então toda a linha `0.1.7-alpha` é pré-verificada como não marcada e a auditoria do log de sessão fica desativada por padrão; as linhas anteriores `0.1.5-rc.2` (adaptada em 2026-09-09) e `0.1.3-alpha` mantêm a mesma assinatura de append surface-only. As migrações de log dessas 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`). |
33
40
  | Node | `^22.19.0 || >=24.0.0` |
34
41
  | Platforms | Todas (host + cliente web de settings) |
35
42
  | Model | Qualquer (razões deny/ask aparecem pelos resultados de ferramenta) |
package/README-zh.md CHANGED
@@ -25,11 +25,18 @@
25
25
 
26
26
  ---
27
27
 
28
+ <!-- star-cta -->
29
+ ## ⭐ 如果它帮到了你
30
+
31
+ 这个插件是 [DSH 插件家族](https://github.com/PerryLink)的一员(40+ 个,全部 Apache-2.0)。如果你在用,**给个 star** —— 它不会解锁任何功能,但会让下一个人在搜索里更容易找到它。
32
+
33
+ *English:* part of a 40+ plugin family for DeepSeek Harness. If it is useful, **a star helps the next person find it** — nothing is gated behind it.
34
+
28
35
  ## Compatibility
29
36
 
30
37
  | Surface | Status |
31
38
  |---|---|
32
- | Harness | DeepSeek Harness `dsh-v0.1.7-alpha.2`(2026-09-22 已适配,完整门禁链):其插件配置即新的 live settings 契约——每个字段都以 `.volatile()` 声明,Loader 向 `apply` 逐个交付活引用,保存的编辑直接写入运行中的引用、**不重挂插件**,越界值在写入前即被 schema 拒绝。Schemastery 早于 `volatile()`(3.18.3 之前)的宿主仍能挂载并运行本插件——字段退化为普通值、live 配置表单不可用——因为该标记是**能力探测**而非假定存在。本线的 `Session.append` 仍无法盖章 `ignorable` 标记(第三参数是 surface-intent 包,信封字段仅用于存量日志读取),故整条 `0.1.7-alpha` 线在首次追加前即被预检为未盖章,会话日志审计默认停用;更早的 `0.1.5-rc.2`(2026-09-09 已适配)与 `0.1.3-alpha` 线同样沿用 surface-only 追加签名。这些线的日志迁移连已标记的未分类插件事件也拒绝:在 `0.1.3-alpha` 宿主打开日志前 `strip` 掉 v1 审计行,在 `0.1.5-alpha` 宿主迁移前 `strip` 掉 v2 审计行(v3 原生日志只需 `repair`)。 |
39
+ | Harness | DeepSeek Harness `dsh-v0.1.7-rc.1`(2026-09-22 已适配,完整门禁链):其插件配置即新的 live settings 契约——每个字段都以 `.volatile()` 声明,Loader 向 `apply` 逐个交付活引用,保存的编辑直接写入运行中的引用、**不重挂插件**,越界值在写入前即被 schema 拒绝。Schemastery 早于 `volatile()`(3.18.3 之前)的宿主仍能挂载并运行本插件——字段退化为普通值、live 配置表单不可用——因为该标记是**能力探测**而非假定存在。本线的 `Session.append` 仍无法盖章 `ignorable` 标记(第三参数是 surface-intent 包,信封字段仅用于存量日志读取),故整条 `0.1.7-alpha` 线在首次追加前即被预检为未盖章,会话日志审计默认停用;更早的 `0.1.5-rc.2`(2026-09-09 已适配)与 `0.1.3-alpha` 线同样沿用 surface-only 追加签名。这些线的日志迁移连已标记的未分类插件事件也拒绝:在 `0.1.3-alpha` 宿主打开日志前 `strip` 掉 v1 审计行,在 `0.1.5-alpha` 宿主迁移前 `strip` 掉 v2 审计行(v3 原生日志只需 `repair`)。 |
33
40
  | Node | `^22.19.0 || >=24.0.0` |
34
41
  | Platforms | 全部(host + Web 设置客户端) |
35
42
  | Model | 任意(deny/ask 原因经工具结果呈现) |
package/README.md CHANGED
@@ -26,11 +26,19 @@
26
26
 
27
27
  ---
28
28
 
29
+ <!-- star-cta -->
30
+ ## ⭐ 如果它帮到了你
31
+
32
+ 这个插件是 [DSH 插件家族](https://github.com/PerryLink)的一员(40+ 个,全部 Apache-2.0)。如果你在用,**给个 star** —— 它不会解锁任何功能,但会让下一个人在搜索里更容易找到它。
33
+
34
+ *English:* part of a 40+ plugin family for DeepSeek Harness. If it is useful, **a star helps the next person find it** — nothing is gated behind it.
35
+
36
+
29
37
  ## Compatibility
30
38
 
31
39
  | Surface | Status |
32
40
  |---|---|
33
- | Harness | DeepSeek Harness `dsh-v0.1.7-alpha.2` (adapted 2026-09-22, full gate chain): its plugin config is the live settings contract — every field is declared `.volatile()`, the Loader hands `apply` a live reference per field, and a saved edit is committed into the running references WITHOUT remounting the plugin, with out-of-range values refused by the schema before anything is written. A host whose Schemastery predates `volatile()` (before 3.18.3) still mounts and runs this plugin — the fields simply stay ordinary values and the live config form is unavailable — because the marker is applied through a capability probe rather than assumed. `Session.append` on this line still cannot stamp the `ignorable` marker (its third argument is the surface-intent bag, and the envelope field survives for stored-log reads only), so the whole `0.1.7-alpha` line is pre-checked as unmarked and session-log audit stays disabled by default; the earlier `0.1.5-rc.2` (adapted 2026-09-09) and `0.1.3-alpha` lines keep the same surface-only append signature. Those 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`). |
41
+ | Harness | DeepSeek Harness `dsh-v0.1.7-rc.1` (adapted 2026-09-22, full gate chain): its plugin config is the live settings contract — every field is declared `.volatile()`, the Loader hands `apply` a live reference per field, and a saved edit is committed into the running references WITHOUT remounting the plugin, with out-of-range values refused by the schema before anything is written. A host whose Schemastery predates `volatile()` (before 3.18.3) still mounts and runs this plugin — the fields simply stay ordinary values and the live config form is unavailable — because the marker is applied through a capability probe rather than assumed. `Session.append` on this line still cannot stamp the `ignorable` marker (its third argument is the surface-intent bag, and the envelope field survives for stored-log reads only), so the whole `0.1.7-alpha` line is pre-checked as unmarked and session-log audit stays disabled by default; the earlier `0.1.5-rc.2` (adapted 2026-09-09) and `0.1.3-alpha` lines keep the same surface-only append signature. Those 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`). |
34
42
  | Node | `^22.19.0 || >=24.0.0` |
35
43
  | Platforms | All (host + web settings client) |
36
44
  | Model | Any (deny/ask reasons surface through tool results) |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-permission-rules",
3
- "version": "0.7.7",
3
+ "version": "0.7.8",
4
4
  "description": "Declarative Claude Code-style permission rules plus a Codex-style process-level network policy for DeepSeek Harness: ordered allow/deny/ask rules with tool-name, argument (glob/regex), workspace-path, and network-target (domain/ip/port/scheme) matching on the tools/pre-execute waterfall, a built-in local HTTP/CONNECT proxy governing shell subprocess traffic, three network modes mapped onto the official sandbox presets, full session-log audit, HMR rule reload, and a settings page with a rule editor, block counters, and recent interception lists.",
5
5
  "private": false,
6
6
  "type": "module",
@@ -77,7 +77,7 @@
77
77
  "network:outbound"
78
78
  ],
79
79
  "compatibility": {
80
- "dshVersions": ["0.1.2-rc.1","0.1.5-rc.2","0.1.7-alpha.2"]
80
+ "dshVersions": ["0.1.2-rc.1","0.1.5-rc.2","0.1.7-alpha.2","0.1.7-rc.1"]
81
81
  },
82
82
  "capability": {
83
83
  "id": "rules",
@@ -156,27 +156,27 @@
156
156
  "zod": "^4.4.3"
157
157
  },
158
158
  "devDependencies": {
159
- "@deepseek-ai/dsh-attachment": "0.1.7-alpha.2",
159
+ "@deepseek-ai/dsh-attachment": "0.1.7-rc.1",
160
160
  "@deepseek-ai/cordis": "^4.0.4",
161
161
  "@deepseek-ai/cordis-plugin-include": "^1.0.7",
162
162
  "@deepseek-ai/cordis-plugin-loader": "^1.0.4",
163
- "@deepseek-ai/dsh-agent": "0.1.7-alpha.2",
164
- "@deepseek-ai/dsh-brand": "0.1.7-alpha.2",
165
- "@deepseek-ai/dsh-client-connection": "0.1.7-alpha.2",
166
- "@deepseek-ai/dsh-client-locale": "0.1.7-alpha.2",
167
- "@deepseek-ai/dsh-client-ui-settings": "0.1.7-alpha.2",
168
- "@deepseek-ai/dsh-client-ui-slots": "0.1.7-alpha.2",
169
- "@deepseek-ai/dsh-client-web": "0.1.7-alpha.2",
170
- "@deepseek-ai/dsh-commands": "0.1.7-alpha.2",
171
- "@deepseek-ai/dsh-invariants": "0.1.7-alpha.2",
172
- "@deepseek-ai/dsh-llm": "0.1.7-alpha.2",
173
- "@deepseek-ai/dsh-session": "0.1.7-alpha.2",
174
- "@deepseek-ai/dsh-session-projection": "0.1.7-alpha.2",
175
- "@deepseek-ai/dsh-subagent": "0.1.7-alpha.2",
176
- "@deepseek-ai/dsh-system-prompt": "0.1.7-alpha.2",
177
- "@deepseek-ai/dsh-tools": "0.1.7-alpha.2",
178
- "@deepseek-ai/dsh-typert-protocol": "0.1.7-alpha.2",
179
- "@deepseek-ai/dsh-user-approval": "0.1.7-alpha.2",
163
+ "@deepseek-ai/dsh-agent": "0.1.7-rc.1",
164
+ "@deepseek-ai/dsh-brand": "0.1.7-rc.1",
165
+ "@deepseek-ai/dsh-client-connection": "0.1.7-rc.1",
166
+ "@deepseek-ai/dsh-client-locale": "0.1.7-rc.1",
167
+ "@deepseek-ai/dsh-client-ui-settings": "0.1.7-rc.1",
168
+ "@deepseek-ai/dsh-client-ui-slots": "0.1.7-rc.1",
169
+ "@deepseek-ai/dsh-client-web": "0.1.7-rc.1",
170
+ "@deepseek-ai/dsh-commands": "0.1.7-rc.1",
171
+ "@deepseek-ai/dsh-invariants": "0.1.7-rc.1",
172
+ "@deepseek-ai/dsh-llm": "0.1.7-rc.1",
173
+ "@deepseek-ai/dsh-session": "0.1.7-rc.1",
174
+ "@deepseek-ai/dsh-session-projection": "0.1.7-rc.1",
175
+ "@deepseek-ai/dsh-subagent": "0.1.7-rc.1",
176
+ "@deepseek-ai/dsh-system-prompt": "0.1.7-rc.1",
177
+ "@deepseek-ai/dsh-tools": "0.1.7-rc.1",
178
+ "@deepseek-ai/dsh-typert-protocol": "0.1.7-rc.1",
179
+ "@deepseek-ai/dsh-user-approval": "0.1.7-rc.1",
180
180
  "@deepseek-ai/schemastery": "^3.18.3",
181
181
  "@eslint/js": "^10.0.1",
182
182
  "@types/node": "^22.19.0",
@@ -82,7 +82,7 @@ const STORAGE_ROW_TYPES = new Set([
82
82
  /**
83
83
  * The harness build's generated event vocabulary
84
84
  * (`KNOWN_SESSION_EVENT_TYPES`, `packages/core/session/src/known-event-types.ts`,
85
- * synced with the `0.1.7-alpha.1` catalog), plus the v1/v2-only spellings the
85
+ * synced with the `0.1.7-alpha.2` catalog), plus the v1/v2-only spellings the
86
86
  * older generations wrote (`assistant/chunk`, `tool/code-dispatch`,
87
87
  * `tool/code-dispatch-start`; V3 renamed the latter two to `tool/ptc-dispatch`
88
88
  * and `tool/ptc-dispatch-start`), so every generation scans clean. Rows whose
@@ -91,6 +91,10 @@ const STORAGE_ROW_TYPES = new Set([
91
91
  * Regenerate this list from the harness checkout when it changes (0.1.5-rc.1
92
92
  * added `deliverables/presented` and `subagent/catalog`; `0.1.7-alpha.1` added
93
93
  * `developer/message`, `image/offload` and `workspace/changes`).
94
+ * Re-verified against the `0.1.7-alpha.2` catalog on 2026-09-23: this set holds
95
+ * all 59 of the host's entries plus exactly the three v1/v2-only spellings
96
+ * above, so `0.1.7-alpha.2` added nothing to collect and the extra three are
97
+ * deliberate (they are READ to classify old logs, never written).
94
98
  */
95
99
  const KNOWN_SESSION_EVENT_TYPES = new Set([
96
100
  'agent-preset/selected',