dsh-drill-script-check 0.2.3 → 0.2.7

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,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.2.7] - 2026-10-18
4
+
5
+ ### Changed
6
+
7
+ - Move the Install section to the first screen in all five READMEs.
8
+
9
+ ## [0.2.6] - 2026-10-18
10
+
11
+ ### Changed
12
+
13
+ - Add a 1280×720 hero and a 960×540, 4-second terminal GIF rendered from the checker’s own output; `screenshots.json` is an object array and `capture.json` records the storyboard.
14
+
15
+ ## 0.2.5 - 2026-10-18
16
+
17
+ - Fix: a rule that executed and found no difference is no longer placed in `skipped`. The report view labels only genuinely unexecuted rules as “未执行的检查”; `skippedCount` no longer counts executed-clean rules.
18
+
19
+
20
+ ## 0.2.4 - 2026-10-17
21
+
22
+ - Compatibility: declare `engines.dsh` `>=0.2.1-0 <0.3.0`; move `@deepseek-ai/dsh-*` devDependencies to `0.2.1-rc.2`; add `@deepseek-ai/dsh-working-directory`.
23
+ - Docs: the compatibility table no longer claims `engines.dsh` is undeclared; drop the retired `both` tool mode.
24
+
25
+
3
26
  ## 0.2.3
4
27
 
5
28
  - Add a demo card to the README: one terminal shot of this plugin's real output
@@ -49,3 +72,5 @@
49
72
  - Five-language READMEs hold the same section count and the same configuration keys.
50
73
  - Rule pack: 8 rules across DR-001..DR-008.
51
74
  - Licensed Apache-2.0.
75
+
76
+
package/README-es.md CHANGED
@@ -4,9 +4,18 @@
4
4
 
5
5
  `dsh-drill-script-check` lee un guion de simulacro de emergencia —la cabecera del simulacro más una fila por etapa— y comprueba la completitud y la aritmética de ese guion: que cada etapa registre su fase de simulacro o su contenido de guion, que nombre a un responsable de mando, que el nivel de respuesta proceda del vocabulario que usted configure, que una etapa con acción de guion enumere los recursos que necesita, que las duraciones de las etapas sumen la duración prevista del simulacro, que un punto clave declare su condición de juicio, que no se repita ningún número de etapa y que la cabecera nombre el simulacro y la entidad organizadora.
6
6
 
7
+ ## Install
8
+
9
+ ```sh
10
+ dsh plugin --profile <name> add dsh-drill-script-check
11
+ dsh --profile <name> --dump-config | grep 'dsh-drill-script-check'
12
+ ```
13
+
7
14
  ## Cómo se ve la salida
8
15
 
