dsh-auto-review 0.5.1 → 0.5.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 CHANGED
@@ -2,6 +2,20 @@
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.5.3] — 2026-08-21
6
+
7
+ ### Changed
8
+
9
+ - Peers and dev/test pins bumped `0.1.0-rc.7` → `0.1.0-rc.8` (npm `next` moved; the batch rc8 compatibility release). Peer specs now use the `>=0.1.0-rc.8 <0.2.0` range form; runtime `dependencies` and `devDependencies` pin the exact `0.1.0-rc.8` line, and `dshWorkshop.dshVersions` lists `0.1.0-rc.8`.
10
+ - `isUnmarkedHostVersion` bound extended to `0.1.0-rc.8`: the rc.8 release still drops the `ignorable` envelope marker (the stamping fix exists on harness master only), so rc.8 hosts are detected BEFORE the first append and session-log audit degrades to the in-memory mirror instead of polluting the log with an unmarked `autoReview/*` event. Docs (five-language READMEs, AGENTS.md) and the README compatibility table updated to the rc.8 line.
11
+ - `scripts/check-host-versions.mjs` now accepts both exact (`0.1.0-rc.N`) and range (`>=0.1.0-rc.N <0.2.0`) peer pins and fails when they no longer cover the newest rc line published by `@deepseek-ai/dsh` (on `latest` or `next`).
12
+
13
+ ## [0.5.2] — 2026-08-19
14
+
15
+ ### Fixed
16
+
17
+ - The circuit breaker's deferred abort-turn `setTimeout(…, 0)` is now tracked by the runtime and cleared through a teardown effect when the plugin fiber unloads — an unload inside the macro-task window can no longer fire a stale `agent.cancel` against a disposed composition.
18
+
5
19
  ## [0.5.1] — 2026-08-17
6
20
 
7
21
  ### Fixed
package/README.es.md CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  | Superficie | Estado |
26
26
  |---|---|
27
- | Harness | DeepSeek Harness `0.1.0-rc.7` (peers fijados a `0.1.0-rc.7`) |
27
+ | Harness | DeepSeek Harness `0.1.0-rc.8` (peers fijados a `0.1.0-rc.8`) |
28
28
  | Node | `^22.19.0 \|\| >=24.0.0` |
29
29
  | Plataformas | Todas (answerer de host; panel web opcional mediante la capacidad de proyección de sesión) |
30
30
  | Modelo | Cualquiera (el revisor hereda la ruta del agente de sesión; `reviewerModel` la reemplaza) |
@@ -216,7 +216,7 @@ Puerta de CI: el proceso sale con 0 solo cuando todos los casos de todas las sui
216
216
 
217
217
  - **Permisos**: el manifiesto del workshop declara `session:append`, `approval:answer`, `subagent:spawn`, `command:register` y `tools:observe`.
218
218
  - **Datos**: nada se guarda en disco; el búfer circular de informes está en memoria y acotado. Sin peticiones de red propias.
219
- - **Registro de sesión**: los eventos `autoReview/*` llevan identidad del revisor, veredicto, razón, riesgo y duración — añadidos con el marcador de sobre `ignorable: true` para que cualquier compilación cargue el registro. Los hosts cuyo `Session.append` es anterior al marcador (todas las líneas rc publicadas hasta `0.1.0-rc.7` — ninguna versión lo estampa aún) se detectan antes del primer append (precomprobación de la versión del peer y luego sondeo del sobre devuelto) y la auditoría se degrada a un espejo en memoria con comentarios sin marcador, de modo que las sesiones siguen siendo cargables en todas partes.
219
+ - **Registro de sesión**: los eventos `autoReview/*` llevan identidad del revisor, veredicto, razón, riesgo y duración — añadidos con el marcador de sobre `ignorable: true` para que cualquier compilación cargue el registro. Los hosts cuyo `Session.append` es anterior al marcador (todas las líneas rc publicadas hasta `0.1.0-rc.8` — ninguna versión lo estampa aún) se detectan antes del primer append (precomprobación de la versión del peer y luego sondeo del sobre devuelto) y la auditoría se degrada a un espejo en memoria con comentarios sin marcador, de modo que las sesiones siguen siendo cargables en todas partes.
220
220
 
221
221
  ## Límites de seguridad
222
222
 
@@ -236,7 +236,7 @@ Puerta de CI: el proceso sale con 0 solo cuando todos los casos de todas las sui
236
236
  - Las reglas de riesgo emparejan el `reason` de la solicitud, el `toolName` o los `arguments` redactados de la llamada según su `field`; otras condiciones van en `toolsPolicy.overrides`.
237
237
  - La anulación `/auto-review approve` autoriza la siguiente revisión de la misma herramienta, no la llamada histórica exacta; una acción diferente sobre la misma herramienta la consume.
238
238
  - Los eventos de veredicto son solo-registro; el panel web de revisión lee la proyección `autoReview` plegada (el flujo crudo de eventos nunca llega a los plugins del navegador).
239
- - `autoReview/state` y `autoReview/verdict` se añaden con el marcador de sobre `ignorable: true` en hosts que lo respetan, de modo que cualquier compilación del harness carga el registro — los lectores que no conocen los tipos fuera del repo simplemente omiten esos registros. En hosts rc publicados (rc.1–rc.7) el runtime detecta el marcador descartado y nunca escribe estos eventos (el espejo en memoria mantiene el comando, los presupuestos, el disyuntor y `approve` durante la sesión); las sesiones ya contaminadas por versiones anteriores a 0.5.1 pueden repararse con `scripts/repair-session-logs.mjs` de `dsh-permission-rules` (su conjunto de tipos por defecto cubre los cinco eventos `autoReview/*`).
239
+ - `autoReview/state` y `autoReview/verdict` se añaden con el marcador de sobre `ignorable: true` en hosts que lo respetan, de modo que cualquier compilación del harness carga el registro — los lectores que no conocen los tipos fuera del repo simplemente omiten esos registros. En hosts rc publicados (rc.1–rc.8) el runtime detecta el marcador descartado y nunca escribe estos eventos (el espejo en memoria mantiene el comando, los presupuestos, el disyuntor y `approve` durante la sesión); las sesiones ya contaminadas por versiones anteriores a 0.5.1 pueden repararse con `scripts/repair-session-logs.mjs` de `dsh-permission-rules` (su conjunto de tipos por defecto cubre los cinco eventos `autoReview/*`).
240
240
  - El canal git necesita la única clave `allowBuilds` que el CLI de `dsh` imprime para el propio `dsh-auto-review`. El repo incluye su propio `pnpm-workspace.yaml` con `allowBuilds: { esbuild: true }`; `typescript` + `tsdown` son `dependencies` regulares.
241
241
  - El compañero invariant opcional necesita el servicio `invariants` (composiciones agent-spine como headless/ACP); el perfil web plano no lo proporciona, por lo que la fila se incluye comentada en el parche del bundle.
242
242
 
package/README.hi.md CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  | सतह | स्थिति |
26
26
  |---|---|
27
- | Harness | DeepSeek Harness `0.1.0-rc.7` (peers `0.1.0-rc.7` पर पिन किए गए) |
27
+ | Harness | DeepSeek Harness `0.1.0-rc.8` (peers `0.1.0-rc.8` पर पिन किए गए) |
28
28
  | Node | `^22.19.0 \|\| >=24.0.0` |
29
29
  | प्लेटफ़ॉर्म | सभी (होस्ट answerer; सत्र-प्रोजेक्शन क्षमता के ज़रिए वैकल्पिक वेब समीक्षा पैनल) |
30
30
  | मॉडल | कोई भी (समीक्षक सत्र एजेंट का मार्ग विरासत में लेता है; `reviewerModel` उसे बदल देता है) |
@@ -216,7 +216,7 @@ CI द्वार: प्रक्रिया केवल तभी 0 से
216
216
 
217
217
  - **अनुमतियाँ**: workshop मेनिफ़ेस्ट `session:append`, `approval:answer`, `subagent:spawn`, `command:register` और `tools:observe` घोषित करता है।
218
218
  - **डेटा**: डिस्क पर कुछ नहीं लिखा जाता; रिपोर्ट रिंग बफ़र मेमोरी में और सीमित है। अपनी ओर से कोई नेटवर्क अनुरोध नहीं।
