{"_id":"claude-warden","_rev":"47-d6e8c0b5334735cf453db232b9a8e958","name":"claude-warden","dist-tags":{"latest":"2.10.3"},"versions":{"1.0.0":{"name":"claude-warden","version":"1.0.0","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.0.0","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"45d780d069c434a381cb383829f2d2a6c15f085b","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.0.0.tgz","fileCount":8,"integrity":"sha512-I2PY+PKbEbPrgo7CuNNJtmJJdXIR+nbRaZ2YCUurRoo04b4lsehFmhMY7HsX8aF+MUfoKWpC/j3jaV2zHAjo4w==","signatures":[{"sig":"MEUCIDe/wuJbvR4vDjBbToS+Sf8Ha5NYC3KTHnvum/T60u3bAiEAuNnMMvC/AZJdHeJkRgaMkpQkQlLzxzea+1z3GwwU9VU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":735284},"main":"dist/index.cjs","type":"module","gitHead":"11d119db943b90b114ba10966e05f62063d98d3c","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm run build && pnpm run test"},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.0.0_1771744891455_0.5816407801313326","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"claude-warden","version":"1.0.1","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.0.1","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"014e9a659930d55c39d1ec59afb9a3f420999909","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.0.1.tgz","fileCount":8,"integrity":"sha512-2Wbl+sJOEdsaOz+R81opzzNMoVIqVHRqMrdYa0j05r4sDURzF4fsRzUrBmLOyEHd5kiIwYR+hwWi8pfok9T0zQ==","signatures":[{"sig":"MEUCIQD9mVBbBzZg8brCR4ftAO7MdFAj3N3Oq1fW7c356jqJJgIgeQiyPyb37+TAoGp0/B5s9brlNUvp+1X/W09F67PM3/k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":739670},"main":"dist/index.cjs","type":"module","gitHead":"3e9143a01f15f2fc8e7519a856f92240c205c7ba","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm run build && pnpm run test"},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.0.1_1771756023027_0.07839875746860248","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"claude-warden","version":"1.0.2","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.0.2","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"ba952f90c11e585aa00fd2b00a20d8365111cf2d","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.0.2.tgz","fileCount":8,"integrity":"sha512-/pRqmF/4ueEeuJxAuxzQvVc6h19DiQOlT47Ef2aN/4NdGQ0oYKd1ntZZybN+s5huyuVaZSm6+JdURnTIgpI32A==","signatures":[{"sig":"MEUCIQDnqeZqmYDJirvIfTxlYCtZ+nLTumfRupCasP6+aFKXEQIgVDyyuqZtGZrd/RKh14luU5cMLbw36dUgn2U5uau2OT8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":739820},"main":"dist/index.cjs","type":"module","gitHead":"7fbaef89d37b35ffc3e4052ce1e47ee8a4401caf","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm run build && pnpm run test"},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.0.2_1771761419849_0.544994618331303","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"claude-warden","version":"1.0.3","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.0.3","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"39d6d3c777cc12884a10e05e26c08a3a19ead1e4","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.0.3.tgz","fileCount":8,"integrity":"sha512-QfQueNYqk9DYiYhbNqbKiCmbUW/bBrBffSHuZ3TjATTyb1rayjNhlVjUxfN3xp4/y/fHihzyoMUs1KeCFz4jiQ==","signatures":[{"sig":"MEQCIEqFnc60PyQYUpzElamN2Cx3vONUAycymJ/7NnuWnk4GAiBoRvgA/lKnDXeqQEoTgws5hy/4c/JKAbLI5FCKd+smhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":741244},"main":"dist/index.cjs","type":"module","gitHead":"0a6b8b8195086997a5457bd084c9e06eb648804f","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm run build && pnpm run test"},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.0.3_1771763945000_0.15807595019956122","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"claude-warden","version":"1.1.0","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.1.0","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"3f9d2dba88e5c8c054e8ba2cc2914ad81c96cc4a","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.1.0.tgz","fileCount":8,"integrity":"sha512-UxrkvVEf6d8qOx+SIJJ9ClUhlbiSjjEu0/nyg6IMvB/5Iy+psloz1kW0Kz3l88Ht58P0uTEn9hHvRrrgPvEyZg==","signatures":[{"sig":"MEQCIEvsmPT89XHdCgebNEColfLZxVHz2N+CEW4ITXNYONPCAiAJbTMjAbuAJWDBY1LKtsCJY/Y3iN/zV8XbeMONtXgHYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":745308},"main":"dist/index.cjs","type":"module","gitHead":"adcc33f3988ef604b9deb2d9ca18e7a58e98a12d","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm run build && pnpm run test"},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.1.0_1771813641073_0.312334411814446","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"claude-warden","version":"1.1.1","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.1.1","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"ae78149930bf161642992b9707602207c714ef8a","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.1.1.tgz","fileCount":8,"integrity":"sha512-7UOr85YG2eJhdG82Tw3RVKty9Hx/jXVCVbQi1xpw69shyXaQhlAEyWbijbqSRNmQPEftAPPjefeEKGVk3gbdyQ==","signatures":[{"sig":"MEUCIQC+x+in4t8pdPR74sFFc451SRjFBLwObgJHAdZVzrBdmgIgBod9r47rB6uRgAodN4f9QlAICR1XoOvIBnijPd0Re4g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":745640},"main":"dist/index.cjs","type":"module","gitHead":"84ed4f0d02e411d2a26fdcfeb952d8c6223897e9","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm run build && pnpm run test"},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.1.1_1771816132506_0.16988839647665488","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"claude-warden","version":"1.1.4","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.1.4","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"ed4234832092fbae640f73d09172f0524636fb31","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.1.4.tgz","fileCount":8,"integrity":"sha512-RdnCNaYpPUUzKFyJl4ra4uT290ItFXD6HCOfBCKQMaMUjXIjzK9hycyqMrMs16KsR8GMXvKN+zVqCSoIxTmA3Q==","signatures":[{"sig":"MEYCIQDv9kz56Gxg03xxuRDH5G9P4NkwLzD83luqHXqfi23nLgIhALKVuJmo8txu1L3Q6JNcZmoGJC678Q7Jitzb1eQBcn/O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":746636},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-1.1.4.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/305d5ca526b4e89cf7d9c7456c42c884/claude-warden-1.1.4.tgz","_integrity":"sha512-RdnCNaYpPUUzKFyJl4ra4uT290ItFXD6HCOfBCKQMaMUjXIjzK9hycyqMrMs16KsR8GMXvKN+zVqCSoIxTmA3Q==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.1.4_1771908848651_0.8550226043840332","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"claude-warden","version":"1.1.5","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.1.5","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"8b4f6439a91fc6ceed8a6e41de1691e99c2a166a","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.1.5.tgz","fileCount":8,"integrity":"sha512-d5rf+MEJ/bIHBusuWR5vcvPJ316ygQLtpmCO+1KGjlQ6JgF9U9Oh6sUtJ+rji632/KF5yOfUyCUP+VrHVB6dRw==","signatures":[{"sig":"MEQCIFDJplVcpv79jUffp6pl3n27Qr/HjoBi1zU4QkhoqfaMAiACWPzumNPVxZUaLIpzx3/hn0Xq3iobdcVOEHQ5SkGoGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":746646},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-1.1.5.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/196a4af01613cbe2cf015fad25d7b137/claude-warden-1.1.5.tgz","_integrity":"sha512-d5rf+MEJ/bIHBusuWR5vcvPJ316ygQLtpmCO+1KGjlQ6JgF9U9Oh6sUtJ+rji632/KF5yOfUyCUP+VrHVB6dRw==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.1.5_1771909376019_0.7891062025471549","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"claude-warden","version":"1.1.6","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.1.6","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"c239e9ae82bb69a98b1d578e3c600300a41cff0b","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.1.6.tgz","fileCount":8,"integrity":"sha512-i4KMTP+k6skYNsfs1Yv5h+SwORmI5LbpHFNjqv2fTBjINrryxPwzZlWfiU3K/WSYpIuh0G2htckEdh/CjSHnGg==","signatures":[{"sig":"MEUCIHkqfCVKm90ehSX1bEheIuxwl1saap44auA9v3Loig+xAiEAhjJptkv4tzI7RoexcbsuNxvN9k+UAmeqPElVjGqhIVc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":746876},"main":"dist/index.cjs","type":"module","gitHead":"fe5013b92e2cb130ad8784a70e1b597639179850","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm run build && pnpm run test"},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.1.6_1772163715540_0.3496627799636529","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"claude-warden","version":"1.1.7","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.1.7","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"cf4af24b908014322c2c5a5e09dde9defda07e9b","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.1.7.tgz","fileCount":8,"integrity":"sha512-4toYNk3oqoQUP+tj5Fd/OJ5dtd3zJ7ZqzRJeTNq7y05YydlJfCFSb6Qstk15f/M8BWN/LBTiXD+s+tgTjO/J9g==","signatures":[{"sig":"MEUCICqxxQuZc6zToDFlRLw9geSgos1rEn/N611ckuGwezSJAiEA4wYIEctPfaxGPmFq8PDn7LV08VG+qa9AHxXu15V0VJo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":747083},"main":"dist/index.cjs","type":"module","gitHead":"67b29ed99822ffdebb1f66d6cac7d528514e27cc","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm run build && pnpm run test"},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.1.7_1772166246844_0.46998053623291614","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"claude-warden","version":"1.1.8","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.1.8","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"448529f9915dedf80e581a8af31f525b0c914d65","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.1.8.tgz","fileCount":8,"integrity":"sha512-KWaTEC+VBxqToaceQaIz9LSaGBxyogECgJBmMqUVLeXUjZvuRThMefI5xSIWFrfDNfwCsCrCbz08NZCkZuxktA==","signatures":[{"sig":"MEUCIQDOk2Jrp74GGsuc8ja9ee3m9ChMur7BKFiLGTvTwUPHKgIgAfkQcU5GjLsnrcSxrBOHfuaINfr9wWPMelsGyM7OLkQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":749038},"main":"dist/index.cjs","type":"module","gitHead":"45941676e30d1f0385f25e942f356612e2bba46c","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","postpublish":"claude plugin update claude-warden@local 2>/dev/null; claude plugin update claude-warden@claude-warden 2>/dev/null; echo 'Plugin caches updated'","prepublishOnly":"pnpm run sync-plugin-version && pnpm run build && pnpm run test","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.1.8_1772166955679_0.4930497819057582","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"claude-warden","version":"1.1.9","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.1.9","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"a326f66e98b254b002f8bbf2883b3a7d9295443c","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.1.9.tgz","fileCount":8,"integrity":"sha512-VJUMdqQBpd/0c5pwKMRuiJA9qJOMpYdjtfj4KHQ+IYyZNV9Dk6XCkX1mdOeIMHrDkN6+U2EpqOgp6iU8BZe4lQ==","signatures":[{"sig":"MEUCIQCqIJhWFC5NzTCsaR1OWlnm9f8UTkxNq4FclaIKzpD8fwIgehRVI0prX7o86xHQs2qQ6t/Y4dvR5yT4J8+YtRjK4eA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":748900},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-1.1.9.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/a9d4ffe7963999e20ea6465e6b150758/claude-warden-1.1.9.tgz","_integrity":"sha512-VJUMdqQBpd/0c5pwKMRuiJA9qJOMpYdjtfj4KHQ+IYyZNV9Dk6XCkX1mdOeIMHrDkN6+U2EpqOgp6iU8BZe4lQ==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.1.9_1772248971033_0.5200661884650366","host":"s3://npm-registry-packages-npm-production"}},"1.1.10":{"name":"claude-warden","version":"1.1.10","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.1.10","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"735e59263041ff15700357e62f4e1d2be2ff3b15","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.1.10.tgz","fileCount":8,"integrity":"sha512-giN5FaezMLBW9kMXSrK1omS8Ammhg6xymiybpmw1rK9pj4BHdJqKh/Hh3U0B9y+Cee16Ky83oODyoMylK/3O9A==","signatures":[{"sig":"MEYCIQCKSRjwxKbZxeOO5HU9n+G2XdKX1baOJ4DYbVc6RyT1TAIhAL/TDa0bFRn9r9DGuv7mrknqhI0lwGJd9+dujR41c+JZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":750628},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-1.1.10.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/5705714a5949ad6731abc16ae96923c8/claude-warden-1.1.10.tgz","_integrity":"sha512-giN5FaezMLBW9kMXSrK1omS8Ammhg6xymiybpmw1rK9pj4BHdJqKh/Hh3U0B9y+Cee16Ky83oODyoMylK/3O9A==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.1.10_1772255996791_0.9724532994595869","host":"s3://npm-registry-packages-npm-production"}},"1.1.11":{"name":"claude-warden","version":"1.1.11","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.1.11","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"6af7357c83e17aff01332dcd1a3b2ef8933be5e6","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.1.11.tgz","fileCount":8,"integrity":"sha512-jTMQd1rlt+JIOvpfT1SHIBtR5toW26oTrP3q/4PbI38nKrsaGYDI3N4TFCL8NP4ArQHkJF1MF1TubHgkRFwgzQ==","signatures":[{"sig":"MEYCIQCnr3v1fTJduu0uNf/mz9pMH0NZPxhtQwu5OrkTbL2v2gIhANgdLS/J2sn2PNnHsNJ/Bg+FXlmkLZaAPmyhJzQXfog5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":750487},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-1.1.11.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/758b80a322d46499dd3162a185a4b9fb/claude-warden-1.1.11.tgz","_integrity":"sha512-jTMQd1rlt+JIOvpfT1SHIBtR5toW26oTrP3q/4PbI38nKrsaGYDI3N4TFCL8NP4ArQHkJF1MF1TubHgkRFwgzQ==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.1.11_1772287342167_0.7391194522332896","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"claude-warden","version":"1.2.0","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.2.0","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"e0efa8c2278c953f034eebdcbb2fc5a7c5ced902","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.2.0.tgz","fileCount":8,"integrity":"sha512-S8pQ5Xv46PI2T0zKKQELX/oSJZTRuWKaAq9T3tklX9Ftvut7l0zrBzPL8JpV9xO0Ivb4JxqTpBRk1YxZSJBN+Q==","signatures":[{"sig":"MEUCIFEPXO0fld+f/+FfC2IBgWkq3TKxtdgTVb4iSsLefN4YAiEAvce2j7EoqWlDB7dBCyU7Z5zJk/p2sux8adX8A9X0u+c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":751726},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-1.2.0.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/a9e19f6ee5e4ff3812b35a0a36fd9c1f/claude-warden-1.2.0.tgz","_integrity":"sha512-S8pQ5Xv46PI2T0zKKQELX/oSJZTRuWKaAq9T3tklX9Ftvut7l0zrBzPL8JpV9xO0Ivb4JxqTpBRk1YxZSJBN+Q==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.2.0_1772291394281_0.5180078635558638","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"claude-warden","version":"1.2.1","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.2.1","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"aead3760aa5305801d0e0cfa6fd0acd29ae30d8c","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.2.1.tgz","fileCount":8,"integrity":"sha512-5bcEWHfnHpzyPvsLjiyU5mmG0v/ycturtdogPUatADHnBsSpxGrNvd2nj6510Jn/pLq4Wmkl+BrieC6JIK9pzA==","signatures":[{"sig":"MEYCIQDpx8v0+ddO8lJeIBjVI0372KdnW+0UYvBlzeWXhXKC1gIhAOJa1w8RQA/giLJPry4h2dZW0vazJ3F5FKPcCesVEG6p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":751738},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-1.2.1.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/f8d9ecf69971e482566b09aebf95d056/claude-warden-1.2.1.tgz","_integrity":"sha512-5bcEWHfnHpzyPvsLjiyU5mmG0v/ycturtdogPUatADHnBsSpxGrNvd2nj6510Jn/pLq4Wmkl+BrieC6JIK9pzA==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.2.1_1772320602643_0.027193223778776865","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"claude-warden","version":"1.3.1","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.3.1","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"bf262dcddb2d7157fd528a53718771a2f9ec7cf8","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.3.1.tgz","fileCount":8,"integrity":"sha512-stIQ/N3lvIJ2H85WQwU/oCCBTB2NX6tDLMSgG5EswOm4NB8K6eRUgybGXaexcyujrSfJpWY5k1nPmb15i848zw==","signatures":[{"sig":"MEUCIQCx+3XDUDJ1H+DROZlJnAJ5aTIWf7c/uwy4XrtO6lJuPgIgKY5K3Kbe/a5bSXO7A0pNHwAGUvRT//E12BqKsXcLrjk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":754341},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-1.3.1.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/ff39a64345cc86bded681131f3694d54/claude-warden-1.3.1.tgz","_integrity":"sha512-stIQ/N3lvIJ2H85WQwU/oCCBTB2NX6tDLMSgG5EswOm4NB8K6eRUgybGXaexcyujrSfJpWY5k1nPmb15i848zw==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.3.1_1772432784610_0.6170638867637137","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"claude-warden","version":"1.4.0","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.4.0","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"febfb80ec59609e2ec88243ae78a5190b14b62c6","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.4.0.tgz","fileCount":8,"integrity":"sha512-ndg90ovqmFn4WQDIcWon6okMuTeYqWHunzkp5sD74QkX6i+OUlvbwo2WR+0ZrJlWtchvOqngTbZlbc2uVFyHBA==","signatures":[{"sig":"MEUCIQCaFaRcbMAOLegA0lE3+1Q3171nzs5d1WmarStNdou3FQIgUb/UU2LAogPU7DQxRAg1I3Ri39I5XXeGp6UVTjFm5xw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":760108},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-1.4.0.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/6a278be1695a47bebbfdb42ca72c2f83/claude-warden-1.4.0.tgz","_integrity":"sha512-ndg90ovqmFn4WQDIcWon6okMuTeYqWHunzkp5sD74QkX6i+OUlvbwo2WR+0ZrJlWtchvOqngTbZlbc2uVFyHBA==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.4.0_1772434145449_0.05233346955679741","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"claude-warden","version":"1.5.1","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.5.1","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"0d6ca2a175ca5e852402f41fbaae6d707f5b7c38","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.5.1.tgz","fileCount":8,"integrity":"sha512-jZt7XETkJEN1UT3Mpr71kHXMO7dlEh823z0aiTILeGnR/MFDmNwYdZt4Cc3ODprqSfnTPoyG4kpksfR0uf88sA==","signatures":[{"sig":"MEYCIQCJjHCM23pbLVoivPYn8tg02xxIYKYLjwADPcdL+cMMfwIhAPRHTPD6vUyqKL4CaG24v95D8ecGDIa2Tp8Ja43WC/L6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":762838},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-1.5.1.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/b815f6a6660e00261e0912927c4fa6aa/claude-warden-1.5.1.tgz","_integrity":"sha512-jZt7XETkJEN1UT3Mpr71kHXMO7dlEh823z0aiTILeGnR/MFDmNwYdZt4Cc3ODprqSfnTPoyG4kpksfR0uf88sA==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.5.1_1772499014589_0.08568920581502981","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"claude-warden","version":"1.5.2","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.5.2","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"3d47c449723e38f6e284d206a105f51e6d3ca328","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.5.2.tgz","fileCount":8,"integrity":"sha512-uXnV+MObYnLQ1uV59WHbo090ZT5F4mLjJH7WOuFck/pUiE/DnNUZNSXRwis53SiZ+GchG3kX+pORmUDACuwQBQ==","signatures":[{"sig":"MEQCIAZ3lSnVllNmv5VUgi38/ThgrWnRxi6pHabwwf2XhBGbAiAVT6Sylg+FWo8IWSugAqvz/UUrYT8NtiQw1kTBNkglrw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":763930},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-1.5.2.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/070bdadd30f546395fbbdd5c21dff390/claude-warden-1.5.2.tgz","_integrity":"sha512-uXnV+MObYnLQ1uV59WHbo090ZT5F4mLjJH7WOuFck/pUiE/DnNUZNSXRwis53SiZ+GchG3kX+pORmUDACuwQBQ==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.5.2_1772516703120_0.1800858121281812","host":"s3://npm-registry-packages-npm-production"}},"1.5.3":{"name":"claude-warden","version":"1.5.3","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.5.3","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"e58c901ee6f93b32b55fc6e5181cfc2d475532c0","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.5.3.tgz","fileCount":8,"integrity":"sha512-pzw6xsSUFnVQepKMRNiGQhCY5RyHCsxm3BJJDL0Cx5ozaJSnx3TrzQq1Q/xIiz0KD35ZJzG8ueijvwFcgZEk7w==","signatures":[{"sig":"MEUCIQCEhdwR6me5OJ8J7ta4n5VUnef4i+bNDcAucgXzu3mVZAIgFlVy5AAH9BMRKuGp4cdkmWbwux5AV+L10l6m8dGFGLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":765327},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-1.5.3.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/4a11c4bb5416bf6a77eb181363e1e4bd/claude-warden-1.5.3.tgz","_integrity":"sha512-pzw6xsSUFnVQepKMRNiGQhCY5RyHCsxm3BJJDL0Cx5ozaJSnx3TrzQq1Q/xIiz0KD35ZJzG8ueijvwFcgZEk7w==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.5.3_1772552369107_0.8246961249924214","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"claude-warden","version":"1.6.0","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.6.0","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"c3d5153072aacdb0cd2de421f0b88e1fb8821ad0","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.6.0.tgz","fileCount":8,"integrity":"sha512-B4n9VU1kJfB7dN7Qurg0Su6ijBSflaLpexrvhjvvVMxSA8rcHXJQqc3sEYeIOXTsbk/xg01K+je60xpEmV38/A==","signatures":[{"sig":"MEUCIQCJF5pYxs9jaElzNCQN/GZW5K2Ooq64bTU0vkGMH7CGVQIgRSFtzlMThr+t6gKWW33FpjNNy2sZa1yV3c73AqVU0W0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":765987},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-1.6.0.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/04cfc12d649ffaaa09ee9bfb90428600/claude-warden-1.6.0.tgz","_integrity":"sha512-B4n9VU1kJfB7dN7Qurg0Su6ijBSflaLpexrvhjvvVMxSA8rcHXJQqc3sEYeIOXTsbk/xg01K+je60xpEmV38/A==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.6.0_1772608420105_0.09469767645258909","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"claude-warden","version":"1.7.0","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.7.0","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"ef1bc86d0380dae97fb6e39ba74d1cae77048069","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.7.0.tgz","fileCount":8,"integrity":"sha512-ERhUs8Ggv7OgCoJRlnic0PeJrVHtDTnJ2KpP0OoKWctT1piRnvyUTDDCKiNxF++ZreJhqbNI1hu9lzycl9SGgg==","signatures":[{"sig":"MEYCIQDUFRhDaiiRrgPXIHj+++PENJ2j6PoYmZ2BpFZLJsjmrQIhAKIlnA8CqUJVcphluG3FC1+nRCrkSU+s5Z+4eKbidSYQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":767389},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-1.7.0.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/f7b3daeb05bf261a8b0559d10595647e/claude-warden-1.7.0.tgz","_integrity":"sha512-ERhUs8Ggv7OgCoJRlnic0PeJrVHtDTnJ2KpP0OoKWctT1piRnvyUTDDCKiNxF++ZreJhqbNI1hu9lzycl9SGgg==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","yaml":"^2.4.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0","bash-parser":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.7.0_1772610644902_0.8748382051333858","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"claude-warden","version":"1.8.0","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.8.0","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"a5891852ceb91a3af65743bbfce583ef6f9a942e","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.8.0.tgz","fileCount":8,"integrity":"sha512-DstkxEElXP/60TQUQgNHd6dX6ZrRKDqyoi25FSdgHzHFfaaJoO0a2nNnj/vI3cFfBqZJSvdmn/dtzIgxApSwPg==","signatures":[{"sig":"MEQCIDIYRIAl7HqoGfNS2WyL9tINoa8Oe+Lky8j2mATz0e2OAiAVZifqYkx2FHsRMjlc7lTeJu8vEGbYOkBwE0RYQCHDtw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":774489},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-1.8.0.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/a26408432ecfe6d0e2992a54d156a234/claude-warden-1.8.0.tgz","_integrity":"sha512-DstkxEElXP/60TQUQgNHd6dX6ZrRKDqyoi25FSdgHzHFfaaJoO0a2nNnj/vI3cFfBqZJSvdmn/dtzIgxApSwPg==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","dependencies":{"yaml":"^2.4.0","bash-parser":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.8.0_1772850533421_0.041773994733735","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"claude-warden","version":"1.8.1","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.8.1","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"25ad8318f965cbe9e5f21c8b2f118223492d35b8","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.8.1.tgz","fileCount":8,"integrity":"sha512-kv+EUELxYyFfKu0yLqD5J3uQ1c/HWRX4VoGCfTVQoCg9AboLfnWgcgsjTVFGXgEQbPp1thjk8DO3qugUatmQgw==","signatures":[{"sig":"MEUCIQCmd2og7bJX7jb8nhnsI+vpcoOhcND9oMto5DHD/2KZVAIgbJnSTMIX9dYDiBTOqbx8gey9gGpuy/n1uE2haqE2r6w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":776546},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-1.8.1.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/ad60d18ee8bb593759ceefcaf1bf1811/claude-warden-1.8.1.tgz","_integrity":"sha512-kv+EUELxYyFfKu0yLqD5J3uQ1c/HWRX4VoGCfTVQoCg9AboLfnWgcgsjTVFGXgEQbPp1thjk8DO3qugUatmQgw==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","dependencies":{"yaml":"^2.4.0","bash-parser":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.8.1_1772853624677_0.4703059456951164","host":"s3://npm-registry-packages-npm-production"}},"1.8.2":{"name":"claude-warden","version":"1.8.2","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.8.2","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"bb182f035a3f3f0e67f548be08016e0386def15b","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.8.2.tgz","fileCount":8,"integrity":"sha512-4qjcQfpeIdwisFjS3sckiPyHlb33Dm1KjQu8Be9sTQFzKlwJA3+daQ1pC/aoYaQaYa78x7Bk4sNhuICJb2BaFw==","signatures":[{"sig":"MEUCIQDMDG2UbzDLL3XRNIxsRlFxk15MsaDEZ6MOmi+im7V6vgIgVQI7ychVqjXSNWujcQh0r2pRk5H+oXK4WSTNInd8kUo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":776557},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-1.8.2.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/81b6b3e185a3062d5791fe2aa6f80c64/claude-warden-1.8.2.tgz","_integrity":"sha512-4qjcQfpeIdwisFjS3sckiPyHlb33Dm1KjQu8Be9sTQFzKlwJA3+daQ1pC/aoYaQaYa78x7Bk4sNhuICJb2BaFw==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","dependencies":{"yaml":"^2.4.0","bash-parser":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.8.2_1772856962950_0.6071347099529223","host":"s3://npm-registry-packages-npm-production"}},"1.8.3":{"name":"claude-warden","version":"1.8.3","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.8.3","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"3a7a60660f6bcdccbcce718711ee7d15632fd029","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.8.3.tgz","fileCount":8,"integrity":"sha512-2kWHWxvnIE5aBrLGm0X3YGMNwNf9BDm6o1rPjC13TDdqh6lBQIyT3WJE9VCxKOrn+I9WXtMJMba9vjN9ANoB+w==","signatures":[{"sig":"MEUCIQC2rCftek1rcI3XstYktrHcJKDuxwDwXhW7yVPJhZpY0wIgJ2/Gq0nxWd6EXLjU70A+eEBWevnCng2Hofw1zgPKh2c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":778509},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-1.8.3.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/685d8523ba75538b8868774130b7d1f3/claude-warden-1.8.3.tgz","_integrity":"sha512-2kWHWxvnIE5aBrLGm0X3YGMNwNf9BDm6o1rPjC13TDdqh6lBQIyT3WJE9VCxKOrn+I9WXtMJMba9vjN9ANoB+w==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","dependencies":{"yaml":"^2.4.0","bash-parser":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.8.3_1772859327338_0.9907710000670438","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"claude-warden","version":"1.10.0","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@1.10.0","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"7cfd09b566b336bb1b4052f85300dc0a29773f3b","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-1.10.0.tgz","fileCount":8,"integrity":"sha512-ONSmv3AnOmZDGqi9JYWophK6czNAaGbJMl/+zb5uNueQVNSS3YikOsfujz3qMZXZuO6y8WBkizU7mzdFS2h/CQ==","signatures":[{"sig":"MEUCIQDAs9U7HuTS5wA1y1nx/VgIhUm82O3LSbXwnma/YplVPgIgGS9gn1RxTzSURvYT2pI797EvcAayORDBbgxQ2pOod3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":785687},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-1.10.0.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/2423348d9f963e8cb1570f9fd8d76009/claude-warden-1.10.0.tgz","_integrity":"sha512-ONSmv3AnOmZDGqi9JYWophK6czNAaGbJMl/+zb5uNueQVNSS3YikOsfujz3qMZXZuO6y8WBkizU7mzdFS2h/CQ==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","dependencies":{"yaml":"^2.4.0","bash-parser":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_1.10.0_1773015219232_0.2771344337400472","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"claude-warden","version":"2.0.1","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@2.0.1","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"f284bba38602a7b78b9b1cabc3e75943cfa366c0","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-2.0.1.tgz","fileCount":9,"integrity":"sha512-gitIlodKsekdXyTR1gjdWsbcwVOpj8EyGyxPieSQkAOQG9KCF3TOSW2OdXOGznRnpAGpKPIWO9uwZx4Vhv7Arg==","signatures":[{"sig":"MEYCIQCSi4xys7nl6fFMljVD5vg3U/FXD6ggd5wlk+gV6EDAfQIhANqAMk/dFVMFnriobqxzno2urLed1lB8sOIS/xZ04PbG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1545262},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-2.0.1.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","codex:export-rules":"node dist/codex-export.cjs","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/4070192bcee191c4366b4acfbc14bb3e/claude-warden-2.0.1.tgz","_integrity":"sha512-gitIlodKsekdXyTR1gjdWsbcwVOpj8EyGyxPieSQkAOQG9KCF3TOSW2OdXOGznRnpAGpKPIWO9uwZx4Vhv7Arg==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","dependencies":{"yaml":"^2.4.0","bash-parser":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_2.0.1_1773376011629_0.690388089807352","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"claude-warden","version":"2.3.1","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@2.3.1","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"49f851e4510607d6518dd16fd834cf673fa18cf8","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-2.3.1.tgz","fileCount":9,"integrity":"sha512-Lfy/VkEzqMFTXgKczYwH4XT5WSDCBgeNNK1TMqpXhqFYTXbFt4dgM2Qnqd+34RJCcKRYEYwfTJpc+9cUe7x7Jw==","signatures":[{"sig":"MEYCIQDqCZ2pBXEYRYK59J5GT3bp/Pyif8WeNf00YBmoSZi6owIhALFN5EWtd8Bp89vj0mr8IQdwhDKSgFqz4Gw42RB5usf9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1586359},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-2.3.1.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","codex:export-rules":"node dist/codex-export.cjs","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/231dbd45c99c20f1bd9e492a4f67c080/claude-warden-2.3.1.tgz","_integrity":"sha512-Lfy/VkEzqMFTXgKczYwH4XT5WSDCBgeNNK1TMqpXhqFYTXbFt4dgM2Qnqd+34RJCcKRYEYwfTJpc+9cUe7x7Jw==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","dependencies":{"yaml":"^2.4.0","bash-parser":"npm:@banyudu/bash-parser@0.5.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_2.3.1_1775190630978_0.6691350113334422","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"claude-warden","version":"2.3.2","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@2.3.2","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"dist":{"shasum":"0af9aac551bcba60f1efb91e2c3cf38c4e972d7a","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-2.3.2.tgz","fileCount":9,"integrity":"sha512-MmYf0CeQWB/zbYrwu8CCqdtQd+MMWR+Vgoqo/5U/jY+Srch70RrHKm2s2kK77YJ0uj7/S4yLVdKQN2gGtN1InQ==","signatures":[{"sig":"MEUCIEaOO9VmeDB1M2jCPdVK0Ayg844O/8PGZ413/WRVnHvaAiEAycfsluUN2MjVeDsMB+puGa/mxYrW4oi5A9klFuGOtKQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1586348},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-2.3.2.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","codex:export-rules":"node dist/codex-export.cjs","sync-plugin-version":"node -e \"const p=require('./package.json'),fs=require('fs'),f='.claude-plugin/plugin.json',j=JSON.parse(fs.readFileSync(f));j.version=p.version;fs.writeFileSync(f,JSON.stringify(j,null,2)+'\\n')\""},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/a4be53681516a2734e03576f5f78ae51/claude-warden-2.3.2.tgz","_integrity":"sha512-MmYf0CeQWB/zbYrwu8CCqdtQd+MMWR+Vgoqo/5U/jY+Srch70RrHKm2s2kK77YJ0uj7/S4yLVdKQN2gGtN1InQ==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","dependencies":{"yaml":"^2.4.0","bash-parser":"npm:@banyudu/bash-parser@0.5.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_2.3.2_1775193148310_0.9569022870713353","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"claude-warden","version":"2.4.0","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@2.4.0","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs"},"dist":{"shasum":"5637ef7a5be4d5880b46eb04c7f1aba07bef693d","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-2.4.0.tgz","fileCount":12,"integrity":"sha512-DZAOKDsughuYlsNWpm48XDcNtDCaXvsct3FUDT0VaZEQdXF6knLKbBoK/b4+Al+8VZixD+2zEas+0J/OZTCjwQ==","signatures":[{"sig":"MEYCIQDSmvXWxkdVi8I4b9l+8Iv/0/oq3+i9A8bGh5026CnFxAIhAMIzE1XyTHgqOjN5yxn798JIF1vURp7CzmSpiHuCVDxe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3139701},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-2.4.0.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","warden":"node dist/cli.cjs","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","codex:export-rules":"node dist/codex-export.cjs","sync-plugin-version":"node scripts/sync-plugin-version.cjs"},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/1caa82b5385d0538a9ab336e45b9ef17/claude-warden-2.4.0.tgz","_integrity":"sha512-DZAOKDsughuYlsNWpm48XDcNtDCaXvsct3FUDT0VaZEQdXF6knLKbBoK/b4+Al+8VZixD+2zEas+0J/OZTCjwQ==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","dependencies":{"yaml":"^2.4.0","bash-parser":"npm:@banyudu/bash-parser@0.5.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_2.4.0_1775527137257_0.8140677422077849","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"claude-warden","version":"2.4.1","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@2.4.1","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs"},"dist":{"shasum":"180592ba543c913ae7319182637e644c699d1d73","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-2.4.1.tgz","fileCount":12,"integrity":"sha512-tclSt8wck9la+LCARg4p/nA7woWp2G3392T9vU0SpOylDj2ex3eADyW6jW4SC6+Zmqn1GSAaWJ+Fg50OZ82bxA==","signatures":[{"sig":"MEYCIQDpAQ+py941d5+0ZbHYg/irIbaMI8e1Q3NNXy+4a9oCXgIhAIGW8QtA5QAifguF9Vk2ddCD6J01AF8HrZc26XHfgdtE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3134875},"main":"dist/index.cjs","type":"module","_from":"file:claude-warden-2.4.1.tgz","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","warden":"node dist/cli.cjs","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","codex:export-rules":"node dist/codex-export.cjs","sync-plugin-version":"node scripts/sync-plugin-version.cjs"},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"_resolved":"/private/var/folders/lm/ht8g7bb11ll6k8q5c1dhh99r0000gn/T/c849123b579e7e7af805e5ec5c229587/claude-warden-2.4.1.tgz","_integrity":"sha512-tclSt8wck9la+LCARg4p/nA7woWp2G3392T9vU0SpOylDj2ex3eADyW6jW4SC6+Zmqn1GSAaWJ+Fg50OZ82bxA==","repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","dependencies":{"yaml":"^2.4.0","bash-parser":"npm:@banyudu/bash-parser@0.5.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_2.4.1_1775738019176_0.33697200406007877","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"claude-warden","version":"2.5.0","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@2.5.0","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs","warden-hook":"dist/index.cjs"},"dist":{"shasum":"9ba91158880dd8ce20bc9e74502cc3010afca0b2","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-2.5.0.tgz","fileCount":12,"integrity":"sha512-26cIBowLHM4p6CKT4/WWZvZ8NDSV4HvfXuNVZGqawkRbWBX0mPvwKvEhLWVm3op6nN7KMJx+ioDYehuoswGWLw==","signatures":[{"sig":"MEUCIFPi2YgQwLj9tlRIIUqeh8BHc9wkYyHXev2tSSY90vJ0AiEAjdBxyvMj6yLbAnOWMXFqjb0UrIt4earEkNYHixH+QEM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-warden@2.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3137069},"main":"dist/index.cjs","type":"module","gitHead":"bbe18cd48132ee6ef891b8f8bd23a75037dbaa1c","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","warden":"node dist/cli.cjs","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","postpublish":"claude plugin update claude-warden@local 2>/dev/null; claude plugin update warden@claude-warden 2>/dev/null; echo 'Plugin caches updated'","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","prepublishOnly":"pnpm run sync-plugin-version && pnpm run build && pnpm run test","codex:export-rules":"node dist/codex-export.cjs","sync-plugin-version":"node scripts/sync-plugin-version.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:667e9761-8fd1-44f9-b431-c48c01b8c2c2"}},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.5.1","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"22.22.2","dependencies":{"yaml":"^2.4.0","bash-parser":"npm:@banyudu/bash-parser@0.5.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_2.5.0_1775746955760_0.9556725013951177","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"claude-warden","version":"2.5.1","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@2.5.1","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs","warden-hook":"dist/index.cjs"},"dist":{"shasum":"61a6a8f206933aa8b439ad8f8611bdfdcb7c5049","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-2.5.1.tgz","fileCount":12,"integrity":"sha512-0bLO8zzaxKfSrI0wE0IRpiK6QsIX9mUoyaTL8NWIRsxoXg281uyHxnh+hnpBeZcWOR1+j7Jiigf4wdbTboFHaA==","signatures":[{"sig":"MEUCIQDrpPu6/7ERwXPRhu2MZiVg2+yVJHzb1W8achQFzjudlAIgZVFyRmzQpnE575DQjmjEzQM0Zux8dBgAwqOcr7EqUIg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-warden@2.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3137110},"main":"dist/index.cjs","type":"module","gitHead":"efcc41cf85e1934eae7dc415a0c6f76a7226c782","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup && chmod +x dist/*.cjs","warden":"node dist/cli.cjs","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","postpublish":"claude plugin update claude-warden@local 2>/dev/null; claude plugin update warden@claude-warden 2>/dev/null; echo 'Plugin caches updated'","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","prepublishOnly":"pnpm run sync-plugin-version && pnpm run build && pnpm run test && chmod +x dist/*.cjs","codex:export-rules":"node dist/codex-export.cjs","sync-plugin-version":"node scripts/sync-plugin-version.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:667e9761-8fd1-44f9-b431-c48c01b8c2c2"}},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.5.1","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"22.22.2","dependencies":{"yaml":"^2.4.0","bash-parser":"npm:@banyudu/bash-parser@0.5.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_2.5.1_1775834395215_0.18680728271795766","host":"s3://npm-registry-packages-npm-production"}},"2.5.2":{"name":"claude-warden","version":"2.5.2","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@2.5.2","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs","warden-hook":"dist/index.cjs"},"dist":{"shasum":"95ff2b5b45a182cf4c5b692a66ea715f036e265e","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-2.5.2.tgz","fileCount":12,"integrity":"sha512-SrkDG2vzHf9kXXpkvIsqcq5OFOUfE/8gz6OltLWAsB9u0MXV5Y9fydBg+kB9+u09TcvTCm7HEXMu5nbhPGUs7A==","signatures":[{"sig":"MEYCIQC6toEqnyYwykLEK4Tpyh8OIzVm+P4JIQTJhrL/56u1oAIhAKVGrr1yU3CUUTkjDlyf6OTTGajfHR6TkDhz2pyTU5TF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-warden@2.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3138190},"main":"dist/index.cjs","type":"module","gitHead":"41d99bf79fbcb7932f11cfa16ee8c856eea25d49","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup && chmod +x dist/*.cjs","warden":"node dist/cli.cjs","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","postpublish":"claude plugin update claude-warden@local 2>/dev/null; claude plugin update warden@claude-warden 2>/dev/null; echo 'Plugin caches updated'","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","prepublishOnly":"pnpm run sync-plugin-version && pnpm run build && pnpm run test && chmod +x dist/*.cjs","codex:export-rules":"node dist/codex-export.cjs","sync-plugin-version":"node scripts/sync-plugin-version.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:667e9761-8fd1-44f9-b431-c48c01b8c2c2"}},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.5.1","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"22.22.2","dependencies":{"yaml":"^2.4.0","bash-parser":"npm:@banyudu/bash-parser@0.5.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_2.5.2_1776147165508_0.9199307186759227","host":"s3://npm-registry-packages-npm-production"}},"2.5.3":{"name":"claude-warden","version":"2.5.3","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@2.5.3","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs","warden-hook":"dist/index.cjs"},"dist":{"shasum":"4c28a9f3857e1c952ff1b69764c84a5bc480fbde","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-2.5.3.tgz","fileCount":12,"integrity":"sha512-xCFDic5HHbC6+rQLtjtP+0Iq7ZGN5N33WlJLRXr8agzffcrKQUsggAC+AGRVmaGCeor2cFaf2oyCzdjGIiAfYw==","signatures":[{"sig":"MEUCIQC3E5+rrdtuFO+gTe6W/OvZxQhTuljPYT+zpceF44JkFwIgcDhDT5f9hw3bhS3D9Jk9wRJxc6URJQAN3H1tOVKzai8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-warden@2.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3138306},"main":"dist/index.cjs","type":"module","gitHead":"2f7df50a1b761a35429684b9d05a74e32f48844f","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup && chmod +x dist/*.cjs","warden":"node dist/cli.cjs","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","postpublish":"claude plugin update claude-warden@local 2>/dev/null; claude plugin update warden@claude-warden 2>/dev/null; echo 'Plugin caches updated'","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","prepublishOnly":"pnpm run sync-plugin-version && pnpm run build && pnpm run test && chmod +x dist/*.cjs","codex:export-rules":"node dist/codex-export.cjs","sync-plugin-version":"node scripts/sync-plugin-version.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:667e9761-8fd1-44f9-b431-c48c01b8c2c2"}},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.5.1","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"22.22.2","dependencies":{"yaml":"^2.4.0","bash-parser":"npm:@banyudu/bash-parser@0.5.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_2.5.3_1776151571159_0.07696524393908444","host":"s3://npm-registry-packages-npm-production"}},"2.5.4":{"name":"claude-warden","version":"2.5.4","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@2.5.4","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs","warden-hook":"dist/index.cjs"},"dist":{"shasum":"82ea5b43739039fdc2adfbdf0284df8d78248a44","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-2.5.4.tgz","fileCount":12,"integrity":"sha512-FKXQa/WSFcWEPcqCF010Qe2RM1oniZS04hm2OdsAUMUtRoNak7fBHOQT0Ryi0YAiKXezeyCxOi6qbtznYb//xg==","signatures":[{"sig":"MEYCIQD2TFer84Ke62VSYBuVMmjco3Bd9wmCDp9P6Nsc7ejWqgIhAJKMCY/uDzUmk4UHLRdQw8Vujlo3n2CasN6IHeNARWuk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-warden@2.5.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3138306},"main":"dist/index.cjs","type":"module","gitHead":"c8e3507e1c167ea006dd889cbd388ff098fb7ef9","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup && chmod +x dist/*.cjs","warden":"node dist/cli.cjs","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","postpublish":"claude plugin update claude-warden@local 2>/dev/null; claude plugin update warden@claude-warden 2>/dev/null; echo 'Plugin caches updated'","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","prepublishOnly":"pnpm run sync-plugin-version && pnpm run build && pnpm run test && chmod +x dist/*.cjs","codex:export-rules":"node dist/codex-export.cjs","sync-plugin-version":"node scripts/sync-plugin-version.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:667e9761-8fd1-44f9-b431-c48c01b8c2c2"}},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.5.1","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"22.22.2","dependencies":{"yaml":"^2.4.0","bash-parser":"npm:@banyudu/bash-parser@0.5.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_2.5.4_1776221044334_0.735131683472249","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"claude-warden","version":"2.6.0","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@2.6.0","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs","warden-hook":"dist/index.cjs"},"dist":{"shasum":"eb5466fb33e3802fe7edd10632ab5bd769491e0b","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-2.6.0.tgz","fileCount":12,"integrity":"sha512-KCMzbdsK8I7uGH2OHcdoCncM/PqrLhvKQjQqvA+7aizq9tZm1auI8Jq+Ix3H1GAhi58wHvN/uBKbQJ9l7nhEUQ==","signatures":[{"sig":"MEUCICEiYjVoCWK+HoUlfEy2uaa90kb8KOy6KGbIev8Cb6CZAiEA6l2HgdLSlqSSA3KYz2i8dPU5k7eHEP36uU+0OQdUXsI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-warden@2.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3141786},"main":"dist/index.cjs","type":"module","gitHead":"41552433e617d28085b284b27c2a0a03b78e3235","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup && chmod +x dist/*.cjs","warden":"node dist/cli.cjs","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","postpublish":"claude plugin update claude-warden@local 2>/dev/null; claude plugin update warden@claude-warden 2>/dev/null; echo 'Plugin caches updated'","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","prepublishOnly":"pnpm run sync-plugin-version && pnpm run build && pnpm run test && chmod +x dist/*.cjs","codex:export-rules":"node dist/codex-export.cjs","sync-plugin-version":"node scripts/sync-plugin-version.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:667e9761-8fd1-44f9-b431-c48c01b8c2c2"}},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.5.1","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"22.22.2","dependencies":{"yaml":"^2.4.0","bash-parser":"npm:@banyudu/bash-parser@0.5.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_2.6.0_1776221806056_0.5826345908608421","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"claude-warden","version":"2.7.0","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@2.7.0","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs","warden-hook":"dist/index.cjs"},"dist":{"shasum":"b1685c04cba58dd7dbac241e01c1aa0cfa377b3f","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-2.7.0.tgz","fileCount":12,"integrity":"sha512-YK17EhN0D+u5hPIXWQ21AWB+XOkwOhIWjTQjF+hwnGTVsc81jfyn7Ulh0zN/GyRB9hR9aNnTvNAchtFlokW8Yw==","signatures":[{"sig":"MEQCIFXRHT0A3ZlcizmNlX9SU5GSTZDoXVFV8k2/Hh7L/eEyAiATSjzZzPoyLOd/ws5CSOtNyWU+BX3V1S7/nz7nSLb4sw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-warden@2.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3154958},"main":"dist/index.cjs","type":"module","gitHead":"d79fa7629ec82c68818eb4d92593d8d6fcf34f16","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup && chmod +x dist/*.cjs","warden":"node dist/cli.cjs","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","postpublish":"claude plugin update claude-warden@local 2>/dev/null; claude plugin update warden@claude-warden 2>/dev/null; echo 'Plugin caches updated'","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","prepublishOnly":"pnpm run sync-plugin-version && pnpm run build && pnpm run test && chmod +x dist/*.cjs","codex:export-rules":"node dist/codex-export.cjs","sync-plugin-version":"node scripts/sync-plugin-version.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:667e9761-8fd1-44f9-b431-c48c01b8c2c2"}},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.5.1","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"22.22.2","dependencies":{"yaml":"^2.4.0","bash-parser":"npm:@banyudu/bash-parser@0.5.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_2.7.0_1776836645628_0.6229634844033987","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"claude-warden","version":"2.8.0","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@2.8.0","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs","warden-hook":"dist/index.cjs"},"dist":{"shasum":"7685d25ad4d6305b4b953bc3ca27c039dfc5f654","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-2.8.0.tgz","fileCount":12,"integrity":"sha512-A0Ake4ILIkvZyadHduAsnvwj3oY44xuFz9VrgSMu5BiKKbnmZnK5qpfoVZ5hZBJMb3Sa+rz9YhA8ciPPrZJgcQ==","signatures":[{"sig":"MEUCIHrUlwyYeTmW7cBh69Vd2YYe5NBbiMSMbLskxcX9G3EVAiEAxw+UJosb1hV2UL9QFy6aQgWWm1q98dYnMNnDy5j67/8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-warden@2.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3162422},"main":"dist/index.cjs","type":"module","gitHead":"879751ea9532c91b091e0d143be77556809c99b3","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup && chmod +x dist/*.cjs","warden":"node dist/cli.cjs","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","postpublish":"claude plugin update claude-warden@local 2>/dev/null; claude plugin update warden@claude-warden 2>/dev/null; echo 'Plugin caches updated'","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","prepublishOnly":"pnpm run sync-plugin-version && pnpm run build && pnpm run test && chmod +x dist/*.cjs","codex:export-rules":"node dist/codex-export.cjs","sync-plugin-version":"node scripts/sync-plugin-version.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:667e9761-8fd1-44f9-b431-c48c01b8c2c2"}},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.5.1","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"22.22.2","dependencies":{"yaml":"^2.4.0","bash-parser":"npm:@banyudu/bash-parser@0.5.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_2.8.0_1776843166090_0.18075247450202836","host":"s3://npm-registry-packages-npm-production"}},"2.8.1":{"name":"claude-warden","version":"2.8.1","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@2.8.1","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs","warden-hook":"dist/index.cjs"},"dist":{"shasum":"8833c8399164cdca5ab62b3b2bee102db6adde91","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-2.8.1.tgz","fileCount":12,"integrity":"sha512-tSlUeAlUFkasXqVwq2wVBNhS+EOShV3ZtZVwGtkodtO67fxZRPFH6DNsZzMe+P0Kv7l706K0abMNe6qzXoNcuw==","signatures":[{"sig":"MEYCIQCix8UtSrfyIs6m2cosyPo7psHoUcJ/+3sasVCKDEBRxgIhAJ38wnEse4olFJnw9WhbPUBJKnoEUJBxA+CxWamVF/AK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3171230},"main":"dist/index.cjs","type":"module","gitHead":"a990d57b88280c7195e1272d47fa955e5cc23930","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup && chmod +x dist/*.cjs","warden":"node dist/cli.cjs","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","postpublish":"claude plugin update claude-warden@local 2>/dev/null; claude plugin update warden@claude-warden 2>/dev/null; echo 'Plugin caches updated'","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","prepublishOnly":"pnpm run sync-plugin-version && pnpm run build && pnpm run test && chmod +x dist/*.cjs","codex:export-rules":"node dist/codex-export.cjs","sync-plugin-version":"node scripts/sync-plugin-version.cjs"},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","dependencies":{"yaml":"^2.4.0","bash-parser":"npm:@banyudu/bash-parser@0.5.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_2.8.1_1777044014668_0.22569121070471554","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"claude-warden","version":"2.9.0","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@2.9.0","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs","warden-hook":"dist/index.cjs"},"dist":{"shasum":"7c3b231729301017cb578e143707f0685f1d90c8","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-2.9.0.tgz","fileCount":12,"integrity":"sha512-Kf95hBcS9CYLI41UzlzT/8KkWf9PGAPhHHwhbkEQJkclufFsj4V6gWDl1FdCt7l+XbBKptCoLou4JWegqM2Lqw==","signatures":[{"sig":"MEUCIB62zsGO8gcXUSK0+cg8y+hdbtwvMQ43YtJUmxSMuiXRAiEAijlCEZjkAoe3Ih2sI25/kmrBJmcYqByqnp/b27d+7co=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3173925},"main":"dist/index.cjs","type":"module","gitHead":"84877b3547bcf26a45dfb6a7ae86a3faab42c13d","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup && chmod +x dist/*.cjs","warden":"node dist/cli.cjs","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","postpublish":"claude plugin update claude-warden@local 2>/dev/null; claude plugin update warden@claude-warden 2>/dev/null; echo 'Plugin caches updated'","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","prepublishOnly":"pnpm run sync-plugin-version && pnpm run build && pnpm run test && chmod +x dist/*.cjs","codex:export-rules":"node dist/codex-export.cjs","sync-plugin-version":"node scripts/sync-plugin-version.cjs"},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","dependencies":{"yaml":"^2.4.0","bash-parser":"npm:@banyudu/bash-parser@0.5.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_2.9.0_1777044031316_0.5419795714999072","host":"s3://npm-registry-packages-npm-production"}},"2.10.0":{"name":"claude-warden","version":"2.10.0","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@2.10.0","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs","warden-hook":"dist/index.cjs"},"dist":{"shasum":"33bde201b4a5db124e2e820c5cfe7fd63302ce4c","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-2.10.0.tgz","fileCount":12,"integrity":"sha512-uMuPrHu9QUk7y0GxJsMwM2tPk0cK+MCeAvIVhyxR/Pr3EMmARE84veRGkReYD2Nt/BCXStgkBA/G4fgwzXiiGQ==","signatures":[{"sig":"MEQCIC9OEXkpl2n1J93OyGnUd7RemIOqWgHSH1T8hjmrcfQhAiA7ANRszWjNP4SwNZCdzbXJYDE35HhVZM9CAWrW7+80Kg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3175843},"main":"dist/index.cjs","type":"module","gitHead":"dc01bf763c968b8aa5b10ef149a0a4413b5ac31a","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup && chmod +x dist/*.cjs","warden":"node dist/cli.cjs","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","postpublish":"claude plugin update claude-warden@local 2>/dev/null; claude plugin update warden@claude-warden 2>/dev/null; echo 'Plugin caches updated'","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","prepublishOnly":"pnpm run sync-plugin-version && pnpm run build && pnpm run test && chmod +x dist/*.cjs","codex:export-rules":"node dist/codex-export.cjs","sync-plugin-version":"node scripts/sync-plugin-version.cjs"},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","dependencies":{"yaml":"^2.4.0","bash-parser":"npm:@banyudu/bash-parser@0.5.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_2.10.0_1777044048208_0.7936285953989741","host":"s3://npm-registry-packages-npm-production"}},"2.10.1":{"name":"claude-warden","version":"2.10.1","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@2.10.1","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs","warden-hook":"dist/index.cjs"},"dist":{"shasum":"64540266262246f45ed908f560df98bed7aabe3a","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-2.10.1.tgz","fileCount":12,"integrity":"sha512-gL02d52SPKAZ8st+dD/gpNCbNoFE0vqtn9k5w3T8859pZSTATZOV7Rcu/BXscqYDCW80pJOelcWPo2H+G+Up7w==","signatures":[{"sig":"MEQCIBFuwNcnnXscWOPMkR1V5JEJoaHRHB5ndFP38aenHIn1AiAT9gVn5C0Tz1wSBQ1LsIXEZ/eqzslj0PqwmSGE//u9mA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3181599},"main":"dist/index.cjs","type":"module","gitHead":"8e299b1285fb2d1ac6e23e66d0d90147450fce98","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup && chmod +x dist/*.cjs","warden":"node dist/cli.cjs","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","postpublish":"claude plugin update claude-warden@local 2>/dev/null; claude plugin update warden@claude-warden 2>/dev/null; echo 'Plugin caches updated'","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","prepublishOnly":"pnpm run sync-plugin-version && pnpm run build && pnpm run test && chmod +x dist/*.cjs","codex:export-rules":"node dist/codex-export.cjs","sync-plugin-version":"node scripts/sync-plugin-version.cjs"},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","dependencies":{"yaml":"^2.4.0","bash-parser":"npm:@banyudu/bash-parser@0.5.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_2.10.1_1777455109061_0.13429626139010997","host":"s3://npm-registry-packages-npm-production"}},"2.10.2":{"name":"claude-warden","version":"2.10.2","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"banyudu"},"license":"MIT","_id":"claude-warden@2.10.2","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"homepage":"https://github.com/banyudu/claude-warden","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs","warden-hook":"dist/index.cjs"},"dist":{"shasum":"5082c1cff207da4b67d0ee7ddc0df17a0a155e20","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-2.10.2.tgz","fileCount":12,"integrity":"sha512-/YXMCnV2wYLP+dW+5QseYpoV1nHsbxfJYgbkn/iIevXxRsbqtCp+R0gvKJLbTJskHNOSNBCFvpmU5I2AnvgfzA==","signatures":[{"sig":"MEYCIQC9jC1NjLCE/DAsZzRQYmDls+yDWtu0SbN2cjuegqUM9gIhAOEbhORoto2ZoA6G2a1MACK6Fh76EUA8gPPTGVOw5Lf3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3197011},"main":"dist/index.cjs","type":"module","gitHead":"561d4dd39d8b0d3118249373890a0593915fc6dc","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup && chmod +x dist/*.cjs","warden":"node dist/cli.cjs","release":"scripts/release.sh patch","docs:dev":"cd docs-src && pnpm dev","typecheck":"tsc --noEmit","docs:build":"cd docs-src && pnpm install && pnpm build","test:watch":"vitest","postpublish":"claude plugin update claude-warden@local 2>/dev/null; claude plugin update warden@claude-warden 2>/dev/null; echo 'Plugin caches updated'","release:major":"scripts/release.sh major","release:minor":"scripts/release.sh minor","prepublishOnly":"pnpm run sync-plugin-version && pnpm run build && pnpm run test && chmod +x dist/*.cjs","codex:export-rules":"node dist/codex-export.cjs","sync-plugin-version":"node scripts/sync-plugin-version.cjs"},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"repository":{"url":"git+https://github.com/banyudu/claude-warden.git","type":"git"},"_npmVersion":"11.4.2","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.4.1","dependencies":{"yaml":"^2.4.0","bash-parser":"npm:@banyudu/bash-parser@0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^1.6.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-warden_2.10.2_1778169822924_0.9510933990818642","host":"s3://npm-registry-packages-npm-production"}},"2.10.3":{"name":"claude-warden","version":"2.10.3","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","type":"module","main":"dist/index.cjs","bin":{"warden":"dist/cli.cjs","warden-hook":"dist/index.cjs"},"license":"MIT","author":{"name":"banyudu"},"repository":{"type":"git","url":"git+https://github.com/banyudu/claude-warden.git"},"homepage":"https://github.com/banyudu/claude-warden","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"scripts":{"build":"tsup && chmod +x dist/*.cjs","dev":"tsup --watch","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit","eval":"node dist/index.cjs","warden":"node dist/cli.cjs","codex:export-rules":"node dist/codex-export.cjs","sync-plugin-version":"node scripts/sync-plugin-version.cjs","release":"scripts/release.sh patch","release:minor":"scripts/release.sh minor","release:major":"scripts/release.sh major","prepublishOnly":"pnpm run sync-plugin-version && pnpm run build && pnpm run test && chmod +x dist/*.cjs","postpublish":"claude plugin update claude-warden@local 2>/dev/null; claude plugin update warden@claude-warden 2>/dev/null; echo 'Plugin caches updated'","docs:dev":"cd docs-src && pnpm dev","docs:build":"cd docs-src && pnpm install && pnpm build"},"dependencies":{"bash-parser":"npm:@banyudu/bash-parser@0.6.0","yaml":"^2.4.0"},"devDependencies":{"@types/node":"^20.0.0","tsup":"^8.0.0","typescript":"^5.4.0","vitest":"^1.6.0"},"_id":"claude-warden@2.10.3","gitHead":"03bd5c5709f90f8a02a4a603a260dcc5797a0dd1","bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"_nodeVersion":"24.4.1","_npmVersion":"11.4.2","dist":{"integrity":"sha512-vK70mQ5fMGa8VfTwV8L8tJzhpQZwZZVtWWwXwSC7oZfdM99DEUtz1mqeeI9LChEL+gxQt3+wDT3hoJwGG0mBng==","shasum":"398b18541063855b2e5fd7718f3dd9133bd5f1a9","tarball":"https://registry.npmjs.org/claude-warden/-/claude-warden-2.10.3.tgz","fileCount":12,"unpackedSize":3201583,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDE3k4ITsYWteNG44MzbJPyNgCSjkLV2xt24kvMmhfDQQIgKS0Vk4fEwTYmJe6nckzVVz0ULn1jbh8NBtRjrsHyB00="}]},"_npmUser":{"name":"banyudu","email":"banyudu@gmail.com"},"directories":{},"maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/claude-warden_2.10.3_1779096239582_0.47455900258633377"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-22T07:21:31.301Z","modified":"2026-05-18T09:23:59.886Z","1.0.0":"2026-02-22T07:21:31.623Z","1.0.1":"2026-02-22T10:27:03.200Z","1.0.2":"2026-02-22T11:57:00.027Z","1.0.3":"2026-02-22T12:39:05.268Z","1.1.0":"2026-02-23T02:27:21.289Z","1.1.1":"2026-02-23T03:08:52.683Z","1.1.4":"2026-02-24T04:54:08.844Z","1.1.5":"2026-02-24T05:02:56.244Z","1.1.6":"2026-02-27T03:41:55.769Z","1.1.7":"2026-02-27T04:24:07.034Z","1.1.8":"2026-02-27T04:35:55.930Z","1.1.9":"2026-02-28T03:22:51.291Z","1.1.10":"2026-02-28T05:19:56.994Z","1.1.11":"2026-02-28T14:02:22.459Z","1.2.0":"2026-02-28T15:09:54.497Z","1.2.1":"2026-02-28T23:16:42.879Z","1.3.1":"2026-03-02T06:26:24.810Z","1.4.0":"2026-03-02T06:49:05.593Z","1.5.1":"2026-03-03T00:50:14.804Z","1.5.2":"2026-03-03T05:45:03.321Z","1.5.3":"2026-03-03T15:39:29.256Z","1.6.0":"2026-03-04T07:13:40.321Z","1.7.0":"2026-03-04T07:50:45.084Z","1.8.0":"2026-03-07T02:28:53.635Z","1.8.1":"2026-03-07T03:20:24.837Z","1.8.2":"2026-03-07T04:16:03.182Z","1.8.3":"2026-03-07T04:55:27.552Z","1.10.0":"2026-03-09T00:13:39.410Z","2.0.1":"2026-03-13T04:26:51.857Z","2.3.1":"2026-04-03T04:30:31.229Z","2.3.2":"2026-04-03T05:12:28.516Z","2.4.0":"2026-04-07T01:58:57.477Z","2.4.1":"2026-04-09T12:33:39.352Z","2.5.0":"2026-04-09T15:02:35.987Z","2.5.1":"2026-04-10T15:19:55.444Z","2.5.2":"2026-04-14T06:12:45.717Z","2.5.3":"2026-04-14T07:26:11.347Z","2.5.4":"2026-04-15T02:44:04.775Z","2.6.0":"2026-04-15T02:56:46.273Z","2.7.0":"2026-04-22T05:44:05.806Z","2.8.0":"2026-04-22T07:32:46.293Z","2.8.1":"2026-04-24T15:20:14.865Z","2.9.0":"2026-04-24T15:20:31.468Z","2.10.0":"2026-04-24T15:20:48.513Z","2.10.1":"2026-04-29T09:31:49.271Z","2.10.2":"2026-05-07T16:03:43.156Z","2.10.3":"2026-05-18T09:23:59.792Z"},"bugs":{"url":"https://github.com/banyudu/claude-warden/issues"},"author":{"name":"banyudu"},"license":"MIT","homepage":"https://github.com/banyudu/claude-warden","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"repository":{"type":"git","url":"git+https://github.com/banyudu/claude-warden.git"},"description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","maintainers":[{"name":"banyudu","email":"banyudu@gmail.com"}],"readme":"# Claude Warden\n\n[![npm version](https://img.shields.io/npm/v/claude-warden)](https://www.npmjs.com/package/claude-warden)\n[![npm downloads](https://img.shields.io/npm/dm/claude-warden)](https://www.npmjs.com/package/claude-warden)\n[![GitHub license](https://img.shields.io/github/license/banyudu/claude-warden)](https://github.com/banyudu/claude-warden/blob/main/LICENSE)\n[![GitHub stars](https://img.shields.io/github/stars/banyudu/claude-warden)](https://github.com/banyudu/claude-warden/stargazers)\n[![CI](https://img.shields.io/github/actions/workflow/status/banyudu/claude-warden/ci.yml?label=CI)](https://github.com/banyudu/claude-warden/actions)\n\nSmart command safety filter for [Claude Code](https://claude.ai/code), [OpenAI Codex CLI](https://developers.openai.com/codex/hooks), [GitHub Copilot CLI](https://docs.github.com/en/copilot/how-tos/customize-copilot-cli/use-hooks), and other AI coding agents. Parses shell commands, evaluates each against configurable safety rules, and returns allow/deny/ask decisions — eliminating unnecessary permission prompts while blocking dangerous commands.\n\n## The problem\n\nClaude Code's permission system is all-or-nothing. In the default mode, you're prompted for **every** shell command — even `ls`, `cat`, and `grep`. This creates a painful UX where you're clicking \"Allow\" hundreds of times per session on obviously safe commands. The alternative (yolo mode) disables all prompts, which is dangerous.\n\nThere's no middle ground: you can't say \"allow `git` but block `git push --force`\", or \"allow `ssh` to my dev server but prompt for production\". And compound commands like `npm run build && npm test` trigger a single opaque prompt with no visibility into what's actually being run.\n\n## How Warden solves it\n\nWarden hooks into Claude Code's `PreToolUse` event and **parses every shell command into an AST** using [bash-parser](https://github.com/vorpaljs/bash-parser). This means it doesn't just see `npm run build && git push --force` as a single string — it walks the AST to extract each individual command, then evaluates them independently against a configurable rule engine.\n\nThis AST-based approach enables:\n\n- **Pipe and chain decomposition**: `cat file | grep pattern | wc -l` is parsed into three commands, each evaluated separately. All safe → auto-allow. One dangerous → deny the whole pipeline.\n- **Argument-aware rules**: `git status` → allow, `git push --force` → prompt. `rm temp.txt` → allow, `rm -rf /` → prompt. The evaluator matches against argument patterns, not just command names.\n- **Recursive evaluation of remote commands**: `ssh devserver 'cat /etc/hosts'` → Warden extracts the remote command, parses it through the same pipeline, and allows it. `ssh devserver 'sudo rm -rf /'` → denied. Same for `docker exec`, `kubectl exec`, and `sprite exec`.\n- **Shell wrapper unwrapping**: `sh -c \"npm run build && npm test\"` → the inner command is extracted and recursively parsed/evaluated, not treated as an opaque string.\n- **Env prefix handling**: `NODE_ENV=production npm run build` → correctly evaluates `npm run build`, ignoring the env prefix.\n- **Recursive subshell evaluation**: Commands with `$()` or backticks are extracted, parsed, and recursively evaluated through the same pipeline. `echo $(cat file.txt)` → both `echo` and `cat` are evaluated individually. Only unparseable constructs (heredocs, complex shell syntax) fall back to prompting when `askOnSubshell` is enabled.\n- **Feedback on blocked commands**: When a command is blocked or flagged, Warden provides a system message explaining why and a YAML snippet showing how to allow it in your config.\n\nThe result: **100+ common dev commands auto-approved**, dangerous commands auto-denied, everything else configurable — with zero changes to how you use Claude Code.\n\n### Before and after\n\n| Command | Without Warden | With Warden |\n|---------|---------------|-------------|\n| `ls -la` | Prompted | Auto-allowed |\n| `cat file \\| grep pattern \\| wc -l` | Prompted | Auto-allowed (3 safe commands) |\n| `npm run build && npm test` | Prompted | Auto-allowed |\n| `git push --force origin main` | Prompted | Prompted (force push is risky) |\n| `sudo rm -rf /` | Prompted | Auto-denied (sudo is blocked) |\n| `ssh devserver cat /etc/hosts` | Prompted | Auto-allowed (trusted host + safe cmd) |\n| `ssh devserver sudo rm -rf /` | Prompted | Auto-denied (trusted host + dangerous cmd) |\n\n## Warden vs Auto Mode\n\nClaude Code recently introduced [Auto Mode](https://code.claude.com/docs/en/permission-modes#eliminate-prompts-with-auto-mode), which uses a background classifier model to approve or block actions without manual prompts. Here's how it compares to Warden:\n\n| | Warden | Auto Mode |\n|---|---|---|\n| **How it works** | Deterministic rule engine with AST-based shell parsing | LLM classifier (Sonnet 4.6) reviews each action |\n| **Availability** | All plans, all models, all providers (API, Bedrock, Vertex) | Team/Enterprise only, Sonnet 4.6 or Opus 4.6 only |\n| **Token cost** | Zero — runs locally as a hook | Extra classifier calls count toward token usage |\n| **Latency** | Near-instant (local process) | Network round-trip per classified action |\n| **Configurability** | Full control via YAML — per-command rules, `targetPolicies`, and `trustedRemotes` | Prose-based rules, admin-managed trusted infrastructure |\n| **Predictability** | Deterministic — same command always gets the same decision | Probabilistic — classifier may have false positives/negatives |\n| **Scope** | Shell commands only (Bash tool) | All tool calls (Bash, file edits, network, subagents) |\n\n**Can I use both?** Yes. Warden runs as a `PreToolUse` hook, which executes before Auto Mode's classifier. Warden handles fast, deterministic decisions for shell commands, and Auto Mode covers everything else (file edits, network requests, subagent spawning). They are complementary.\n\n**When to choose Warden alone:** You're on a Free/Pro plan, using API/Bedrock/Vertex providers, want zero extra token cost, or need deterministic and auditable command-level rules.\n\n**When to choose Auto Mode alone:** You want broader coverage beyond shell commands and are comfortable with classifier-based decisions.\n\n**When to use both:** You want the best of both worlds — instant deterministic shell command filtering from Warden, plus Auto Mode's broader safety net for non-shell actions.\n\n## Install\n\nTwo commands inside Claude Code:\n\n```\n/plugin marketplace add banyudu/claude-warden\n/plugin install warden@claude-warden\n```\n\nThat's it. Restart Claude Code and Warden is active.\n\n### Update\n\n```\nclaude plugin update warden@claude-warden\n```\n\nIf the update command reports you're already at the latest version but you know a newer version exists, the local marketplace cache may be stale. Force a refresh:\n\n```bash\ncd ~/.claude/plugins/marketplaces/claude-warden && git pull\n```\n\nThen run the update command again.\n\n### Alternative: install from npm\n\n```bash\nnpm install -g claude-warden\nclaude --plugin-dir $(npm root -g)/claude-warden\n```\n\n### Alternative: test locally from source\n\n```bash\ngit clone https://github.com/banyudu/claude-warden.git\ncd claude-warden && npm install && npm run build\nclaude --plugin-dir ./claude-warden\n```\n\n## Codex CLI\n\nCodex supports [PreToolUse hooks](https://developers.openai.com/codex/hooks) with a wire protocol nearly identical to Claude Code's, so the **same** Warden hook binary works natively — no rule export needed.\n\n### Setup\n\n1. Install Warden globally so the `warden-hook` binary lands in your `PATH`:\n\n```bash\nnpm install -g claude-warden\n```\n\n2. Drop the following into `~/.codex/hooks.json` (user-wide) or `<repo>/.codex/hooks.json` (project-scoped):\n\n```json\n{\n  \"hooks\": {\n    \"PreToolUse\": [\n      {\n        \"matcher\": \"Bash\",\n        \"hooks\": [\n          {\n            \"type\": \"command\",\n            \"command\": \"warden-hook\",\n            \"statusMessage\": \"Checking Bash command with Warden\"\n          }\n        ]\n      }\n    ]\n  }\n}\n```\n\nA ready-to-use template ships at [`.codex/hooks.json`](.codex/hooks.json). If `warden-hook` isn't on your `PATH` (e.g. non-global install), use the absolute path instead: `node /path/to/claude-warden/dist/index.cjs`.\n\n### How it works\n\nCodex sends the same `{tool_name, tool_input.command, cwd, session_id, ...}` payload on stdin and accepts the same `hookSpecificOutput.permissionDecision` response as Claude Code. The identical `dist/index.cjs` binary runs the full parser/evaluator pipeline — trusted hosts, YOLO mode, argument-aware rules, and all. The same `~/.claude/warden.yaml` and `.claude/warden.yaml` config files drive both.\n\n### Known Codex limitations\n\n- **Bash only** — Codex PreToolUse currently intercepts only shell commands; MCP, Write, and WebSearch tools are not hooked.\n- **Work in progress upstream** — Codex's hook system may miss some shell invocations. Treat it as defense-in-depth, not a hard sandbox.\n- **`deny` is authoritative; `allow`/`ask` fail open** — Codex currently honors `deny` (and exit code 2) but treats `allow`/`ask` as \"fail open\" (command proceeds). This is safe: Warden's deny list still blocks dangerous commands.\n- **No undo** — hooks cannot revert a command that has already executed.\n\n### Fallback: static rule export\n\nFor environments where the hook approach isn't viable, Warden can still export a static `execpolicy` rules file:\n\n```bash\npnpm run codex:export-rules   # writes .codex/rules/warden.rules\n```\n\nUse `--cwd <dir>`, `--out <path>`, or `--stdout` to customize. This snapshot loses dynamic behavior (trusted hosts, YOLO, etc.) but works with older Codex setups.\n\n## GitHub Copilot CLI\n\nWarden supports GitHub Copilot CLI's [preToolUse hook](https://docs.github.com/en/copilot/reference/hooks-configuration) natively.\n\n### Setup\n\n1. Install Warden in your project:\n\n```bash\nnpm install claude-warden\n```\n\n2. Copy the hook config to your repo:\n\n```bash\ncp node_modules/claude-warden/.github/hooks/warden.json .github/hooks/warden.json\n```\n\n3. Commit `.github/hooks/warden.json` to your default branch. Copilot CLI loads hooks from your current working directory automatically.\n\nThat's it. Copilot CLI will now evaluate bash commands through Warden's rule engine before execution.\n\n### How it works\n\nCopilot CLI sends a `preToolUse` event with `{\"toolName\": \"bash\", \"toolArgs\": \"{\\\"command\\\": \\\"...\\\"}\"}` on stdin. Warden's Copilot adapter (`dist/copilot.cjs`) parses this, runs the command through the same AST-based evaluation pipeline used for Claude Code, and returns `{\"permissionDecision\": \"allow|deny|ask\", \"permissionDecisionReason\": \"...\"}` on stdout.\n\nThe same `~/.claude/warden.yaml` and `.claude/warden.yaml` config files are used for both Claude Code and Copilot CLI.\n\n## Generic CLI\n\nWarden also provides a standalone CLI for use with any tool or shell script:\n\n```bash\nnpx claude-warden eval \"ls -la\"                    # → allow\nnpx claude-warden eval \"shutdown -h now\"            # → deny (exit code 2)\nnpx claude-warden eval --json \"git push --force\"    # → JSON output\nnpx claude-warden eval --cwd /path/to/project \"rm -rf dist\"\n```\n\nExit codes: `0` = allow, `1` = ask, `2` = deny.\n\nUse `--json` for machine-readable output suitable for scripting.\n\n## Configure\n\nWarden works out of the box with sensible defaults. To customize, create a config file:\n\n- **User-level** (applies everywhere): `~/.claude/warden.yaml`\n- **Project-level** (overrides user-level): `.claude/warden.yaml`\n\nCopy [config/warden.default.yaml](config/warden.default.yaml) as a starting point.\n\n### Config priority (scoped layers)\n\nConfig is evaluated in layers with **project > user > default** priority:\n\n1. **Project-level** (`.claude/warden.yaml`) — highest priority\n2. **User-level** (`~/.claude/warden.yaml`)\n3. **Built-in defaults**\n\nWithin each layer, `alwaysDeny` is checked before `alwaysAllow`. The first layer with a matching entry wins. For command-specific rules, the first layer that defines a rule for a given command wins.\n\nThis means:\n- A project `alwaysDeny` for `curl` overrides a user `alwaysAllow` for `curl`\n- A user `alwaysAllow` for `sudo` overrides the default `alwaysDeny` for `sudo`\n- A project rule for `npm` overrides the default rule for `npm`\n\n### Config options\n\n```yaml\n# Default decision for unknown commands: allow | deny | ask\ndefaultDecision: ask\n\n# Trigger \"ask\" for commands with $() or backticks\naskOnSubshell: true\n\n# Add commands to always allow/deny (scoped to this config level)\nalwaysAllow:\n  - terraform\n  - flyctl\nalwaysDeny:\n  - nc\n\n# Trusted remote contexts (auto-allow connection, evaluate remote commands)\ntrustedRemotes:\n  - context: ssh\n    name: devserver\n  - context: ssh\n    name: \"*.internal.company.com\"\n  - context: docker\n    name: my-app\n  - context: docker\n    name: dev-*\n  - context: kubectl\n    name: minikube\n  - context: sprite\n    name: my-sprite\n\n# Target-based policy overrides for data-sensitive commands\ntargetPolicies:\n  - type: path\n    path: \"{{cwd}}\"\n    commands: [rm, cp, mv]\n    decision: allow\n  - type: endpoint\n    pattern: \"http://localhost:*\"\n    decision: allow\n  - type: database\n    host: \"prod-db.internal\"\n    decision: deny\n    reason: Production database\n\n# Per-command rules (override built-in defaults for this scope)\nrules:\n  - command: npx\n    default: allow\n  - command: docker\n    default: ask\n    argPatterns:\n      - match:\n          anyArgMatches: ['^(ps|images|logs)$']\n        decision: allow\n        description: Read-only docker commands\n\n# Skill (slash command) filtering — gate Claude Code skill invocations.\n# Skill names use the short form (\"commit\", not \"/commit\"). Glob patterns\n# are supported so you can whitelist an entire plugin namespace.\nskills:\n  defaultDecision: ask\n  alwaysAllow:\n    - commit\n    - review\n    - simplify\n    - \"plugin-dev:*\"      # allow every skill in the \"plugin-dev\" plugin\n  alwaysDeny:\n    - deploy\n  rules:\n    - skill: release\n      default: ask\n      argPatterns:\n        - match:\n            argsMatch: [\"--dry-run\"]\n          decision: allow\n          description: Dry-run release is safe\n```\n\n## Skill (slash command) filtering\n\nWarden also intercepts Claude Code's `Skill` tool (the mechanism behind `/slash-command` invocations) using the same layered rule engine as shell commands. This lets you whitelist safe skills (read-only helpers, code review, summarization) while still prompting for anything that could modify state.\n\nSkill names are the identifier Claude Code uses internally — **without the leading `/`**. Built-in skills use a bare name (`commit`, `review`), plugin skills use `<plugin>:<skill>` (e.g. `plugin-dev:agent-development`, `code-review:code-review`). Glob patterns `*`, `?`, `[...]`, `{a,b,c}` are supported, so `\"plugin-dev:*\"` matches every skill in that plugin.\n\n### Configure\n\n```yaml\nskills:\n  # Default for skills with no matching rule: allow | deny | ask\n  defaultDecision: ask\n\n  # Auto-allow these skills (scoped to this config layer)\n  alwaysAllow:\n    - commit\n    - review\n    - \"plugin-dev:*\"\n\n  # Auto-deny these skills\n  alwaysDeny:\n    - deploy\n\n  # Per-skill rules with argument-aware matching\n  rules:\n    - skill: release\n      default: ask\n      argPatterns:\n        - match:\n            argsMatch: [\"--dry-run\"]\n          decision: allow\n          description: Dry-run release is safe\n```\n\nLayering follows the same **project > user > default** priority as shell rules (see [Config priority](#config-priority-scoped-layers)).\n\n### Built-in skill defaults\n\nWarden ships with a curated allow-list of skills that are read-only or informational — review tools (`review`, `security-review`, `code-review:code-review`), search/summarization helpers (`promptfolio-*`, `slack:find-discussions`, `slack:summarize-channel`), plugin-development guidance (`plugin-dev:*-development`), and `*-usage` docs skills. Everything else falls through to `defaultDecision: ask`.\n\n## YOLO mode\n\nNeed to temporarily bypass all permission prompts? YOLO mode auto-allows all commands for a limited time or the full session — while still blocking always-deny commands (like `sudo`, `shutdown`) for safety.\n\n### Activate via slash command\n\n```\n/warden:yolo session    # Full session, no expiry\n/warden:yolo 5m         # 5 minutes\n/warden:yolo 15m        # 15 minutes\n/warden:yolo off        # Turn off immediately\n```\n\nRunning `/warden:yolo` with no arguments shows a menu of duration options.\n\n### Activate via environment variable\n\nFor non-interactive sessions where `/warden:yolo` can't be invoked (e.g. piped prompts), set the `WARDEN_YOLO` env var:\n\n```bash\nWARDEN_YOLO=true claude < prompts.txt\nWARDEN_YOLO=1 claude < prompts.txt\n```\n\nUnlike the slash command, `WARDEN_YOLO` bypasses **all** checks including always-deny commands — it short-circuits before any parsing or evaluation, same as `--dangerously-skip-permissions`.\n\n### How it works\n\nYOLO mode is **session-scoped** — it only affects the current Claude Code session. The hook intercepts special activation commands and stores state in a temp file keyed by session ID. When a command is evaluated during YOLO mode, the hook skips normal rule evaluation and auto-allows (except always-deny commands). Expired YOLO states are cleaned up automatically.\n\n### Discovery\n\nWhen Warden prompts you for permission (`ask` decision), the system message includes a tip about YOLO mode so you can discover it when you need it most.\n\n## Feedback and `/warden:allow`\n\nWhen Warden blocks or flags a command, it includes a system message explaining:\n\n1. **Why** the command was blocked/flagged (per-command reasons)\n2. **How to allow it** — a ready-to-use YAML snippet for your config\n\nUse the `/warden:allow` slash command to apply the suggested config change. It will ask which scope (project or user) to use.\n\n## Built-in defaults\n\n### Always allowed (~60 commands)\nFile readers (`cat`, `head`, `tail`, `less`), search tools (`grep`, `rg`, `find`, `fd`), directory listing (`ls`, `tree`), text processing (`sed`, `awk`, `jq`), git, package managers (`npm`, `pnpm`, `yarn`), build tools (`make`, `cargo`, `go`, `tsc`), and more.\n\n### Always denied\n`sudo`, `su`, `mkfs`, `fdisk`, `dd`, `shutdown`, `reboot`, `iptables`, `crontab`, `systemctl`, `launchctl`\n\n### Conditional rules\nCommands like `node`, `npx`, `docker`, `ssh`, `git push --force`, `rm`, `chmod` have argument-aware rules. For example:\n- `git` is allowed but `git push --force` triggers a prompt\n- `rm temp.txt` is allowed but `rm -rf /` is prompted\n- `chmod 644 file` prompts but `chmod -R 777 /var` is denied\n\n### Trusted remotes\nConfigure `trustedRemotes` to auto-allow connections and recursively evaluate remote commands:\n- **SSH**: `context: ssh` — also covers `scp` and `rsync`\n- **Docker**: `context: docker` — for `docker exec`\n- **kubectl**: `context: kubectl` — for `kubectl exec` (requires explicit `--context`)\n- **Sprite**: `context: sprite` — for `sprite exec`/`console`\n- **Fly.io**: `context: fly` — for `fly ssh console`\n\nRemote names support glob patterns: `*`, `?`, `[...]`, `[!...]`, `{a,b,c}`\n\n### Target-based policies\nConfigure `targetPolicies` to override decisions based on what a command touches:\n- **Path**: allow or deny commands targeting specific files/directories, including `{{cwd}}`\n- **Database**: match DB host, optional port, and optional database name\n- **Endpoint**: match HTTP(S) endpoints for tools like `curl` and `wget`\n\nLegacy aliases such as `trustedSSHHosts`, `trustedDockerContainers`, `trustedKubectlContexts`, `trustedSprites`, `trustedFlyApps`, `trustedPaths`, `trustedDatabases`, and `trustedEndpoints` are still supported, but new configs should prefer `trustedRemotes` and `targetPolicies`.\n\n## How it works\n\n1. Claude Code calls the `PreToolUse` hook before every Bash command\n2. Warden parses the command into an AST via [bash-parser](https://github.com/vorpaljs/bash-parser), walking the tree to extract individual commands from pipes, chains, logical expressions, and subshells\n3. Shell wrappers (`sh -c`, `bash -c`) and remote commands (`ssh`, `docker exec`, `kubectl exec`, `sprite exec`) are recursively parsed and evaluated\n4. Each command is evaluated through the rule hierarchy: alwaysDeny → alwaysAllow → target-based policies → trusted remote contexts → command-specific rules with argument matching → default decision (checked per layer in priority order)\n5. Results are combined: any deny → deny whole pipeline, any ask → ask, all allow → allow\n6. Returns the decision via stdout JSON (allow/ask) or exit code 2 (deny), with a system message explaining the reasoning for deny/ask decisions\n\n## FAQ\n\n### Warden says \"All commands are safe\" but I still get a permission prompt\n\nThis usually means **another plugin's hook** is overriding Warden's decision. When multiple PreToolUse hooks run, Claude Code uses \"most restrictive wins\" — if any hook returns `ask`, it overrides another hook's `allow`.\n\n**Common culprit:** The `github-dev` plugin ships a `git_commit_confirm.py` hook that returns `permissionDecision: \"ask\"` for every `git commit` command, regardless of what Warden decides. You'll see something like:\n\n```\nHook PreToolUse:Bash requires confirmation for this command:\n[warden] All commands are safe\n```\n\nWarden evaluated the command as safe, but the other hook forced a confirmation prompt.\n\n**How to fix:** Uninstall or disable the conflicting plugin. For example:\n\n```\n/plugin uninstall github-dev\n```\n\n**How to diagnose:** If you see Warden's `[warden] All commands are safe` message alongside a permission prompt, another hook is the cause. Check your installed plugins for PreToolUse hooks:\n\n```\n/plugin list\n```\n\nThen inspect each plugin's `hooks/hooks.json` for PreToolUse entries targeting `Bash`.\n\n## Development\n\n```bash\npnpm install\npnpm run build        # Build to dist/index.cjs\npnpm run test         # Run tests\npnpm run typecheck    # Type check\npnpm run dev          # Watch mode\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}