9
- ![Terminal demo of dsh-drill-script-check: real output over its DR-007 fixture](https://raw.githubusercontent.com/PerryLink/dsh-drill-script-check/main/docs/assets/dsh-drill-script-check-demo.png)
16
+ ![Terminal demo of dsh-drill-script-check: real output over its DR-007 fixture](https://raw.githubusercontent.com/PerryLink/dsh-drill-script-check/main/docs/assets/dsh-drill-script-check-hero.png)
17
+
18
+ ![Animated terminal demo of dsh-drill-script-check](https://raw.githubusercontent.com/PerryLink/dsh-drill-script-check/main/docs/assets/dsh-drill-script-check-demo.gif)
10
19
 
11
20
  Salida real de este plugin sobre su propio fixture de prueba `DR-007` — no es un montaje. El paquete de reglas no inventa citas, así que cada hallazgo nombra la cláusula aplicada y advierte que su texto no se obtuvo.
12
21
 
@@ -57,22 +66,15 @@ right, whether the actions were correct, or whether the drill met its objectives
57
66
 
58
67
  | Superficie | Estado |
59
68
  |---|---|
60
- | Harness | Rango de peers `>=0.1.2-rc.1 <0.2.0 \|\| >=0.2.0-0 <0.3.0` — verificado para aceptar tanto `0.2.0-rc.2` como `0.2.1-alpha.1`. **No se declara `engines.dsh`**: no tiene lector y no puede rechazar ningún host |
69
+ | Harness | Rango de peers `>=0.1.2-rc.1 <0.2.0 \|\| >=0.2.0-0 <0.3.0` — verificado para aceptar tanto `0.2.0-rc.2` como `0.2.1-rc.2`. **`engines.dsh` se declara como `>=0.2.1-0 <0.3.0`** y el host lo aplica desde 0.2.1 |
61
70
  | Node | `^22.19.0 || >=24.0.0` |
62
71
  | Plataformas | Todas (ESM puro; sin código nativo, sin red, sin llamada al modelo) |
63
- | Modo de herramienta | Funciona en `native`, `ptc` y `both`; para un directorio completo use `ptc` |
72
+ | Modo de herramienta | Funciona en `native` y `ptc`; para un directorio completo use `ptc` |
64
73
 
65
74
  ## What it does
66
75
 
67
76
  La tabla de reglas, los campos y el comportamiento detallado están en [README.md](README.md#what-it-does) (versión principal en inglés). El plugin sólo enumera divergencias literales frente a las cláusulas citadas e indica en `skipped` cada comprobación que no pudo ejecutarse.
68
77
 
69
- ## Install
70
-
71
- ```sh
72
- dsh plugin --profile <name> add dsh-drill-script-check
73
- dsh --profile <name> --dump-config | grep 'dsh-drill-script-check'
74
- ```
75
-
76
78
  ## Configuration
77
79
 
78
80
  Todos los parámetros ajustables viven en el esquema Schemastery de `src/config.ts`, por lo que se cambian desde `cordis.yml` sin tocar el código; los umbrales por regla están en el paquete de reglas bajo `rules/`.
package/README-hi.md CHANGED
@@ -4,9 +4,18 @@
4
4
 
5
5
  `dsh-drill-script-check` एक आपातकालीन अभ्यास स्क्रिप्ट पढ़ता है — अभ्यास का हेडर और प्रत्येक चरण की एक पंक्ति — और उसी स्क्रिप्ट की पूर्णता तथा अंकगणित की जाँच करता है: क्या प्रत्येक चरण अपनी अभ्यास-चरण (phase) या script सामग्री दर्ज करता है, क्या वह किसी कमांडर (commander) का नाम देता है, क्या प्रतिक्रिया स्तर आपके द्वारा कॉन्फ़िगर की गई सूची से आता है, क्या script क्रिया वाला चरण अपने आवश्यक संसाधन गिनाता है, क्या चरणों की अवधियों का जोड़ अभ्यास की नियोजित अवधि के बराबर है, क्या कोई मुख्य बिंदु अपनी निर्णय-शर्त लिखता है, क्या चरण-क्रमांक दोहराए नहीं गए हैं, और क्या हेडर अभ्यास का नाम तथा आयोजक संस्था बताता है।
6
6
 
7
+ ## Install
8
+
9
+ ```sh
10
+ dsh plugin --profile <name> add dsh-drill-script-check
11
+ dsh --profile <name> --dump-config | grep 'dsh-drill-script-check'
12
+ ```
13
+
7
14
  ## आउटपुट कैसा दिखता है
8
15
 
9
- ![Terminal demo of dsh-drill-script-check: real output over its DR-007 fixture](https://raw.githubusercontent.com/PerryLink/dsh-drill-script-check/main/docs/assets/dsh-drill-script-check-demo.png)
16
+ ![Terminal demo of dsh-drill-script-check: real output over its DR-007 fixture](https://raw.githubusercontent.com/PerryLink/dsh-drill-script-check/main/docs/assets/dsh-drill-script-check-hero.png)
17
+
18
+ ![Animated terminal demo of dsh-drill-script-check](https://raw.githubusercontent.com/PerryLink/dsh-drill-script-check/main/docs/assets/dsh-drill-script-check-demo.gif)
10
19
 
11
20
  इस प्लगइन का अपने ही `DR-007` टेस्ट फ़िक्स्चर पर वास्तविक आउटपुट — कोई नकली चित्र नहीं। नियम-पैक उद्धरण नहीं गढ़ता, इसलिए हर निष्कर्ष लागू किए गए खंड का नाम और यह भी बताता है कि उसका मूल पाठ इस बार प्राप्त नहीं हुआ।
12
21
 
@@ -57,22 +66,15 @@ right, whether the actions were correct, or whether the drill met its objectives
57
66
 
58
67
  | सतह | स्थिति |
59
68
  |---|---|
60
- | Harness | peer रेंज `>=0.1.2-rc.1 <0.2.0 \|\| >=0.2.0-0 <0.3.0` — `0.2.0-rc.2` और `0.2.1-alpha.1` दोनों को स्वीकार करने के लिए सत्यापित। **`engines.dsh` जानबूझकर घोषित नहीं**: इसका कोई पाठक नहीं और यह किसी होस्ट को अस्वीकार नहीं कर सकता |
69
+ | Harness | peer रेंज `>=0.1.2-rc.1 <0.2.0 \|\| >=0.2.0-0 <0.3.0` — `0.2.0-rc.2` और `0.2.1-rc.2` दोनों को स्वीकार करने के लिए सत्यापित। **`engines.dsh` `>=0.2.1-0 <0.3.0` के रूप में घोषित है** और 0.2.1 से होस्ट इसे लागू करता है |
61
70
  | Node | `^22.19.0 || >=24.0.0` |
62
71
  | प्लेटफ़ॉर्म | सभी (शुद्ध ESM; कोई नेटिव कोड नहीं, कोई नेटवर्क नहीं, कोई मॉडल कॉल नहीं) |
63
- | टूल मोड | `native`, `ptc` और `both` में काम करता है; पूरे फ़ोल्डर के लिए `ptc` चुनें |
72
+ | टूल मोड | `native` और `ptc` में काम करता है; पूरे फ़ोल्डर के लिए `ptc` चुनें |
64
73
 
65
74
  ## What it does
66
75
 
67
76
  नियम-सूची, फ़ील्ड और विस्तृत व्यवहार [README.md](README.md#what-it-does) (अंग्रेज़ी मुख्य संस्करण) में हैं। यह प्लगइन केवल उद्धृत धाराओं के सामने शाब्दिक अंतर सूचीबद्ध करता है और हर न चल पाई जाँच को `skipped` में बताता है।
68
77
 
69
- ## Install
70
-
71
- ```sh
72
- dsh plugin --profile <name> add dsh-drill-script-check
73
- dsh --profile <name> --dump-config | grep 'dsh-drill-script-check'
74
- ```
75
-
76
78
  ## Configuration
77
79
 
78
80
  सभी समायोज्य पैरामीटर `src/config.ts` की Schemastery स्कीमा में हैं, इसलिए कोड बदले बिना `cordis.yml` से बदले जा सकते हैं; प्रति-नियम सीमाएँ `rules/` के नियम-पैक में हैं।
package/README-pt.md CHANGED
@@ -4,9 +4,18 @@
4
4
 
5
5
  `dsh-drill-script-check` lê um guião de simulacro de emergência —o cabeçalho do simulacro mais uma linha por etapa— e verifica a completude e a aritmética desse guião: se cada etapa regista a sua fase de simulacro ou o seu conteúdo de guião, se nomeia um responsável de comando, se o nível de resposta vem do vocabulário que configura, se uma etapa com ação de guião enumera os recursos de que necessita, se as durações das etapas somam a duração prevista do simulacro, se um ponto crítico declara a sua condição de julgamento, se não há números de etapa repetidos e se o cabeçalho nomeia o simulacro e a entidade organizadora.
6
6
 
7
+ ## Install
8
+
9
+ ```sh
10
+ dsh plugin --profile <name> add dsh-drill-script-check
11
+ dsh --profile <name> --dump-config | grep 'dsh-drill-script-check'
12
+ ```
13
+
7
14
  ## Como é a saída
8
15
 
9
- ![Terminal demo of dsh-drill-script-check: real output over its DR-007 fixture](https://raw.githubusercontent.com/PerryLink/dsh-drill-script-check/main/docs/assets/dsh-drill-script-check-demo.png)
16
+ ![Terminal demo of dsh-drill-script-check: real output over its DR-007 fixture](https://raw.githubusercontent.com/PerryLink/dsh-drill-script-check/main/docs/assets/dsh-drill-script-check-hero.png)
17
+
18
+ ![Animated terminal demo of dsh-drill-script-check](https://raw.githubusercontent.com/PerryLink/dsh-drill-script-check/main/docs/assets/dsh-drill-script-check-demo.gif)
10
19
 
11
20
  Saída real deste plugin sobre o seu próprio fixture de teste `DR-007` — não é uma simulação. O pacote de regras não inventa citações, por isso cada achado nomeia a cláusula aplicada e avisa que o seu texto não foi obtido.
12
21
 
@@ -57,22 +66,15 @@ right, whether the actions were correct, or whether the drill met its objectives
57
66
 
58
67
  | Superfície | Estado |
59
68
  |---|---|
60
- | Harness | Faixa de peers `>=0.1.2-rc.1 <0.2.0 \|\| >=0.2.0-0 <0.3.0` — verificada para aceitar tanto `0.2.0-rc.2` quanto `0.2.1-alpha.1`. **`engines.dsh` não é declarado**: não tem leitor e não pode recusar nenhum host |
69
+ | Harness | Faixa de peers `>=0.1.2-rc.1 <0.2.0 \|\| >=0.2.0-0 <0.3.0` — verificada para aceitar tanto `0.2.0-rc.2` quanto `0.2.1-rc.2`. **`engines.dsh` é declarado como `>=0.2.1-0 <0.3.0`** e o host o aplica desde 0.2.1 |
61
70
  | Node | `^22.19.0 || >=24.0.0` |
62
71
  | Plataformas | Todas (ESM puro; sem código nativo, sem rede, sem chamada ao modelo) |
63
- | Modo de ferramenta | Funciona em `native`, `ptc` e `both`; para um diretório inteiro use `ptc` |
72
+ | Modo de ferramenta | Funciona em `native` e `ptc`; para um diretório inteiro use `ptc` |
64
73
 
65
74
  ## What it does
66
75
 
67
76
  A tabela de regras, os campos e o comportamento detalhado estão em [README.md](README.md#what-it-does) (versão principal em inglês). O plugin apenas lista divergências literais frente às cláusulas citadas e indica em `skipped` cada verificação que não pôde ser executada.
68
77
 
69
- ## Install
70
-
71
- ```sh
72
- dsh plugin --profile <name> add dsh-drill-script-check
73
- dsh --profile <name> --dump-config | grep 'dsh-drill-script-check'
74
- ```
75
-
76
78
  ## Configuration
77
79
 
78
80
  Todos os parâmetros ajustáveis ficam no esquema Schemastery de `src/config.ts`, portanto mudam pelo `cordis.yml` sem editar código; os limites por regra ficam no pacote de regras sob `rules/`.
package/README-zh.md CHANGED
@@ -4,9 +4,18 @@
4
4
 
5
5
  `dsh-drill-script-check` 读取一份应急演练脚本——演练表头加每个环节一行——核对这份脚本自身的齐备与算术:每个环节是否填写演练阶段或脚本内容、是否明确指挥人、响应级别是否取自你配置的口径、有脚本动作的环节是否列明所需资源、各环节计划时长合计是否等于演练总时长、关键节点是否写明判定条件、环节序号是否重复、表头是否声明演练名称与组织单位。
6
6
 
7
+ ## Install
8
+
9
+ ```sh
10
+ dsh plugin --profile <name> add dsh-drill-script-check
11
+ dsh --profile <name> --dump-config | grep 'dsh-drill-script-check'
12
+ ```
13
+
7
14
  ## 实际输出长什么样
8
15
 
9
- ![Terminal demo of dsh-drill-script-check: real output over its DR-007 fixture](https://raw.githubusercontent.com/PerryLink/dsh-drill-script-check/main/docs/assets/dsh-drill-script-check-demo.png)
16
+ ![Terminal demo of dsh-drill-script-check: real output over its DR-007 fixture](https://raw.githubusercontent.com/PerryLink/dsh-drill-script-check/main/docs/assets/dsh-drill-script-check-hero.png)
17
+
18
+ ![Animated terminal demo of dsh-drill-script-check](https://raw.githubusercontent.com/PerryLink/dsh-drill-script-check/main/docs/assets/dsh-drill-script-check-demo.gif)
10
19
 
11
20
  本插件对自己 `DR-007` 测试夹具的**真实输出**,不是示意图。规则库不伪造引文,因此每条发现都会同时写明所引条款,以及该条款原文本次未取得。
12
21
 
@@ -57,22 +66,15 @@ right, whether the actions were correct, or whether the drill met its objectives
57
66
 
58
67
  | 项目 | 状态 |
59
68
  |---|---|
60
- | Harness | 对等版本范围 `>=0.1.2-rc.1 <0.2.0 \|\| >=0.2.0-0 <0.3.0` —— 已实测同时接受 `0.2.0-rc.2` 与 `0.2.1-alpha.1`。**刻意不声明 `engines.dsh`**:它没有任何读取者,也无法拒装任何宿主 |
69
+ | Harness | 对等版本范围 `>=0.1.2-rc.1 <0.2.0 \|\| >=0.2.0-0 <0.3.0` —— 已实测同时接受 `0.2.0-rc.2` 与 `0.2.1-rc.2`。**已声明 `engines.dsh`**:0.2.1 起由宿主单独裁决,范围为 `>=0.2.1-0 <0.3.0` |
61
70
  | Node | `^22.19.0 || >=24.0.0` |
62
71
  | 平台 | 全平台(纯 ESM;无原生代码、无联网、不调用模型) |
63
- | 工具模式 | `native` / `ptc` / `both` 均可;批量校验整个目录时建议 `ptc`,schema 成本只付一次 |
72
+ | 工具模式 | `native` / `ptc` 均可;批量校验整个目录时建议 `ptc`,schema 成本只付一次 |
64
73
 
65
74
  ## What it does
66
75
 
67
76
  规则表、字段说明与行为细节见 [README.md](README.md#what-it-does)(英文主版本)。本插件只列出材料与所引条款之间的字面差异,并对无法执行的检查在 `skipped` 中逐项说明。
68
77
 
69
- ## Install
70
-
71
- ```sh
72
- dsh plugin --profile <name> add dsh-drill-script-check
73
- dsh --profile <name> --dump-config | grep 'dsh-drill-script-check'
74
- ```
75
-
76
78
  ## Configuration
77
79
 
78
80
  全部可调参数都在 `src/config.ts` 的 Schemastery schema 中,只改 `cordis.yml` 即可生效,无需改代码;逐条阈值在 `rules/` 下的规则库文件里。
package/README.md CHANGED
@@ -4,9 +4,18 @@
4
4
 
5
5
  `dsh-drill-script-check` reads one emergency drill script — the drill header plus one row per step — and checks that script's own completeness and arithmetic: that each step records its drill phase or its script content, that it names a commander, that the response level comes from the vocabulary you configure, that a step with a script action lists the resources it needs, that the step durations total the drill's planned duration, that a key checkpoint states its judgement condition, that no step number is repeated, and that the header names the drill and the organising unit.
6
6
 
7
+ ## Install
8
+
9
+ ```sh
10
+ dsh plugin --profile <name> add dsh-drill-script-check
11
+ dsh --profile <name> --dump-config | grep 'dsh-drill-script-check'
12
+ ```
13
+
7
14
  ## What it looks like
8
15
 
9
- ![Terminal demo of dsh-drill-script-check: real output over its DR-007 fixture](https://raw.githubusercontent.com/PerryLink/dsh-drill-script-check/main/docs/assets/dsh-drill-script-check-demo.png)
16
+ ![Terminal demo of dsh-drill-script-check: real output over its DR-007 fixture](https://raw.githubusercontent.com/PerryLink/dsh-drill-script-check/main/docs/assets/dsh-drill-script-check-hero.png)
17
+
18
+ ![Animated terminal demo of dsh-drill-script-check](https://raw.githubusercontent.com/PerryLink/dsh-drill-script-check/main/docs/assets/dsh-drill-script-check-demo.gif)
10
19
 
11
20
  Real output from this plugin over its own `DR-007` test fixture — not a mock-up. The rule pack ships no invented quotations, so a finding names both the clause it applied and the fact that the clause text was not obtained.
12
21
 
@@ -57,10 +66,10 @@ right, whether the actions were correct, or whether the drill met its objectives
57
66
 
58
67
  | Surface | Status |
59
68
  |---|---|
60
- | Harness | Peer range `>=0.1.2-rc.1 <0.2.0 \|\| >=0.2.0-0 <0.3.0` — verified to accept both `0.2.0-rc.2` and `0.2.1-alpha.1`. `engines.dsh` is deliberately not declared: it has no reader and cannot reject a host |
69
+ | Harness | Peer range `>=0.1.2-rc.1 <0.2.0 \|\| >=0.2.0-0 <0.3.0` — verified to accept both `0.2.0-rc.2` and `0.2.1-rc.2`. `engines.dsh` is declared as `>=0.2.1-0 <0.3.0` and is enforced by the host since 0.2.1 |
61
70
  | Node | `^22.19.0 || >=24.0.0` |
62
71
  | Platforms | All (plain ESM; no native code, no network, no model call) |
63
- | Tool mode | Works in `native`, `ptc` and `both`; for a full script use `ptc` |
72
+ | Tool mode | Works in `native` and `ptc`; for a full script use `ptc` |
64
73
 
65
74
  ## What it does
66
75
 
@@ -78,13 +87,6 @@ applies a versioned rule pack, and returns a report.
78
87
  | `DR-007` | step numbers are unique | warn | principle |
79
88
  | `DR-008` | the script names its drill and organiser | warn | principle |
80
89
 
81
- ## Install
82
-
83
- ```sh
84
- dsh plugin --profile <name> add dsh-drill-script-check
85
- dsh --profile <name> --dump-config | grep 'dsh-drill-script-check'
86
- ```
87
-
88
90
  ## Configuration
89
91
 
90
92
  | Key | Type | Default | Description |
package/lib/index.mjs CHANGED
@@ -2188,14 +2188,6 @@ function runTableCheck(input, ruleset, options) {
2188
2188
  });
2189
2189
  already.add(ruleId);
2190
2190
  }
2191
- for (const rule of ruleset.rules) {
2192
- if (disabled.has(rule.id) || fired.has(rule.id) || already.has(rule.id)) continue;
2193
- if (only.size > 0 && !only.has(rule.id)) continue;
2194
- skipped.push({
2195
- rule: rule.id,
2196
- reason: withNote("材料满足该检查的前置条件且未发现差异条目")
2197
- });
2198
- }
2199
2191
  if (only.size > 0) {
2200
2192
  const notSelected = ruleset.rules.filter((rule) => !only.has(rule.id) && !disabled.has(rule.id));
2201
2193
  if (notSelected.length > 0) skipped.push({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-drill-script-check",
3
- "version": "0.2.3",
3
+ "version": "0.2.7",
4
4
  "description": "应急演练脚本核对(按阶段、响应分级、指挥与资源要素核对脚本齐备,仅提示差异,不作出定性结论)",
5
5
  "type": "module",
6
6
  "main": "lib/index.mjs",
@@ -69,7 +69,7 @@
69
69
  },
70
70
  "engines": {
71
71
  "node": "^22.19.0 || >=24.0.0",
72
- "dsh": ">=0.2.1-alpha.1"
72
+ "dsh": ">=0.2.1-0 <0.3.0"
73
73
  },
74
74
  "packageManager": "pnpm@11.7.0",
75
75
  "peerDependencies": {
@@ -79,11 +79,12 @@
79
79
  },
80
80
  "devDependencies": {
81
81
  "@deepseek-ai/cordis": "4.0.5-alpha.1",
82
- "@deepseek-ai/dsh-package-manifest": "0.2.1-alpha.1",
83
- "@deepseek-ai/dsh-tools": "0.2.1-alpha.1",
82
+ "@deepseek-ai/dsh-package-manifest": "0.2.1-rc.2",
83
+ "@deepseek-ai/dsh-tools": "0.2.1-rc.2",
84
84
  "@deepseek-ai/schemastery": "3.18.5-alpha.1",
85
85
  "@types/node": "^22.20.1",
86
- "vitest": "^3.2.7"
86
+ "vitest": "^3.2.7",
87
+ "@deepseek-ai/dsh-working-directory": "0.2.1-rc.2"
87
88
  },
88
89
  "dependencies": {
89
90
  "tsdown": "^0.22.14",