{"_id":"pi-defender","_rev":"33-8296da81326c5389f761fdeec30667f9","name":"pi-defender","dist-tags":{"latest":"1.9.3"},"versions":{"1.0.3":{"name":"pi-defender","version":"1.0.3","keywords":["pi","pi-extension","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.0.3","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"a17923cc039a369840352f4ee7bb084b4ce93c98","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.0.3.tgz","fileCount":13,"integrity":"sha512-4BJC2kSh6abIO/Vpf4GEhBd4pHNj3Wz572BnWm5+SKTTSA7hNvBLV9LmaKGZSyp40s8MEXQ2CLcvHno3nyY3ZA==","signatures":[{"sig":"MEUCIGyFKGKQcjKuyaeJPgUajrEoBeMRLNLmPCJmFE/MknRHAiEA98DNZeX8MrNYDTDfpZXy3leTcvMnD3BawESSXq8iK/o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1633766},"gitHead":"864cc5f70c0f6073874a9401eb215691feda370f","_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.0.3_1778583999895_0.8748678009250563","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"pi-defender","version":"1.0.4","keywords":["pi","pi-extension","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.0.4","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"19027a09e19af515a6961447a6ad11d60d19e218","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.0.4.tgz","fileCount":9,"integrity":"sha512-lwK9/rPWndSQvs6eCxtN4HvS3OVNnGHSc3gJuiTqTE26b639mrDPzDt6Qpiqs/QlOohVNz6fnCiutLrQiwhSIA==","signatures":[{"sig":"MEQCIHHUJJ2cs8SZrO02sPxREy45JZ9Wq47WSCcoAwgUuiaQAiAfOUvqhRa0/Ir3HJkXkXUKVO55gkjl8KdyA/FUTEvdnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1625560},"gitHead":"d161c64287d439ae742c023ffbf766403bdb0c22","scripts":{"postinstall":""},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.0.4_1778586268091_0.12127617951093361","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"pi-defender","version":"1.0.6","keywords":["pi","pi-extension","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.0.6","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"3ea9fa0f1f92e287b6a2d59644ed5782e8038948","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.0.6.tgz","fileCount":9,"integrity":"sha512-ZZ/0k4UOk3vugGiPVyh3lc2s5l4wm9UNJhV0P+rZEIOTFtFFO39CBfhasntSnFb9vj1a3S5ZyrNy0EIqEGR0ZQ==","signatures":[{"sig":"MEUCIGMHc4lIvXIK5ezSnWcmw1B/gGhNHEco+zypV+DDL6zgAiEAt+s40xlS3TY3o0wUq8WeseKZ3ojrdApil/Ds5KqIRzE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1624475},"gitHead":"e0a6589cfcf1375ce2ee035dbc5906a046173f12","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.0.6_1778586624629_0.6685767431167946","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"pi-defender","version":"1.0.7","keywords":["pi","pi-extension","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.0.7","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"9c2fdbbe9df3639bb44224dfd68dded9aef39f75","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.0.7.tgz","fileCount":9,"integrity":"sha512-jiFOYjtzSvsYCqAqVhLuB03YZJPGjHToHnhC+SVWtoM1+snzeiQOmGVY9NDjeyf4SSTSXc9jYsouNsNo9z32uw==","signatures":[{"sig":"MEUCIQDcFQOmL9lFSzpQODZ0SDUtPq5zWIoYUe/k9LJjC7XSZQIgLq1jZLsa3spucKB19aE1RCzC+D1Io8LZOC2gY18ZqgM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1625291},"gitHead":"6901742e244152e635fca62e9ba30eaaea0bf710","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.0.7_1778588309354_0.5740962491650292","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"pi-defender","version":"1.1.0","keywords":["pi","pi-extension","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.1.0","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"9d92d9f9133a392ed6e14f2725cfc394d70fde94","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.1.0.tgz","fileCount":9,"integrity":"sha512-gF3baTgorlGWIycPbDzii0b5P7CwWCkuz0X7n2M6b1qpza2TBgrorEKet9cU6Szoaao/x9pm+6wlxPFRC8oQjg==","signatures":[{"sig":"MEUCIHxoVv2TprjYO5YNgO59YSqkQsPnTv0RWonzrVI5269MAiEAiNt/D2DdLvSbuq+y7DnBweCXApIZMbPex9n0aZrzcnA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1631173},"gitHead":"5159093d136c951c2ac3aa71c012c2c0d935e024","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.1.0_1778592023874_0.15119370901115858","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"pi-defender","version":"1.2.0","keywords":["pi","pi-extension","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.2.0","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"768b1c8a159e92bd634df41c0eecb1cebb3202d4","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.2.0.tgz","fileCount":9,"integrity":"sha512-wgdUiao6PLJpxc+gDCAb6SlutxmRRfAaS6Yr1rfbTfCYwKRUZ+8xOkkm7l/TD5Xmas2QatioBXUD5pwkIbTcUg==","signatures":[{"sig":"MEUCIQDH1sxALlrmd6Ju77WqSIE1zHHWIpmx6lSyEIX/SWA0XgIgDLjhKdLCrbMCoQ+ccdV2m7z6WLrM6hUxMWNVYQCuCHQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1631564},"gitHead":"0a3b12d672c102bf7e1615b30dd9c8bf5ef3723d","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.2.0_1778592473869_0.22132149653574618","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"pi-defender","version":"1.2.1","keywords":["pi","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.2.1","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"3b355976be017d3a95f3b0169e232abb7b524967","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.2.1.tgz","fileCount":9,"integrity":"sha512-d39YFVMG4tCffrbbD2LhAcyQgUNqKXWwjQdV76QSGq2x3Hcq+0Dg/7QMMEK2Bk00ezMNuZ67SWjS0N5XNAjPiA==","signatures":[{"sig":"MEUCIFNZJgCKcYC3OEnVdwXRLAAuAsqmTWGnCtqBtKO6WxCKAiEAwLXNdtBmstLrOLnkHHmYiEwcqt3Z5RTVO10ZoJaoeZU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1631621},"gitHead":"be867021e687d25baf3cb84337f34cd7c4577e96","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.2.1_1778593120045_0.10829151488633992","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"pi-defender","version":"1.2.2","keywords":["pi","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.2.2","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"a9d1ecefccf55e48c9f5f676b6e4cd00ad379058","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.2.2.tgz","fileCount":9,"integrity":"sha512-RMZWT8V3UXBpSOBnsSzCZwT183cpxLnI9H7Wf1ajRe1Yv4RANADQR8QAix1+nbMlLpvlQb2k+rr3TMtZpJ5cRQ==","signatures":[{"sig":"MEUCIQDM+o5h48Tk2uEJnWNFwSi5xwKnyUne+vJpUhOvTX9P/AIgeibbFRHVwM9vLWAh7CmGJiR15m41uL0GsixOSPugfvU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1631698},"gitHead":"f0c5b3dcb4b5809da93baf195beb67077f4034e8","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.2.2_1778593325273_0.7996585339502504","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"pi-defender","version":"1.2.3","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.2.3","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"06de8d37b9c75ac2fec0797b184a19258104e6fa","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.2.3.tgz","fileCount":9,"integrity":"sha512-zpiAxA/rkHZUlhggWm6NpWX1DEsNnJFekMhShkerXbM3lkGLDRsaNMp3YnogsnjsmnS/128KE+/0kIVr2DVa+Q==","signatures":[{"sig":"MEUCIFwKXDz72AYaAbK1ceUAOG0Llg1xqT2tl1itvdWZWmI7AiEA7Hxs3hhhqFjvkNxe6N+bKDe4wftStk+OPngvmJMHEhM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1631714},"gitHead":"47a50768f182382338b2999fd29757c8f86a34c0","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.2.3_1778593687614_0.18976234440639028","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"pi-defender","version":"1.2.4","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.2.4","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"09010ba5cff701b61cb7200882d4a6d3e681d078","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.2.4.tgz","fileCount":9,"integrity":"sha512-egAtXatB5SzXs7hmrxg6LTaNxv7c4bPczjK5hCR8AaIR9J+YlyoB8ZuL9/w/xiVCydPedbdKvj/BubFyAISXsw==","signatures":[{"sig":"MEQCIG6ddpSD1O1mIhBVFpzoMoEPtCM3ZDIHDJaVUEiksd0sAiB9KoVAQ590T5OPJvst9O5/zQDdXI4/SR20cHYeB4OtsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1714845},"gitHead":"efe5e5460f8c2326b5730c9aebcb83df9f899a81","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.2.4_1778593919010_0.8702595238608593","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"pi-defender","version":"1.2.5","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.2.5","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"1e9c31d16c2c46e2839488eb2ce5676584fc2c5e","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.2.5.tgz","fileCount":9,"integrity":"sha512-GAyHsroVzW3W52YZ5b/gUw8ZCE5pdIypW7lYc6QuCN6A73Fr2kol3DeIUc8/H84+8e8qhqYc+OC9KLEjWdR86A==","signatures":[{"sig":"MEQCIEr4gAATndDJUSgv1NEtf2InEfJPBVM25G9BGX60tvtbAiAV/yBcO99+QQ/6eIQyp+/guiyUqxh2uPydAODW+WJcng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1714977},"gitHead":"c8fdc04a6363056fe83b5175d798afacf4d7e1fc","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.2.5_1778607229676_0.44144143997428165","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"pi-defender","version":"1.2.6","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.2.6","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"688b16bee7cd01667656785afa77915c0c2420c5","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.2.6.tgz","fileCount":9,"integrity":"sha512-caYrNB/WxMx+FPtYnGZzmxw9LzaTkYVKVoeBn50HfhoOLSN6vVr2EyT581VusUrJq0maZ7/4duJdwwYZEcKkfg==","signatures":[{"sig":"MEUCIQDZQhesrE3njeAvMBqs9dxmE75CHFDVGCsUqEGl9oZ6mAIgAOxTwQH58mmeeR8PIcK2T7zPWxSGg8q6lYHrW57iOVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1715942},"gitHead":"9426bebe26f320ef8335748d7d3e47f8053cb03d","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.2.6_1778654056379_0.20804466995713278","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"pi-defender","version":"1.3.1","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.3.1","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"5c0900a0baf83fdefec0a91716ad006db9858d9a","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.3.1.tgz","fileCount":10,"integrity":"sha512-h8WHADB2AnhEB3hVXlkWMYcZRDSwZJ7muVTEF08W/FVLP5c4X0PtA3N0TmL8SVnew+uaBS68GQiu8ZGc33PrlA==","signatures":[{"sig":"MEUCIHJjCUjtiUw5ghJOHzYb18S6LZrlinVU3ho7ZbxJMZ4tAiEA64ZP5g0vh8+kvpXMRIJyMSRcdapscZgZteDTnymHKTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1723746},"gitHead":"97cc71380207ac3d0618dfc839f750b3e2db5d77","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.3.1_1779102196016_0.8597436272707697","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"pi-defender","version":"1.3.3","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.3.3","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"d5fb932eedf84d1f1a76022e627682b0ba035ed7","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.3.3.tgz","fileCount":10,"integrity":"sha512-GYoEyvKTJoK7lcxWn0SjigixQmP2P4cGn8JyWXVfJFIWc5+kiP8a2RftVp9HcKg341nWgOjOWC3KIa/lQIYS2Q==","signatures":[{"sig":"MEYCIQC7LTHje1iYRFQsPM7uYoS6EmFlK81r/XL06bXpU4vocQIhANxOi6TQM5jsHnLwsm87DuTUUEV0G5fpnkDLQxlYXfEx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1726020},"gitHead":"bd6a3deedbf98b9d44dff1fb7a0b86e06cc18f02","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.3.3_1779174461527_0.026678051618156395","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"pi-defender","version":"1.4.0","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.4.0","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"80ef62ff4da8fad41bc316b8b5f9eab509b72b4a","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.4.0.tgz","fileCount":10,"integrity":"sha512-ePerRxKQOsqu2B3+4Kbg66doa3qLRg94ys59pXIzc9q1uATkZbKAKvWfcT0pN4oSeXTCzZtUXq8I+R9RiTQCNA==","signatures":[{"sig":"MEUCIAb1AjvOjCAkem+uU0nyO0hQJeCJLgm0EAHV67aVR+/rAiEArco8jHPbvZZgVo8QrvwA/z/ut/HX4ibSXM07oCNHlac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1734393},"gitHead":"015796a8dc0d567d504f174793ef915523f04eb5","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.4.0_1779179700834_0.7008475229998055","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"pi-defender","version":"1.4.1","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.4.1","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"73db9b02171a5540472a05ba5c44582fcccae6df","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.4.1.tgz","fileCount":10,"integrity":"sha512-KdbAdVfuuB38KZ/vm9HB1xgPlIoOJ/H75n/8aXjiNwDdLHenojdkpYN2q/pZOjgHJXqQ1ELHqLmYlzK1HxFUug==","signatures":[{"sig":"MEYCIQDib6E01Dh4DG5sjC+blHsa9dg6zP6iIemPUo+8gK694QIhANHY7SEH+r1LA001UITLWhOTGWfeo1pHnxlMkQxA1Eeq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1734427},"gitHead":"6a7a2397c99578de6e3632101a0c4f1df6aab104","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.4.1_1779180877783_0.4994891487569957","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"pi-defender","version":"1.4.2","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.4.2","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"dfd356c475a023e85c3c394ca48e4fa6aa331013","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.4.2.tgz","fileCount":10,"integrity":"sha512-iIIVJ5injXlfFW4LaHwMqbzAZT9VnBSnNamHISaNpqUil+uSqqQhkfVcr7BDdpLgnXtkDSYY+JjkhDx9lVlzxg==","signatures":[{"sig":"MEYCIQDPpqPq5VEPlDlW/BkuQgPk3lzFRzLChgqcveVf8O41+wIhALaJX949nQ8steuRPetjQYMf39CUf5hTODu0c4HVlyHD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1734431},"gitHead":"96851bd9cccc77e230339f89532a023c20788db2","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.4.2_1779183930219_0.6311932205053195","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"pi-defender","version":"1.6.0","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.6.0","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"c77f4e57c49c409e99cd65820f4421ba85d3c66b","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.6.0.tgz","fileCount":8,"integrity":"sha512-U7zoHtO/e9rxX+/wRQRsZN0Uch9UeOlEK828z35sEJNHCT74eY+G8YnOB+mFmXVZ2FUsVe11aH55taRmLuOn5A==","signatures":[{"sig":"MEUCIEKKFtOIAXgSO3HH+hv4DpU5EyO89DhBMT3eL2sA/sY1AiEA1xDEkDR4Bs81cwOTLLYQkcarbX9NUKKmSxq3CA4t2+U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1743295},"gitHead":"25080e801525dbb14c79c14adb9bc99c5e89bb41","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.6.0_1781269643791_0.40858204046580493","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"pi-defender","version":"1.6.1","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.6.1","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"de84a81b355f5d6e52458d78c5cf214c7acf6417","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.6.1.tgz","fileCount":8,"integrity":"sha512-ymM7ZHkQAcx7kd8BxLrRBL4kGMOIXQkpCjL+A3TLxwGvU4irhieeNkJIrg2mNWPawUKCMaeNEJVmX71XwvdPIQ==","signatures":[{"sig":"MEUCIQC/BeX3Ve2ttu5vrvWhaGHVKpU5HJhDQvyETGlEBCLv8wIgF6f6S/Zw0jcAmMNshGSCVdVupH0ATFqQ1B2f6KEEYKg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1745081},"gitHead":"95b477639155ad7cbf2f5396341201a9d319a9f0","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.6.1_1781271131979_0.835643473689138","host":"s3://npm-registry-packages-npm-production"}},"1.6.2":{"name":"pi-defender","version":"1.6.2","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.6.2","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"4a96f11fabcb712a34c5e982fff3a71afb7ead30","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.6.2.tgz","fileCount":8,"integrity":"sha512-s576L5tKuGeOuKH4ZKUzyVuBhnH0xByuP0j8svRo6++Zd/pa6K6nmuV3CbiKQ3e6x5Vqfn8Kxel3fv8QKb1k+Q==","signatures":[{"sig":"MEUCIB9EMzO4xhL2iJaFaKefC/WGDNm7887NTZPO0xSe3oNoAiEA/7jTfNdJ+soc1UHxgg60UE567RFIpKxr7s0pGK+HsNU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1747101},"gitHead":"7a36692f1bb8a2c9c610c3df01540e147903ec0c","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.6.2_1781273044532_0.4228844595990917","host":"s3://npm-registry-packages-npm-production"}},"1.6.3":{"name":"pi-defender","version":"1.6.3","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.6.3","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"8330483e1ae42548ffd252344152128e259490ec","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.6.3.tgz","fileCount":8,"integrity":"sha512-l9GaZuKAKIVYhpAoFETbU7gWwyQYZMfmJOPQNOAPpaVViy0Sdmcsl8NSTk/izDb2Ayv/3xFf+aoH9hUslh+eOA==","signatures":[{"sig":"MEUCIQCCQdQxmCVXbFw4jjrsowWXVfMfRXW9WAuMs3QWQv0ypQIgQxOsTPuW08yRwoIHyS+MB4wVQAouaj3yzh9lA1GinfA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1747705},"gitHead":"6f6a86d42c8c3857e0890547aa47a1de51ec1083","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.6.3_1781530349514_0.8651818360780692","host":"s3://npm-registry-packages-npm-production"}},"1.6.4":{"name":"pi-defender","version":"1.6.4","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.6.4","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"afa122b4eb668e19c36e8e1cbb04a248997ae7c9","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.6.4.tgz","fileCount":8,"integrity":"sha512-9K0B1y3TvfqlMj7fk5WRWQLqx9oKwLa/F4PV+WFAhHwl+dazBNLMUkeP/LlFXqJbbII1JmLuPCr5Jt2gdEsvyw==","signatures":[{"sig":"MEQCID3RoXt2SEX8KphecJRXIgt4HXTKMDPU62XcgLdv02x0AiBvIwqmeUbzTdbrPbTKnwnyahmlvatc5Zz4j4C7utO+bg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1750504},"gitHead":"cb3b6e13746d3e01481223d0c21a266c9e9f803a","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.13.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.6.4_1781684159927_0.4871578063794171","host":"s3://npm-registry-packages-npm-production"}},"1.6.5":{"name":"pi-defender","version":"1.6.5","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.6.5","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"f6cdadd8c1bc71673cbd75adf04913b42293e64c","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.6.5.tgz","fileCount":8,"integrity":"sha512-/T9NK9f2r/9a7lVC5kZyd9hCoPDhggeuhJUUfYqF0p0PgkjQWKNiLqdiT6ZuVZLDK2zIsIcs15ICbhm/nba+zA==","signatures":[{"sig":"MEYCIQDd13x6voCyspYtyxim18O2Wru8UCmq1AUdUTRKqlSCkQIhAJ8JWlD1V1OqTs+vc0Y/5qVueIKNB842bVB4gfAdTNOU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1750893},"gitHead":"86f1678ce57428a879aa0c1d86390d7cc7e85723","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.17.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.6.5_1783444589858_0.2631381335412615","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"pi-defender","version":"1.7.0","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.7.0","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"154fde680e3baf3375d2e6258f052f13b253ba0b","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.7.0.tgz","fileCount":8,"integrity":"sha512-jihbSAuUxZ1fuYbCFirpnNKv9qyEt9iKmpsu4wVV1MrHUY8Z0g3suTZBrghHPRN0okdBYOS/tnfmcTqSzAPhOw==","signatures":[{"sig":"MEQCIA2h5w70I889GZD22ZNHQBOfljtiCVDwadtjA54eYaB8AiA4IjuTdM4zHctRqt/YCHlD2P3yTd8nL8YyUg44L6vsZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1764408},"gitHead":"ed087aa7a4733fcad34602c2ac1738c36dc9cd27","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.17.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.7.0_1783585999079_0.13062972495455782","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"pi-defender","version":"1.7.1","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.7.1","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"d0f073d6685da20fcdf1b75ee3283644f73c58f4","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.7.1.tgz","fileCount":8,"integrity":"sha512-u76DDJjEcmpNsKluFTAagYGs0ji3CUC0WMlmlOdwWICje57znYfgH3UK+Uxs86sDdyAlGzqoTAGoca7nSmhUVg==","signatures":[{"sig":"MEQCIHRfWA1y1lIjrLtuzv1uBFWO0J4u8kpOC66tJcwQ2wFYAiB4pG6Rnxj0zJqfGj+rGO5s/WF2ejNgGSFfAoI1sjq2bw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1750174},"gitHead":"c99b2abb19f51408984826fc03bda06d98478120","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.17.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.7.1_1783586780567_0.6554156853073414","host":"s3://npm-registry-packages-npm-production"}},"1.7.2":{"name":"pi-defender","version":"1.7.2","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.7.2","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"7b410cc2ea7537d08aa237ccbd15733494be0c68","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.7.2.tgz","fileCount":8,"integrity":"sha512-Y3aWOh03bn3EC7BOGFDMvyXvJyOCDAmIg/gdHD3UVrGk1QaBSIj1fHWub+nAAIBIcN7TxCsSEE/NEPTxO0MUaw==","signatures":[{"sig":"MEYCIQCxT5zhFZ1Z+fkzGcc4tyl9qdYT4LetrnJ7n5qe3WC8oAIhANUiLc86oZeAUfYIYSTPjU8cYBdMx93KDgVRb3np1zjY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1750371},"gitHead":"57e1661e99c273b5c56ecae9ec93d048a7e89dd2","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.17.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.7.2_1783587218513_0.370850632563954","host":"s3://npm-registry-packages-npm-production"}},"1.7.3":{"name":"pi-defender","version":"1.7.3","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.7.3","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"6befff7c42618681d673a9a7f9bf8fb8cdf5fd90","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.7.3.tgz","fileCount":8,"integrity":"sha512-C9kdUBuC1i2LuoHZrX+MFp3by5Ez530hPXkrLi5rRGBrMXyQ2suahqW6pFzC+7dYDiz065DUDivUX7AP1RQ7cQ==","signatures":[{"sig":"MEYCIQC4BYgkP10AZVcAWStwXQCF2weFeLq+WTBsZn90UPc41AIhAJ/Glrgj87GR8H6uJS4vzgfFDqgdq3TA7CwQSNPOj96Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1750759},"gitHead":"f0ce8ff315294b129406575a50b47b48efe2cc15","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.17.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.7.3_1783587964660_0.054734836393725006","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"pi-defender","version":"1.8.0","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.8.0","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"259b80a99d5b7130ef79c415f9aa15265d8e82dd","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.8.0.tgz","fileCount":8,"integrity":"sha512-es928Vi4RQvwqSta5q+iTfkPMlcbRU+hhcQySatN4kadpsiAwuAymnlls8x4fybYYXkeMFxqORmnNdDUQwzPug==","signatures":[{"sig":"MEYCIQD6bpbmgqvnqUDUXaYFqjuc7InoT8FSVqe7aPxLtbt4WAIhAJ56jhUBR9idMWHPNOAf5PrUG7oni42yJx0Tx3FwY+ea","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1766159},"gitHead":"980579f8a1f6adf2066123d62b28ea848bd23249","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.17.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.8.0_1783688907749_0.8523573534550539","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"pi-defender","version":"1.8.1","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.8.1","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"a23a3885ab6a121c14ff6e0bb1f2abb7825a1cf2","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.8.1.tgz","fileCount":10,"integrity":"sha512-l9z9+UMAL0LdiK2yElUhQMSU5sBpFjcMHAw61547mAsOvQCwfoEZk+NcblJD402yaFB5h/A1whRgsFIM7wWJug==","signatures":[{"sig":"MEQCIQCOYcrpMGsAFiJC7RFiZuzSJdnYxJi0EJgDfAeTWwtdqAIfDOfzIWijZ60/yka/6bBko7ogO5xggi4Y6xVtA8ImhQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1794180},"gitHead":"4263d65ef1f427f2dc5742c9df9a233c1f3d12b9","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.17.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.8.1_1783837535470_0.7503856199879546","host":"s3://npm-registry-packages-npm-production"}},"1.8.2":{"name":"pi-defender","version":"1.8.2","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.8.2","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"3cb9fdd5435399914009b028258acf1873fc836f","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.8.2.tgz","fileCount":10,"integrity":"sha512-UFGX1NhDgEu87dO4VjqcpfQT4KgIGjlnaDjc7Ndej7rLfOiKioSyzC2mSMbsNQZpvLaksO9866V2TuSmSJrK0A==","signatures":[{"sig":"MEQCIBAmY2ONb2pOU3//pf+gzdWPejXXlipIDfzYUBYvPaFfAiA6AvYG764c54yXY6zIVT0w2fwNiDjjTwIxophGVvck1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1794723},"gitHead":"ef046648756165aa81cc64d52661ca1e001da25a","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.17.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.8.2_1784295808492_0.7709472930614183","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"pi-defender","version":"1.9.0","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.9.0","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"fa955eedaf2c003f87bc41443c43781092c14f75","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.9.0.tgz","fileCount":12,"integrity":"sha512-f9r9J/qupzTWkpne2TXA0oCq8LzpV5hJBQYxqK6+67S1lrtqyQraPVMtLWJynskRbBQaiRAI6oKjbQEuTj8Cqg==","signatures":[{"sig":"MEQCIG9OSgzZ9XVOhb1KveM8aswfhkXTXEyjAmDqbxM/DlaRAiA5+Fd86f/xmDzx1nnvpRQ62GEjGQNTG+F6B3GrSZa4Sw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1824000},"gitHead":"955c2233732ad45248bcd06ff034735dbc8cde45","scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.17.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.9.0_1784442332388_0.20769373984951556","host":"s3://npm-registry-packages-npm-production"}},"1.9.1":{"name":"pi-defender","version":"1.9.1","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"author":{"name":"Serhioromano"},"license":"MIT","_id":"pi-defender@1.9.1","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"homepage":"https://github.com/Serhioromano/pi-defender#readme","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"pi":{"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png","extensions":["./src/index.ts"]},"dist":{"shasum":"0ae97e95bca91ce8c253fdc2f5c6d70d69cb11a0","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.9.1.tgz","fileCount":13,"integrity":"sha512-/hSLikb4b4vp2D2FbnOhAeNB6Dc+ocn4l5+ir7JzWL+/VLUL87NEYoMnn1QpNV2goi5/WpJAhMS8mg0QwtNL9Q==","signatures":[{"sig":"MEUCIFwsaDhcK2X4rg4jdtdXP3I5G+00kmd4dRRGDjtsEv/TAiEA+YPeJHRj44r/7ximG7AmdE6vZTWzre4lo7GgVoXSyJw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1829967},"gitHead":"8337a928254b158d7e6dbd58e86336ef38d8553e","scripts":{"test":"node --experimental-strip-types --test test/*.test.mts","postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/"},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"repository":{"url":"git+https://github.com/Serhioromano/pi-defender.git","type":"git"},"_npmVersion":"11.17.0","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"yaml":"^2.7.0","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.7.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-defender_1.9.1_1785852037714_0.08024975333654583","host":"s3://npm-registry-packages-npm-production"}},"1.9.3":{"name":"pi-defender","version":"1.9.3","description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","license":"MIT","author":{"name":"Serhioromano"},"repository":{"type":"git","url":"git+https://github.com/Serhioromano/pi-defender.git"},"scripts":{"postinstall":"mkdir -p ~/.pi && cp src/patterns.yaml ~/.pi/","test":"node --experimental-strip-types --test test/*.test.mts"},"keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"dependencies":{"yaml":"^2.7.0"},"peerDependencies":{"@earendil-works/pi-tui":"*"},"pi":{"extensions":["./src/index.ts"],"image":"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png"},"devDependencies":{"@earendil-works/pi-coding-agent":"^0.74.0","@earendil-works/pi-tui":"^0.74.0","@types/node":"^25.7.0","typescript":"^6.0.3"},"gitHead":"d66c84dae92598ef81b70ef4d3588a165a8afb01","_id":"pi-defender@1.9.3","bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"homepage":"https://github.com/Serhioromano/pi-defender#readme","_nodeVersion":"24.15.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-/lPtRhVRnyhr5aeJJ8k0gYLa0mxdtZO88bUD50qcVIlSKbw09dUwDEINCUCRiE4PReW79IWL4Nm47LROHHeXnw==","shasum":"e536e4076f40e1057cd39d93b818599807f6032f","tarball":"https://registry.npmjs.org/pi-defender/-/pi-defender-1.9.3.tgz","fileCount":13,"unpackedSize":1830575,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDdxa8K620IPeFkjXQNuzRQwLToHpXA8HhdSq7Sgr7AbAiBBdcl9dyPHEQwJhlDdsRA6khj8uOHAyyJnfwoaBFCqxg=="}]},"_npmUser":{"name":"serhioromano","email":"serhioromano@outlook.com"},"directories":{},"maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-defender_1.9.3_1788764187172_0.3010694803241445"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-12T11:06:39.894Z","modified":"2026-09-07T06:56:27.464Z","1.0.3":"2026-05-12T11:06:40.191Z","1.0.4":"2026-05-12T11:44:28.348Z","1.0.6":"2026-05-12T11:50:24.856Z","1.0.7":"2026-05-12T12:18:29.571Z","1.1.0":"2026-05-12T13:20:24.071Z","1.2.0":"2026-05-12T13:27:54.150Z","1.2.1":"2026-05-12T13:38:40.307Z","1.2.2":"2026-05-12T13:42:05.547Z","1.2.3":"2026-05-12T13:48:07.897Z","1.2.4":"2026-05-12T13:51:59.236Z","1.2.5":"2026-05-12T17:33:49.971Z","1.2.6":"2026-05-13T06:34:16.663Z","1.3.1":"2026-05-18T11:03:16.274Z","1.3.3":"2026-05-19T07:07:41.842Z","1.4.0":"2026-05-19T08:35:01.034Z","1.4.1":"2026-05-19T08:54:38.002Z","1.4.2":"2026-05-19T09:45:30.409Z","1.6.0":"2026-06-12T13:07:24.114Z","1.6.1":"2026-06-12T13:32:12.164Z","1.6.2":"2026-06-12T14:04:04.731Z","1.6.3":"2026-06-15T13:32:29.731Z","1.6.4":"2026-06-17T08:16:00.138Z","1.6.5":"2026-07-07T17:16:30.044Z","1.7.0":"2026-07-09T08:33:19.387Z","1.7.1":"2026-07-09T08:46:20.755Z","1.7.2":"2026-07-09T08:53:38.695Z","1.7.3":"2026-07-09T09:06:04.919Z","1.8.0":"2026-07-10T13:08:28.008Z","1.8.1":"2026-07-12T06:25:35.645Z","1.8.2":"2026-07-17T13:43:28.734Z","1.9.0":"2026-07-19T06:25:32.561Z","1.9.1":"2026-08-04T14:00:37.905Z","1.9.3":"2026-09-07T06:56:27.338Z"},"bugs":{"url":"https://github.com/Serhioromano/pi-defender/issues"},"author":{"name":"Serhioromano"},"license":"MIT","homepage":"https://github.com/Serhioromano/pi-defender#readme","keywords":["pi","ai-agent","pi-extension","pi-package","security","protection","defender","damage-control"],"repository":{"type":"git","url":"git+https://github.com/Serhioromano/pi-defender.git"},"description":"Defense-in-depth protection for Pi coding agent. Blocks dangerous commands and protects sensitive files — rename of pi-damage-control.","maintainers":[{"name":"serhioromano","email":"serhioromano@outlook.com"}],"readme":"# Pi Defender 🛡️\n\n> [!WARNING]\n> This extension is provided \"as is\", without warranty of any kind. The author assumes no liability for damages or data loss resulting from its use. Always maintain up-to-date backups.\n\nDefense-in-depth protection for [Pi](https://github.com/badlogic/pi-mono) — intercepts dangerous bash commands and file operations before they execute. Ported from [claude-code-damage-control](https://github.com/disler/claude-code-damage-control).\n\n<img width=\"800\" alt=\"Pi Defender\" src=\"https://raw.githubusercontent.com/Serhioromano/pi-defender/refs/heads/master/images/pi-defender.png\">\n\n## Install\n\n```bash\npi install npm:pi-defender\n```\n\nThe next time you start Pi agent, a **protection-level selector** appears — choose your mode for the session:\n\n- 🔒 **Strict Mode** (default) — every bash command requires approval\n- 🛡️ **Patterns only** — only dangerous commands trigger prompts\n- ⚪ **Disable Defender** — no protection for this session\n\n### ⚙️ Default Mode (skip the session-start selector)\n\n**From the selector:** The session-start selector includes 💾 *Save choice for this project* and 🌐 *Save choice forever (global)* options. Navigate to your preferred mode, then down to a save option to persist it — no manual YAML editing required.\n\n**From the command line:** Use `/defender:default-mode` (no args) to open the same interactive protection-level selector from session startup, or pass a mode directly:\n\n```\n/defender:default-mode               # opens the selector (🔒/🛡️/⚪ + save options)\n/defender:default-mode strict        # 🔒 Strict ON (global)\n/defender:default-mode patterns      # 🛡️ Patterns only (global)\n/defender:default-mode off           # ⚪ Disable defender (global)\n/defender:default-mode interactive   # reset — show selector again\n/defender:default-mode strict --local # project-local (.pi/defender.yaml)\n```\n\n**In YAML config:** Add `defaultMode` to any `defender.yaml` or `patterns.yaml` to skip the interactive selector on session start and go directly to your preferred mode:\n\n```yaml\ndefaultMode: strict    # 🔒 Strict Mode ON (default behavior)\ndefaultMode: patterns   # 🛡️ Patterns only\ndefaultMode: off        # ⚪ Disable Defender\ndefaultMode: interactive # show the selector (same as omitting the key)\n```\n\nPlace it in `.pi/defender.yaml` (project-local, persistent) or `~/.pi/defender.yaml` (global). When set to anything other than `interactive`, the session-start selector is skipped entirely and a config table notification is shown instead.\n\n## Features\n\n**🛡️ Three layers of protection:**\n\n| Layer | What it does |\n|-------|-------------|\n| **Pattern blocking** | Dangerous commands (`rm -rf`, `sudo`, `curl \\| bash`, `DROP TABLE`, `dd if=`, `chmod 777`, `git push --force`) are intercepted with an ⚠️ Allow / ❌ Deny selector |\n| **Path protection** | Sensitive paths are guarded at 3 levels: `zeroAccess` (no read/write/delete — secrets, keys), `readOnly` (write/edit blocked — system files), `noDelete` (delete blocked — project docs) |\n| **Strict Mode** 🔒 | Every bash command requires explicit approval via arrow-key selector. Whitelist trusted commands to auto-approve them across sessions |\n\n**TUI selector with keyboard shortcuts** — press `1`-`N` to instantly choose: Approve, Deny, Whitelist, Approve All, or Abort.\n\n**Chained commands** — `cmd1 && cmd2 || cmd3` are split and each sub-command approved individually. Deny/Abort on any sub-command blocks the entire chain.\n\n**Abort protection** — selecting ❌ Abort calls `ctx.abort()` to cancel the agent's turn and locks all future bash + file writes until you run `/defender:strict off`.\n\n## Commands\n\n| Command | Description |\n|---------|-------------|\n| `/defender:status` | Show stats, strict mode state, and config table |\n| `/defender:reload` | Reload YAML config after editing |\n| `/defender:patterns` | Initialize `.pi/patterns.yaml` with bundled defaults |\n| `/defender:strict [on\\|off]` | Toggle strict mode (ON by default) |\n| `/defender:globalize-whitelist` | Copy unique local whitelist patterns to `~/.pi/defender.yaml` |\n| `/defender:report-issue <desc>` | AI-enhanced bug/feature report → GitHub issue |\n| `/defender:default-mode` | Set/reset default mode. No args = opens selector. With args: `strict`/`patterns`/`off`/`interactive` (+ `--local`) |\n\n## Configuration\n\nPi Defender merges rules from up to 4 YAML files:\n\n| File | Overwritten on update? | Purpose |\n|------|----------------------|---------|\n| `.pi/patterns.yaml` | ✅ Yes | Bundled security rules (local installs only) |\n| `~/.pi/patterns.yaml` | ✅ Yes | Bundled security rules (global) |\n| `.pi/defender.yaml` | ❌ Never | Your custom patterns + whitelist |\n| `~/.pi/defender.yaml` | ❌ Never | Your custom patterns + whitelist (global) |\n\nAll 4 are merged — no file overrides another. On session start, a config table shows what each file contributed.\n\n### Prompt timeout (pattern-blocked + strict mode)\n\nBoth pattern-blocked prompts and strict mode prompts auto-dismiss after a configurable duration:\n\n```yaml\n# In .pi/defender.yaml or ~/.pi/defender.yaml:\npromptTimeout: 30    # seconds before auto-dismiss (default: 120)\nautoApprove: true    # auto-approve on timeout (default: false = auto-deny)\n```\n\n`autoApprove` only applies to non-whitelisted bash commands in strict mode — not to `patternBlockedPrompt` patterns. Pattern-blocked prompts always auto-deny on timeout regardless of `autoApprove`. Timeout never aborts the session; only explicit user selection of \"Deny & Abort\" does.\n\n### Auto-reject patterns (skip prompt entirely)\n\nAll bundled patterns ship with `autoReject: true`. The `promptTimeout` config (default: 120) controls whether a countdown prompt appears or the command is blocked immediately:\n\n| `autoReject` | `promptTimeout` | Prompt | Options | Timeout action |\n|---|---|---|---|---|\n| `true` | > 0 | Full prompt + countdown | Allow anyway / Deny & Abort | Auto-deny (no abort) |\n| `true` | 0 / not set | None (notification only) | N/A | Immediate deny |\n| `false` | > 0 | Full prompt + countdown | Allow anyway / Deny & Abort | Auto-deny (no abort) |\n| `false` | 0 / not set | Full prompt (wait forever) | Allow anyway / Deny & Abort | N/A |\n\nOverride per-pattern in `defender.yaml`:\n\n```yaml\nbashToolPatterns:\n  - pattern: '\\bgit\\s+push\\s+.*--force'\n    autoReject: false   # show prompt and wait forever for this pattern\n    reason: git push --force\n```\n\n### Adding patterns\n\nYour custom rules go in `.pi/defender.yaml` (never overwritten on updates):\n\n```yaml\n# Block a custom command\nbashToolPatterns:\n  - pattern: '\\bdangerous-tool\\b'\n    reason: Internal tool — never run via agent\n\n# Add paths to protect\nzeroAccessPaths:\n  - .env.production\n  - *.pem\n\n# Trusted commands (skip strict mode prompts)\nstrictModeWhiteList:\n  - ^npm\\s+test\\b\n  - ^npm\\s+run\\sbuild\\b\n  - ^git\\s+status\\b\n```\n\n### Whitelist from strict mode\n\nWhen strict mode prompts for a command you trust (e.g. `npm test`), select 📋 **Whitelist** to save it permanently. The pattern is written to `.pi/defender.yaml` under `strictModeWhiteList` — future runs auto-approve.\n\n## Quick Commands to Try\n\nAfter install, test protection in a Pi session:\n\n```\n# Should block (rm with force flag)\n> Run: rm -rf /tmp/test\n\n# Should prompt for confirmation\n> Run: git push --force origin main\n\n# Should block (system path)\n> Write a file to /etc/hosts\n\n# Should block (zero-access)\n> Read ~/.ssh/id_rsa\n```\n\n## License\n\nMIT — see [LICENSE](LICENSE)\n\n## Credits\n\nPreviously published as [pi-damage-control](https://github.com/Serhioromano/pi-damage-control). Inspired by [claude-code-damage-control](https://github.com/disler/claude-code-damage-control) by [disler](https://github.com/disler).\n","readmeFilename":"README.md"}