219
- - **सत्र लॉग**: `autoReview/*` घटनाएँ समीक्षक पहचान, निर्णय, कारण, जोखिम और अवधि रखती हैं — लिफ़ाफ़े के `ignorable: true` मार्कर के साथ जोड़ी जाती हैं ताकि कोई भी बिल्ड लॉग लोड कर सके। जिन होस्ट का `Session.append` मार्कर से पुराना है (`0.1.0-rc.7` तक की हर रिलीज़ rc लाइन — कोई रिलीज़ अभी मार्कर नहीं छापती) उन्हें पहले append से पहले ही पहचान लिया जाता है (peer संस्करण पूर्व-जाँच, फिर लौटे लिफ़ाफ़े की जाँच) और ऑडिट बिना मार्कर वाले फीडबैक के साथ इन-मेमोरी मिरर में डिग्रेड हो जाता है — सत्र हर जगह लोड होने योग्य रहते हैं।
219
+ - **सत्र लॉग**: `autoReview/*` घटनाएँ समीक्षक पहचान, निर्णय, कारण, जोखिम और अवधि रखती हैं — लिफ़ाफ़े के `ignorable: true` मार्कर के साथ जोड़ी जाती हैं ताकि कोई भी बिल्ड लॉग लोड कर सके। जिन होस्ट का `Session.append` मार्कर से पुराना है (`0.1.0-rc.8` तक की हर रिलीज़ rc लाइन — कोई रिलीज़ अभी मार्कर नहीं छापती) उन्हें पहले append से पहले ही पहचान लिया जाता है (peer संस्करण पूर्व-जाँच, फिर लौटे लिफ़ाफ़े की जाँच) और ऑडिट बिना मार्कर वाले फीडबैक के साथ इन-मेमोरी मिरर में डिग्रेड हो जाता है — सत्र हर जगह लोड होने योग्य रहते हैं।
220
220
 
221
221
  ## सुरक्षा सीमाएँ
222
222
 
@@ -236,7 +236,7 @@ CI द्वार: प्रक्रिया केवल तभी 0 से
236
236
  - जोखिम नियम अपने `field` के अनुसार अनुरोध के `reason`, `toolName` या संशोधित कॉल `arguments` से मिलते हैं; बाकी शर्तें `toolsPolicy.overrides` में रखें।
237
237
  - `/auto-review approve` ओवरराइड उसी टूल की अगली समीक्षा को अधिकृत करता है, उस सटीक ऐतिहासिक कॉल को नहीं; उसी टूल पर एक भिन्न क्रिया उसे उपभोग कर लेती है।
238
238
  - निर्णय घटनाएँ केवल-लॉग हैं; वेब समीक्षा पैनल मुड़ा हुआ `autoReview` प्रोजेक्शन पढ़ता है (कच्ची घटना धारा ब्राउज़र प्लगइन तक कभी नहीं पहुँचती)।
239
- - मार्कर का सम्मान करने वाले होस्ट पर `autoReview/state` और `autoReview/verdict` लिफ़ाफ़े के `ignorable: true` मार्कर के साथ जोड़े जाते हैं, ताकि कोई भी harness बिल्ड लॉग लोड करे — जो पाठक रेपो-बाहरी प्रकारों को नहीं जानते वे उन रिकॉर्ड को बस छोड़ देते हैं। रिलीज़ किए गए rc होस्ट (rc.1–rc.7) पर runtime छूटे मार्कर का पता लगाकर ये घटनाएँ कभी नहीं लिखता (इन-मेमोरी मिरर कमांड, बजट, ब्रेकर और `approve` को सत्र भर बनाए रखता है); 0.5.1 से पहले के संस्करणों से दूषित सत्र `dsh-permission-rules` के `scripts/repair-session-logs.mjs` से मरम्मत किए जा सकते हैं (इसका डिफ़ॉल्ट सेट सभी पाँच `autoReview/*` घटना प्रकारों को कवर करता है)।
239
+ - मार्कर का सम्मान करने वाले होस्ट पर `autoReview/state` और `autoReview/verdict` लिफ़ाफ़े के `ignorable: true` मार्कर के साथ जोड़े जाते हैं, ताकि कोई भी harness बिल्ड लॉग लोड करे — जो पाठक रेपो-बाहरी प्रकारों को नहीं जानते वे उन रिकॉर्ड को बस छोड़ देते हैं। रिलीज़ किए गए rc होस्ट (rc.1–rc.8) पर runtime छूटे मार्कर का पता लगाकर ये घटनाएँ कभी नहीं लिखता (इन-मेमोरी मिरर कमांड, बजट, ब्रेकर और `approve` को सत्र भर बनाए रखता है); 0.5.1 से पहले के संस्करणों से दूषित सत्र `dsh-permission-rules` के `scripts/repair-session-logs.mjs` से मरम्मत किए जा सकते हैं (इसका डिफ़ॉल्ट सेट सभी पाँच `autoReview/*` घटना प्रकारों को कवर करता है)।
240
240
  - git चैनल को वह एकल `allowBuilds` कुंजी चाहिए जो `dsh` CLI स्वयं `dsh-auto-review` के लिए छापता है। रेपो अपना `pnpm-workspace.yaml` `allowBuilds: { esbuild: true }` के साथ शिप करता है; `typescript` + `tsdown` नियमित `dependencies` हैं।
241
241
  - वैकल्पिक invariant साथी को `invariants` सेवा चाहिए (agent-spine रचनाएँ जैसे headless/ACP); सादा web प्रोफ़ाइल वह नहीं देता, इसलिए पंक्ति बंडल पैच में टिप्पणी-बंद शिप होती है।
242
242
 
package/README.md CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  | Surface | Status |
26
26
  |---|---|
27
- | Harness | DeepSeek Harness `0.1.0-rc.7` (peers pinned to `0.1.0-rc.7`) |
27
+ | Harness | DeepSeek Harness `0.1.0-rc.8` (peers pinned to `0.1.0-rc.8`) |
28
28
  | Node | `^22.19.0 \|\| >=24.0.0` |
29
29
  | Platforms | All (host answerer; optional Web review panel via the session-projection capability) |
30
30
  | Model | Any (the reviewer inherits the session agent's route; `reviewerModel` overrides) |
@@ -216,7 +216,7 @@ CI gate: the process exits 0 only when every case of every suite passed — drop
216
216
 
217
217
  - **Permissions**: the workshop manifest declares `session:append`, `approval:answer`, `subagent:spawn`, `command:register`, and `tools:observe`.
218
218
  - **Data**: nothing is stored on disk; the report ring buffer is in-memory and bounded. No network requests of its own.
219
- - **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.0-rc.7` — no release stamps it yet) are detected before the first append (peer-version pre-check, then a probe of the returned envelope) and audit degrades to an in-memory mirror with marker-free feedback, so sessions stay loadable everywhere.
219
+ - **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.0-rc.8` — no release stamps it yet) are detected before the first append (peer-version pre-check, then a probe of the returned envelope) and audit degrades to an in-memory mirror with marker-free feedback, so sessions stay loadable everywhere.
220
220
 
221
221
  ## Security boundaries
222
222
 
@@ -236,7 +236,7 @@ CI gate: the process exits 0 only when every case of every suite passed — drop
236
236
  - Risk rules match the request `reason`, the `toolName`, or the redacted call `arguments` per their `field`; other conditions belong in `toolsPolicy.overrides`.
237
237
  - The `/auto-review approve` override authorizes the next same-tool review, not the exact historical call; a different action on the same tool consumes it.
238
238
  - The verdict events are log-only; the Web review panel reads the folded `autoReview` projection (the raw event stream never reaches browser plugins).
