dsh-auto-review 0.10.1 → 0.10.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/README.es.md +5 -1
- package/README.hi.md +5 -1
- package/README.md +7 -3
- package/README.pt.md +5 -1
- package/README.zh.md +5 -1
- package/lib/index.js +1 -1
- package/lib/types/audit.d.ts.map +1 -1
- package/lib/types/audit.js +4 -1
- package/lib/types/audit.js.map +1 -1
- package/package.json +35 -35
- package/src/audit.ts +4 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `dsh-auto-review` are documented here. The repo is pre-release; versions follow the DeepSeek Harness `0.1.0-rc.x` target runtime and bump on every behavior change.
|
|
4
4
|
|
|
5
|
+
## [0.10.3] - 2026-09-04
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- All `@deepseek-ai/dsh-*` runtime `dependencies` and dev pins moved from the published `0.1.2-alpha.5` line to `0.1.2-rc.1`; `@deepseek-ai/dsh-agent-spine-demo` stays on `0.1.1-rc.2` (no newer spine line is published).
|
|
10
|
+
- `src/audit.ts`: `isUnmarkedHostVersion` now classifies the `0.1.2-rc.x` line as non-stamping (it ships the alpha.5 surface: the third append parameter is `SurfaceIntent` for surface event types only). Previously `0.1.2-rc.1` fell through the rc bound and was probed as marker-aware, which re-enabled session-log audit, broke the per-turn budget fold, and risked appending unmarked verdict events.
|
|
11
|
+
- `scripts/check-host-versions.mjs`: a dev pin on the rc line now counts as covering the npm alpha line (rc outranks alpha within the same minor), keeping the host-compat job green after the bump.
|
|
12
|
+
- Five-language READMEs: the harness table row now states `0.1.2-rc.1`.
|
|
13
|
+
|
|
14
|
+
## [0.10.2] - 2026-09-03
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- Runtime `dependencies` moved from the `0.1.1-rc.2` line to the published `0.1.2-alpha.5` line (15 packages); `@deepseek-ai/dsh-agent-spine-demo` (removed from the alpha.5 line) moved to devDependencies at `0.1.1-rc.2` — it is used only by the eval profile (`eval/cordis.yml`).
|
|
19
|
+
- Dev pins `@deepseek-ai/cordis-plugin-loader ^1.0.3` / `@deepseek-ai/cordis-plugin-include ^1.0.7` aligned with the `cordis 4.0.2` peer ranges.
|
|
20
|
+
- Five-language READMEs: the harness table row now states `dependencies pinned to 0.1.2-alpha.5`.
|
|
21
|
+
|
|
5
22
|
## [0.10.1] - 2026-09-02
|
|
6
23
|
|
|
7
24
|
### Docs
|
package/README.es.md
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
| Superficie | Estado |
|
|
28
28
|
|---|---|
|
|
29
|
-
| Harness | DeepSeek Harness `0.1.2-
|
|
29
|
+
| Harness | DeepSeek Harness `0.1.2-rc.1` (dependencias fijadas a `0.1.2-rc.1`; peers `>=0.1.0-rc.8 <0.2.0`) 0.1.2-rc.1 (adaptado el 2026-09-02): el sobre de sesión conserva su campo ignorable solo para compatibilidad de lectura de logs almacenados - Session.append aún no puede estamparlo, por lo que el comportamiento de la puerta no cambia. |
|
|
30
30
|
| Node | `^22.19.0 \|\| >=24.0.0` |
|
|
31
31
|
| Plataformas | Todas (answerer de host; panel web opcional mediante la capacidad de proyección de sesión) |
|
|
32
32
|
| Modelo | Cualquiera (el revisor hereda la ruta del agente de sesión; `reviewerModel` la reemplaza) |
|
|
@@ -410,6 +410,10 @@ Este proyecto es uno de los [33 complementos de DeepSeek Harness](https://github
|
|
|
410
410
|
| **[dsh-dsh-test-drive](https://github.com/PerryLink/dsh-dsh-test-drive)** | Pruebas de instalación y humo aisladas para plugins de DeepSeek Harness. | |
|
|
411
411
|
| **[dsh-dsh-translate](https://github.com/PerryLink/dsh-dsh-translate)** | Traducción de parámetros entre proveedores y reparación determinista de JSON para DeepSeek Harness. | |
|
|
412
412
|
|
|
413
|
+
### Instalar desde el mercado de DSH Desktop
|
|
414
|
+
|
|
415
|
+
Todos los plugins de PerryLink pueden explorarse en el mercado integrado de DSH Desktop: **Market → Sources → add source → pegar** `https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json` **→ seleccionarlo**. La instalación sigue pasando por la verificación de identidad npm del mercado y tu confirmación.
|
|
416
|
+
|
|
413
417
|
## Licencia
|
|
414
418
|
|
|
415
419
|
[Apache License 2.0](LICENSE) © 2026 dsh-auto-review contributors
|
package/README.hi.md
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
| सतह | स्थिति |
|
|
28
28
|
|---|---|
|
|
29
|
-
| Harness | DeepSeek Harness `0.1.2-
|
|
29
|
+
| Harness | DeepSeek Harness `0.1.2-rc.1` (dependencies `0.1.2-rc.1` पर पिन की गईं; peers `>=0.1.0-rc.8 <0.2.0`) 0.1.2-rc.1 (2026-09-02 को अनुकूलित): सत्र लिफ़ाफ़ा अपना ignorable फ़ील्ड केवल संग्रहीत-लॉग पठन संगतता के लिए रखता है - Session.append अभी भी इसे स्टैम्प नहीं कर सकता, इसलिए गेट व्यवहार अपरिवर्तित है। |
|
|
30
30
|
| Node | `^22.19.0 \|\| >=24.0.0` |
|
|
31
31
|
| प्लेटफ़ॉर्म | सभी (होस्ट answerer; सत्र-प्रोजेक्शन क्षमता के ज़रिए वैकल्पिक वेब समीक्षा पैनल) |
|
|
32
32
|
| मॉडल | कोई भी (समीक्षक सत्र एजेंट का मार्ग विरासत में लेता है; `reviewerModel` उसे बदल देता है) |
|
|
@@ -410,6 +410,10 @@ pnpm pack # प्रकाशित tarball
|
|
|
410
410
|
| **[dsh-dsh-test-drive](https://github.com/PerryLink/dsh-dsh-test-drive)** | DeepSeek Harness प्लगिनों के लिए पृथक इंस्टॉल-एंड-स्मोक टेस्ट ड्राइव। | |
|
|
411
411
|
| **[dsh-dsh-translate](https://github.com/PerryLink/dsh-dsh-translate)** | DeepSeek Harness के लिए वेंडर पैरामीटर अनुवाद और नियतात्मक JSON मरम्मत। | |
|
|
412
412
|
|
|
413
|
+
### DSH Desktop मार्केट से इंस्टॉल करें
|
|
414
|
+
|
|
415
|
+
सभी PerryLink प्लगइन DSH Desktop के बिल्ट-इन मार्केट में देखे जा सकते हैं: **Market → Sources → add source → पेस्ट करें** `https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json` **→ चुनें**। इंस्टॉलेशन मार्केट के npm-identity सत्यापन और आपकी पुष्टि से ही होता है।
|
|
416
|
+
|
|
413
417
|
## लाइसेंस
|
|
414
418
|
|
|
415
419
|
[Apache License 2.0](LICENSE) © 2026 dsh-auto-review contributors
|
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
| Surface | Status |
|
|
29
29
|
|---|---|
|
|
30
|
-
| Harness | DeepSeek Harness `0.1.2-
|
|
30
|
+
| Harness | DeepSeek Harness `0.1.2-rc.1` (dependencies pinned to `0.1.2-rc.1`; peers `>=0.1.0-rc.8 <0.2.0`) |
|
|
31
31
|
| Node | `^22.19.0 \|\| >=24.0.0` |
|
|
32
32
|
| Platforms | All (host answerer; optional Web review panel via the session-projection capability) |
|
|
33
33
|
| Model | Any (the reviewer inherits the session agent's route; `reviewerModel` overrides) |
|
|
@@ -103,7 +103,7 @@ All tunables are Schemastery `Config` fields (changeable from cordis.yml). An id
|
|
|
103
103
|
| `verdictCacheTtlMs` | `60000` | Reuse a recent verdict for an identical `tool + arguments` fingerprint; `0` disables the cache. Only applies with `contextBudget.turns: 0` — a transcript-dependent verdict is not replayable from `tool + arguments` alone |
|
|
104
104
|
| `verdictCacheMaxEntries` | `256` | Maximum cached fingerprints before oldest-eviction |
|
|
105
105
|
| `language` | `en` | UI language of the `/auto-review` command output (`en` \| `zh`) |
|
|
106
|
-
| `allowUnmarkedAudit` | `false` | Force session-log audit on hosts that drop the `ignorable` marker or fail-closed on unknown event types (host `0.1.2-
|
|
106
|
+
| `allowUnmarkedAudit` | `false` | Force session-log audit on hosts that drop the `ignorable` marker or fail-closed on unknown event types (host `0.1.2-rc.1`+) (dangerous: unmarked events make sessions unresumable elsewhere); default is detect-and-degrade 0.1.2-rc.1 (adapted 2026-09-02): the session envelope keeps its ignorable field for stored-log read compatibility only - Session.append still cannot stamp it, so audit-gate behavior is unchanged. |
|
|
107
107
|
|
|
108
108
|
Example (annotated full form: `fixtures/config/config-full.yaml`):
|
|
109
109
|
|
|
@@ -319,7 +319,7 @@ The server is read-only and deterministic: no network, no model, no writes.
|
|
|
319
319
|
|
|
320
320
|
- **Permissions**: the workshop manifest declares `session:append`, `approval:answer`, `subagent:spawn`, `command:register`, and `tools:observe`.
|
|
321
321
|
- **Data**: nothing is stored on disk; the report ring buffer is in-memory and bounded. No network requests of its own.
|
|
322
|
-
- **Session log**: `autoReview/*` events carry reviewer identity, verdict, reason, risk, and duration — appended with the envelope's `ignorable: true` marker so any build loads the log. Hosts whose `Session.append` predates the marker (every released rc line through `0.1.1-rc.2` — no release stamps it yet) are detected before the first append (peer-version pre-check); host `0.1.2-
|
|
322
|
+
- **Session log**: `autoReview/*` events carry reviewer identity, verdict, reason, risk, and duration — appended with the envelope's `ignorable: true` marker so any build loads the log. Hosts whose `Session.append` predates the marker (every released rc line through `0.1.1-rc.2` — no release stamps it yet) are detected before the first append (peer-version pre-check); host `0.1.2-rc.1` keeps the `ignorable` field on the envelope but `Session.append` offers no way to stamp it (its third parameter is `SurfaceIntent` for surface events only), and the persistence read path refuses unmarked unknown event types, so those lines — and unresolvable versions — also fail closed before any append. Audit then degrades to an in-memory mirror with marker-free feedback, so sessions stay loadable everywhere.
|
|
323
323
|
|
|
324
324
|
## Security boundaries
|
|
325
325
|
|
|
@@ -412,6 +412,10 @@ This project is one of the [33 DeepSeek Harness plugins](https://github.com/Perr
|
|
|
412
412
|
| **[dsh-dsh-test-drive](https://github.com/PerryLink/dsh-dsh-test-drive)** | Isolated install-and-smoke test drives for DeepSeek Harness plugins. | |
|
|
413
413
|
| **[dsh-dsh-translate](https://github.com/PerryLink/dsh-dsh-translate)** | Vendor parameter translation and deterministic JSON repair for DeepSeek Harness. | |
|
|
414
414
|
|
|
415
|
+
### Install from the DSH Desktop Market
|
|
416
|
+
|
|
417
|
+
All PerryLink plugins are browsable in the built-in DSH Desktop Market: **Market → Sources → add source → paste** `https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json` **→ select it**. Installation still goes through the Market's npm-identity verification and your confirmation.
|
|
418
|
+
|
|
415
419
|
## License
|
|
416
420
|
|
|
417
421
|
[Apache License 2.0](LICENSE) © 2026 dsh-auto-review contributors
|
package/README.pt.md
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
| Superfície | Status |
|
|
28
28
|
|---|---|
|
|
29
|
-
| Harness | DeepSeek Harness `0.1.2-
|
|
29
|
+
| Harness | DeepSeek Harness `0.1.2-rc.1` (dependências fixadas em `0.1.2-rc.1`; peers `>=0.1.0-rc.8 <0.2.0`) 0.1.2-rc.1 (adaptado em 2026-09-02): o envelope de sessão mantém seu campo ignorable apenas para compatibilidade de leitura de logs armazenados - o Session.append ainda não consegue estampá-lo, então o comportamento da porta não muda. |
|
|
30
30
|
| Node | `^22.19.0 \|\| >=24.0.0` |
|
|
31
31
|
| Plataformas | Todas (answerer de host; painel web opcional via capacidade de projeção de sessão) |
|
|
32
32
|
| Modelo | Qualquer (o revisor herda a rota do agente da sessão; `reviewerModel` sobrescreve) |
|
|
@@ -410,6 +410,10 @@ Este projeto é um dos [33 plugins de DeepSeek Harness](https://github.com/Perry
|
|
|
410
410
|
| **[dsh-dsh-test-drive](https://github.com/PerryLink/dsh-dsh-test-drive)** | Test drives isolados de instalação e smoke para plugins de DeepSeek Harness. | |
|
|
411
411
|
| **[dsh-dsh-translate](https://github.com/PerryLink/dsh-dsh-translate)** | Tradução de parâmetros entre fornecedores e reparo determinístico de JSON para DeepSeek Harness. | |
|
|
412
412
|
|
|
413
|
+
### Instalar a partir do mercado do DSH Desktop
|
|
414
|
+
|
|
415
|
+
Todos os plugins PerryLink podem ser explorados no mercado integrado do DSH Desktop: **Market → Sources → add source → colar** `https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json` **→ selecionar**. A instalação continua passando pela verificação de identidade npm do mercado e pela sua confirmação.
|
|
416
|
+
|
|
413
417
|
## Licença
|
|
414
418
|
|
|
415
419
|
[Apache License 2.0](LICENSE) © 2026 dsh-auto-review contributors
|
package/README.zh.md
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
| 方面 | 状态 |
|
|
28
28
|
|---|---|
|
|
29
|
-
| Harness | DeepSeek Harness `0.1.2-
|
|
29
|
+
| Harness | DeepSeek Harness `0.1.2-rc.1`(依赖锁定在 `0.1.2-rc.1`;peer 范围 `>=0.1.0-rc.8 <0.2.0`) 0.1.2-rc.1(2026-09-02 已适配):会话信封保留 ignorable 字段但仅用于存量日志读取兼容——Session.append 仍无法盖章,门控行为不变。 |
|
|
30
30
|
| Node | `^22.19.0 \|\| >=24.0.0` |
|
|
31
31
|
| 平台 | 全部(宿主 answerer;可选 Web 审查面板,依赖会话投影能力) |
|
|
32
32
|
| 模型 | 任意(审查器默认继承会话代理的路由;`reviewerModel` 可覆盖) |
|
|
@@ -410,6 +410,10 @@ pnpm pack # 发布产物
|
|
|
410
410
|
| **[dsh-dsh-test-drive](https://github.com/PerryLink/dsh-dsh-test-drive)** | DeepSeek Harness 插件的隔离试装冒烟。 | |
|
|
411
411
|
| **[dsh-dsh-translate](https://github.com/PerryLink/dsh-dsh-translate)** | DeepSeek Harness 的厂商参数翻译与确定性 JSON 修复。 | |
|
|
412
412
|
|
|
413
|
+
### 从 DSH Desktop 市场安装
|
|
414
|
+
|
|
415
|
+
所有 PerryLink 插件均可在 DSH Desktop 内置市场中浏览:**市场 → 来源 → 添加来源 → 粘贴** `https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json` **→ 选中**。安装仍需通过市场的 npm 身份校验与你的确认。
|
|
416
|
+
|
|
413
417
|
## 许可证
|
|
414
418
|
|
|
415
419
|
[Apache License 2.0](LICENSE) © 2026 dsh-auto-review contributors
|
package/lib/index.js
CHANGED
|
@@ -60,7 +60,7 @@ function isUnmarkedHostVersion(version) {
|
|
|
60
60
|
if (rc !== null) {
|
|
61
61
|
const minor = Number(rc[1]);
|
|
62
62
|
const patch = Number(rc[2]);
|
|
63
|
-
return minor === 0 && patch <= 8 || minor === 1 && patch <= 2;
|
|
63
|
+
return minor === 0 && patch <= 8 || minor === 1 && patch <= 2 || minor >= 2;
|
|
64
64
|
}
|
|
65
65
|
const line = /^0\.1\.(\d+)(?:-.*)?$/.exec(v);
|
|
66
66
|
if (line !== null) return Number(line[1]) >= 2;
|
package/lib/types/audit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,sGAAsG;AACtG,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAA;AAElE;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAE3D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,sGAAsG;AACtG,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAA;AAElE;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAE3D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAc9D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAOlD"}
|
package/lib/types/audit.js
CHANGED
|
@@ -54,7 +54,10 @@ export function isUnmarkedHostVersion(version) {
|
|
|
54
54
|
if (rc !== null) {
|
|
55
55
|
const minor = Number(rc[1]);
|
|
56
56
|
const patch = Number(rc[2]);
|
|
57
|
-
|
|
57
|
+
// `0.1.2-rc.1` ships the alpha.5 surface: the third append parameter is
|
|
58
|
+
// `SurfaceIntent` for surface event types only, so no rc line in the
|
|
59
|
+
// 0.1.2 minor stamps the marker either.
|
|
60
|
+
return (minor === 0 && patch <= 8) || (minor === 1 && patch <= 2) || minor >= 2;
|
|
58
61
|
}
|
|
59
62
|
const line = /^0\.1\.(\d+)(?:-.*)?$/.exec(v);
|
|
60
63
|
if (line !== null)
|
package/lib/types/audit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAK3C;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAe;IAChD,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAK,MAAkC,CAAC,SAAS,KAAK,IAAI,CAAA;AAChH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IACxB,MAAM,EAAE,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5C,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3B,OAAO,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAK3C;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAe;IAChD,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAK,MAAkC,CAAC,SAAS,KAAK,IAAI,CAAA;AAChH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IACxB,MAAM,EAAE,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5C,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3B,wEAAwE;QACxE,qEAAqE;QACrE,wCAAwC;QACxC,OAAO,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IACjF,CAAC;IACD,MAAM,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC9C,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,uCAAuC,CAA0B,CAAA;QAC5G,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-auto-review",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.3",
|
|
4
4
|
"description": "Second-model AI auto-review for DeepSeek Harness approval requests: a read-only reviewer subagent decides allow/deny on the approval answerer chain, with fail-closed fallback and full session-log audit.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"author": {
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
],
|
|
106
106
|
"compatibility": {
|
|
107
107
|
"dshVersions": [
|
|
108
|
-
"0.1.2-
|
|
108
|
+
"0.1.2-rc.1"
|
|
109
109
|
]
|
|
110
110
|
},
|
|
111
111
|
"capability": {
|
|
@@ -169,22 +169,21 @@
|
|
|
169
169
|
}
|
|
170
170
|
},
|
|
171
171
|
"dependencies": {
|
|
172
|
-
"@deepseek-ai/dsh-
|
|
173
|
-
"@deepseek-ai/dsh-
|
|
174
|
-
"@deepseek-ai/dsh-
|
|
175
|
-
"@deepseek-ai/dsh-fs-
|
|
176
|
-
"@deepseek-ai/dsh-
|
|
177
|
-
"@deepseek-ai/dsh-
|
|
178
|
-
"@deepseek-ai/dsh-
|
|
179
|
-
"@deepseek-ai/dsh-sandbox-
|
|
180
|
-
"@deepseek-ai/dsh-
|
|
181
|
-
"@deepseek-ai/dsh-
|
|
182
|
-
"@deepseek-ai/dsh-
|
|
183
|
-
"@deepseek-ai/dsh-subagent-
|
|
184
|
-
"@deepseek-ai/dsh-
|
|
185
|
-
"@deepseek-ai/dsh-
|
|
186
|
-
"@deepseek-ai/dsh-tool-fs": "0.1.
|
|
187
|
-
"@deepseek-ai/dsh-tool-fs-search": "0.1.1-rc.2",
|
|
172
|
+
"@deepseek-ai/dsh-app-boot": "0.1.2-rc.1",
|
|
173
|
+
"@deepseek-ai/dsh-credentials-local": "0.1.2-rc.1",
|
|
174
|
+
"@deepseek-ai/dsh-fs-observation-policy": "0.1.2-rc.1",
|
|
175
|
+
"@deepseek-ai/dsh-fs-sandbox": "0.1.2-rc.1",
|
|
176
|
+
"@deepseek-ai/dsh-home-paths": "0.1.2-rc.1",
|
|
177
|
+
"@deepseek-ai/dsh-llm-deepseek": "0.1.2-rc.1",
|
|
178
|
+
"@deepseek-ai/dsh-sandbox-local": "0.1.2-rc.1",
|
|
179
|
+
"@deepseek-ai/dsh-sandbox-policy": "0.1.2-rc.1",
|
|
180
|
+
"@deepseek-ai/dsh-session-persistence-jsonl": "0.1.2-rc.1",
|
|
181
|
+
"@deepseek-ai/dsh-settings-file": "0.1.2-rc.1",
|
|
182
|
+
"@deepseek-ai/dsh-subagent-fork-in-process": "0.1.2-rc.1",
|
|
183
|
+
"@deepseek-ai/dsh-subagent-spawn-in-process": "0.1.2-rc.1",
|
|
184
|
+
"@deepseek-ai/dsh-subprocess-local": "0.1.2-rc.1",
|
|
185
|
+
"@deepseek-ai/dsh-tool-fs": "0.1.2-rc.1",
|
|
186
|
+
"@deepseek-ai/dsh-tool-fs-search": "0.1.2-rc.1",
|
|
188
187
|
"tsdown": "^0.22.14",
|
|
189
188
|
"typescript": "^7.0.2",
|
|
190
189
|
"yaml": "^2.8.2",
|
|
@@ -192,23 +191,24 @@
|
|
|
192
191
|
},
|
|
193
192
|
"devDependencies": {
|
|
194
193
|
"@deepseek-ai/cordis": "^4.0.2",
|
|
195
|
-
"@deepseek-ai/cordis-plugin-include": "1.0.
|
|
196
|
-
"@deepseek-ai/cordis-plugin-loader": "1.0.
|
|
197
|
-
"@deepseek-ai/dsh-agent": "0.1.2-
|
|
198
|
-
"@deepseek-ai/dsh-
|
|
199
|
-
"@deepseek-ai/dsh-
|
|
200
|
-
"@deepseek-ai/dsh-
|
|
201
|
-
"@deepseek-ai/dsh-client-
|
|
202
|
-
"@deepseek-ai/dsh-client-
|
|
203
|
-
"@deepseek-ai/dsh-client-ui-
|
|
204
|
-
"@deepseek-ai/dsh-
|
|
205
|
-
"@deepseek-ai/dsh-
|
|
206
|
-
"@deepseek-ai/dsh-
|
|
207
|
-
"@deepseek-ai/dsh-
|
|
208
|
-
"@deepseek-ai/dsh-session
|
|
209
|
-
"@deepseek-ai/dsh-
|
|
210
|
-
"@deepseek-ai/dsh-
|
|
211
|
-
"@deepseek-ai/dsh-
|
|
194
|
+
"@deepseek-ai/cordis-plugin-include": "^1.0.7",
|
|
195
|
+
"@deepseek-ai/cordis-plugin-loader": "^1.0.3",
|
|
196
|
+
"@deepseek-ai/dsh-agent": "0.1.2-rc.1",
|
|
197
|
+
"@deepseek-ai/dsh-agent-spine-demo": "0.1.1-rc.2",
|
|
198
|
+
"@deepseek-ai/dsh-api-remotes": "0.1.2-rc.1",
|
|
199
|
+
"@deepseek-ai/dsh-brand": "0.1.2-rc.1",
|
|
200
|
+
"@deepseek-ai/dsh-client-connection": "0.1.2-rc.1",
|
|
201
|
+
"@deepseek-ai/dsh-client-locale": "0.1.2-rc.1",
|
|
202
|
+
"@deepseek-ai/dsh-client-ui-conversation": "0.1.2-rc.1",
|
|
203
|
+
"@deepseek-ai/dsh-client-ui-slots": "0.1.2-rc.1",
|
|
204
|
+
"@deepseek-ai/dsh-commands": "0.1.2-rc.1",
|
|
205
|
+
"@deepseek-ai/dsh-invariants": "0.1.2-rc.1",
|
|
206
|
+
"@deepseek-ai/dsh-llm": "0.1.2-rc.1",
|
|
207
|
+
"@deepseek-ai/dsh-session": "0.1.2-rc.1",
|
|
208
|
+
"@deepseek-ai/dsh-session-projection": "0.1.2-rc.1",
|
|
209
|
+
"@deepseek-ai/dsh-subagent": "0.1.2-rc.1",
|
|
210
|
+
"@deepseek-ai/dsh-tools": "0.1.2-rc.1",
|
|
211
|
+
"@deepseek-ai/dsh-user-approval": "0.1.2-rc.1",
|
|
212
212
|
"@deepseek-ai/schemastery": "^3.18.2",
|
|
213
213
|
"@types/node": "^26.2.0",
|
|
214
214
|
"@types/react": "18.3.31",
|
package/src/audit.ts
CHANGED
|
@@ -60,7 +60,10 @@ export function isUnmarkedHostVersion(version: string): boolean {
|
|
|
60
60
|
if (rc !== null) {
|
|
61
61
|
const minor = Number(rc[1])
|
|
62
62
|
const patch = Number(rc[2])
|
|
63
|
-
|
|
63
|
+
// `0.1.2-rc.1` ships the alpha.5 surface: the third append parameter is
|
|
64
|
+
// `SurfaceIntent` for surface event types only, so no rc line in the
|
|
65
|
+
// 0.1.2 minor stamps the marker either.
|
|
66
|
+
return (minor === 0 && patch <= 8) || (minor === 1 && patch <= 2) || minor >= 2
|
|
64
67
|
}
|
|
65
68
|
const line = /^0\.1\.(\d+)(?:-.*)?$/.exec(v)
|
|
66
69
|
if (line !== null) return Number(line[1]) >= 2
|