dsh-doublecheck 0.9.29 → 0.9.30
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 +13 -0
- package/LICENSE +0 -0
- package/PRIVACY.md +11 -0
- package/README-es.md +53 -6
- package/README-hi.md +53 -6
- package/README-pt.md +53 -6
- package/README-zh.md +53 -6
- package/README.md +54 -8
- package/cordis.patch.yml +0 -0
- package/icon.svg +1 -0
- package/lib/ci.d.ts +0 -0
- package/lib/ci.js +0 -0
- package/lib/domain/evidence.d.ts +7 -6
- package/lib/domain/evidence.js +15 -21
- package/lib/domain/gate.d.ts +0 -0
- package/lib/domain/gate.js +0 -0
- package/lib/domain/projection.d.ts +0 -0
- package/lib/domain/projection.js +0 -0
- package/lib/domain/report.d.ts +0 -0
- package/lib/domain/report.js +0 -0
- package/lib/domain/stages.d.ts +0 -0
- package/lib/domain/stages.js +0 -0
- package/lib/domain/vagueness.d.ts +0 -0
- package/lib/domain/vagueness.js +0 -0
- package/lib/domain/vocabulary.d.ts +0 -0
- package/lib/domain/vocabulary.js +0 -0
- package/lib/events.d.ts +0 -0
- package/lib/events.js +0 -0
- package/lib/grill/index.d.ts +0 -0
- package/lib/grill/index.js +0 -0
- package/lib/grill/provider.d.ts +0 -0
- package/lib/grill/provider.js +0 -0
- package/lib/guard/activation.d.ts +0 -0
- package/lib/guard/activation.js +0 -0
- package/lib/guard/command.d.ts +0 -0
- package/lib/guard/command.js +0 -0
- package/lib/guard/gate.d.ts +0 -0
- package/lib/guard/gate.js +0 -0
- package/lib/guard/index.d.ts +0 -0
- package/lib/guard/index.js +30 -25
- package/lib/guard/prose.d.ts +0 -0
- package/lib/guard/prose.js +0 -0
- package/lib/guard/review.d.ts +0 -0
- package/lib/guard/review.js +0 -0
- package/lib/index.d.ts +0 -0
- package/lib/index.js +0 -0
- package/lib/invariant.d.ts +0 -0
- package/lib/invariant.js +0 -0
- package/lib/session-events.d.ts +0 -0
- package/lib/session-events.js +0 -0
- package/lib/types.d.ts +0 -0
- package/lib/types.js +0 -0
- package/package.json +38 -29
- package/skills/delivery-proof/SKILL.md +0 -0
- package/skills/delivery-review/SKILL.md +0 -0
- package/skills/grill-requirements/SKILL.md +0 -0
- package/skills/red-green-tdd/SKILL.md +0 -0
- package/strict.patch.yml +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.9.30] - 2026-11-05
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
|
|
7
|
+
- Align with the DSH **0.2.2** host line. Every `@deepseek-ai/dsh-*` devDependency that publishes a 0.2.2 release moves from `0.2.1-rc.2` to `0.2.2-rc.1`; `@deepseek-ai/dsh-invariants` stays at `0.2.0-rc.2` because that package has no 0.2.2 release. The cordis family moves to the vendors of 0.2.2 (`^4.1.0` / `^1.1.0`), `@deepseek-ai/schemastery` moves to `~3.19.0`, and `@deepseek-ai/dsh-package-manifest@0.2.2-rc.1` joins the devDependencies (0.2.2's published `dsh-llm` types import it without declaring it). `engines.dsh` gains the `>=0.2.2-0 <0.3.0` clause and `engines.node` gains the `>=24.9.0` clause. Peer ranges only widen: no host line is dropped, and the cordis/schemastery peer ranges stay at their old loose values.
|
|
8
|
+
- Add `@deepseek-ai/dsh-tool-executor-native@0.2.2-rc.1` as a devDependency. 0.2.2 moved raw batch execution behind a pluggable executor, so the test harnesses mount it after `ToolRuntime`.
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- `ctx.tools.execute()` in the grill and guard test harnesses uses the 0.2.2 batch contract (`calls: [{ type: 'tool-call', … }]` plus `signal`/`agent`, settling through `batch.results[0].result`). The batch-level `additionalContexts` is asserted where the removed single-call field used to carry it.
|
|
13
|
+
- The `doublecheck` session projection awaits the now-asynchronous `ctx.sessionProjections.register()` inside its effect, holds the returned handle, and releases it with `handle.dispose()` on unload. A new regression test mounts the REAL 0.2.2 registry and proves the key goes live and disappears on dispose.
|
|
14
|
+
- `ptcSettle()` matches both `tool/ptc-dispatch` and its predecessor `tool/code-dispatch` structurally. The 0.2.2 tools contract retires the typed PTC event while persistence still recognizes both labels, so a restored pre-upgrade log keeps folding.
|
|
15
|
+
|
|
3
16
|
## [0.9.29] - 2026-10-19
|
|
4
17
|
|
|
5
18
|
### Fixed
|
package/LICENSE
CHANGED
|
File without changes
|
package/PRIVACY.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Privacy
|
|
2
|
+
|
|
3
|
+
`dsh-doublecheck` is a local DeepSeek Harness plugin.
|
|
4
|
+
|
|
5
|
+
- It reads only the workspace files, configuration and tool inputs needed for its documented features.
|
|
6
|
+
- It does not add telemetry, analytics, advertising or a hosted account, and it sends no data to PerryLink.
|
|
7
|
+
- Any network access or external service used by the plugin is documented in its README and is controlled by the user's own configuration.
|
|
8
|
+
- It writes no data outside the DSH profile, the workspace, and the host's own session/log storage. The host controls that storage and its retention.
|
|
9
|
+
- Removing the package removes its code; it does not delete host logs, workspace files or documents you already created.
|
|
10
|
+
|
|
11
|
+
This statement covers the npm package, not the DSH host or any other plugin in the profile.
|
package/README-es.md
CHANGED
|
@@ -55,9 +55,10 @@ La puerta de calidad de entrega para DeepSeek Harness: interroga los requisitos,
|
|
|
55
55
|
|
|
56
56
|
Los requisitos se interrogan antes de la primera edición; la entrega se demuestra, nunca se afirma.
|
|
57
57
|
|
|
58
|
-

|
|
59
|
+
|
|
60
|
+
*Resumen del flujo: solicitud → política/revisión → veredicto. Los ejemplos siguientes usan la superficie de comandos real.*
|
|
59
61
|
|
|
60
|
-

|
|
61
62
|
|
|
62
63
|
*La misma ejecución, animada.*
|
|
63
64
|
|
|
@@ -65,8 +66,8 @@ Los requisitos se interrogan antes de la primera edición; la entrega se demuest
|
|
|
65
66
|
|
|
66
67
|
| Superficie | Estado |
|
|
67
68
|
|---|---|
|
|
68
|
-
| Harness | DeepSeek Harness `dsh-v0.2.
|
|
69
|
-
| Node | `^22.19.0 \|\| >=24.
|
|
69
|
+
| Harness | DeepSeek Harness `dsh-v0.2.2-rc.1` (adapted 2026-11-05): `engines.dsh` gains `>=0.2.2-0 <0.3.0` (every earlier line stays admitted); the gate and projection paths are covered by the rc.1 test suite. |
|
|
70
|
+
| Node | `^22.19.0 \|\| >=24.9.0` |
|
|
70
71
|
| Plataformas | Todas (host puro; sin código nativo, sin solicitudes de red directas propias) |
|
|
71
72
|
| Modelo | Cualquiera (el guard nunca llama a un modelo; las fases de crítico y revisor se ejecutan como subagentes del harness) |
|
|
72
73
|
|
|
@@ -114,6 +115,50 @@ dsh --profile web --dump-config | grep -E -A3 'id: doublecheck-(grill|guard)'
|
|
|
114
115
|
|
|
115
116
|
Ambas filas (`doublecheck-grill` y `doublecheck-guard`) se activan automáticamente con el perfil.
|
|
116
117
|
|
|
118
|
+
### Ejemplos
|
|
119
|
+
|
|
120
|
+
Son los puntos de entrada reales; instala y llama a uno.
|
|
121
|
+
|
|
122
|
+
#### Ejemplo detallado
|
|
123
|
+
|
|
124
|
+
**Comando**
|
|
125
|
+
|
|
126
|
+
~~~sh
|
|
127
|
+
/gate run
|
|
128
|
+
~~~
|
|
129
|
+
|
|
130
|
+
**Salida**
|
|
131
|
+
|
|
132
|
+
~~~text
|
|
133
|
+
# Delivery gate report
|
|
134
|
+
|
|
135
|
+
> **Verdict: rework required** — 2 red item(s)
|
|
136
|
+
> The gate is red. Re-open the work in plan mode to re-check the open items before delivering.
|
|
137
|
+
~~~
|
|
138
|
+
|
|
139
|
+
*Observado en `README.md §Example report (lines 243-251)`*
|
|
140
|
+
|
|
141
|
+
#### Rama de fallo
|
|
142
|
+
|
|
143
|
+
**Entrada**
|
|
144
|
+
|
|
145
|
+
~~~text
|
|
146
|
+
/doublecheck maybe
|
|
147
|
+
~~~
|
|
148
|
+
|
|
149
|
+
**Salida**
|
|
150
|
+
|
|
151
|
+
~~~text
|
|
152
|
+
Unknown /doublecheck argument "maybe". Usage: /doublecheck status|report|on|off
|
|
153
|
+
~~~
|
|
154
|
+
|
|
155
|
+
*Observado en `plugins/dsh-doublecheck/src/guard/prose.ts:191-192; plugins/dsh-doublecheck/src/guard/command.ts:156; plugins/dsh-doublecheck/tests/command.spec.ts:201-208`*
|
|
156
|
+
|
|
157
|
+
#### Ejemplos breves
|
|
158
|
+
|
|
159
|
+
- `doublecheck_skills`
|
|
160
|
+
- `doublecheck_spec`
|
|
161
|
+
|
|
117
162
|
## Configuración
|
|
118
163
|
|
|
119
164
|
Todos los ajustes son campos `Config` de Schemastery (modificables desde cordis.yml). Una sobrescritura dirigida por id reemplaza la fila completa — vuelve a declarar cada clave que necesites. `cordis.patch.yml` documenta cada clave en línea; los valores por defecto del Schema son la única fuente de los valores de ajuste.
|
|
@@ -339,7 +384,7 @@ Este plugin **no interfiere** con otros plugins, incluidos los de más estrellas
|
|
|
339
384
|
|
|
340
385
|
Evidencia estática: `dsh-plugin-doctor` K10–K13 dan `pass` en todas las comprobaciones de este repositorio.
|
|
341
386
|
|
|
342
|
-
##
|
|
387
|
+
## PerryLink DSH Plugin Family
|
|
343
388
|
|
|
344
389
|
Este proyecto forma parte de la familia de plugins de DeepSeek Harness de [PerryLink](https://github.com/PerryLink). El registro permanece plegado abajo para que cada README conserve una primera pantalla corta; expándelo para ver cada fila y su estado.
|
|
345
390
|
|
|
@@ -444,6 +489,8 @@ Este proyecto forma parte de la familia de plugins de DeepSeek Harness de [Perry
|
|
|
444
489
|
| **[dsh-session-pin](https://github.com/PerryLink/dsh-session-pin)** | 🚫 RETIRADO — ver el README del repositorio |
|
|
445
490
|
| **[dsh-team-rooms](https://github.com/PerryLink/dsh-team-rooms)** | 🚫 RETIRADO — ver el README del repositorio |
|
|
446
491
|
|
|
447
|
-
</details
|
|
492
|
+
</details>
|
|
493
|
+
|
|
494
|
+
## Licencia
|
|
448
495
|
|
|
449
496
|
[Apache License 2.0](LICENSE) © 2026 dsh-doublecheck contributors
|
package/README-hi.md
CHANGED
|
@@ -55,9 +55,10 @@ DeepSeek Harness के लिए डिलीवरी गुणवत्ता
|
|
|
55
55
|
|
|
56
56
|
पहली एडिट से पहले आवश्यकताओं की पड़ताल होती है; डिलीवरी साबित की जाती है, दावा नहीं किया जाता।
|
|
57
57
|
|
|
58
|
-

|
|
59
|
+
|
|
60
|
+
*कार्यप्रवाह: अनुरोध → नीति/समीक्षा → निर्णय। नीचे के उदाहरण वास्तविक कमांड सतह का उपयोग करते हैं।*
|
|
59
61
|
|
|
60
|
-

|
|
61
62
|
|
|
62
63
|
*वही रन, एनिमेटेड।*
|
|
63
64
|
|
|
@@ -65,8 +66,8 @@ DeepSeek Harness के लिए डिलीवरी गुणवत्ता
|
|
|
65
66
|
|
|
66
67
|
| सतह | स्थिति |
|
|
67
68
|
|---|---|
|
|
68
|
-
| Harness | DeepSeek Harness `dsh-v0.2.
|
|
69
|
-
| Node | `^22.19.0 \|\| >=24.
|
|
69
|
+
| Harness | DeepSeek Harness `dsh-v0.2.2-rc.1` (adapted 2026-11-05): `engines.dsh` gains `>=0.2.2-0 <0.3.0` (every earlier line stays admitted); the gate and projection paths are covered by the rc.1 test suite. |
|
|
70
|
+
| Node | `^22.19.0 \|\| >=24.9.0` |
|
|
70
71
|
| प्लेटफ़ॉर्म | सभी (शुद्ध host; कोई नेटिव कोड नहीं, स्वयं का कोई सीधा नेटवर्क अनुरोध नहीं) |
|
|
71
72
|
| मॉडल | कोई भी (guard स्वयं कभी मॉडल नहीं बुलाता; critic और reviewer चरण harness subagent के रूप में चलते हैं) |
|
|
72
73
|
|
|
@@ -114,6 +115,50 @@ dsh --profile web --dump-config | grep -E -A3 'id: doublecheck-(grill|guard)'
|
|
|
114
115
|
|
|
115
116
|
दोनों पंक्तियाँ (`doublecheck-grill` और `doublecheck-guard`) प्रोफ़ाइल के साथ स्वतः सक्रिय हो जाती हैं।
|
|
116
117
|
|
|
118
|
+
### उदाहरण
|
|
119
|
+
|
|
120
|
+
ये वास्तविक प्रवेश बिंदु हैं; इंस्टॉल के बाद एक चलाएँ।
|
|
121
|
+
|
|
122
|
+
#### विस्तृत उदाहरण
|
|
123
|
+
|
|
124
|
+
**कमांड**
|
|
125
|
+
|
|
126
|
+
~~~sh
|
|
127
|
+
/gate run
|
|
128
|
+
~~~
|
|
129
|
+
|
|
130
|
+
**आउटपुट**
|
|
131
|
+
|
|
132
|
+
~~~text
|
|
133
|
+
# Delivery gate report
|
|
134
|
+
|
|
135
|
+
> **Verdict: rework required** — 2 red item(s)
|
|
136
|
+
> The gate is red. Re-open the work in plan mode to re-check the open items before delivering.
|
|
137
|
+
~~~
|
|
138
|
+
|
|
139
|
+
*स्रोत `README.md §Example report (lines 243-251)`*
|
|
140
|
+
|
|
141
|
+
#### विफलता शाखा
|
|
142
|
+
|
|
143
|
+
**इनपुट**
|
|
144
|
+
|
|
145
|
+
~~~text
|
|
146
|
+
/doublecheck maybe
|
|
147
|
+
~~~
|
|
148
|
+
|
|
149
|
+
**आउटपुट**
|
|
150
|
+
|
|
151
|
+
~~~text
|
|
152
|
+
Unknown /doublecheck argument "maybe". Usage: /doublecheck status|report|on|off
|
|
153
|
+
~~~
|
|
154
|
+
|
|
155
|
+
*स्रोत `plugins/dsh-doublecheck/src/guard/prose.ts:191-192; plugins/dsh-doublecheck/src/guard/command.ts:156; plugins/dsh-doublecheck/tests/command.spec.ts:201-208`*
|
|
156
|
+
|
|
157
|
+
#### संक्षिप्त उदाहरण
|
|
158
|
+
|
|
159
|
+
- `doublecheck_skills`
|
|
160
|
+
- `doublecheck_spec`
|
|
161
|
+
|
|
117
162
|
## कॉन्फ़िगरेशन
|
|
118
163
|
|
|
119
164
|
सभी ट्यून करने योग्य चीज़ें Schemastery `Config` फ़ील्ड हैं (cordis.yml से बदलने योग्य)। id-लक्षित ओवरराइड पूरी पंक्ति बदल देता है — आपको जो भी कुंजी चाहिए उसे दोबारा घोषित करें। `cordis.patch.yml` हर कुंजी को इनलाइन दस्तावेज़ित करता है; Schema डिफ़ॉल्ट ही ट्यूनिंग डिफ़ॉल्ट का एकमात्र स्रोत हैं।
|
|
@@ -339,7 +384,7 @@ pnpm run pack:check # build + pack the tarball
|
|
|
339
384
|
|
|
340
385
|
स्थैतिक प्रमाण: इस रिपॉज़िटरी पर `dsh-plugin-doctor` के K10–K13 सभी `pass` हैं।
|
|
341
386
|
|
|
342
|
-
## PerryLink DSH
|
|
387
|
+
## PerryLink DSH Plugin Family
|
|
343
388
|
|
|
344
389
|
यह प्रोजेक्ट [PerryLink](https://github.com/PerryLink) के DeepSeek Harness प्लगइन परिवार का हिस्सा है। पूरी सूची नीचे संक्षिप्त रखी गई है ताकि हर README की पहली स्क्रीन छोटी रहे; हर पंक्ति और उसकी स्थिति देखने के लिए इसे खोलें।
|
|
345
390
|
|
|
@@ -444,6 +489,8 @@ pnpm run pack:check # build + pack the tarball
|
|
|
444
489
|
| **[dsh-session-pin](https://github.com/PerryLink/dsh-session-pin)** | 🚫 सेवानिवृत्त — रिपॉज़िटरी README देखें |
|
|
445
490
|
| **[dsh-team-rooms](https://github.com/PerryLink/dsh-team-rooms)** | 🚫 सेवानिवृत्त — रिपॉज़िटरी README देखें |
|
|
446
491
|
|
|
447
|
-
</details
|
|
492
|
+
</details>
|
|
493
|
+
|
|
494
|
+
## लाइसेंस
|
|
448
495
|
|
|
449
496
|
[Apache License 2.0](LICENSE) © 2026 dsh-doublecheck contributors
|
package/README-pt.md
CHANGED
|
@@ -46,9 +46,10 @@ O portão de qualidade de entrega para o DeepSeek Harness: interrogue os requisi
|
|
|
46
46
|
|
|
47
47
|
Os requisitos são interrogados antes da primeira edição; a entrega é comprovada, nunca afirmada.
|
|
48
48
|
|
|
49
|
-

|
|
50
|
+
|
|
51
|
+
*Visão geral do fluxo: solicitação → política/revisão → veredito. Os exemplos abaixo usam a superfície real de comandos.*
|
|
50
52
|
|
|
51
|
-

|
|
52
53
|
|
|
53
54
|
*A mesma execução, animada.*
|
|
54
55
|
|
|
@@ -56,8 +57,8 @@ Os requisitos são interrogados antes da primeira edição; a entrega é comprov
|
|
|
56
57
|
|
|
57
58
|
| Superfície | Status |
|
|
58
59
|
|---|---|
|
|
59
|
-
| Harness | DeepSeek Harness `dsh-v0.2.
|
|
60
|
-
| Node | `^22.19.0 \|\| >=24.
|
|
60
|
+
| Harness | DeepSeek Harness `dsh-v0.2.2-rc.1` (adapted 2026-11-05): `engines.dsh` gains `>=0.2.2-0 <0.3.0` (every earlier line stays admitted); the gate and projection paths are covered by the rc.1 test suite. |
|
|
61
|
+
| Node | `^22.19.0 \|\| >=24.9.0` |
|
|
61
62
|
| Plataformas | Todas (host puro; sem código nativo, sem requisições de rede diretas próprias) |
|
|
62
63
|
| Modelo | Qualquer (o guard nunca chama um modelo; as fases de crítico e revisor rodam como subagentes do harness) |
|
|
63
64
|
|
|
@@ -114,6 +115,50 @@ Ambas as linhas (`doublecheck-grill` e `doublecheck-guard`) são ativadas automa
|
|
|
114
115
|
|
|
115
116
|
Para um modo estrito sem configuração (cada portão ativo com intensidade `block`, cobertura do portão exigida), aplique a camada de sobreposição incluída sobre o patch do bundle: `dsh --profile web --patch ./node_modules/dsh-doublecheck/strict.patch.yml`.
|
|
116
117
|
|
|
118
|
+
### Exemplos
|
|
119
|
+
|
|
120
|
+
São os pontos de entrada reais; instale e chame um.
|
|
121
|
+
|
|
122
|
+
#### Exemplo detalhado
|
|
123
|
+
|
|
124
|
+
**Comando**
|
|
125
|
+
|
|
126
|
+
~~~sh
|
|
127
|
+
/gate run
|
|
128
|
+
~~~
|
|
129
|
+
|
|
130
|
+
**Saída**
|
|
131
|
+
|
|
132
|
+
~~~text
|
|
133
|
+
# Delivery gate report
|
|
134
|
+
|
|
135
|
+
> **Verdict: rework required** — 2 red item(s)
|
|
136
|
+
> The gate is red. Re-open the work in plan mode to re-check the open items before delivering.
|
|
137
|
+
~~~
|
|
138
|
+
|
|
139
|
+
*Observado em `README.md §Example report (lines 243-251)`*
|
|
140
|
+
|
|
141
|
+
#### Ramo de falha
|
|
142
|
+
|
|
143
|
+
**Entrada**
|
|
144
|
+
|
|
145
|
+
~~~text
|
|
146
|
+
/doublecheck maybe
|
|
147
|
+
~~~
|
|
148
|
+
|
|
149
|
+
**Saída**
|
|
150
|
+
|
|
151
|
+
~~~text
|
|
152
|
+
Unknown /doublecheck argument "maybe". Usage: /doublecheck status|report|on|off
|
|
153
|
+
~~~
|
|
154
|
+
|
|
155
|
+
*Observado em `plugins/dsh-doublecheck/src/guard/prose.ts:191-192; plugins/dsh-doublecheck/src/guard/command.ts:156; plugins/dsh-doublecheck/tests/command.spec.ts:201-208`*
|
|
156
|
+
|
|
157
|
+
#### Exemplos breves
|
|
158
|
+
|
|
159
|
+
- `doublecheck_skills`
|
|
160
|
+
- `doublecheck_spec`
|
|
161
|
+
|
|
117
162
|
## Configuração
|
|
118
163
|
|
|
119
164
|
Todos os ajustes são campos `Config` do Schemastery (alteráveis a partir do cordis.yml). Uma sobrescrita direcionada por id substitui a linha inteira — redeclare cada chave de que você precisa. `cordis.patch.yml` documenta cada chave inline; os padrões do Schema são a única fonte dos padrões de ajuste.
|
|
@@ -339,7 +384,7 @@ Este plugin **não interfere** em outros plugins, incluindo os de mais estrelas:
|
|
|
339
384
|
|
|
340
385
|
Evidência estática: `dsh-plugin-doctor` K10–K13 retornam `pass` em todas as verificações deste repositório.
|
|
341
386
|
|
|
342
|
-
##
|
|
387
|
+
## PerryLink DSH Plugin Family
|
|
343
388
|
|
|
344
389
|
Este projeto faz parte da família de plugins do DeepSeek Harness da [PerryLink](https://github.com/PerryLink). O registro fica recolhido abaixo para que cada README mantenha uma primeira tela curta; expanda para ver cada linha e seu status.
|
|
345
390
|
|
|
@@ -444,6 +489,8 @@ Este projeto faz parte da família de plugins do DeepSeek Harness da [PerryLink]
|
|
|
444
489
|
| **[dsh-session-pin](https://github.com/PerryLink/dsh-session-pin)** | 🚫 RETIRADO — ver o README do repositório |
|
|
445
490
|
| **[dsh-team-rooms](https://github.com/PerryLink/dsh-team-rooms)** | 🚫 RETIRADO — ver o README do repositório |
|
|
446
491
|
|
|
447
|
-
</details
|
|
492
|
+
</details>
|
|
493
|
+
|
|
494
|
+
## Licença
|
|
448
495
|
|
|
449
496
|
[Apache License 2.0](LICENSE) © 2026 dsh-doublecheck contributors
|
package/README-zh.md
CHANGED
|
@@ -46,9 +46,10 @@ DeepSeek Harness 的交付质量门禁:先拷问需求,再测试实现,最
|
|
|
46
46
|
|
|
47
47
|
需求在第一次改动之前就被拷问清楚;交付是被证明的,而不是被口头宣称的。
|
|
48
48
|
|
|
49
|
-

|
|
50
|
+
|
|
51
|
+
*工作流概览:请求 → 策略/复核 → 判定。下面的示例使用实际命令面。*
|
|
50
52
|
|
|
51
|
-

|
|
52
53
|
|
|
53
54
|
*同一次运行,动图版。*
|
|
54
55
|
|
|
@@ -56,8 +57,8 @@ DeepSeek Harness 的交付质量门禁:先拷问需求,再测试实现,最
|
|
|
56
57
|
|
|
57
58
|
| 方面 | 状态 |
|
|
58
59
|
|---|---|
|
|
59
|
-
| Harness | DeepSeek Harness `dsh-v0.2.
|
|
60
|
-
| Node | `^22.19.0 \|\| >=24.
|
|
60
|
+
| Harness | DeepSeek Harness `dsh-v0.2.2-rc.1` (adapted 2026-11-05): `engines.dsh` gains `>=0.2.2-0 <0.3.0` (every earlier line stays admitted); the gate and projection paths are covered by the rc.1 test suite. |
|
|
61
|
+
| Node | `^22.19.0 \|\| >=24.9.0` |
|
|
61
62
|
| 平台 | 全部(纯宿主;无原生代码,自身无直接网络请求) |
|
|
62
63
|
| 模型 | 任意(守卫本身从不调用模型;评审与批评阶段作为宿主 subagent 运行) |
|
|
63
64
|
|
|
@@ -114,6 +115,50 @@ dsh --profile web --dump-config | grep -E -A3 'id: doublecheck-(grill|guard)'
|
|
|
114
115
|
|
|
115
116
|
如需零配置的严格模式(每个门禁都以 `block` 强度开启、要求门禁覆盖率),在捆绑补丁之上应用随附的覆盖层:`dsh --profile web --patch ./node_modules/dsh-doublecheck/strict.patch.yml`。
|
|
116
117
|
|
|
118
|
+
### 示例
|
|
119
|
+
|
|
120
|
+
以下为插件真实入口;安装后调用一个即可。
|
|
121
|
+
|
|
122
|
+
#### 详细示例
|
|
123
|
+
|
|
124
|
+
**命令**
|
|
125
|
+
|
|
126
|
+
~~~sh
|
|
127
|
+
/gate run
|
|
128
|
+
~~~
|
|
129
|
+
|
|
130
|
+
**输出**
|
|
131
|
+
|
|
132
|
+
~~~text
|
|
133
|
+
# Delivery gate report
|
|
134
|
+
|
|
135
|
+
> **Verdict: rework required** — 2 red item(s)
|
|
136
|
+
> The gate is red. Re-open the work in plan mode to re-check the open items before delivering.
|
|
137
|
+
~~~
|
|
138
|
+
|
|
139
|
+
*来源 `README.md §Example report (lines 243-251)`*
|
|
140
|
+
|
|
141
|
+
#### 失败分支
|
|
142
|
+
|
|
143
|
+
**输入**
|
|
144
|
+
|
|
145
|
+
~~~text
|
|
146
|
+
/doublecheck maybe
|
|
147
|
+
~~~
|
|
148
|
+
|
|
149
|
+
**输出**
|
|
150
|
+
|
|
151
|
+
~~~text
|
|
152
|
+
Unknown /doublecheck argument "maybe". Usage: /doublecheck status|report|on|off
|
|
153
|
+
~~~
|
|
154
|
+
|
|
155
|
+
*来源 `plugins/dsh-doublecheck/src/guard/prose.ts:191-192; plugins/dsh-doublecheck/src/guard/command.ts:156; plugins/dsh-doublecheck/tests/command.spec.ts:201-208`*
|
|
156
|
+
|
|
157
|
+
#### 简短示例
|
|
158
|
+
|
|
159
|
+
- `doublecheck_skills`
|
|
160
|
+
- `doublecheck_spec`
|
|
161
|
+
|
|
117
162
|
## 配置
|
|
118
163
|
|
|
119
164
|
所有可调项都是 Schemastery 的 `Config` 字段(可在 cordis.yml 中修改)。按 id 定位的覆盖会替换整行——请重新声明你需要的每一个键。`cordis.patch.yml` 逐键内联说明;Schema 默认值是调优默认值的唯一来源。
|
|
@@ -339,7 +384,7 @@ pnpm run pack:check # build + pack the tarball
|
|
|
339
384
|
|
|
340
385
|
静态证据:`dsh-plugin-doctor` 的 K10–K13 在本仓全部为 `pass`。
|
|
341
386
|
|
|
342
|
-
## PerryLink DSH
|
|
387
|
+
## PerryLink DSH Plugin Family
|
|
343
388
|
|
|
344
389
|
本项目是 [PerryLink](https://github.com/PerryLink) 维护的 DeepSeek Harness 插件家族成员。完整名单默认折叠,避免每个 README 的首屏被长表淹没;点击展开可查看每一行及其状态。
|
|
345
390
|
|
|
@@ -444,6 +489,8 @@ pnpm run pack:check # build + pack the tarball
|
|
|
444
489
|
| **[dsh-session-pin](https://github.com/PerryLink/dsh-session-pin)** | 🚫 已退役 — 见仓库 README |
|
|
445
490
|
| **[dsh-team-rooms](https://github.com/PerryLink/dsh-team-rooms)** | 🚫 已退役 — 见仓库 README |
|
|
446
491
|
|
|
447
|
-
</details
|
|
492
|
+
</details>
|
|
493
|
+
|
|
494
|
+
## 许可证
|
|
448
495
|
|
|
449
496
|
[Apache License 2.0](LICENSE) © 2026 dsh-doublecheck contributors
|
package/README.md
CHANGED
|
@@ -56,18 +56,18 @@ The delivery quality gate for DeepSeek Harness: grill the requirements, test the
|
|
|
56
56
|
|
|
57
57
|
Requirements get interrogated before the first edit; delivery is proven, never claimed.
|
|
58
58
|
|
|
59
|
-

|
|
60
|
+
|
|
61
|
+
*Workflow overview: request → policy / review → verdict. The examples below use the real command surface.*
|
|
60
62
|
|
|
61
|
-

|
|
62
63
|
|
|
63
|
-
*The same run, animated.*
|
|
64
64
|
|
|
65
65
|
## Compatibility
|
|
66
66
|
|
|
67
67
|
| Surface | Status |
|
|
68
68
|
|---|---|
|
|
69
|
-
| Harness | DeepSeek Harness `dsh-v0.2.
|
|
70
|
-
| Node | `^22.19.0 \|\| >=24.
|
|
69
|
+
| Harness | DeepSeek Harness `dsh-v0.2.2-rc.1` (adapted 2026-11-05): `engines.dsh` gains `>=0.2.2-0 <0.3.0` (every earlier line stays admitted); the gate and projection paths are covered by the rc.1 test suite. |
|
|
70
|
+
| Node | `^22.19.0 \|\| >=24.9.0` |
|
|
71
71
|
| Platforms | All (pure host; no native code, no direct network requests of its own) |
|
|
72
72
|
| Model | Any (the guard itself never calls a model; the critic and reviewer phases run as harness subagents) |
|
|
73
73
|
|
|
@@ -115,6 +115,50 @@ dsh --profile web --dump-config | grep -E -A3 'id: doublecheck-(grill|guard)'
|
|
|
115
115
|
|
|
116
116
|
Both rows (`doublecheck-grill` and `doublecheck-guard`) activate automatically with the profile.
|
|
117
117
|
|
|
118
|
+
### Examples
|
|
119
|
+
|
|
120
|
+
These are the plugin's real entry points; install once, then call one.
|
|
121
|
+
|
|
122
|
+
#### Detailed example
|
|
123
|
+
|
|
124
|
+
**Command**
|
|
125
|
+
|
|
126
|
+
~~~sh
|
|
127
|
+
/gate run
|
|
128
|
+
~~~
|
|
129
|
+
|
|
130
|
+
**Output**
|
|
131
|
+
|
|
132
|
+
~~~text
|
|
133
|
+
# Delivery gate report
|
|
134
|
+
|
|
135
|
+
> **Verdict: rework required** — 2 red item(s)
|
|
136
|
+
> The gate is red. Re-open the work in plan mode to re-check the open items before delivering.
|
|
137
|
+
~~~
|
|
138
|
+
|
|
139
|
+
*Observed from `README.md §Example report (lines 243-251)`*
|
|
140
|
+
|
|
141
|
+
#### Failure branch
|
|
142
|
+
|
|
143
|
+
**Input**
|
|
144
|
+
|
|
145
|
+
~~~text
|
|
146
|
+
/doublecheck maybe
|
|
147
|
+
~~~
|
|
148
|
+
|
|
149
|
+
**Output**
|
|
150
|
+
|
|
151
|
+
~~~text
|
|
152
|
+
Unknown /doublecheck argument "maybe". Usage: /doublecheck status|report|on|off
|
|
153
|
+
~~~
|
|
154
|
+
|
|
155
|
+
*Observed from `plugins/dsh-doublecheck/src/guard/prose.ts:191-192; plugins/dsh-doublecheck/src/guard/command.ts:156; plugins/dsh-doublecheck/tests/command.spec.ts:201-208`*
|
|
156
|
+
|
|
157
|
+
#### Brief examples
|
|
158
|
+
|
|
159
|
+
- `doublecheck_skills`
|
|
160
|
+
- `doublecheck_spec`
|
|
161
|
+
|
|
118
162
|
## Configuration
|
|
119
163
|
|
|
120
164
|
All tunables are Schemastery `Config` fields (changeable from cordis.yml). An id-targeted override replaces the whole row — restate every key you need. `cordis.patch.yml` documents each key inline; Schema defaults are the single source of tuning defaults.
|
|
@@ -359,10 +403,10 @@ This project is part of the DeepSeek Harness plugin family from [PerryLink](http
|
|
|
359
403
|
| **[dsh-aqua-input-check](https://github.com/PerryLink/dsh-aqua-input-check)** | |
|
|
360
404
|
| **[dsh-archive-check](https://github.com/PerryLink/dsh-archive-check)** | |
|
|
361
405
|
| **[dsh-auto-review](https://github.com/PerryLink/dsh-auto-review)** | |
|
|
362
|
-
| **[dsh-autotier](https://github.com/PerryLink/dsh-autotier)** |
|
|
406
|
+
| **[dsh-autotier](https://github.com/PerryLink/dsh-autotier)** | 🧊 FROZEN — see the repo README |
|
|
363
407
|
| **[dsh-bid-ca-precheck](https://github.com/PerryLink/dsh-bid-ca-precheck)** | |
|
|
364
408
|
| **[dsh-bid-qual-check](https://github.com/PerryLink/dsh-bid-qual-check)** | |
|
|
365
|
-
| **[dsh-cert-mcp](https://github.com/PerryLink/dsh-cert-mcp)** |
|
|
409
|
+
| **[dsh-cert-mcp](https://github.com/PerryLink/dsh-cert-mcp)** | 🧊 FROZEN — see the repo README |
|
|
366
410
|
| **[dsh-checkpoint-rewind](https://github.com/PerryLink/dsh-checkpoint-rewind)** | |
|
|
367
411
|
| **[dsh-click](https://github.com/PerryLink/dsh-click)** | |
|
|
368
412
|
| **[dsh-composer-history](https://github.com/PerryLink/dsh-composer-history)** | |
|
|
@@ -452,6 +496,8 @@ This project is part of the DeepSeek Harness plugin family from [PerryLink](http
|
|
|
452
496
|
| **[dsh-session-pin](https://github.com/PerryLink/dsh-session-pin)** | 🚫 RETIRED — see the repo README |
|
|
453
497
|
| **[dsh-team-rooms](https://github.com/PerryLink/dsh-team-rooms)** | 🚫 RETIRED — see the repo README |
|
|
454
498
|
|
|
455
|
-
</details
|
|
499
|
+
</details>
|
|
500
|
+
|
|
501
|
+
## License
|
|
456
502
|
|
|
457
503
|
[Apache License 2.0](LICENSE) © 2026 dsh-doublecheck contributors
|
package/cordis.patch.yml
CHANGED
|
File without changes
|
package/icon.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" role="img" aria-label="dsh-doublecheck"><rect width="128" height="128" rx="24" fill="#0f172a"/><circle cx="64" cy="64" r="44" fill="none" stroke="#ce3ebb" stroke-width="6"/><text x="64" y="78" fill="#f8fafc" text-anchor="middle" font-family="ui-monospace,monospace" font-size="38" font-weight="700">D</text></svg>
|
package/lib/ci.d.ts
CHANGED
|
File without changes
|
package/lib/ci.js
CHANGED
|
File without changes
|
package/lib/domain/evidence.d.ts
CHANGED
|
@@ -67,12 +67,13 @@ export interface PtcSettle {
|
|
|
67
67
|
* Normalize one settled PTC sub-dispatch event, across the event-vocabulary
|
|
68
68
|
* rename at the session-format V2→V3 edge.
|
|
69
69
|
*
|
|
70
|
-
* The
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
70
|
+
* The V3 line names the settled sub-dispatch `tool/ptc-dispatch` (the host's
|
|
71
|
+
* V2→V3 migration renames the predecessor `tool/code-dispatch`, keeping the
|
|
72
|
+
* payload values), so a stored V2 log arrives under the new label. Neither
|
|
73
|
+
* label is a member of this host line's `SessionEventMap` — the 0.2.2 tools
|
|
74
|
+
* contract retires the PTC declaration while persistence still recognizes both
|
|
75
|
+
* names — so both are matched structurally instead of as switch cases. The
|
|
76
|
+
* fold therefore never depends on which generation wrote the log.
|
|
76
77
|
*
|
|
77
78
|
* @param event - one committed session event.
|
|
78
79
|
* @returns the settled payload, or `undefined` when the event is not a settled sub-dispatch.
|
package/lib/domain/evidence.js
CHANGED
|
@@ -60,35 +60,29 @@ export function emptyDetection() {
|
|
|
60
60
|
* Normalize one settled PTC sub-dispatch event, across the event-vocabulary
|
|
61
61
|
* rename at the session-format V2→V3 edge.
|
|
62
62
|
*
|
|
63
|
-
* The
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
63
|
+
* The V3 line names the settled sub-dispatch `tool/ptc-dispatch` (the host's
|
|
64
|
+
* V2→V3 migration renames the predecessor `tool/code-dispatch`, keeping the
|
|
65
|
+
* payload values), so a stored V2 log arrives under the new label. Neither
|
|
66
|
+
* label is a member of this host line's `SessionEventMap` — the 0.2.2 tools
|
|
67
|
+
* contract retires the PTC declaration while persistence still recognizes both
|
|
68
|
+
* names — so both are matched structurally instead of as switch cases. The
|
|
69
|
+
* fold therefore never depends on which generation wrote the log.
|
|
69
70
|
*
|
|
70
71
|
* @param event - one committed session event.
|
|
71
72
|
* @returns the settled payload, or `undefined` when the event is not a settled sub-dispatch.
|
|
72
73
|
*/
|
|
73
74
|
export function ptcSettle(event) {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
name: event.data.name,
|
|
77
|
-
arguments: event.data.arguments,
|
|
78
|
-
isError: event.data.isError,
|
|
79
|
-
content: event.data.content,
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
if (event.type !== 'tool/code-dispatch')
|
|
75
|
+
const type = event.type;
|
|
76
|
+
if (type !== 'tool/ptc-dispatch' && type !== 'tool/code-dispatch')
|
|
83
77
|
return undefined;
|
|
84
|
-
const
|
|
85
|
-
if (
|
|
78
|
+
const settled = event.data;
|
|
79
|
+
if (settled === null || settled === undefined || typeof settled.name !== 'string')
|
|
86
80
|
return undefined;
|
|
87
81
|
return {
|
|
88
|
-
name:
|
|
89
|
-
arguments:
|
|
90
|
-
isError:
|
|
91
|
-
content: Array.isArray(
|
|
82
|
+
name: settled.name,
|
|
83
|
+
arguments: settled.arguments,
|
|
84
|
+
isError: settled.isError === true,
|
|
85
|
+
content: Array.isArray(settled.content) ? settled.content : [],
|
|
92
86
|
};
|
|
93
87
|
}
|
|
94
88
|
/**
|
package/lib/domain/gate.d.ts
CHANGED
|
File without changes
|
package/lib/domain/gate.js
CHANGED
|
File without changes
|
|
File without changes
|
package/lib/domain/projection.js
CHANGED
|
File without changes
|
package/lib/domain/report.d.ts
CHANGED
|
File without changes
|
package/lib/domain/report.js
CHANGED
|
File without changes
|
package/lib/domain/stages.d.ts
CHANGED
|
File without changes
|
package/lib/domain/stages.js
CHANGED
|
File without changes
|
|
File without changes
|
package/lib/domain/vagueness.js
CHANGED
|
File without changes
|
|
File without changes
|
package/lib/domain/vocabulary.js
CHANGED
|
File without changes
|
package/lib/events.d.ts
CHANGED
|
File without changes
|
package/lib/events.js
CHANGED
|
File without changes
|
package/lib/grill/index.d.ts
CHANGED
|
File without changes
|
package/lib/grill/index.js
CHANGED
|
File without changes
|
package/lib/grill/provider.d.ts
CHANGED
|
File without changes
|
package/lib/grill/provider.js
CHANGED
|
File without changes
|
|
File without changes
|
package/lib/guard/activation.js
CHANGED
|
File without changes
|
package/lib/guard/command.d.ts
CHANGED
|
File without changes
|
package/lib/guard/command.js
CHANGED
|
File without changes
|
package/lib/guard/gate.d.ts
CHANGED
|
File without changes
|
package/lib/guard/gate.js
CHANGED
|
File without changes
|
package/lib/guard/index.d.ts
CHANGED
|
File without changes
|
package/lib/guard/index.js
CHANGED
|
@@ -585,31 +585,36 @@ export function apply(ctx, config) {
|
|
|
585
585
|
const registry = projectionCtx.get('sessionProjections');
|
|
586
586
|
if (registry === undefined)
|
|
587
587
|
return;
|
|
588
|
-
//
|
|
589
|
-
//
|
|
590
|
-
//
|
|
591
|
-
//
|
|
592
|
-
//
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
588
|
+
// Registration is asynchronous on the 0.2.2 line and returns a ready
|
|
589
|
+
// handle; awaiting it inside the effect keeps the fiber from publishing a
|
|
590
|
+
// half-registered unit. The handle's `dispose()` is the unregistration
|
|
591
|
+
// path and MUST be owned by an effect. Registering without holding it left
|
|
592
|
+
// the old closure live after a config hot-reload: turning `gate` (or any
|
|
593
|
+
// detection knob) off and on again kept judging with the stale
|
|
594
|
+
// definitions — a silent false-safety window, and a hard throw once the
|
|
595
|
+
// state version moved.
|
|
596
|
+
projectionCtx.effect(async () => {
|
|
597
|
+
const handle = await registry.register({
|
|
598
|
+
key: 'doublecheck',
|
|
599
|
+
stateSchema: doublecheckStateSchema,
|
|
600
|
+
init: emptyDoublecheckState,
|
|
601
|
+
apply: (state, event) => applyDoublecheckEvent(state, event, detection),
|
|
602
|
+
wire: {
|
|
603
|
+
viewSchema: doublecheckViewSchema,
|
|
604
|
+
view: viewDoublecheck,
|
|
605
|
+
},
|
|
606
|
+
// stateVersion is the persisted-cache invalidation the registry
|
|
607
|
+
// documents, and it IS the backward-compatibility story: the state
|
|
608
|
+
// fields themselves are unchanged and still pass
|
|
609
|
+
// `doublecheckStateSchema`, but a row written at `ver: 2` is
|
|
610
|
+
// discarded on a `ver: 3` unit and the key refolds from `init` over
|
|
611
|
+
// the full log (the host's `restoreFloor` drops to seq 0 on any
|
|
612
|
+
// version mismatch). No migration code, and a pre-upgrade session
|
|
613
|
+
// degrades to a recomputed line instead of a stale one or a crash.
|
|
614
|
+
stateVersion: 3,
|
|
615
|
+
});
|
|
616
|
+
return () => handle.dispose();
|
|
617
|
+
}, 'dsh-doublecheck: projection');
|
|
613
618
|
});
|
|
614
619
|
// The invariant companion, registered from the main plugin so its checks
|
|
615
620
|
// see the live detection knobs. Activates only when an invariant registry
|
package/lib/guard/prose.d.ts
CHANGED
|
File without changes
|
package/lib/guard/prose.js
CHANGED
|
File without changes
|
package/lib/guard/review.d.ts
CHANGED
|
File without changes
|
package/lib/guard/review.js
CHANGED
|
File without changes
|
package/lib/index.d.ts
CHANGED
|
File without changes
|
package/lib/index.js
CHANGED
|
File without changes
|
package/lib/invariant.d.ts
CHANGED
|
File without changes
|
package/lib/invariant.js
CHANGED
|
File without changes
|
package/lib/session-events.d.ts
CHANGED
|
File without changes
|
package/lib/session-events.js
CHANGED
|
File without changes
|
package/lib/types.d.ts
CHANGED
|
File without changes
|
package/lib/types.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-doublecheck",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.30",
|
|
4
4
|
"description": "Delivery quality gate for DeepSeek Harness: grill the requirements, test the implementation, prove the delivery, and gate the handoff with a deliverable/rework decision.",
|
|
5
5
|
"packageManager": "pnpm@11.7.0",
|
|
6
6
|
"repository": {
|
|
@@ -51,7 +51,9 @@
|
|
|
51
51
|
"README-es.md",
|
|
52
52
|
"README-pt.md",
|
|
53
53
|
"README-hi.md",
|
|
54
|
-
"LICENSE"
|
|
54
|
+
"LICENSE",
|
|
55
|
+
"PRIVACY.md",
|
|
56
|
+
"icon.svg"
|
|
55
57
|
],
|
|
56
58
|
"scripts": {
|
|
57
59
|
"build": "tsc --noEmitOnError && node scripts/fix-dts.mjs",
|
|
@@ -83,14 +85,18 @@
|
|
|
83
85
|
"author": "PerryLink",
|
|
84
86
|
"license": "Apache-2.0",
|
|
85
87
|
"engines": {
|
|
86
|
-
"node": "^22.19.0 || >=24.
|
|
87
|
-
"dsh": ">=0.1.6-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0"
|
|
88
|
+
"node": "^22.19.0 || >=24.9.0",
|
|
89
|
+
"dsh": ">=0.1.6-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0 || >=0.2.2-0 <0.3.0"
|
|
88
90
|
},
|
|
89
91
|
"dsh": {
|
|
90
92
|
"manifestVersion": 1,
|
|
91
93
|
"bundle": {
|
|
92
94
|
"patch": "./cordis.patch.yml"
|
|
93
|
-
}
|
|
95
|
+
},
|
|
96
|
+
"capabilities": [
|
|
97
|
+
"tools:register"
|
|
98
|
+
],
|
|
99
|
+
"labels": []
|
|
94
100
|
},
|
|
95
101
|
"dshWorkshop": {
|
|
96
102
|
"schema": "omdsh-workshop-package/v1",
|
|
@@ -137,46 +143,49 @@
|
|
|
137
143
|
},
|
|
138
144
|
"peerDependencies": {
|
|
139
145
|
"@deepseek-ai/cordis": "^4.0.5-alpha.1",
|
|
140
|
-
"@deepseek-ai/dsh-agent": ">=0.1.6-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0",
|
|
141
|
-
"@deepseek-ai/dsh-commands": ">=0.1.6-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0",
|
|
146
|
+
"@deepseek-ai/dsh-agent": ">=0.1.6-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0 || >=0.2.2-0 <0.3.0",
|
|
147
|
+
"@deepseek-ai/dsh-commands": ">=0.1.6-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0 || >=0.2.2-0 <0.3.0",
|
|
142
148
|
"@deepseek-ai/dsh-invariants": ">=0.1.6-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0",
|
|
143
|
-
"@deepseek-ai/dsh-llm": ">=0.1.6-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0",
|
|
144
|
-
"@deepseek-ai/dsh-session": ">=0.1.6-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0",
|
|
145
|
-
"@deepseek-ai/dsh-session-projection": ">=0.1.6-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0",
|
|
146
|
-
"@deepseek-ai/dsh-skill": ">=0.1.6-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0",
|
|
147
|
-
"@deepseek-ai/dsh-tools": ">=0.1.6-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0",
|
|
149
|
+
"@deepseek-ai/dsh-llm": ">=0.1.6-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0 || >=0.2.2-0 <0.3.0",
|
|
150
|
+
"@deepseek-ai/dsh-session": ">=0.1.6-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0 || >=0.2.2-0 <0.3.0",
|
|
151
|
+
"@deepseek-ai/dsh-session-projection": ">=0.1.6-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0 || >=0.2.2-0 <0.3.0",
|
|
152
|
+
"@deepseek-ai/dsh-skill": ">=0.1.6-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0 || >=0.2.2-0 <0.3.0",
|
|
153
|
+
"@deepseek-ai/dsh-tools": ">=0.1.6-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0 || >=0.2.2-0 <0.3.0",
|
|
148
154
|
"@deepseek-ai/schemastery": "^3.18.5-alpha.1"
|
|
149
155
|
},
|
|
150
156
|
"dependencies": {
|
|
151
157
|
"zod": "^4.4.3"
|
|
152
158
|
},
|
|
153
159
|
"devDependencies": {
|
|
154
|
-
"@deepseek-ai/cordis": "^4.0
|
|
155
|
-
"@deepseek-ai/cordis-plugin-loader": "^1.0
|
|
156
|
-
"@deepseek-ai/dsh-agent": "0.2.
|
|
157
|
-
"@deepseek-ai/dsh-commands": "0.2.
|
|
158
|
-
"@deepseek-ai/dsh-fs": "0.2.
|
|
160
|
+
"@deepseek-ai/cordis": "^4.1.0",
|
|
161
|
+
"@deepseek-ai/cordis-plugin-loader": "^1.1.0",
|
|
162
|
+
"@deepseek-ai/dsh-agent": "0.2.2-rc.1",
|
|
163
|
+
"@deepseek-ai/dsh-commands": "0.2.2-rc.1",
|
|
164
|
+
"@deepseek-ai/dsh-fs": "0.2.2-rc.1",
|
|
159
165
|
"@deepseek-ai/dsh-invariants": "0.2.0-rc.2",
|
|
160
|
-
"@deepseek-ai/dsh-llm": "0.2.
|
|
161
|
-
"@deepseek-ai/dsh-session": "0.2.
|
|
162
|
-
"@deepseek-ai/dsh-session-projection": "0.2.
|
|
163
|
-
"@deepseek-ai/dsh-settings": "0.2.
|
|
164
|
-
"@deepseek-ai/dsh-skill": "0.2.
|
|
165
|
-
"@deepseek-ai/dsh-subagent": "0.2.
|
|
166
|
-
"@deepseek-ai/dsh-system-prompt": "0.2.
|
|
167
|
-
"@deepseek-ai/dsh-
|
|
168
|
-
"@deepseek-ai/dsh-
|
|
169
|
-
"@deepseek-ai/
|
|
166
|
+
"@deepseek-ai/dsh-llm": "0.2.2-rc.1",
|
|
167
|
+
"@deepseek-ai/dsh-session": "0.2.2-rc.1",
|
|
168
|
+
"@deepseek-ai/dsh-session-projection": "0.2.2-rc.1",
|
|
169
|
+
"@deepseek-ai/dsh-settings": "0.2.2-rc.1",
|
|
170
|
+
"@deepseek-ai/dsh-skill": "0.2.2-rc.1",
|
|
171
|
+
"@deepseek-ai/dsh-subagent": "0.2.2-rc.1",
|
|
172
|
+
"@deepseek-ai/dsh-system-prompt": "0.2.2-rc.1",
|
|
173
|
+
"@deepseek-ai/dsh-tool-executor-native": "0.2.2-rc.1",
|
|
174
|
+
"@deepseek-ai/dsh-tools": "0.2.2-rc.1",
|
|
175
|
+
"@deepseek-ai/dsh-workflow": "0.2.2-rc.1",
|
|
176
|
+
"@deepseek-ai/schemastery": "~3.19.0",
|
|
170
177
|
"@eslint/js": "^9.30.0",
|
|
171
178
|
"@types/node": "^22.15.0",
|
|
172
179
|
"@vitest/coverage-v8": "^3.2.0",
|
|
173
180
|
"eslint": "^9.30.0",
|
|
174
181
|
"typescript-eslint": "^8.35.0",
|
|
175
182
|
"vitest": "^3.2.0",
|
|
176
|
-
"typescript": "^5.7.0"
|
|
183
|
+
"typescript": "^5.7.0",
|
|
184
|
+
"@deepseek-ai/dsh-package-manifest": "0.2.2-rc.1"
|
|
177
185
|
},
|
|
178
186
|
"funding": {
|
|
179
187
|
"type": "individual",
|
|
180
188
|
"url": "https://github.com/sponsors/PerryLink"
|
|
181
|
-
}
|
|
189
|
+
},
|
|
190
|
+
"icon": "icon.svg"
|
|
182
191
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/strict.patch.yml
CHANGED
|
File without changes
|