239
- - `autoReview/state` and `autoReview/verdict` are appended with the envelope's `ignorable: true` marker on hosts that honor it, so any harness build loads the log — readers that do not know the out-of-repo types simply skip those records. On released rc hosts (rc.1–rc.7) the runtime detects the dropped marker and never writes these events (the in-memory mirror keeps the command, budgets, breaker, and `approve` working for the session); sessions already polluted by pre-0.5.1 versions can be repaired with `scripts/repair-session-logs.mjs` from `dsh-permission-rules` (its default target set covers all five `autoReview/*` event types).
239
+ - `autoReview/state` and `autoReview/verdict` are appended with the envelope's `ignorable: true` marker on hosts that honor it, so any harness build loads the log — readers that do not know the out-of-repo types simply skip those records. On released rc hosts (rc.1–rc.8) the runtime detects the dropped marker and never writes these events (the in-memory mirror keeps the command, budgets, breaker, and `approve` working for the session); sessions already polluted by pre-0.5.1 versions can be repaired with `scripts/repair-session-logs.mjs` from `dsh-permission-rules` (its default target set covers all five `autoReview/*` event types).
240
240
  - The git channel needs the single `allowBuilds` key the `dsh` CLI prints for `dsh-auto-review` itself. The repo ships its own `pnpm-workspace.yaml` with `allowBuilds: { esbuild: true }`; `typescript` + `tsdown` are regular `dependencies`.
241
241
  - The optional invariant companion needs the `invariants` service (agent-spine compositions such as headless/ACP); the plain web profile does not provide it, so the row ships commented out in the bundle patch.
242
242
 
package/README.pt.md CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  | Superfície | Status |
26
26
  |---|---|
27
- | Harness | DeepSeek Harness `0.1.0-rc.7` (peers fixados em `0.1.0-rc.7`) |
27
+ | Harness | DeepSeek Harness `0.1.0-rc.8` (peers fixados em `0.1.0-rc.8`) |
28
28
  | Node | `^22.19.0 \|\| >=24.0.0` |
29
29
  | Plataformas | Todas (answerer de host; painel web opcional via capacidade de projeção de sessão) |
30
30
  | Modelo | Qualquer (o revisor herda a rota do agente da sessão; `reviewerModel` sobrescreve) |
@@ -216,7 +216,7 @@ Portão de CI: o processo sai com 0 somente quando todos os casos de todas as su
216
216
 
217
217
  - **Permissões**: o manifesto do workshop declara `session:append`, `approval:answer`, `subagent:spawn`, `command:register` e `tools:observe`.
218
218
  - **Dados**: nada é gravado em disco; o buffer circular de relatórios fica em memória e é limitado. Sem requisições de rede próprias.
219
- - **Log de sessão**: os eventos `autoReview/*` carregam identidade do revisor, veredito, razão, risco e duração — anexados com o marcador de envelope `ignorable: true` para que qualquer build carregue o log. Hosts cujo `Session.append` é anterior ao marcador (todas as linhas rc publicadas até `0.1.0-rc.7` — nenhuma versão o estampa ainda) são detectados antes do primeiro append (pré-checagem da versão do peer e, em seguida, sondagem do envelope retornado) e a auditoria degrada para um espelho em memória com feedback sem marcador, mantendo as sessões carregáveis em qualquer lugar.
219
+ - **Log de sessão**: os eventos `autoReview/*` carregam identidade do revisor, veredito, razão, risco e duração — anexados com o marcador de envelope `ignorable: true` para que qualquer build carregue o log. Hosts cujo `Session.append` é anterior ao marcador (todas as linhas rc publicadas até `0.1.0-rc.8` — nenhuma versão o estampa ainda) são detectados antes do primeiro append (pré-checagem da versão do peer e, em seguida, sondagem do envelope retornado) e a auditoria degrada para um espelho em memória com feedback sem marcador, mantendo as sessões carregáveis em qualquer lugar.
220
220
 
221
221
  ## Limites de segurança
222
222
 
@@ -236,7 +236,7 @@ Portão de CI: o processo sai com 0 somente quando todos os casos de todas as su
236
236
  - Regras de risco emparelham o `reason` da solicitação, o `toolName` ou os `arguments` redigidos da chamada conforme seu `field`; outras condições pertencem a `toolsPolicy.overrides`.
237
237
  - A anulação `/auto-review approve` autoriza a próxima revisão da mesma ferramenta, não a chamada histórica exata; uma ação diferente na mesma ferramenta a consome.
238
238
  - Os eventos de veredito são somente-log; o painel web de revisão lê a projeção `autoReview` dobrada (o fluxo bruto de eventos nunca chega aos plugins do navegador).
239
- - `autoReview/state` e `autoReview/verdict` são anexados com o marcador de envelope `ignorable: true` em hosts que o respeitam, para que qualquer build do harness carregue o log — leitores que não conhecem os tipos fora do repo simplesmente pulam esses registros. Em hosts rc publicados (rc.1–rc.7) o runtime detecta o marcador descartado e nunca escreve esses eventos (o espelho em memória mantém o comando, os orçamentos, o disjuntor e `approve` durante a sessão); sessões já poluídas por versões anteriores a 0.5.1 podem ser reparadas com `scripts/repair-session-logs.mjs` de `dsh-permission-rules` (seu conjunto padrão cobre os cinco tipos de evento `autoReview/*`).
239
+ - `autoReview/state` e `autoReview/verdict` são anexados com o marcador de envelope `ignorable: true` em hosts que o respeitam, para que qualquer build do harness carregue o log — leitores que não conhecem os tipos fora do repo simplesmente pulam esses registros. Em hosts rc publicados (rc.1–rc.8) o runtime detecta o marcador descartado e nunca escreve esses eventos (o espelho em memória mantém o comando, os orçamentos, o disjuntor e `approve` durante a sessão); sessões já poluídas por versões anteriores a 0.5.1 podem ser reparadas com `scripts/repair-session-logs.mjs` de `dsh-permission-rules` (seu conjunto padrão cobre os cinco tipos de evento `autoReview/*`).
240
240
  - O canal git precisa da única chave `allowBuilds` que o CLI do `dsh` imprime para o próprio `dsh-auto-review`. O repo envia seu próprio `pnpm-workspace.yaml` com `allowBuilds: { esbuild: true }`; `typescript` + `tsdown` são `dependencies` regulares.
241
241
  - O companheiro invariant opcional precisa do serviço `invariants` (composições agent-spine como headless/ACP); o perfil web simples não o fornece, então a linha é enviada comentada no patch do bundle.
242
242
 
package/README.zh.md CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  | 方面 | 状态 |
26
26
  |---|---|
27
- | Harness | DeepSeek Harness `0.1.0-rc.7`(peer 依赖锁定在 `0.1.0-rc.7`) |
27
+ | Harness | DeepSeek Harness `0.1.0-rc.8`(peer 依赖锁定在 `0.1.0-rc.8`) |
28
28
  | Node | `^22.19.0 \|\| >=24.0.0` |
29
29
  | 平台 | 全部(宿主 answerer;可选 Web 审查面板,依赖会话投影能力) |
30
30
  | 模型 | 任意(审查器默认继承会话代理的路由;`reviewerModel` 可覆盖) |
@@ -216,7 +216,7 @@ CI 门禁:仅当每个套件的每个用例都通过时,进程才以 0 退
216
216
 
217
217
  - **权限**:workshop 清单声明 `session:append`、`approval:answer`、`subagent:spawn`、`command:register` 与 `tools:observe`。
218
218
  - **数据**:不向磁盘写入任何内容;报告环形缓冲在内存中且有界。自身不发起网络请求。
219
- - **会话日志**:`autoReview/*` 事件携带审查器身份、裁决、理由、风险与耗时 —— 以信封 `ignorable: true` 标记追加,任何构建都能加载日志。`Session.append` 早于该标记的宿主(迄今发布的所有 rc 版本,至 `0.1.0-rc.7`——任何发布版都还未盖标记)会在首次追加前被探测出来(peer 版本预检 + 返回信封探测),审计降级为内存镜像 + 无标记反馈,会话日志始终保持可加载。
219
+ - **会话日志**:`autoReview/*` 事件携带审查器身份、裁决、理由、风险与耗时 —— 以信封 `ignorable: true` 标记追加,任何构建都能加载日志。`Session.append` 早于该标记的宿主(迄今发布的所有 rc 版本,至 `0.1.0-rc.8`——任何发布版都还未盖标记)会在首次追加前被探测出来(peer 版本预检 + 返回信封探测),审计降级为内存镜像 + 无标记反馈,会话日志始终保持可加载。
220
220
 
221
221
  ## 安全边界
222
222
 
