{"_id":"@buvis/claude-warden","_rev":"21-54e88961eb30722f71f2393e51a8f3db","name":"@buvis/claude-warden","dist-tags":{"latest":"0.13.0"},"versions":{"0.1.0":{"name":"@buvis/claude-warden","version":"0.1.0","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"buvis"},"license":"MIT","_id":"@buvis/claude-warden@0.1.0","maintainers":[{"name":"tbouska","email":"tomas@buvis.net"}],"homepage":"https://github.com/buvis/claude-warden","bugs":{"url":"https://github.com/buvis/claude-warden/issues"},"dist":{"shasum":"0f306177fe6a1e60bf667aa62646e76bbc518dc4","tarball":"https://registry.npmjs.org/@buvis/claude-warden/-/claude-warden-0.1.0.tgz","fileCount":9,"integrity":"sha512-o+o9JUR7qU15wiRQqPk0fZm7YdyEjNrK0KhkNDn5xnPv9hGsvaYY53OzdGDwNjK5INoV+tv004TN8dEi00K7+g==","signatures":[{"sig":"MEQCIC2zwfNoBX9ttWPvdlQkjpVRsm3yL6TiYzcfAlHsZRtoAiAA5BGipPuQI6q3S8ivAOt1fcnb5km+AOH/bGMfm8kkCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1545870},"main":"dist/index.cjs","type":"module","gitHead":"f973eade917f4771aa0fe0a65696b3241c9d483a","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","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 -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":"tbouska","email":"tomas@buvis.net"},"repository":{"url":"git+https://github.com/buvis/claude-warden.git","type":"git"},"_npmVersion":"11.9.0","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"25.6.1","dependencies":{"yaml":"^2.4.0","bash-parser":"^0.5.0"},"publishConfig":{"access":"public"},"_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_0.1.0_1773825542576_0.4744321370963256","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@buvis/claude-warden","version":"0.2.0","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"buvis"},"license":"MIT","_id":"@buvis/claude-warden@0.2.0","maintainers":[{"name":"tbouska","email":"tomas@buvis.net"}],"homepage":"https://github.com/buvis/claude-warden","bugs":{"url":"https://github.com/buvis/claude-warden/issues"},"dist":{"shasum":"3a34d84d7395000ccdf01676c8d4b4e1ddb4712d","tarball":"https://registry.npmjs.org/@buvis/claude-warden/-/claude-warden-0.2.0.tgz","fileCount":9,"integrity":"sha512-MqUVF+xy55F3f1Al6jrrMerpPnJwcsap4Kka23pcru56A+WzrCLHQkS6lFYohNXc0D2suSLdwSz2tdbGZXYcmA==","signatures":[{"sig":"MEUCIQCGBqOuwKDOPRQ04zbNWbwXXmN1EnmWcrt9MZVaDndxLAIgWXT+i6u9wA6LFZLmFvauFwhU+6pf5nbSGJ7JwMszBYU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1632088},"main":"dist/index.cjs","type":"module","gitHead":"d8d7a16bfd4acbd71cd448381fc935b38ccb3292","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","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 -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":"tbouska","email":"tomas@buvis.net"},"repository":{"url":"git+https://github.com/buvis/claude-warden.git","type":"git"},"_npmVersion":"11.9.0","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"25.6.1","dependencies":{"yaml":"^2.4.0","bash-parser":"^0.5.0"},"publishConfig":{"access":"public"},"_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_0.2.0_1774302121470_0.5390922818246562","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@buvis/claude-warden","version":"0.2.2","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"buvis"},"license":"MIT","_id":"@buvis/claude-warden@0.2.2","maintainers":[{"name":"tbouska","email":"tomas@buvis.net"}],"homepage":"https://github.com/buvis/claude-warden","bugs":{"url":"https://github.com/buvis/claude-warden/issues"},"dist":{"shasum":"b61e01d00e8c7eb4f7a92919a128ef3cfa129f5f","tarball":"https://registry.npmjs.org/@buvis/claude-warden/-/claude-warden-0.2.2.tgz","fileCount":9,"integrity":"sha512-TLLEV4EEzzxmnBNOzvnFvbLW2ByOMfxSGNAOdHmLwRNkta4LhwQDu8Xy+Z2xB1lX2eppek8nBh8bBiOEcjbCDw==","signatures":[{"sig":"MEUCIGD6us0G/v8AhdsBC6cQ/Pb34Dx+flWOztYNOM1MDjK3AiEA9nsrq8u4RF5+YPuuiFP9/3ZURilhrlPlXRlQ1Mirm1k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buvis%2fclaude-warden@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1631927},"main":"dist/index.cjs","type":"module","gitHead":"12ab5a397058afbef3db65428e7fd2ac1ab24258","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","typecheck":"tsc --noEmit","test:watch":"vitest","postpublish":"claude plugin update warden@buvis-plugins 2>/dev/null; echo 'Plugin cache 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 -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":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5470f38c-e125-4c85-8e85-44d22c2cb06a"}},"repository":{"url":"git+https://github.com/buvis/claude-warden.git","type":"git"},"_npmVersion":"11.12.0","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"22.22.1","dependencies":{"yaml":"^2.4.0","bash-parser":"^0.5.0"},"publishConfig":{"access":"public"},"_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_0.2.2_1774339048600_0.7671696125449683","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@buvis/claude-warden","version":"0.2.3","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"buvis"},"license":"MIT","_id":"@buvis/claude-warden@0.2.3","maintainers":[{"name":"tbouska","email":"tomas@buvis.net"}],"homepage":"https://github.com/buvis/claude-warden","bugs":{"url":"https://github.com/buvis/claude-warden/issues"},"dist":{"shasum":"51638c88639d28e0f6531ffed9819e0efd96385c","tarball":"https://registry.npmjs.org/@buvis/claude-warden/-/claude-warden-0.2.3.tgz","fileCount":9,"integrity":"sha512-mgRMOVP0aoWgAj9M65SQF6ZhW5J7Ami24JtNCp1pwLyD7ZvfFpNoThim1NVzengQUOD16g/4DRBDT96+ajiusw==","signatures":[{"sig":"MEUCIEIKbn17mEqNurIEKOAw9+TIxES4iy+BEfyNquubNXXnAiEAlEPCB4l6xwmJj/ka71iVIKlxqCY0THfn5ZyRTShIINY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buvis%2fclaude-warden@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1632004},"main":"dist/index.cjs","type":"module","gitHead":"856189e82c1ccc6d4edb3319276dc38d907e98a5","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","typecheck":"tsc --noEmit","test:watch":"vitest","postpublish":"claude plugin update warden@buvis-plugins 2>/dev/null; echo 'Plugin cache 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 -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":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5470f38c-e125-4c85-8e85-44d22c2cb06a"}},"repository":{"url":"git+https://github.com/buvis/claude-warden.git","type":"git"},"_npmVersion":"11.12.0","description":"Smart command safety filter for Claude Code — auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"22.22.1","dependencies":{"yaml":"^2.4.0","bash-parser":"^0.5.0"},"publishConfig":{"access":"public"},"_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_0.2.3_1774340819475_0.7609601976011406","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@buvis/claude-warden","version":"0.2.4","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"buvis"},"license":"MIT","_id":"@buvis/claude-warden@0.2.4","maintainers":[{"name":"tbouska","email":"tomas@buvis.net"}],"homepage":"https://github.com/buvis/claude-warden","bugs":{"url":"https://github.com/buvis/claude-warden/issues"},"dist":{"shasum":"e74b5d59e1e8f027b90a279fb7127f3f38b9f22e","tarball":"https://registry.npmjs.org/@buvis/claude-warden/-/claude-warden-0.2.4.tgz","fileCount":9,"integrity":"sha512-aqotIKCK09ycqQ6syzFg7ssVAEhekVZ/wu26hU7eUCF5j+7JSZHLawNAM8FWQg9bfuttVEQxsNU2uycjfSiN0w==","signatures":[{"sig":"MEUCIQDTIwt9Lv6h2G+NYSWU1l8O07bok2IJ6BrlmBaYJs30PQIgfIQPUJ220hIz7lX7/hHWb3DuWyCXmUJ05/rSpzC4cYQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buvis%2fclaude-warden@0.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1622075},"main":"dist/index.cjs","type":"module","gitHead":"fa418f35a4b6b787a9c6365c4c95fcca373b7d10","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","typecheck":"tsc --noEmit","test:watch":"vitest","postpublish":"claude plugin update warden@buvis-plugins 2>/dev/null; echo 'Plugin cache 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 -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":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5470f38c-e125-4c85-8e85-44d22c2cb06a"}},"repository":{"url":"git+https://github.com/buvis/claude-warden.git","type":"git"},"_npmVersion":"11.12.0","description":"Smart command safety filter for Claude Code - auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"22.22.1","dependencies":{"yaml":"^2.4.0","bash-parser":"^0.5.0"},"publishConfig":{"access":"public"},"_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_0.2.4_1774420364102_0.7550887519070113","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@buvis/claude-warden","version":"0.3.0","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"buvis"},"license":"MIT","_id":"@buvis/claude-warden@0.3.0","maintainers":[{"name":"tbouska","email":"tomas@buvis.net"}],"homepage":"https://github.com/buvis/claude-warden","bugs":{"url":"https://github.com/buvis/claude-warden/issues"},"dist":{"shasum":"b425a11d11acf22eb051f3a24c30d2766306af35","tarball":"https://registry.npmjs.org/@buvis/claude-warden/-/claude-warden-0.3.0.tgz","fileCount":9,"integrity":"sha512-ZYYj+cs0iS8/vNjwTCM3ZE70sDXapef4h1ND3APaYtuIgVDgtlHogqX2+++3F2vQDdoqt0DlBrVy84WGcswL6g==","signatures":[{"sig":"MEYCIQDkIN6IwX7DyKSiAEODfks23ILYl1vt/X8LnAgoor6HgAIhALB4t0edVhwnl8UJDAIKNe0xVIu8E+78JWbFU1YFvmxi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buvis%2fclaude-warden@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":967092},"main":"dist/index.cjs","type":"module","gitHead":"dce14172b53d149e9a81ce93a766df256f0ef43c","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","typecheck":"tsc --noEmit","test:watch":"vitest","postpublish":"claude plugin update warden@buvis-plugins 2>/dev/null; echo 'Plugin cache 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 -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":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5470f38c-e125-4c85-8e85-44d22c2cb06a"}},"repository":{"url":"git+https://github.com/buvis/claude-warden.git","type":"git"},"_npmVersion":"11.12.0","description":"Smart command safety filter for Claude Code - auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"22.22.1","dependencies":{"yaml":"^2.4.0","unbash":"^2.2.0"},"publishConfig":{"access":"public"},"_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_0.3.0_1774474992236_0.3558416154403241","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@buvis/claude-warden","version":"0.4.0","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"buvis"},"license":"MIT","_id":"@buvis/claude-warden@0.4.0","maintainers":[{"name":"tbouska","email":"tomas@buvis.net"}],"homepage":"https://github.com/buvis/claude-warden","bugs":{"url":"https://github.com/buvis/claude-warden/issues"},"dist":{"shasum":"651a672d5ab5156ec123117c75370574201451e6","tarball":"https://registry.npmjs.org/@buvis/claude-warden/-/claude-warden-0.4.0.tgz","fileCount":11,"integrity":"sha512-nco10jwxEf31Fv8oCmSwL4BZ7s/sx8SUczt50F+vcUiIBXDfp2Tb/WbVhWHFScU4WaxmZyQTMflTsnkXtDoP0A==","signatures":[{"sig":"MEQCIAdpEReGYhODqdp3qvOTRrFMOrqrynLHlXfYwNPeUEipAiBNsWTCFYM3UU5ewvotc0Qydxlmy9eDzu13j8BpM3NiFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buvis%2fclaude-warden@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":973159},"main":"dist/index.cjs","type":"module","gitHead":"a09ab977fb5370b57171f71f41a34718c246bd30","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","typecheck":"tsc --noEmit","test:watch":"vitest","postpublish":"claude plugin update warden@buvis-plugins 2>/dev/null; echo 'Plugin cache 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 -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":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5470f38c-e125-4c85-8e85-44d22c2cb06a"}},"repository":{"url":"git+https://github.com/buvis/claude-warden.git","type":"git"},"_npmVersion":"11.12.1","description":"Smart command safety filter for Claude Code - auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"22.22.1","dependencies":{"yaml":"^2.4.0","unbash":"^2.2.0"},"publishConfig":{"access":"public"},"_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_0.4.0_1774655255691_0.21843649948527233","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@buvis/claude-warden","version":"0.5.0","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"buvis"},"license":"MIT","_id":"@buvis/claude-warden@0.5.0","maintainers":[{"name":"tbouska","email":"tomas@buvis.net"}],"homepage":"https://github.com/buvis/claude-warden","bugs":{"url":"https://github.com/buvis/claude-warden/issues"},"dist":{"shasum":"59737dc19186bbd965774bfd7ad98d20f32e7adc","tarball":"https://registry.npmjs.org/@buvis/claude-warden/-/claude-warden-0.5.0.tgz","fileCount":10,"integrity":"sha512-nXKbUTwQwszewp8AqzyAT6MQszpJVWLQOgU332B4Z7fQgimHlYkws/dy3dJdDGpNuL1HWnduH7C0owL0w8Pueg==","signatures":[{"sig":"MEUCIFo/dDoPn6+vZyHeiwPp9BB+wUqvW2EE/K4NOAxUhBZbAiEAmt6tIMqIpKPluxM0DUKe/26OF3MMxcvH5AdEZo/Og58=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buvis%2fclaude-warden@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":970809},"main":"dist/index.cjs","type":"module","gitHead":"49cf3715af3d183fcd9bf966fce41a2d61463632","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","typecheck":"tsc --noEmit","test:watch":"vitest","postpublish":"claude plugin update warden@buvis-plugins 2>/dev/null; echo 'Plugin cache 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 -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":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5470f38c-e125-4c85-8e85-44d22c2cb06a"}},"repository":{"url":"git+https://github.com/buvis/claude-warden.git","type":"git"},"_npmVersion":"11.12.1","description":"Smart command safety filter for Claude Code - auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"22.22.1","dependencies":{"yaml":"^2.4.0","unbash":"^2.2.0"},"publishConfig":{"access":"public"},"_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_0.5.0_1774856167129_0.0018132603940592684","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@buvis/claude-warden","version":"0.6.0","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"buvis"},"license":"MIT","_id":"@buvis/claude-warden@0.6.0","maintainers":[{"name":"tbouska","email":"tomas@buvis.net"}],"homepage":"https://github.com/buvis/claude-warden","bugs":{"url":"https://github.com/buvis/claude-warden/issues"},"dist":{"shasum":"c85b910cc9240f5806d274b0ad281688759ab422","tarball":"https://registry.npmjs.org/@buvis/claude-warden/-/claude-warden-0.6.0.tgz","fileCount":10,"integrity":"sha512-tsdTmavSqZp7/oRr9fgBCPCQG/Zv9msmfTZtiA16RuaOqi2xQd+qtS2CNRv7fX9+U1sDzoC4oHMLqAU9O2UP0g==","signatures":[{"sig":"MEYCIQCgTHUBLavyRHs5LPzhfthZ4o2LK02UuBB5c/OHWETVGwIhAJRjylwPweJn0T5XbH1SmSNM5ezOD0rcSsDDJkv48UxL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buvis%2fclaude-warden@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":976869},"main":"dist/index.cjs","type":"module","gitHead":"6c80a35805b367c2aebf845c87e0cebe844e16a4","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","typecheck":"tsc --noEmit","test:watch":"vitest","postpublish":"claude plugin update warden@buvis-plugins 2>/dev/null; echo 'Plugin cache 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 -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":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5470f38c-e125-4c85-8e85-44d22c2cb06a"}},"repository":{"url":"git+https://github.com/buvis/claude-warden.git","type":"git"},"_npmVersion":"11.12.1","description":"Smart command safety filter for Claude Code - auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"22.22.1","dependencies":{"yaml":"^2.4.0","unbash":"^2.2.0"},"publishConfig":{"access":"public"},"_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_0.6.0_1774939066796_0.7702424178338718","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@buvis/claude-warden","version":"0.6.2","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"buvis"},"license":"MIT","_id":"@buvis/claude-warden@0.6.2","maintainers":[{"name":"tbouska","email":"tomas@buvis.net"}],"homepage":"https://github.com/buvis/claude-warden","bugs":{"url":"https://github.com/buvis/claude-warden/issues"},"dist":{"shasum":"acfb7d2c0723084307e7a62c10a9ba23ea855217","tarball":"https://registry.npmjs.org/@buvis/claude-warden/-/claude-warden-0.6.2.tgz","fileCount":9,"integrity":"sha512-+Fs2US4sO9XvPsqsN9trx90x88RYWITjqC926mZRxWkD3nnZkEZzbEScOjCcEZ5duxvrZiXFFP1kpuAGrqv1jQ==","signatures":[{"sig":"MEYCIQD6F51oYTXGztOASLNOZobyL3frQLS7g4dWXprNLdAdtQIhAPJ+z3I9jTYgnnEd8f0SrBrMHeW7F4ftCRJLcn+YmzwE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buvis%2fclaude-warden@0.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":973447},"main":"dist/index.cjs","type":"module","gitHead":"165f21da73fcfc3eed158db0e67d86dcc054bc77","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"scripts/release.sh patch","typecheck":"tsc --noEmit","test:watch":"vitest","postpublish":"claude plugin update warden@buvis-plugins 2>/dev/null; echo 'Plugin cache 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 -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":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5470f38c-e125-4c85-8e85-44d22c2cb06a"}},"repository":{"url":"git+https://github.com/buvis/claude-warden.git","type":"git"},"_npmVersion":"11.12.1","description":"Smart command safety filter for Claude Code - auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"22.22.1","dependencies":{"yaml":"^2.4.0","unbash":"^2.2.0"},"publishConfig":{"access":"public"},"_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_0.6.2_1774946928813_0.006560994504298812","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@buvis/claude-warden","version":"0.6.3","keywords":["claude-code","claude-code-plugin","safety","security","shell","command-filter"],"author":{"name":"buvis"},"license":"MIT","_id":"@buvis/claude-warden@0.6.3","maintainers":[{"name":"tbouska","email":"tomas@buvis.net"}],"homepage":"https://github.com/buvis/claude-warden","bugs":{"url":"https://github.com/buvis/claude-warden/issues"},"dist":{"shasum":"59baec57150bd7f28cbea3a220c65b99bce6cbec","tarball":"https://registry.npmjs.org/@buvis/claude-warden/-/claude-warden-0.6.3.tgz","fileCount":9,"integrity":"sha512-EqasVqqzpIn1zUFaWET5o4yRMq+LP+quesm/Hkd8/tohVgNFMBEfopO911eg+Ezadq2tNDozIWKytbY+63Xq+w==","signatures":[{"sig":"MEUCIQC/WHYIbo/5kN1vpQ5Y1vrt5Uv/mQzTyPJgp1pYWrxNuQIgPpHwn1/p8WaplOdMtTZQQ3PPKsCSV+BIzNcYe89LbVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buvis%2fclaude-warden@0.6.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":973438},"main":"dist/index.cjs","type":"module","gitHead":"f5a4c928f7c45f52930f5296a1b59dfc4bd9bafc","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","release":"dev/bin/release patch","typecheck":"tsc --noEmit","test:watch":"vitest","postpublish":"claude plugin update warden@buvis-plugins 2>/dev/null; echo 'Plugin cache updated'","release:major":"dev/bin/release major","release:minor":"dev/bin/release 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 -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":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5470f38c-e125-4c85-8e85-44d22c2cb06a"}},"repository":{"url":"git+https://github.com/buvis/claude-warden.git","type":"git"},"_npmVersion":"11.12.1","description":"Smart command safety filter for Claude Code - auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"22.22.1","dependencies":{"yaml":"^2.4.0","unbash":"^2.2.0"},"publishConfig":{"access":"public"},"_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_0.6.3_1775219655160_0.3376668687171156","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@buvis/claude-warden","version":"0.7.0","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"buvis"},"license":"MIT","_id":"@buvis/claude-warden@0.7.0","maintainers":[{"name":"tbouska","email":"tomas@buvis.net"}],"homepage":"https://github.com/buvis/claude-warden","bugs":{"url":"https://github.com/buvis/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs"},"dist":{"shasum":"7d37ae2a23e8589ec5c83a7ce0684fb303c05395","tarball":"https://registry.npmjs.org/@buvis/claude-warden/-/claude-warden-0.7.0.tgz","fileCount":12,"integrity":"sha512-Tl4r6O/CwaFjy2cSSDPz13YHPIQHEpz6C0vJcJt28/OLPLBoJb7W7540CHXyNDc9W7A/rS2vMZ2f1hDxtuufow==","signatures":[{"sig":"MEUCIBZ6vbIS2xNoIRVL99fK/nATXHVEO4jJupld1aiJv1szAiEAsHme9mcJVGUuLiito2lgyQR9SFya0lSqkpghcajPluQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buvis%2fclaude-warden@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1922266},"main":"dist/index.cjs","type":"module","gitHead":"89d03f146f73c388f6525d8a6eefb837429124dc","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup","warden":"node dist/cli.cjs","release":"dev/bin/release patch","typecheck":"tsc --noEmit","test:watch":"vitest","postpublish":"claude plugin update warden@buvis-plugins 2>/dev/null; echo 'Plugin cache updated'","release:major":"dev/bin/release major","release:minor":"dev/bin/release 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:5470f38c-e125-4c85-8e85-44d22c2cb06a"}},"repository":{"url":"git+https://github.com/buvis/claude-warden.git","type":"git"},"_npmVersion":"11.11.0","description":"Smart command safety filter for Claude Code - auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.14.1","dependencies":{"yaml":"^2.4.0","unbash":"^2.2.0"},"publishConfig":{"access":"public"},"_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_0.7.0_1775552610327_0.04603145610761783","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@buvis/claude-warden","version":"0.8.0","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"buvis"},"license":"MIT","_id":"@buvis/claude-warden@0.8.0","maintainers":[{"name":"tbouska","email":"tomas@buvis.net"}],"homepage":"https://github.com/buvis/claude-warden","bugs":{"url":"https://github.com/buvis/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs","warden-hook":"dist/index.cjs"},"dist":{"shasum":"65340634c0d12bcefe9c9bc4e6f029a19b6e0ea4","tarball":"https://registry.npmjs.org/@buvis/claude-warden/-/claude-warden-0.8.0.tgz","fileCount":13,"integrity":"sha512-TfkU91THSCdGvRiPBt5j1+ZMoWry5PD0fESJVJS8YPpY+UNALowt7VqB+p20/f/Gsmv0BMv3jJw2KypsBvAVew==","signatures":[{"sig":"MEUCIGLQJp1cjpyg7ba/SkEYezdiVU4HR6fGO0h8fyKsn3y2AiEAxgDb/fC8d5om2dX19Si4K7RhhrUm/RvkbsW2QR5UnkA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buvis%2fclaude-warden@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1923122},"main":"dist/index.cjs","type":"module","gitHead":"f376db6f99de328074d561e4138b38d7b3a30959","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup && chmod +x dist/*.cjs","warden":"node dist/cli.cjs","release":"dev/bin/release patch","typecheck":"tsc --noEmit","test:watch":"vitest","postpublish":"claude plugin update warden@buvis-plugins 2>/dev/null; echo 'Plugin cache updated'","release:major":"dev/bin/release major","release:minor":"dev/bin/release 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:5470f38c-e125-4c85-8e85-44d22c2cb06a"}},"repository":{"url":"git+https://github.com/buvis/claude-warden.git","type":"git"},"_npmVersion":"11.11.0","description":"Smart command safety filter for Claude Code - auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.14.1","dependencies":{"yaml":"^2.4.0","unbash":"^2.2.0"},"publishConfig":{"access":"public"},"_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_0.8.0_1776000121181_0.5342834659860358","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@buvis/claude-warden","version":"0.9.0","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"buvis"},"license":"MIT","_id":"@buvis/claude-warden@0.9.0","maintainers":[{"name":"tbouska","email":"tomas@buvis.net"}],"homepage":"https://github.com/buvis/claude-warden","bugs":{"url":"https://github.com/buvis/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs","warden-hook":"dist/index.cjs"},"dist":{"shasum":"0e78aab96823aba9783ae035589d4ae4d5b55760","tarball":"https://registry.npmjs.org/@buvis/claude-warden/-/claude-warden-0.9.0.tgz","fileCount":13,"integrity":"sha512-yHpepgCkNgJkwWfj4n+l36LDeROshurLESAzp+jcmwhz9URpbVrlt1vR+LKZYXzBTpQxDAjFBZG25TQTY/vxIw==","signatures":[{"sig":"MEUCIB2uS0t5X2MYh2+qfzZ5whzhkad0oWfxwhet7hIOY0reAiEAoQWUOFwSJ8kz+Hu1ZA2qVkRfvYfQL91yzMVvAXYzWV0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buvis%2fclaude-warden@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1935527},"main":"dist/index.cjs","type":"module","gitHead":"1dbc45552bbb18b0eefc968b7e377e1ecf7746c7","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup && chmod +x dist/*.cjs","warden":"node dist/cli.cjs","release":"dev/bin/release patch","typecheck":"tsc --noEmit","test:watch":"vitest","postpublish":"claude plugin update warden@buvis-plugins 2>/dev/null; echo 'Plugin cache updated'","release:major":"dev/bin/release major","release:minor":"dev/bin/release 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:5470f38c-e125-4c85-8e85-44d22c2cb06a"}},"repository":{"url":"git+https://github.com/buvis/claude-warden.git","type":"git"},"_npmVersion":"11.11.0","description":"Smart command safety filter for Claude Code - auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.14.1","dependencies":{"yaml":"^2.4.0","unbash":"^2.2.0"},"publishConfig":{"access":"public"},"_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_0.9.0_1777316614191_0.7537753236911953","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@buvis/claude-warden","version":"0.10.0","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"buvis"},"license":"MIT","_id":"@buvis/claude-warden@0.10.0","maintainers":[{"name":"tbouska","email":"tomas@buvis.net"}],"homepage":"https://github.com/buvis/claude-warden","bugs":{"url":"https://github.com/buvis/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs","warden-hook":"dist/index.cjs"},"dist":{"shasum":"2fd299d436cf661ffc1cc64f63fb0b788f613d3c","tarball":"https://registry.npmjs.org/@buvis/claude-warden/-/claude-warden-0.10.0.tgz","fileCount":13,"integrity":"sha512-VPt/niavtiRNmFmGr7ZYw10OZkTH3ZP2uHEKWJzj9QjObz+CPy/lWNpAn5wK8nH+QACZoVUU9Vq79NwDdoR4KA==","signatures":[{"sig":"MEYCIQDYeB4EvmDiUNx/1FEfhzlhCBlp+oHxU75fHy2A7LYYAAIhAJ5aB+RVNZp4CgE3ooJqQxBpmh9S0Q1VCZx+gEJhSVvX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buvis%2fclaude-warden@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1937254},"main":"dist/index.cjs","type":"module","gitHead":"d882bce41fcd8106667d81fc3e1f40d1e60ee263","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup && chmod +x dist/*.cjs","warden":"node dist/cli.cjs","release":"dev/bin/release patch","typecheck":"tsc --noEmit","test:watch":"vitest","postpublish":"claude plugin update warden@buvis-plugins 2>/dev/null; echo 'Plugin cache updated'","release:major":"dev/bin/release major","release:minor":"dev/bin/release 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:5470f38c-e125-4c85-8e85-44d22c2cb06a"}},"repository":{"url":"git+https://github.com/buvis/claude-warden.git","type":"git"},"_npmVersion":"11.11.0","description":"Smart command safety filter for Claude Code - auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.14.1","dependencies":{"yaml":"^2.4.0","unbash":"^2.2.0"},"publishConfig":{"access":"public"},"_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_0.10.0_1777318528886_0.586205733405035","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@buvis/claude-warden","version":"0.11.0","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"buvis"},"license":"MIT","_id":"@buvis/claude-warden@0.11.0","maintainers":[{"name":"tbouska","email":"tomas@buvis.net"}],"homepage":"https://github.com/buvis/claude-warden","bugs":{"url":"https://github.com/buvis/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs","warden-hook":"dist/index.cjs"},"dist":{"shasum":"b2c3004a56ce9f8f11fc14f89ef294f7733b19b3","tarball":"https://registry.npmjs.org/@buvis/claude-warden/-/claude-warden-0.11.0.tgz","fileCount":13,"integrity":"sha512-J2ZY8t05RSGt/A4FCNGF6PRabUVn4QQW+xaILlYKlmPje/4Nn3/OPerkHVjWFQs14SkJkCtht/Lu13JqSUh1uA==","signatures":[{"sig":"MEQCIANz+nn/SjoRLm7aqkaElrkRoKMjG7Cz5w8CQiQa+vDcAiAJ4Ob+P/H+vMC2mALpAbb5fTGhyvC7y+xyF+xP6AXfOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buvis%2fclaude-warden@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1948286},"main":"dist/index.cjs","type":"module","gitHead":"be6d15af2387866e369fa04c156fc776a1cc4b27","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup && chmod +x dist/*.cjs","warden":"node dist/cli.cjs","release":"dev/bin/release patch","typecheck":"tsc --noEmit","test:watch":"vitest","postpublish":"claude plugin update warden@buvis-plugins 2>/dev/null; echo 'Plugin cache updated'","release:major":"dev/bin/release major","release:minor":"dev/bin/release 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:5470f38c-e125-4c85-8e85-44d22c2cb06a"}},"repository":{"url":"git+https://github.com/buvis/claude-warden.git","type":"git"},"_npmVersion":"11.11.0","description":"Smart command safety filter for Claude Code - auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.14.1","dependencies":{"yaml":"^2.4.0","unbash":"^2.2.0"},"publishConfig":{"access":"public"},"_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_0.11.0_1777320974424_0.40283184093022184","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"@buvis/claude-warden","version":"0.11.1","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"buvis"},"license":"MIT","_id":"@buvis/claude-warden@0.11.1","maintainers":[{"name":"tbouska","email":"tomas@buvis.net"}],"homepage":"https://github.com/buvis/claude-warden","bugs":{"url":"https://github.com/buvis/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs","warden-hook":"dist/index.cjs"},"dist":{"shasum":"9800e54dc10459c736953dca54e88154242ee5cd","tarball":"https://registry.npmjs.org/@buvis/claude-warden/-/claude-warden-0.11.1.tgz","fileCount":13,"integrity":"sha512-/p8pwxggILU18me2mH81NUNmSSbbhNeZR55dl3ftENfJNf8M/QR3rUeItu0YhAUOj7zW0gvXaIFQJcaeXMbkVg==","signatures":[{"sig":"MEQCIEE/ur1mUo5deTXhj12dPhz0nu3JWRaLPQKKmDDBFuxUAiB5stL3wcYs7hibWPTLbQW6Nk0YGeLK1bDnirT0LRUnGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buvis%2fclaude-warden@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1953102},"main":"dist/index.cjs","type":"module","gitHead":"5583c8b736ce78b1d0443f87c5a34620e06134b6","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup && chmod +x dist/*.cjs","warden":"node dist/cli.cjs","release":"dev/bin/release patch","typecheck":"tsc --noEmit","test:watch":"vitest","postpublish":"claude plugin update warden@buvis-plugins 2>/dev/null; echo 'Plugin cache updated'","release:major":"dev/bin/release major","release:minor":"dev/bin/release 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:5470f38c-e125-4c85-8e85-44d22c2cb06a"}},"repository":{"url":"git+https://github.com/buvis/claude-warden.git","type":"git"},"_npmVersion":"11.13.0","description":"Smart command safety filter for Claude Code - auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.16.0","dependencies":{"yaml":"^2.4.0","unbash":"^2.2.0"},"publishConfig":{"access":"public"},"_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_0.11.1_1780247677338_0.2656514876686966","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@buvis/claude-warden","version":"0.12.0","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"author":{"name":"buvis"},"license":"MIT","_id":"@buvis/claude-warden@0.12.0","maintainers":[{"name":"tbouska","email":"tomas@buvis.net"}],"homepage":"https://github.com/buvis/claude-warden","bugs":{"url":"https://github.com/buvis/claude-warden/issues"},"bin":{"warden":"dist/cli.cjs","warden-hook":"dist/index.cjs"},"dist":{"shasum":"7633c826286ff783a16f939b1cc90247a3349c2c","tarball":"https://registry.npmjs.org/@buvis/claude-warden/-/claude-warden-0.12.0.tgz","fileCount":13,"integrity":"sha512-SvbhnTcWJBuye8tOBHuZnik7zFHet1+56vudAP5xBwNK4tof9vvK593walWL7Z1uPC62qoZEALKoPAhBosXVog==","signatures":[{"sig":"MEUCIQDU2hph4Gl2+oLP8J9HQuNJyeisGUjgMRtaP8lE9HrNOQIgEtCQTbxlCbtkXRyb+ktXpKxZXGFQBC/cfXv8qbXkblE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buvis%2fclaude-warden@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1957674},"main":"dist/index.cjs","type":"module","gitHead":"d4f89feb1e1c261a72bba1b5844a55e2c5ded3b0","scripts":{"dev":"tsup --watch","eval":"node dist/index.cjs","test":"vitest run","build":"tsup && chmod +x dist/*.cjs","warden":"node dist/cli.cjs","release":"dev/bin/release patch","typecheck":"tsc --noEmit","test:watch":"vitest","postpublish":"claude plugin update warden@buvis-plugins 2>/dev/null; echo 'Plugin cache updated'","release:major":"dev/bin/release major","release:minor":"dev/bin/release 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:5470f38c-e125-4c85-8e85-44d22c2cb06a"}},"repository":{"url":"git+https://github.com/buvis/claude-warden.git","type":"git"},"_npmVersion":"11.13.0","description":"Smart command safety filter for Claude Code - auto-approves safe commands, blocks dangerous ones","directories":{},"_nodeVersion":"24.16.0","dependencies":{"yaml":"^2.4.0","unbash":"^2.2.0"},"publishConfig":{"access":"public"},"_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_0.12.0_1780997261131_0.9191347256293696","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@buvis/claude-warden","version":"0.13.0","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":"buvis"},"repository":{"type":"git","url":"git+https://github.com/buvis/claude-warden.git"},"homepage":"https://github.com/buvis/claude-warden","publishConfig":{"access":"public"},"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":"dev/bin/release patch","release:minor":"dev/bin/release minor","release:major":"dev/bin/release major","prepublishOnly":"pnpm run sync-plugin-version && pnpm run build && pnpm run test && chmod +x dist/*.cjs","postpublish":"claude plugin update warden@buvis-plugins 2>/dev/null; echo 'Plugin cache updated'"},"dependencies":{"unbash":"^2.2.0","yaml":"^2.4.0"},"devDependencies":{"@types/node":"^20.0.0","tsup":"^8.0.0","typescript":"^5.4.0","vitest":"^1.6.0"},"gitHead":"a018148f7e3ce6e554ce0aedfdf384ea05a5cf58","_id":"@buvis/claude-warden@0.13.0","bugs":{"url":"https://github.com/buvis/claude-warden/issues"},"_nodeVersion":"24.17.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-GAUHcs2RBTGbmulnuCKqBcMRIoo33echotnzWqmJAz5Hff1KVKC4svXV0A/9WYHtMMeCJJXCMnDFPLRti3Mlrw==","shasum":"b99d4ed78c518b693d02954c2e0793cb9408ae2e","tarball":"https://registry.npmjs.org/@buvis/claude-warden/-/claude-warden-0.13.0.tgz","fileCount":13,"unpackedSize":2061246,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buvis%2fclaude-warden@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDLOQ3QGFHx0ZPu3pAX6oasC+O1rs6M80A7WwqnhUeSvwIhAOg/vChg7xXYX0HanfLIi+2wQUIAkQU4Od6qvSp6p7Fr"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5470f38c-e125-4c85-8e85-44d22c2cb06a"}},"directories":{},"maintainers":[{"name":"tbouska","email":"tomas@buvis.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/claude-warden_0.13.0_1782932791008_0.38211520990748893"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-18T09:19:02.416Z","modified":"2026-07-01T19:06:31.506Z","0.1.0":"2026-03-18T09:19:02.809Z","0.2.0":"2026-03-23T21:42:01.653Z","0.2.2":"2026-03-24T07:57:28.766Z","0.2.3":"2026-03-24T08:26:59.680Z","3.0.0":"2026-03-24T16:37:43.024Z","0.2.4":"2026-03-25T06:32:44.293Z","0.3.0":"2026-03-25T21:43:12.436Z","0.4.0":"2026-03-27T23:47:35.897Z","0.5.0":"2026-03-30T07:36:07.308Z","0.6.0":"2026-03-31T06:37:46.969Z","0.6.2":"2026-03-31T08:48:49.002Z","0.6.3":"2026-04-03T12:34:15.331Z","0.7.0":"2026-04-07T09:03:30.515Z","0.8.0":"2026-04-12T13:22:01.419Z","0.9.0":"2026-04-27T19:03:34.342Z","0.10.0":"2026-04-27T19:35:29.062Z","0.11.0":"2026-04-27T20:16:14.597Z","0.11.1":"2026-05-31T17:14:37.543Z","0.12.0":"2026-06-09T09:27:41.336Z","0.13.0":"2026-07-01T19:06:31.158Z"},"bugs":{"url":"https://github.com/buvis/claude-warden/issues"},"author":{"name":"buvis"},"license":"MIT","homepage":"https://github.com/buvis/claude-warden","keywords":["claude-code","claude-code-plugin","copilot","copilot-cli","safety","security","shell","command-filter"],"repository":{"type":"git","url":"git+https://github.com/buvis/claude-warden.git"},"description":"Smart command safety filter for Claude Code - auto-approves safe commands, blocks dangerous ones","maintainers":[{"name":"tbouska","email":"tomas@buvis.net"}],"readme":"# Claude Warden\n\n[![GitHub license](https://img.shields.io/github/license/buvis/claude-warden)](https://github.com/buvis/claude-warden/blob/master/LICENSE)\n\nSmart command safety filter for [Claude Code](https://claude.ai/code). Parses shell commands into AST, evaluates each against configurable safety rules, 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. Default mode prompts for **every** shell command - even `ls` and `cat`. YOLO mode disables all prompts, which is dangerous. No middle ground.\n\n## What Warden does\n\nHooks into Claude Code's `PreToolUse` event. Parses every command through [unbash](https://github.com/webpro-nl/unbash), walks the AST to extract individual commands from pipes, chains, and subshells, evaluates each independently.\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\n## Install\n\nTwo commands inside Claude Code:\n\n```\n/plugin marketplace add buvis/claude-plugins\n/plugin install warden@buvis-plugins\n```\n\nRestart Claude Code and Warden is active. Works out of the box with sensible defaults.\n\n### Update\n\n```\nclaude plugin update warden@buvis-plugins\n```\n\n### Alternative: install from npm\n\n```bash\nnpm install -g @buvis/claude-warden\nclaude --plugin-dir $(npm root -g)/@buvis/claude-warden\n```\n\n### Alternative: test locally from source\n\n```bash\ngit clone https://github.com/buvis/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 @buvis/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 @buvis/claude-warden\n```\n\n2. Copy the hook config to your repo:\n\n```bash\ncp node_modules/@buvis/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 @buvis/claude-warden eval \"ls -la\"                    # -> allow\nnpx @buvis/claude-warden eval \"shutdown -h now\"            # -> deny (exit code 2)\nnpx @buvis/claude-warden eval --json \"git push --force\"    # -> JSON output\nnpx @buvis/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\nCreate config files to customize:\n\n- **User-level**: `~/.claude/warden.yaml`\n- **Project-level**: `.claude/warden.yaml`\n\nCopy [`config/warden.default.yaml`](config/warden.default.yaml) as a starting point.\n\n## Documentation\n\nFull user and developer documentation at **[buvis.github.io/claude-warden](https://buvis.github.io/claude-warden/)**.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}