dsh-permission-rules 0.7.10 → 0.7.11

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
@@ -517,6 +517,13 @@ All notable changes to dsh-permission-rules are recorded here, newest first.
517
517
 
518
518
  ## [Unreleased]
519
519
 
520
+ ## v0.7.11 - 2026-10-05
521
+
522
+ ### Fixed
523
+
524
+ - An unreadable peer version now fails closed. `peerVersion()` resolves the pinned peer's `package.json` through `createRequire`; inside a profile install that lookup throws `MODULE_NOT_FOUND`, so the runtime saw `null` and the guard `version !== null && isUnmarkedHostVersion(version)` skipped the unmarked-host check entirely. Every process start then landed one unmarked audit row, and each unmarked row is what makes a session unresumable on stricter harness builds. Both call sites -- the decision path and `auditNetworkBlock` -- now read `version === null || isUnmarkedHostVersion(version)`, matching the sibling defend and auto-review plugins, and `test/audit-support.spec.ts` gains the null-version case it was missing (the sibling auto-review spec has one; this repo and defend did not).
525
+ - Residual, by design: a STABLE `0.2.x` host is still classified as possibly-marker-aware, so the append probe still runs once there -- a restored marker surface is adopted without a new plugin release.
526
+
520
527
  ## v0.7.10 - 2026-10-04
521
528
 
522
529
  ### Fixed
package/lib/index.js CHANGED
@@ -3555,7 +3555,7 @@ var PermissionRulesRuntime = class {
3555
3555
  if (this.auditSupport === "unsupported") return;
3556
3556
  if (this.auditSupport === "unknown" && !this.config.allowUnmarkedAudit) {
3557
3557
  const version = this.peerVersion();
3558
- if (version !== null && isUnmarkedHostVersion(version)) {
3558
+ if (version === null || isUnmarkedHostVersion(version)) {
3559
3559
  this.auditSupport = "unsupported";
3560
3560
  this.warnUnmarkedAuditHost();
3561
3561
  return;
@@ -3740,7 +3740,7 @@ var PermissionRulesRuntime = class {
3740
3740
  if (agent === void 0 || this.auditSupport === "unsupported") return;
3741
3741
  if (this.auditSupport === "unknown" && !this.config.allowUnmarkedAudit) {
3742
3742
  const version = this.peerVersion();
3743
- if (version !== null && isUnmarkedHostVersion(version)) {
3743
+ if (version === null || isUnmarkedHostVersion(version)) {
3744
3744
  this.auditSupport = "unsupported";
3745
3745
  this.warnUnmarkedAuditHost();
3746
3746
  return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-permission-rules",
3
- "version": "0.7.10",
3
+ "version": "0.7.11",
4
4
  "description": "Declarative Claude Code-style permission rules plus a Codex-style process-level network policy for DeepSeek Harness: ordered allow/deny/ask rules with tool-name, argument (glob/regex), workspace-path, and network-target (domain/ip/port/scheme) matching on the tools/pre-execute waterfall, a built-in local HTTP/CONNECT proxy governing shell subprocess traffic, three network modes mapped onto the official sandbox presets, full session-log audit, HMR rule reload, and a settings page with a rule editor, block counters, and recent interception lists.",
5
5
  "private": false,
6
6
  "type": "module",
package/src/runtime.ts CHANGED
@@ -523,7 +523,7 @@ export class PermissionRulesRuntime {
523
523
  if (this.auditSupport === 'unsupported') return
524
524
  if (this.auditSupport === 'unknown' && !this.config.allowUnmarkedAudit) {
525
525
  const version = this.peerVersion()
526
- if (version !== null && isUnmarkedHostVersion(version)) {
526
+ if (version === null || isUnmarkedHostVersion(version)) {
527
527
  this.auditSupport = 'unsupported'
528
528
  this.warnUnmarkedAuditHost()
529
529
  return
@@ -705,7 +705,7 @@ export class PermissionRulesRuntime {
705
705
  if (agent === undefined || this.auditSupport === 'unsupported') return
706
706
  if (this.auditSupport === 'unknown' && !this.config.allowUnmarkedAudit) {
707
707
  const version = this.peerVersion()
708
- if (version !== null && isUnmarkedHostVersion(version)) {
708
+ if (version === null || isUnmarkedHostVersion(version)) {
709
709
  this.auditSupport = 'unsupported'
710
710
  this.warnUnmarkedAuditHost()
711
711
  return