@@ -236,7 +236,7 @@ CI 门禁:仅当每个套件的每个用例都通过时,进程才以 0 退
236
236
  - 风险规则按各自的 `field` 匹配请求的 `reason`、`toolName` 或脱敏后的调用 `arguments`;其他条件应放入 `toolsPolicy.overrides`。
237
237
  - `/auto-review approve` 覆盖授权的是下一次对同一工具的审查,而不是那次确切的历史调用;同一工具上的不同操作也会消耗它。
238
238
  - 裁决事件是仅日志的;Web 审查面板读取折叠后的 `autoReview` 投影(原始事件流绝不会到达浏览器插件)。
239
- - `autoReview/state` 与 `autoReview/verdict` 在支持标记的宿主上以信封 `ignorable: true` 追加,任何 harness 构建都能加载日志 —— 不认识这些仓库外类型的读取方直接跳过这些记录。已发布的 rc 宿主(rc.1–rc.7)上运行时会检测到标记被丢弃并完全不写这些事件(内存镜像继续提供命令、预算、熔断器与 `approve`);pre-0.5.1 版本污染的会话可用 `dsh-permission-rules` 的 `scripts/repair-session-logs.mjs` 修复(其默认目标集已覆盖全部五种 `autoReview/*` 事件)。
239
+ - `autoReview/state` 与 `autoReview/verdict` 在支持标记的宿主上以信封 `ignorable: true` 追加,任何 harness 构建都能加载日志 —— 不认识这些仓库外类型的读取方直接跳过这些记录。已发布的 rc 宿主(rc.1–rc.8)上运行时会检测到标记被丢弃并完全不写这些事件(内存镜像继续提供命令、预算、熔断器与 `approve`);pre-0.5.1 版本污染的会话可用 `dsh-permission-rules` 的 `scripts/repair-session-logs.mjs` 修复(其默认目标集已覆盖全部五种 `autoReview/*` 事件)。
240
240
  - git 渠道需要 `dsh` CLI 为 `dsh-auto-review` 打印的那个 `allowBuilds` 键。仓库自带 `pnpm-workspace.yaml`,声明 `allowBuilds: { esbuild: true }`;`typescript` + `tsdown` 是普通 `dependencies`。
241
241
  - 可选的 invariant 配套插件需要 `invariants` 服务(agent-spine 组合,如 headless/ACP);普通 web profile 不提供该服务,所以该行在 bundle 补丁中默认被注释。
242
242
 
package/lib/index.js CHANGED
@@ -35,7 +35,7 @@ function isMarkedAuditEvent(result) {
35
35
  /**
36
36
  * Whether a `@deepseek-ai/dsh-session` version line predates the
37
37
  * `ignorable` envelope-marker surface: every released rc line through
38
- * `0.1.0-rc.7` silently drops the marker from `Session.append` options
38
+ * `0.1.0-rc.8` silently drops the marker from `Session.append` options
39
39
  * (the stamping fix exists on harness master only — no release carries it
40
40
  * yet), so audit events written by those builds land unmarked and break
41
41
  * resume on stricter hosts. Extend the bound when a new rc line ships that
@@ -43,12 +43,12 @@ function isMarkedAuditEvent(result) {
43
43
  * versions are treated as possibly-marker-aware and verified by the append
44
44
  * probe.
45
45
  * @param version - the installed peer version string.
46
- * @returns true for the known-unmarked rc.1–rc.7 lines.
46
+ * @returns true for the known-unmarked rc.1–rc.8 lines.
47
47
  */
48
48
  function isUnmarkedHostVersion(version) {
49
49
  const match = /^0\.1\.0-rc\.(\d+)$/.exec(version.trim());
50
50
  if (match === null) return false;
51
- return Number(match[1]) <= 7;
51
+ return Number(match[1]) <= 8;
52
52
  }
53
53
  /**
54
54
  * The installed `@deepseek-ai/dsh-session` version, or `null` when
@@ -4944,7 +4944,8 @@ function policyFor(config, request, argumentsText) {
4944
4944
  }
4945
4945
  /**
4946
4946
  * Answerer state and behavior. One instance per plugin mount; disposals are
4947
- * owned by the ctx.on / commands.register effects in {@link apply}.
4947
+ * owned by the ctx.on / commands.register effects in {@link apply}, plus the
4948
+ * teardown effect that clears the pending circuit-breaker timers.
4948
4949
  */
4949
4950
  var AutoReviewRuntime = class AutoReviewRuntime {
4950
4951
  ctx;
@@ -4959,6 +4960,8 @@ var AutoReviewRuntime = class AutoReviewRuntime {
4959
4960
  memory = /* @__PURE__ */ new WeakMap();
4960
4961
  /** The one-time warning that session-log audit was disabled was already logged. */
4961
4962
  warnedUnmarked = false;
4963
+ /** Pending circuit-breaker abort-turn timers, cleared when the plugin unloads. */
4964
+ pendingAborts = /* @__PURE__ */ new Set();
4962
4965
  constructor(ctx, config) {
4963
4966
  this.ctx = ctx;
4964
4967
  this.config = config;
@@ -5321,12 +5324,14 @@ var AutoReviewRuntime = class AutoReviewRuntime {
5321
5324
  plugin: "auto-review"
5322
5325
  }
5323
5326
  }));
5324
- setTimeout(() => {
5327
+ const timer = setTimeout(() => {
5328
+ this.pendingAborts.delete(timer);
5325
5329
  request.agent.cancel({
5326
5330
  kind: "hook",
5327
5331
  reason: `auto-review circuit breaker: ${trip.kind} ${trip.count}`
5328
5332
  });
5329
5333
  }, 0);
5334
+ this.pendingAborts.add(timer);
5330
5335
  }
5331
5336
  }
5332
5337
  /**
@@ -5507,6 +5512,11 @@ var AutoReviewRuntime = class AutoReviewRuntime {
5507
5512
  text: t.approveResult(target.toolName, String(target.reviewId), Math.round(this.config.overrideTtlMs / 6e4))
5508
5513
  };
5509
5514
  }
5515
+ /** Clear every pending circuit-breaker abort-turn timer; called by the plugin fiber's teardown effect. */
5516
+ dispose() {
5517
+ for (const timer of this.pendingAborts) clearTimeout(timer);
5518
+ this.pendingAborts.clear();
5519
+ }
5510
5520
  };
5511
5521
  /**
5512
5522
  * Mount the plugin: resolve config, register the answerer and the
@@ -5520,6 +5530,7 @@ var AutoReviewRuntime = class AutoReviewRuntime {
5520
5530
  function apply(ctx, config) {
5521
5531
  const resolved = resolveConfig(config);
5522
5532
  const runtime = new AutoReviewRuntime(ctx, resolved);
5533
+ ctx.effect(() => () => runtime.dispose(), "dsh-auto-review: runtime teardown");
5523
5534
  ctx.provide("autoReviewRuntime", runtime);
5524
5535
  ctx.on("approval/request", (request, next) => runtime.answer(request, next));
5525
5536
  ctx.on("tools/post-execute", (exec, result, next) => runtime.injectDenyReason(exec, result, next));
@@ -28,7 +28,7 @@ export declare function isMarkedAuditEvent(result: unknown): boolean;
28
28
  /**
29
29
  * Whether a `@deepseek-ai/dsh-session` version line predates the
30
30
  * `ignorable` envelope-marker surface: every released rc line through
31
- * `0.1.0-rc.7` silently drops the marker from `Session.append` options
31
+ * `0.1.0-rc.8` silently drops the marker from `Session.append` options
32
32
  * (the stamping fix exists on harness master only — no release carries it
33
33
  * yet), so audit events written by those builds land unmarked and break
34
34
  * resume on stricter hosts. Extend the bound when a new rc line ships that
@@ -36,7 +36,7 @@ export declare function isMarkedAuditEvent(result: unknown): boolean;
36
36
  * versions are treated as possibly-marker-aware and verified by the append
37
37
  * probe.
38
38
  * @param version - the installed peer version string.
39
- * @returns true for the known-unmarked rc.1–rc.7 lines.
39
+ * @returns true for the known-unmarked rc.1–rc.8 lines.
40
40
  */
41
41
  export declare function isUnmarkedHostVersion(version: string): boolean;
42
42
  /**
@@ -29,7 +29,7 @@ export function isMarkedAuditEvent(result) {
29
29
  /**
30
30
  * Whether a `@deepseek-ai/dsh-session` version line predates the
31
31
  * `ignorable` envelope-marker surface: every released rc line through
32
- * `0.1.0-rc.7` silently drops the marker from `Session.append` options
32
+ * `0.1.0-rc.8` silently drops the marker from `Session.append` options
33
33
  * (the stamping fix exists on harness master only — no release carries it
34
34
  * yet), so audit events written by those builds land unmarked and break
35
35
  * resume on stricter hosts. Extend the bound when a new rc line ships that
@@ -37,13 +37,13 @@ export function isMarkedAuditEvent(result) {
37
37
  * versions are treated as possibly-marker-aware and verified by the append
38
38
  * probe.
39
39
  * @param version - the installed peer version string.
40
- * @returns true for the known-unmarked rc.1–rc.7 lines.
40
+ * @returns true for the known-unmarked rc.1–rc.8 lines.
41
41
  */
42
42
  export function isUnmarkedHostVersion(version) {
43
43
  const match = /^0\.1\.0-rc\.(\d+)$/.exec(version.trim());
44
44
  if (match === null)
45
45
  return false;
46
- return Number(match[1]) <= 7;
46
+ return Number(match[1]) <= 8;
47
47
  }
48
48
  /**
49
49
  * The installed `@deepseek-ai/dsh-session` version, or `null` when
@@ -10,7 +10,7 @@
10
10
  */
11
11
  import { type ReactNode } from 'react';
12
12
  import type { InjectFace, PropsLocale, PropsRuntime } from '@deepseek-ai/dsh-client-ui-slots';
13
- import { NS } from './locales.ts';
13
+ import { NS } from './locales.js';
14
14
  /** Registration-side injected face: the approve action for one recent denial. */
15
15
  export interface ReviewPanelInjected {
16
16
  /** Approve the n-th most recent denial (1 = most recent); resolves with the command result text. */
@@ -8,16 +8,16 @@
8
8
  * @module dsh-auto-review/client
9
9
  */
10
10
  import type { ClientContext } from '@deepseek-ai/dsh-client-runtime/client';
11
- import { type ReviewPanelLocaleKey } from './locales.ts';
11
+ import { type ReviewPanelLocaleKey } from './locales.js';
12
12
  declare module '@deepseek-ai/dsh-client-ui-slots' {
13
13
  interface LocaleNamespaceMap {
14
14
  /** Review panel copy. */
15
15
  'autoReviewPanel': ReviewPanelLocaleKey;
16
16
  }
17
17
  }
18
- export type { ReviewPanelProps, ReviewPanelInjected } from './ReviewPanel.tsx';
19
- export type { ReviewPanelLocaleKey } from './locales.ts';
20
- export { presentVerdict, type PresentedVerdict, type VerdictTone } from './present.ts';
18
+ export type { ReviewPanelProps, ReviewPanelInjected } from './ReviewPanel.js';
19
+ export type { ReviewPanelLocaleKey } from './locales.js';
20
+ export { presentVerdict, type PresentedVerdict, type VerdictTone } from './present.js';
21
21
  /** Plugin name: matches the package name, the graph row id, and the bundle id. */
22
22
  export declare const name = "dsh-auto-review";
23
23
  /** Services the panel reads; `remote.commands` is mounted by the api-remotes client. */
@@ -4,7 +4,7 @@
4
4
  * owns layout and interaction; this module owns the text.
5
5
  * @module dsh-auto-review/client/present
6
6
  */
7
- import type { AutoReviewVerdictView } from '../projection-types.ts';
7
+ import type { AutoReviewVerdictView } from '../projection-types.js';
8
8
  /** Badge tones the component maps to scoped styles. */
9
9
  export type VerdictTone = 'allow' | 'deny' | 'fallback' | 'escalation';
10
10
  /** One presented verdict row. */
@@ -5,7 +5,7 @@
5
5
  * @module dsh-auto-review/config
6
6
  */
7
7
  import z from '@deepseek-ai/schemastery';
8
- import type { UiLanguage } from './messages.ts';
8
+ import type { UiLanguage } from './messages.js';
9
9
  /**
10
10
  * What one approval request does at the auto-review answerer:
11
11
  *
@@ -5,8 +5,8 @@
5
5
  * so reports can explain WHY a case failed without rerunning it.
6
6
  * @module dsh-auto-review/eval/assert
7
7
  */
8
- import type { EvalCase, ToolCallExpectation } from './dsl.ts';
9
- import type { CaseTrace } from './trace.ts';
8
+ import type { EvalCase, ToolCallExpectation } from './dsl.js';
9
+ import type { CaseTrace } from './trace.js';
10
10
  /** One evaluated assertion. */
11
11
  export interface AssertionResult {
12
12
  /** Stable id inside the case (`toolCalls[0]`, `results[1]`, `output.contains`, …). */
@@ -6,10 +6,10 @@
6
6
  * shipped `eval/cordis.yml` composition and drives the engine.
7
7
  * @module dsh-auto-review/eval
8
8
  */
9
- export * from './dsl.ts';
10
- export * from './trace.ts';
11
- export * from './assert.ts';
12
- export * from './review.ts';
13
- export * from './runner.ts';
14
- export * from './report.ts';
9
+ export * from './dsl.js';
10
+ export * from './trace.js';
11
+ export * from './assert.js';
12
+ export * from './review.js';
13
+ export * from './runner.js';
14
+ export * from './report.js';
15
15
  //# sourceMappingURL=index.d.ts.map
@@ -6,7 +6,7 @@
6
6
  * data — no live DSH references.
7
7
  * @module dsh-auto-review/eval/report
8
8
  */
9
- import type { SuiteReport } from './runner.ts';
9
+ import type { SuiteReport } from './runner.js';
10
10
  /** The CI gate: exit 0 exactly when every case passed. */
11
11
  export declare function exitCodeFor(report: SuiteReport): number;
12
12
  /** Render the complete Markdown report. */
@@ -14,8 +14,8 @@
14
14
  import type { Agent } from '@deepseek-ai/dsh-agent';
15
15
  import type { Context } from '@deepseek-ai/cordis';
16
16
  import { type ObjectJsonSchema } from '@deepseek-ai/dsh-tools';
17
- import type { EvalCase } from './dsl.ts';
18
- import type { CaseTrace } from './trace.ts';
17
+ import type { EvalCase } from './dsl.js';
18
+ import type { CaseTrace } from './trace.js';
19
19
  /** A second-model evaluation verdict. */
20
20
  export interface EvalReviewVerdict {
21
21
  readonly pass: boolean;
@@ -19,11 +19,11 @@
19
19
  import type { Context } from '@deepseek-ai/cordis';
20
20
  import type { AgentHandle } from '@deepseek-ai/dsh-agent';
21
21
  import type { SessionHeader, SessionEvent } from '@deepseek-ai/dsh-session';
22
- import type { ResolvedConfig } from '../config.ts';
23
- import type { AssertionResult } from './assert.ts';
24
- import type { EvalSuite } from './dsl.ts';
25
- import type { CaseTrace } from './trace.ts';
26
- import type { EvalReviewConfig } from './review.ts';
22
+ import type { ResolvedConfig } from '../config.js';
23
+ import type { AssertionResult } from './assert.js';
24
+ import type { EvalSuite } from './dsl.js';
25
+ import type { CaseTrace } from './trace.js';
26
+ import type { EvalReviewConfig } from './review.js';
27
27
  /** One case's terminal status. */
28
28
  export type CaseStatus = 'pass' | 'fail' | 'error' | 'cancelled';
29
29
  /** The second-model review record inside a case result. */
@@ -14,7 +14,7 @@ import type { Branded } from '@deepseek-ai/dsh-brand';
14
14
  import type { CallId } from '@deepseek-ai/dsh-llm';
15
15
  import type { SessionEvent, SessionEventMap, SessionId } from '@deepseek-ai/dsh-session';
16
16
  import type { ApprovalOutcome, ApprovalRequestId } from '@deepseek-ai/dsh-user-approval';
17
- import type { CircuitAction, RiskLevel } from './config.ts';
17
+ import type { CircuitAction, RiskLevel } from './config.js';
18
18
  declare module '@deepseek-ai/dsh-session/types' {
19
19
  interface SessionEventMap {
20
20
  /**
@@ -13,8 +13,8 @@
13
13
  * `name`/`inject`/`Config`/`apply`).
14
14
  * @module dsh-auto-review
15
15
  */
16
- import { apply } from './runtime.ts';
17
- import type { AutoReviewRuntime } from './runtime.ts';
16
+ import { apply } from './runtime.js';
17
+ import type { AutoReviewRuntime } from './runtime.js';
18
18
  export declare const name = "auto-review";
19
19
  export declare const inject: string[];
20
20
  declare module '@deepseek-ai/cordis' {
@@ -24,10 +24,10 @@ declare module '@deepseek-ai/cordis' {
24
24
  }
25
25
  }
26
26
  export { apply };
27
- export { AutoReviewRuntime } from './runtime.ts';
28
- export * from './config.ts';
29
- export * from './events.ts';
30
- export * from './review.ts';
31
- export * from './projection.ts';
32
- export * from './projection-types.ts';
27
+ export { AutoReviewRuntime } from './runtime.js';
28
+ export * from './config.js';
29
+ export * from './events.js';
30
+ export * from './review.js';
31
+ export * from './projection.js';
32
+ export * from './projection-types.js';
33
33
  //# sourceMappingURL=index.d.ts.map
@@ -9,7 +9,7 @@
9
9
  import { z } from 'zod';
10
10
  import type { ProjectionDefinition } from '@deepseek-ai/dsh-session-projection';
11
11
  import type { SessionEvent } from '@deepseek-ai/dsh-session';
12
- import type { AutoReviewDenyView, AutoReviewProjection, AutoReviewVerdictView } from './projection-types.ts';
12
+ import type { AutoReviewDenyView, AutoReviewProjection, AutoReviewVerdictView } from './projection-types.js';
13
13
  /** Strict wire schema — validates the `view` output before it leaves the host. */
14
14
  export declare const AUTO_REVIEW_PROJECTION_SCHEMA: z.ZodObject<{
15
15
  enabled: z.ZodBoolean;
@@ -11,9 +11,9 @@ import type { CallId } from '@deepseek-ai/dsh-llm';
11
11
  import type { SessionEvent, SessionId } from '@deepseek-ai/dsh-session';
12
12
  import type { ApprovalRequest } from '@deepseek-ai/dsh-user-approval';
13
13
  import { type ObjectJsonSchema } from '@deepseek-ai/dsh-tools';
14
- import type { AutoReviewFallback } from './events.ts';
15
- import { AutoReviewCircuitId, AutoReviewRejectionId, AutoReviewVerdictId } from './events.ts';
16
- import type { ContextBudgetConfig, ResolvedConfig, RiskLevel } from './config.ts';
14
+ import type { AutoReviewFallback } from './events.js';
15
+ import { AutoReviewCircuitId, AutoReviewRejectionId, AutoReviewVerdictId } from './events.js';
16
+ import type { ContextBudgetConfig, ResolvedConfig, RiskLevel } from './config.js';
17
17
  /** A reviewer verdict, validated against the closed decision vocabulary. */
18
18
  export interface ReviewerVerdict {
19
19
  readonly decision: 'allow' | 'deny';
@@ -11,12 +11,13 @@ import type { Context } from '@deepseek-ai/cordis';
11
11
  import type { CommandInvocation, CommandResult } from '@deepseek-ai/dsh-commands';
12
12
  import type { ApprovalOutcome, ApprovalRequest } from '@deepseek-ai/dsh-user-approval';
13
13
  import type { PostToolDecision, ToolExecution, ToolExecutionResult } from '@deepseek-ai/dsh-tools';
14
- import type { Config, ResolvedConfig } from './config.ts';
14
+ import type { Config, ResolvedConfig } from './config.js';
15
15
  export declare const name = "auto-review";
16
16
  export declare const inject: string[];
17
17
  /**
18
18
  * Answerer state and behavior. One instance per plugin mount; disposals are
19
- * owned by the ctx.on / commands.register effects in {@link apply}.
19
+ * owned by the ctx.on / commands.register effects in {@link apply}, plus the
20
+ * teardown effect that clears the pending circuit-breaker timers.
20
21
  */
21
22
  export declare class AutoReviewRuntime {
22
23
  private readonly ctx;
@@ -31,6 +32,8 @@ export declare class AutoReviewRuntime {
31
32
  private readonly memory;
32
33
  /** The one-time warning that session-log audit was disabled was already logged. */
33
34
  private warnedUnmarked;
35
+ /** Pending circuit-breaker abort-turn timers, cleared when the plugin unloads. */
36
+ private readonly pendingAborts;
34
37
  constructor(ctx: Context, config: ResolvedConfig);
35
38
  /**
36
39
  * Whether the session-log audit may append now: enabled when the host
@@ -182,6 +185,8 @@ export declare class AutoReviewRuntime {
182
185
  * @returns the command result shown to the user.
183
186
  */
184
187
  private approveCommand;
188
+ /** Clear every pending circuit-breaker abort-turn timer; called by the plugin fiber's teardown effect. */
189
+ dispose(): void;
185
190
  }
186
191
  /**
187
192
  * Mount the plugin: resolve config, register the answerer and the
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEjF,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAqB,MAAM,gCAAgC,CAAA;AAGzG,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAGlG,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAoB,MAAM,aAAa,CAAA;AAiC3E,eAAO,MAAM,IAAI,gBAAgB,CAAA;AACjC,eAAO,MAAM,MAAM,UAAiD,CAAA;AAgHpE;;;GAGG;AACH,qBAAa,iBAAiB;IAiB1B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,cAAc;IAjBjC,mFAAmF;IACnF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAuB;IAExD,4FAA4F;IAC5F,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAE5D,uIAAuI;IACvI,OAAO,CAAC,YAAY,CAA0B;IAE9C,yFAAyF;IACzF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAE/D,mFAAmF;IACnF,OAAO,CAAC,cAAc,CAAQ;IAE9B,YACmB,GAAG,EAAE,OAAO,EACpB,MAAM,EAAE,cAAc,EAC7B;IAIJ;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IActB,2GAA2G;IAC3G,OAAO,CAAC,gBAAgB;IAUxB,0FAA0F;IAC1F,OAAO,CAAC,qBAAqB;IAU7B,2GAA2G;IAC3G,OAAO,CAAC,WAAW;IASnB,mFAAmF;IACnF,OAAO,CAAC,SAAS;IAmBjB,wFAAwF;IACxF,OAAO,CAAC,mBAAmB;IAS3B,gFAAgF;IAChF,OAAO,CAAC,MAAM,CAAC,cAAc;IAS7B,mHAAmH;IACnH,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,UAAU;IAIlB,mHAAmH;IACnH,OAAO,CAAC,iBAAiB;IASzB,iHAAiH;IACjH,OAAO,CAAC,WAAW;IAoBnB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAmC/F;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,WAAW;IA6BnB;;;;;;;;;OASG;YACW,MAAM;IAiEpB;;;;;OAKG;IACH,OAAO,CAAC,MAAM;IA0Cd;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAUvB;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IAcrB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAwCpB;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAStB;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;;;;OAKG;IACH,gBAAgB,CACd,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EACrC,IAAI,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,GACpC,OAAO,CAAC,gBAAgB,CAAC,CAW3B;IAED;;;;;;;;OAQG;IACH,OAAO,CAAC,UAAU,EAAE,iBAAiB,GAAG,aAAa,CA6DpD;IAED;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;CAuCvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAkBxD"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,8 @@ function policyFor(config, request, argumentsText) {
53
53
  }
54
54
  /**
55
55
  * Answerer state and behavior. One instance per plugin mount; disposals are
56
- * owned by the ctx.on / commands.register effects in {@link apply}.
56
+ * owned by the ctx.on / commands.register effects in {@link apply}, plus the
57
+ * teardown effect that clears the pending circuit-breaker timers.
57
58
  */
58
59
  export class AutoReviewRuntime {
59
60
  ctx;
@@ -68,6 +69,8 @@ export class AutoReviewRuntime {
68
69
  memory = new WeakMap();
69
70
  /** The one-time warning that session-log audit was disabled was already logged. */
70
71
  warnedUnmarked = false;
72
+ /** Pending circuit-breaker abort-turn timers, cleared when the plugin unloads. */
73
+ pendingAborts = new Set();
71
74
  constructor(ctx, config) {
72
75
  this.ctx = ctx;
73
76
  this.config = config;
@@ -491,9 +494,11 @@ export class AutoReviewRuntime {
491
494
  content: [{ type: 'text', text: messages(this.config.language).circuitNotice(trip.kind, trip.count) }],
492
495
  source: { kind: 'plugin', plugin: 'auto-review' },
493
496
  }));
494
- setTimeout(() => {
497
+ const timer = setTimeout(() => {
498
+ this.pendingAborts.delete(timer);
495
499
  request.agent.cancel({ kind: 'hook', reason: `auto-review circuit breaker: ${trip.kind} ${trip.count}` });
496
500
  }, 0);
501
+ this.pendingAborts.add(timer);
497
502
  }
498
503
  }
499
504
  /**
@@ -685,6 +690,12 @@ export class AutoReviewRuntime {
685
690
  text: t.approveResult(target.toolName, String(target.reviewId), Math.round(this.config.overrideTtlMs / 60_000)),
686
691
  };
687
692
  }
693
+ /** Clear every pending circuit-breaker abort-turn timer; called by the plugin fiber's teardown effect. */
694
+ dispose() {
695
+ for (const timer of this.pendingAborts)
696
+ clearTimeout(timer);
697
+ this.pendingAborts.clear();
698
+ }
688
699
  }
689
700
  /**
690
701
  * Mount the plugin: resolve config, register the answerer and the
@@ -698,6 +709,8 @@ export class AutoReviewRuntime {
698
709
  export function apply(ctx, config) {
699
710
  const resolved = resolveConfig(config);
700
711
  const runtime = new AutoReviewRuntime(ctx, resolved);
712
+ // Unloading the plugin clears any pending circuit-breaker abort-turn timer.
713
+ ctx.effect(() => () => runtime.dispose(), 'dsh-auto-review: runtime teardown');
701
714
  // The resolved runtime is also published as a service so in-process
702
715
  // consumers (the dsh-eval engine) read the exact mounted configuration
703
716
  // instead of re-resolving a second, driftable copy.
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-auto-review",
3
- "version": "0.5.1",
3
+ "version": "0.5.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": {
@@ -101,7 +101,7 @@
101
101
  ],
102
102
  "compatibility": {
103
103
  "dshVersions": [
104
- "0.1.0-rc.7"
104
+ "0.1.0-rc.8"
105
105
  ]
106
106
  },
107
107
  "capability": {
@@ -134,35 +134,35 @@
134
134
  },
135
135
  "peerDependencies": {
136
136
  "@deepseek-ai/cordis": "^4.0.1",
137
- "@deepseek-ai/dsh-agent": "0.1.0-rc.7",
138
- "@deepseek-ai/dsh-brand": "0.1.0-rc.7",
139
- "@deepseek-ai/dsh-commands": "0.1.0-rc.7",
140
- "@deepseek-ai/dsh-invariants": "0.1.0-rc.7",
141
- "@deepseek-ai/dsh-llm": "0.1.0-rc.7",
142
- "@deepseek-ai/dsh-session": "0.1.0-rc.7",
143
- "@deepseek-ai/dsh-session-projection": "0.1.0-rc.7",
144
- "@deepseek-ai/dsh-subagent": "0.1.0-rc.7",
145
- "@deepseek-ai/dsh-tools": "0.1.0-rc.7",
146
- "@deepseek-ai/dsh-user-approval": "0.1.0-rc.7",
137
+ "@deepseek-ai/dsh-agent": ">=0.1.0-rc.8 <0.2.0",
138
+ "@deepseek-ai/dsh-brand": ">=0.1.0-rc.8 <0.2.0",
139
+ "@deepseek-ai/dsh-commands": ">=0.1.0-rc.8 <0.2.0",
140
+ "@deepseek-ai/dsh-invariants": ">=0.1.0-rc.8 <0.2.0",
141
+ "@deepseek-ai/dsh-llm": ">=0.1.0-rc.8 <0.2.0",
142
+ "@deepseek-ai/dsh-session": ">=0.1.0-rc.8 <0.2.0",
143
+ "@deepseek-ai/dsh-session-projection": ">=0.1.0-rc.8 <0.2.0",
144
+ "@deepseek-ai/dsh-subagent": ">=0.1.0-rc.8 <0.2.0",
145
+ "@deepseek-ai/dsh-tools": ">=0.1.0-rc.8 <0.2.0",
146
+ "@deepseek-ai/dsh-user-approval": ">=0.1.0-rc.8 <0.2.0",
147
147
  "@deepseek-ai/schemastery": "^3.18.0"
148
148
  },
149
149
  "dependencies": {
150
- "@deepseek-ai/dsh-agent-spine-demo": "0.1.0-rc.7",
151
- "@deepseek-ai/dsh-app-boot": "0.1.0-rc.7",
152
- "@deepseek-ai/dsh-credentials-local": "0.1.0-rc.7",
153
- "@deepseek-ai/dsh-fs-observation-policy": "0.1.0-rc.7",
154
- "@deepseek-ai/dsh-fs-sandbox": "0.1.0-rc.7",
155
- "@deepseek-ai/dsh-home-paths": "0.1.0-rc.7",
156
- "@deepseek-ai/dsh-llm-deepseek": "0.1.0-rc.7",
157
- "@deepseek-ai/dsh-sandbox-local": "0.1.0-rc.7",
158
- "@deepseek-ai/dsh-sandbox-policy": "0.1.0-rc.7",
159
- "@deepseek-ai/dsh-session-persistence-jsonl": "0.1.0-rc.7",
160
- "@deepseek-ai/dsh-settings-file": "0.1.0-rc.7",
161
- "@deepseek-ai/dsh-subagent-fork-in-process": "0.1.0-rc.7",
162
- "@deepseek-ai/dsh-subagent-spawn-in-process": "0.1.0-rc.7",
163
- "@deepseek-ai/dsh-subprocess-local": "0.1.0-rc.7",
164
- "@deepseek-ai/dsh-tool-fs": "0.1.0-rc.7",
165
- "@deepseek-ai/dsh-tool-fs-search": "0.1.0-rc.7",
150
+ "@deepseek-ai/dsh-agent-spine-demo": "0.1.0-rc.8",
151
+ "@deepseek-ai/dsh-app-boot": "0.1.0-rc.8",
152
+ "@deepseek-ai/dsh-credentials-local": "0.1.0-rc.8",
153
+ "@deepseek-ai/dsh-fs-observation-policy": "0.1.0-rc.8",
154
+ "@deepseek-ai/dsh-fs-sandbox": "0.1.0-rc.8",
155
+ "@deepseek-ai/dsh-home-paths": "0.1.0-rc.8",
156
+ "@deepseek-ai/dsh-llm-deepseek": "0.1.0-rc.8",
157
+ "@deepseek-ai/dsh-sandbox-local": "0.1.0-rc.8",
158
+ "@deepseek-ai/dsh-sandbox-policy": "0.1.0-rc.8",
159
+ "@deepseek-ai/dsh-session-persistence-jsonl": "0.1.0-rc.8",
160
+ "@deepseek-ai/dsh-settings-file": "0.1.0-rc.8",
161
+ "@deepseek-ai/dsh-subagent-fork-in-process": "0.1.0-rc.8",
162
+ "@deepseek-ai/dsh-subagent-spawn-in-process": "0.1.0-rc.8",
163
+ "@deepseek-ai/dsh-subprocess-local": "0.1.0-rc.8",
164
+ "@deepseek-ai/dsh-tool-fs": "0.1.0-rc.8",
165
+ "@deepseek-ai/dsh-tool-fs-search": "0.1.0-rc.8",
166
166
  "tsdown": "^0.22.14",
167
167
  "typescript": "^7.0.2",
168
168
  "yaml": "^2.8.2",
@@ -170,26 +170,30 @@
170
170
  },
171
171
  "devDependencies": {
172
172
  "@deepseek-ai/cordis": "^4.0.1",
173
- "@deepseek-ai/dsh-agent": "0.1.0-rc.7",
174
- "@deepseek-ai/dsh-api-remotes": "0.1.0-rc.7",
175
- "@deepseek-ai/dsh-brand": "0.1.0-rc.7",
176
- "@deepseek-ai/dsh-client-connection": "0.1.0-rc.7",
177
- "@deepseek-ai/dsh-client-locale": "0.1.0-rc.7",
178
- "@deepseek-ai/dsh-client-runtime": "0.1.0-rc.7",
179
- "@deepseek-ai/dsh-client-ui-conversation": "0.1.0-rc.7",
180
- "@deepseek-ai/dsh-client-ui-slots": "0.1.0-rc.7",
181
- "@deepseek-ai/dsh-commands": "0.1.0-rc.7",
182
- "@deepseek-ai/dsh-invariants": "0.1.0-rc.7",
183
- "@deepseek-ai/dsh-llm": "0.1.0-rc.7",
184
- "@deepseek-ai/dsh-session": "0.1.0-rc.7",
185
- "@deepseek-ai/dsh-session-projection": "0.1.0-rc.7",
186
- "@deepseek-ai/dsh-subagent": "0.1.0-rc.7",
187
- "@deepseek-ai/dsh-tools": "0.1.0-rc.7",
188
- "@deepseek-ai/dsh-user-approval": "0.1.0-rc.7",
173
+ "@deepseek-ai/cordis-plugin-include": "1.0.6",
174
+ "@deepseek-ai/cordis-plugin-loader": "1.0.2",
175
+ "@deepseek-ai/dsh-agent": "0.1.0-rc.8",
176
+ "@deepseek-ai/dsh-api-remotes": "0.1.0-rc.8",
177
+ "@deepseek-ai/dsh-brand": "0.1.0-rc.8",
178
+ "@deepseek-ai/dsh-client-connection": "0.1.0-rc.8",
179
+ "@deepseek-ai/dsh-client-locale": "0.1.0-rc.8",
180
+ "@deepseek-ai/dsh-client-runtime": "0.1.0-rc.8",
181
+ "@deepseek-ai/dsh-client-ui-conversation": "0.1.0-rc.8",
182
+ "@deepseek-ai/dsh-client-ui-slots": "0.1.0-rc.8",
183
+ "@deepseek-ai/dsh-commands": "0.1.0-rc.8",
184
+ "@deepseek-ai/dsh-invariants": "0.1.0-rc.8",
185
+ "@deepseek-ai/dsh-llm": "0.1.0-rc.8",
186
+ "@deepseek-ai/dsh-session": "0.1.0-rc.8",
187
+ "@deepseek-ai/dsh-session-projection": "0.1.0-rc.8",
188
+ "@deepseek-ai/dsh-subagent": "0.1.0-rc.8",
189
+ "@deepseek-ai/dsh-tools": "0.1.0-rc.8",
190
+ "@deepseek-ai/dsh-user-approval": "0.1.0-rc.8",
189
191
  "@deepseek-ai/schemastery": "^3.18.0",
190
192
  "@types/node": "^26.2.0",
191
193
  "@types/react": "18.3.31",
194
+ "@vitest/coverage-v8": "4.1.10",
192
195
  "jsdom": "^30.0.1",
196
+ "oxlint": "0.18.1",
193
197
  "react": "18.3.1",
194
198
  "react-dom": "18.3.1",
195
199
  "vitest": "^4.1.10"
@@ -199,6 +203,9 @@
199
203
  "build": "node scripts/prepare.mjs",
200
204
  "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json --noEmit",
201
205
  "test": "vitest run",
206
+ "test:coverage": "vitest run --coverage",
207
+ "lint": "oxlint",
208
+ "check:readmes": "node scripts/check-readme-sync.mjs",
202
209
  "verify:self-contained": "node scripts/verify-self-contained.mjs"
203
210
  }
204
211
  }
package/src/audit.ts CHANGED
@@ -35,7 +35,7 @@ export function isMarkedAuditEvent(result: unknown): boolean {
35
35
  /**
36
36
  * Whether a `@deepseek-ai/dsh-session` version line predates the
37
37
  * `ignorable` envelope-marker surface: every released rc line through
38
- * `0.1.0-rc.7` silently drops the marker from `Session.append` options
38
+ * `0.1.0-rc.8` silently drops the marker from `Session.append` options
39
39
  * (the stamping fix exists on harness master only — no release carries it
40
40
  * yet), so audit events written by those builds land unmarked and break
41
41
  * resume on stricter hosts. Extend the bound when a new rc line ships that
@@ -43,12 +43,12 @@ export function isMarkedAuditEvent(result: unknown): boolean {
43
43
  * versions are treated as possibly-marker-aware and verified by the append
44
44
  * probe.
45
45
  * @param version - the installed peer version string.
46
- * @returns true for the known-unmarked rc.1–rc.7 lines.
46
+ * @returns true for the known-unmarked rc.1–rc.8 lines.
47
47
  */
48
48
  export function isUnmarkedHostVersion(version: string): boolean {
49
49
  const match = /^0\.1\.0-rc\.(\d+)$/.exec(version.trim())
50
50
  if (match === null) return false
51
- return Number(match[1]) <= 7
51
+ return Number(match[1]) <= 8
52
52
  }
53
53
 
54
54
  /**
package/src/runtime.ts CHANGED
@@ -167,7 +167,8 @@ function policyFor(config: ResolvedConfig, request: ApprovalRequest, argumentsTe
167
167
 
168
168
  /**
169
169
  * Answerer state and behavior. One instance per plugin mount; disposals are
170
- * owned by the ctx.on / commands.register effects in {@link apply}.
170
+ * owned by the ctx.on / commands.register effects in {@link apply}, plus the
171
+ * teardown effect that clears the pending circuit-breaker timers.
171
172
  */
172
173
  export class AutoReviewRuntime {
173
174
  /** Live reviewer child sessions — their approval asks never re-enter AI review. */
@@ -185,6 +186,9 @@ export class AutoReviewRuntime {
185
186
  /** The one-time warning that session-log audit was disabled was already logged. */
186
187
  private warnedUnmarked = false
187
188
 
189
+ /** Pending circuit-breaker abort-turn timers, cleared when the plugin unloads. */
190
+ private readonly pendingAborts = new Set<ReturnType<typeof setTimeout>>()
191
+
188
192
  constructor(
189
193
  private readonly ctx: Context,
190
194
  readonly config: ResolvedConfig,
@@ -621,9 +625,11 @@ export class AutoReviewRuntime {
621
625
  content: [{ type: 'text', text: messages(this.config.language).circuitNotice(trip.kind, trip.count) }],
622
626
  source: { kind: 'plugin', plugin: 'auto-review' },
623
627
  }))
624
- setTimeout(() => {
628
+ const timer = setTimeout(() => {
629
+ this.pendingAborts.delete(timer)
625
630
  request.agent.cancel({ kind: 'hook', reason: `auto-review circuit breaker: ${trip.kind} ${trip.count}` })
626
631
  }, 0)
632
+ this.pendingAborts.add(timer)
627
633
  }
628
634
  }
629
635
 
@@ -827,6 +833,12 @@ export class AutoReviewRuntime {
827
833
  text: t.approveResult(target.toolName, String(target.reviewId), Math.round(this.config.overrideTtlMs / 60_000)),
828
834
  }
829
835
  }
836
+
837
+ /** Clear every pending circuit-breaker abort-turn timer; called by the plugin fiber's teardown effect. */
838
+ dispose(): void {
839
+ for (const timer of this.pendingAborts) clearTimeout(timer)
840
+ this.pendingAborts.clear()
841
+ }
830
842
  }
831
843
 
832
844
  /**
@@ -841,6 +853,8 @@ export class AutoReviewRuntime {
841
853
  export function apply(ctx: Context, config: Config): void {
842
854
  const resolved = resolveConfig(config)
843
855
  const runtime = new AutoReviewRuntime(ctx, resolved)
856
+ // Unloading the plugin clears any pending circuit-breaker abort-turn timer.
857
+ ctx.effect(() => () => runtime.dispose(), 'dsh-auto-review: runtime teardown')
844
858
  // The resolved runtime is also published as a service so in-process
845
859
  // consumers (the dsh-eval engine) read the exact mounted configuration
846
860
  // instead of re-resolving a second, driftable copy.