{"_id":"@diegopetrucci/pi-permission-gate","_rev":"14-8ab2f86ce4e206e4e874bb4d597037b6","name":"@diegopetrucci/pi-permission-gate","dist-tags":{"latest":"0.1.15"},"versions":{"0.1.0":{"name":"@diegopetrucci/pi-permission-gate","version":"0.1.0","keywords":["pi-package","pi","security","bash"],"license":"MIT","_id":"@diegopetrucci/pi-permission-gate@0.1.0","maintainers":[{"name":"diegopetrucci","email":"baulei@icloud.com"}],"homepage":"https://github.com/diegopetrucci/pi-extensions#readme","bugs":{"url":"https://github.com/diegopetrucci/pi-extensions/issues"},"pi":{"extensions":["index.ts"]},"dist":{"shasum":"1cd5a71df2c96045e61eef691fbc8090daab7881","tarball":"https://registry.npmjs.org/@diegopetrucci/pi-permission-gate/-/pi-permission-gate-0.1.0.tgz","fileCount":3,"integrity":"sha512-T8EHPWGeYpHKOcF28n0Ev3swt8IJcf8xndO+kWDHaNj4JbDFheQlT3tNt5FgbBTlGffX5tVlTz+75ViRE7nznA==","signatures":[{"sig":"MEQCIAhtCYOhvFu9tfud4ny744E9V4PSHIFOzL4ywkx5N2txAiA7PiWVH8zO/RAMpOQxq7EP285+YaZ2sxtzB9fmr8uMfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2597},"gitHead":"da5d2085cb6c749f840c71d6559f6d25f99786c0","_npmUser":{"name":"diegopetrucci","email":"baulei@icloud.com"},"repository":{"url":"git+https://github.com/diegopetrucci/pi-extensions.git","type":"git","directory":"extensions/permission-gate"},"_npmVersion":"11.12.1","description":"A pi extension that prompts before dangerous bash commands.","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-permission-gate_0.1.0_1776509136749_0.4662196258775866","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@diegopetrucci/pi-permission-gate","version":"0.1.1","keywords":["pi-package","pi","security","bash"],"license":"MIT","_id":"@diegopetrucci/pi-permission-gate@0.1.1","maintainers":[{"name":"diegopetrucci","email":"baulei@icloud.com"}],"homepage":"https://github.com/diegopetrucci/pi-extensions#readme","bugs":{"url":"https://github.com/diegopetrucci/pi-extensions/issues"},"pi":{"extensions":["index.ts"]},"dist":{"shasum":"fa6b9d4c42f2f27651f20e1498cc5018a60851d8","tarball":"https://registry.npmjs.org/@diegopetrucci/pi-permission-gate/-/pi-permission-gate-0.1.1.tgz","fileCount":3,"integrity":"sha512-DpCOZAxly7PVZ57jYlF+kCcoK9vwZPPP9OFyYA/zEXQuuwTjn0tUla9Gf4pewWHudZKoCM0BkZdrNfJZv7KM3Q==","signatures":[{"sig":"MEQCIEPdgR1bmtOCBcNOxUdfXobFhd1fzPzlG4HRPSil6CFMAiB9Swc9wqi5ezDqcRyX/jg96NUuQmaeMa0M0B61qAZkQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2613},"gitHead":"7e5d2d867fb6994d1af6211167068a2b9b7d1461","_npmUser":{"name":"diegopetrucci","email":"baulei@icloud.com"},"repository":{"url":"git+https://github.com/diegopetrucci/pi-extensions.git","type":"git","directory":"extensions/permission-gate"},"_npmVersion":"11.12.1","description":"A pi extension that prompts before dangerous bash commands.","directories":{},"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-permission-gate_0.1.1_1778325140735_0.13711008469759456","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@diegopetrucci/pi-permission-gate","version":"0.1.2","keywords":["pi-package","pi","security","bash"],"license":"MIT","_id":"@diegopetrucci/pi-permission-gate@0.1.2","maintainers":[{"name":"diegopetrucci","email":"baulei@icloud.com"}],"homepage":"https://github.com/diegopetrucci/pi-extensions#readme","bugs":{"url":"https://github.com/diegopetrucci/pi-extensions/issues"},"pi":{"extensions":["index.ts"]},"dist":{"shasum":"6f0813acabffd8881fee2d5b6ade44e66a59ef01","tarball":"https://registry.npmjs.org/@diegopetrucci/pi-permission-gate/-/pi-permission-gate-0.1.2.tgz","fileCount":4,"integrity":"sha512-e4HVRC6uTXxn97tSrmz5Ngc+VFCDR5yeK3LQ/Fpn9PQuJsu6tijyr+W5/rdMIG4kIwR3RV7qh38UgU+cLjQ4aA==","signatures":[{"sig":"MEQCIBdNyUuwthZh5iplncWVs0loBKumDU2Gs+Q07SMJKpJlAiA4xn6WbZb0r9bXoHp0zhy5TQJsCgeQENDjTMDcvix7GQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2672},"gitHead":"010000bb36090bc8292ed41b7aca4f49777a71f8","_npmUser":{"name":"diegopetrucci","email":"baulei@icloud.com"},"repository":{"url":"git+https://github.com/diegopetrucci/pi-extensions.git","type":"git","directory":"extensions/permission-gate"},"_npmVersion":"11.12.1","description":"A pi extension that prompts before dangerous bash commands.","directories":{},"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-permission-gate_0.1.2_1779955813020_0.28359542768096957","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@diegopetrucci/pi-permission-gate","version":"0.1.3","keywords":["pi-package","pi","security","bash"],"license":"MIT","_id":"@diegopetrucci/pi-permission-gate@0.1.3","maintainers":[{"name":"diegopetrucci","email":"baulei@icloud.com"}],"homepage":"https://github.com/diegopetrucci/pi-extensions#readme","bugs":{"url":"https://github.com/diegopetrucci/pi-extensions/issues"},"pi":{"extensions":["index.ts"]},"dist":{"shasum":"60ec9e03942c588d8c6ce48075ea25eebd530a2f","tarball":"https://registry.npmjs.org/@diegopetrucci/pi-permission-gate/-/pi-permission-gate-0.1.3.tgz","fileCount":4,"integrity":"sha512-1HRYnlRCp1VNPh1jY64FsYXyI0DtVq2mW8BKTV74a5ZBX3wctwe6ezDoIk6VtI6KjW+yIOqO/bY/pNZvkXtL1A==","signatures":[{"sig":"MEUCIHNb9w7EssRvwy9Cls6I/mzmHcdpU3jgvoObxJkmEzdhAiEAkzNcvRVce21XqXCmLnqhVZPYa/QXbrXocLwToDbE9iI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2672},"gitHead":"bf081d05f63998ef8be7f1efd7f75bf461dc6552","_npmUser":{"name":"diegopetrucci","email":"baulei@icloud.com"},"repository":{"url":"git+https://github.com/diegopetrucci/pi-extensions.git","type":"git","directory":"extensions/permission-gate"},"_npmVersion":"11.12.1","description":"A pi extension that prompts before dangerous bash commands.","directories":{},"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-permission-gate_0.1.3_1780309417190_0.5247048984504212","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@diegopetrucci/pi-permission-gate","version":"0.1.4","keywords":["pi-package","pi","security","bash"],"license":"MIT","_id":"@diegopetrucci/pi-permission-gate@0.1.4","maintainers":[{"name":"diegopetrucci","email":"baulei@icloud.com"}],"homepage":"https://github.com/diegopetrucci/pi-extensions#readme","bugs":{"url":"https://github.com/diegopetrucci/pi-extensions/issues"},"pi":{"extensions":["index.ts"]},"dist":{"shasum":"ba757754a7b136076c8a2f68e4962306635e8f90","tarball":"https://registry.npmjs.org/@diegopetrucci/pi-permission-gate/-/pi-permission-gate-0.1.4.tgz","fileCount":4,"integrity":"sha512-2Gn55mJu1ugbBkJ8w6kr1dWPwamb2zAHsOmM3JfFDOdoqig6dUuRtF9Wc1HXxQdPJCiber6wqsQGJiq4UYfjDA==","signatures":[{"sig":"MEUCIQC6D57ue3gJ+8/8utubjUt2WarDTrUj3sdNKUkghrTnlQIgO+NhYZNAT5L59Wab+6GNYxw91NhPCTJokeufyh8h0FU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2673},"gitHead":"32a699b27d677c104b5afdc21dd02926f7e39150","_npmUser":{"name":"diegopetrucci","email":"baulei@icloud.com"},"repository":{"url":"git+https://github.com/diegopetrucci/pi-extensions.git","type":"git","directory":"extensions/permission-gate"},"_npmVersion":"11.16.0","description":"A pi extension that prompts before dangerous bash commands.","directories":{},"_nodeVersion":"26.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-permission-gate_0.1.4_1782197148575_0.5184723049548148","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@diegopetrucci/pi-permission-gate","version":"0.1.7","keywords":["pi-package","pi","security","bash","permissions","file-safety"],"license":"MIT","_id":"@diegopetrucci/pi-permission-gate@0.1.7","maintainers":[{"name":"diegopetrucci","email":"baulei@icloud.com"}],"homepage":"https://github.com/diegopetrucci/pi-extensions#readme","bugs":{"url":"https://github.com/diegopetrucci/pi-extensions/issues"},"pi":{"extensions":["index.ts"]},"dist":{"shasum":"c748acc3688fb07fac527cd8af8dccab9b2c6495","tarball":"https://registry.npmjs.org/@diegopetrucci/pi-permission-gate/-/pi-permission-gate-0.1.7.tgz","fileCount":4,"integrity":"sha512-XYpPnWe9QfuGa5hnWXShCyjq7owGJsVnbQX3IXCWbg2Y7+KguogdYAXSuF2mJ5b9hbTUUcnNHRQX9FIgroM8mw==","signatures":[{"sig":"MEUCIHm5223rMT6o2vYJoPtCfJFisKL46lyxdekSURWEHRMEAiEAzCLOrESuL4M/xONoNoGjie0Bs+hpDE1VyzFUFmlHTF8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8112},"gitHead":"61956762fb3492d3a3c160a5d1896661a063c5d1","_npmUser":{"name":"diegopetrucci","email":"baulei@icloud.com"},"repository":{"url":"git+https://github.com/diegopetrucci/pi-extensions.git","type":"git","directory":"extensions/permission-gate"},"_npmVersion":"11.17.0","description":"A pi extension that prompts before dangerous bash commands and protected file writes.","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-permission-gate_0.1.7_1784036989347_0.6757562283701963","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@diegopetrucci/pi-permission-gate","version":"0.1.8","keywords":["pi-package","pi","security","bash","permissions","file-safety"],"license":"MIT","_id":"@diegopetrucci/pi-permission-gate@0.1.8","maintainers":[{"name":"diegopetrucci","email":"baulei@icloud.com"}],"homepage":"https://github.com/diegopetrucci/pi-extensions#readme","bugs":{"url":"https://github.com/diegopetrucci/pi-extensions/issues"},"pi":{"extensions":["index.ts"]},"dist":{"shasum":"705077131e8207ba81f96d9dda2bc91486347825","tarball":"https://registry.npmjs.org/@diegopetrucci/pi-permission-gate/-/pi-permission-gate-0.1.8.tgz","fileCount":4,"integrity":"sha512-inMjsTvnujOCRh3uuJANe9M364xNyz7JQr3F3MAkTiP/uKKIn1Oz/Bamq6/EFDBXN0qsroNemEquTdfjLuIpHQ==","signatures":[{"sig":"MEQCIFxtu+laKH0nHbxW7P5goIl0nHb9ZOVpzCJNGUzXwXyaAiAwBqWKUofLwp94FLuBsPHNm15N86KZKhO7wxl0qI5mdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8176},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"d66e92f8b41939637be73b6d6308dd5bf4842f77","_npmUser":{"name":"diegopetrucci","email":"baulei@icloud.com"},"repository":{"url":"git+https://github.com/diegopetrucci/pi-extensions.git","type":"git","directory":"extensions/permission-gate"},"_npmVersion":"11.17.0","description":"A pi extension that prompts before dangerous bash commands and protected file writes.","directories":{},"_nodeVersion":"26.5.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-permission-gate_0.1.8_1784664447999_0.8721030672623933","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@diegopetrucci/pi-permission-gate","version":"0.1.9","keywords":["pi-package","pi","security","bash","permissions","file-safety"],"license":"MIT","_id":"@diegopetrucci/pi-permission-gate@0.1.9","maintainers":[{"name":"diegopetrucci","email":"baulei@icloud.com"}],"homepage":"https://github.com/diegopetrucci/pi-extensions#readme","bugs":{"url":"https://github.com/diegopetrucci/pi-extensions/issues"},"pi":{"extensions":["index.ts"]},"dist":{"shasum":"fc40ae7ba9f4d1b3024c32651c6c470a36760e1c","tarball":"https://registry.npmjs.org/@diegopetrucci/pi-permission-gate/-/pi-permission-gate-0.1.9.tgz","fileCount":4,"integrity":"sha512-dLPfE8PBRSd6dnKtmXyHi4SUEeRpxa9ivT9vxFHp9uUyzs5tp2hZp52zdXkKqJoMZY8wKJ4KSH6zvPV6Bs0zmA==","signatures":[{"sig":"MEUCIGQOx+SKTEhPE2pwrmeknkVNRwmFZ4mebf0BVSxHg65yAiEA7nlPJ5090gEZ59CpkI9FfobrR64hzS4LK1i+8RLyweY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20048},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"d74f9603e4a6678cc7c9629106e46e96288ce243","_npmUser":{"name":"diegopetrucci","email":"baulei@icloud.com"},"repository":{"url":"git+https://github.com/diegopetrucci/pi-extensions.git","type":"git","directory":"extensions/permission-gate"},"_npmVersion":"11.17.0","description":"A pi extension that prompts before dangerous bash commands and protected file writes.","directories":{},"_nodeVersion":"26.5.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-permission-gate_0.1.9_1784805313993_0.5997476682194989","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@diegopetrucci/pi-permission-gate","version":"0.1.10","keywords":["pi-package","pi","security","bash","permissions","file-safety"],"license":"MIT","_id":"@diegopetrucci/pi-permission-gate@0.1.10","maintainers":[{"name":"diegopetrucci","email":"baulei@icloud.com"}],"homepage":"https://github.com/diegopetrucci/pi-extensions#readme","bugs":{"url":"https://github.com/diegopetrucci/pi-extensions/issues"},"pi":{"extensions":["index.ts"]},"dist":{"shasum":"c4a5b85cbcdc86f7a22e2e741b3eeeae0cb3387c","tarball":"https://registry.npmjs.org/@diegopetrucci/pi-permission-gate/-/pi-permission-gate-0.1.10.tgz","fileCount":4,"integrity":"sha512-Opj/MtlbMRg1bnD9PEyo7RNBf7Nfyd+801dOJV7Da2lzbPylhNV3zHF6tMgQ9EzEfoP5/OiWYm4pAV7jG0n8fQ==","signatures":[{"sig":"MEQCIAMw/+idqtCc5ZfeCPsihgL80+NbCem87qBc+iOtptndAiABVWLTQ/5wnfymwnU1x4DKCPhCEFWLjyLSEjVnPpo3fA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20049},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"a806de84740d1ec4e6a6793a3f6329b66fe19b1b","_npmUser":{"name":"diegopetrucci","email":"baulei@icloud.com"},"repository":{"url":"git+https://github.com/diegopetrucci/pi-extensions.git","type":"git","directory":"extensions/permission-gate"},"_npmVersion":"11.17.0","description":"A pi extension that prompts before dangerous bash commands and protected file writes.","directories":{},"_nodeVersion":"26.5.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-permission-gate_0.1.10_1784967468269_0.26239707660920497","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@diegopetrucci/pi-permission-gate","version":"0.1.11","keywords":["pi-package","pi","security","bash","permissions","file-safety"],"license":"MIT","_id":"@diegopetrucci/pi-permission-gate@0.1.11","maintainers":[{"name":"diegopetrucci","email":"baulei@icloud.com"}],"homepage":"https://github.com/diegopetrucci/pi-extensions#readme","bugs":{"url":"https://github.com/diegopetrucci/pi-extensions/issues"},"pi":{"extensions":["index.ts"]},"dist":{"shasum":"f60aa22b9462a261a0167578ad2eb83db2f73b03","tarball":"https://registry.npmjs.org/@diegopetrucci/pi-permission-gate/-/pi-permission-gate-0.1.11.tgz","fileCount":4,"integrity":"sha512-dYWaGeqSXfFxW/Mxjf+oidfWRW2upCFn0ZF8JhtcLLz1h84USCaRstPUc+GI2Ror80k9DmTfNpoeBk0EZMfA7g==","signatures":[{"sig":"MEYCIQDuUeh0jKW78ANKSIMfr8pmEtxFRYrjeXyb+z5DiPU5WgIhAKT7lK35DjADbyl4O5ES8vK6T41YXObEwutL4jIzzJW4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20049},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"42f0be9781600cba42d923dbfc83f3a5f3dde7db","_npmUser":{"name":"diegopetrucci","email":"baulei@icloud.com"},"repository":{"url":"git+https://github.com/diegopetrucci/pi-extensions.git","type":"git","directory":"extensions/permission-gate"},"_npmVersion":"11.17.0","description":"A pi extension that prompts before dangerous bash commands and protected file writes.","directories":{},"_nodeVersion":"26.5.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-permission-gate_0.1.11_1785007417610_0.9627818069348077","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@diegopetrucci/pi-permission-gate","version":"0.1.12","keywords":["pi-package","pi","security","bash","permissions","file-safety"],"license":"MIT","_id":"@diegopetrucci/pi-permission-gate@0.1.12","maintainers":[{"name":"diegopetrucci","email":"baulei@icloud.com"}],"homepage":"https://github.com/diegopetrucci/pi-extensions#readme","bugs":{"url":"https://github.com/diegopetrucci/pi-extensions/issues"},"pi":{"extensions":["index.ts"]},"dist":{"shasum":"4e9ee3be1098dcc3c9b53590cef08e80f211b982","tarball":"https://registry.npmjs.org/@diegopetrucci/pi-permission-gate/-/pi-permission-gate-0.1.12.tgz","fileCount":4,"integrity":"sha512-o9QeKTgr1MQJsvl2mf9WatBLRAgZxVBGgIFKxROq3lFQs+NbxvNOaQM8u8vQE126C4Eeo09LpIhdHgjiSx7cGQ==","signatures":[{"sig":"MEYCIQCeWnhepfCYaYDs8lfe9ylf6sGJcwDZApdc6m6sv1kzCQIhAO11R1hvLYfkxX23ywbuN5Kya++l1E2XbY8g777Ces+o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@diegopetrucci%2fpi-permission-gate@0.1.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":20049},"type":"module","_from":"file:/tmp/publish-release-artifacts-XN5CwD/current-20/diegopetrucci-pi-permission-gate-0.1.12.tgz","engines":{"node":">=22.19.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05d95b1e-7959-436b-b2a1-daf006f23bf4"}},"_resolved":"/tmp/publish-release-artifacts-XN5CwD/current-20/diegopetrucci-pi-permission-gate-0.1.12.tgz","_integrity":"sha512-o9QeKTgr1MQJsvl2mf9WatBLRAgZxVBGgIFKxROq3lFQs+NbxvNOaQM8u8vQE126C4Eeo09LpIhdHgjiSx7cGQ==","repository":{"url":"git+https://github.com/diegopetrucci/pi-extensions.git","type":"git","directory":"extensions/permission-gate"},"_npmVersion":"11.17.0","description":"A pi extension that prompts before dangerous bash commands and protected file writes.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-permission-gate_0.1.12_1785877578166_0.9625314201937001","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@diegopetrucci/pi-permission-gate","version":"0.1.13","keywords":["pi-package","pi","security","bash","permissions","file-safety"],"license":"MIT","_id":"@diegopetrucci/pi-permission-gate@0.1.13","maintainers":[{"name":"diegopetrucci","email":"baulei@icloud.com"}],"homepage":"https://github.com/diegopetrucci/pi-extensions#readme","bugs":{"url":"https://github.com/diegopetrucci/pi-extensions/issues"},"pi":{"extensions":["index.ts"]},"dist":{"shasum":"c78613486295a4fe4462b348fded5e6b9be544a4","tarball":"https://registry.npmjs.org/@diegopetrucci/pi-permission-gate/-/pi-permission-gate-0.1.13.tgz","fileCount":4,"integrity":"sha512-nyK5Nww7KNdn7kWQR1dtHy8nivsrM4/UAQDIsgTKuIUQbds8H2PmSwSc2LCWa6jTd6/NKu4JphbIz9N8ms6zqw==","signatures":[{"sig":"MEYCIQC0UhimNX+7DTFvxY0yFyXjZMl2TpDGBzv6vevmC7+dtwIhANrmg/K4mM7AjwdWjgwDSYpzOKKskBb1vkYnc+l3UQda","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@diegopetrucci%2fpi-permission-gate@0.1.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":20049},"type":"module","_from":"file:/tmp/publish-release-artifacts-8OnaQF/current-21/diegopetrucci-pi-permission-gate-0.1.13.tgz","engines":{"node":">=22.19.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05d95b1e-7959-436b-b2a1-daf006f23bf4"}},"_resolved":"/tmp/publish-release-artifacts-8OnaQF/current-21/diegopetrucci-pi-permission-gate-0.1.13.tgz","_integrity":"sha512-nyK5Nww7KNdn7kWQR1dtHy8nivsrM4/UAQDIsgTKuIUQbds8H2PmSwSc2LCWa6jTd6/NKu4JphbIz9N8ms6zqw==","repository":{"url":"git+https://github.com/diegopetrucci/pi-extensions.git","type":"git","directory":"extensions/permission-gate"},"_npmVersion":"11.17.0","description":"A pi extension that prompts before dangerous bash commands and protected file writes.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-permission-gate_0.1.13_1787238945907_0.6291023305036008","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@diegopetrucci/pi-permission-gate","version":"0.1.14","keywords":["pi-package","pi","security","bash","powershell","permissions","file-safety"],"license":"MIT","_id":"@diegopetrucci/pi-permission-gate@0.1.14","maintainers":[{"name":"diegopetrucci","email":"baulei@icloud.com"}],"homepage":"https://github.com/diegopetrucci/pi-extensions#readme","bugs":{"url":"https://github.com/diegopetrucci/pi-extensions/issues"},"pi":{"extensions":["index.ts"]},"dist":{"shasum":"cff4960602b8242d53399a1b7a789a5148874f7a","tarball":"https://registry.npmjs.org/@diegopetrucci/pi-permission-gate/-/pi-permission-gate-0.1.14.tgz","fileCount":5,"integrity":"sha512-NZynRPSc0xD5d9uI+SIMDfMq/aiMJMCp5UbQ0fEq6l/DTiKlLgK6HRevry+R/qcqN9lPkLUsbNfl6lUH769dJw==","signatures":[{"sig":"MEUCIQDUxLNZfM/igV+OZxkIXOOEUnrcm0yVcTFtHYyOs0LOogIgNHj0hlftTDLYLhPl+ZXj2ttFo4vbQaHkriV3ot7ZWDQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@diegopetrucci%2fpi-permission-gate@0.1.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":55807},"type":"module","_from":"file:/tmp/publish-release-artifacts-o0nHqk/current-21/diegopetrucci-pi-permission-gate-0.1.14.tgz","engines":{"node":">=22.19.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05d95b1e-7959-436b-b2a1-daf006f23bf4"}},"_resolved":"/tmp/publish-release-artifacts-o0nHqk/current-21/diegopetrucci-pi-permission-gate-0.1.14.tgz","_integrity":"sha512-NZynRPSc0xD5d9uI+SIMDfMq/aiMJMCp5UbQ0fEq6l/DTiKlLgK6HRevry+R/qcqN9lPkLUsbNfl6lUH769dJw==","repository":{"url":"git+https://github.com/diegopetrucci/pi-extensions.git","type":"git","directory":"extensions/permission-gate"},"_npmVersion":"11.17.0","description":"A pi extension that prompts before dangerous shell commands and protected file writes.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-permission-gate_0.1.14_1788281607509_0.09366031618413495","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"pi":{"extensions":["index.ts"]},"_id":"@diegopetrucci/pi-permission-gate@0.1.15","bugs":{"url":"https://github.com/diegopetrucci/pi-extensions/issues"},"dist":{"shasum":"415899d918e5f8d4c1df5fb22dd913d6dad4d0bb","tarball":"https://registry.npmjs.org/@diegopetrucci/pi-permission-gate/-/pi-permission-gate-0.1.15.tgz","fileCount":5,"integrity":"sha512-WFUL0WaA8afkafGAU/tQ2I/aAgNmZfvbmp+bR28ZNejPqkzU6QzH+q2uGrvI69glNyygV4yVwwUdMW6blkMuGQ==","signatures":[{"sig":"MEYCIQCOJx9bLc6YgC0+qgsyuLvBf8w8dshoDH3n5ZCAdkJVdQIhAPtpY5x4bbcaKliFo6+VnGY+ajwQ+vBbmyGgo3xoUf7c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDY480IKqr4xpJBFcGDkV48dRWbhcB0OMYldwIDQGFpAAIhAI9R9I+iXpweaLStU4MnSaHUqYHjkvp/zsFL3DyjRuZV"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@diegopetrucci%2fpi-permission-gate@0.1.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":57644},"name":"@diegopetrucci/pi-permission-gate","type":"module","_from":"file:/tmp/publish-release-artifacts-m2ZgcB/current-12/diegopetrucci-pi-permission-gate-0.1.15.tgz","engines":{"node":">=22.19.0"},"license":"MIT","version":"0.1.15","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"05d95b1e-7959-436b-b2a1-daf006f23bf4"}},"homepage":"https://github.com/diegopetrucci/pi-extensions#readme","keywords":["pi-package","pi","security","bash","powershell","permissions","file-safety"],"_resolved":"/tmp/publish-release-artifacts-m2ZgcB/current-12/diegopetrucci-pi-permission-gate-0.1.15.tgz","_integrity":"sha512-WFUL0WaA8afkafGAU/tQ2I/aAgNmZfvbmp+bR28ZNejPqkzU6QzH+q2uGrvI69glNyygV4yVwwUdMW6blkMuGQ==","repository":{"url":"git+https://github.com/diegopetrucci/pi-extensions.git","type":"git","directory":"extensions/permission-gate"},"_npmVersion":"11.17.0","description":"A pi extension that prompts before dangerous shell commands and protected file writes.","directories":{},"maintainers":[{"name":"diegopetrucci","email":"baulei@icloud.com"}],"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-permission-gate_0.1.15_1791032234810_0.21339047068910122"}}},"time":{"created":"2026-04-18T10:45:36.667Z","modified":"2026-10-03T12:57:15.189Z","0.1.0":"2026-04-18T10:45:36.910Z","0.1.1":"2026-05-09T11:12:20.892Z","0.1.2":"2026-05-28T08:10:13.153Z","0.1.3":"2026-06-01T10:23:37.335Z","0.1.4":"2026-06-23T06:45:48.745Z","0.1.7":"2026-07-14T13:49:49.486Z","0.1.8":"2026-07-21T20:07:28.204Z","0.1.9":"2026-07-23T11:15:14.172Z","0.1.10":"2026-07-25T08:17:48.439Z","0.1.11":"2026-07-25T19:23:37.758Z","0.1.12":"2026-08-04T21:06:18.307Z","0.1.13":"2026-08-20T15:15:46.049Z","0.1.14":"2026-09-01T16:53:27.649Z","0.1.15":"2026-10-03T12:57:14.893Z"},"bugs":{"url":"https://github.com/diegopetrucci/pi-extensions/issues"},"license":"MIT","homepage":"https://github.com/diegopetrucci/pi-extensions#readme","keywords":["pi-package","pi","security","bash","powershell","permissions","file-safety"],"repository":{"url":"git+https://github.com/diegopetrucci/pi-extensions.git","type":"git","directory":"extensions/permission-gate"},"description":"A pi extension that prompts before dangerous shell commands and protected file writes.","maintainers":[{"name":"diegopetrucci","email":"baulei@icloud.com"}],"readme":"# permission-gate\n\nA small pi extension that prompts for confirmation before running potentially dangerous bash or PowerShell commands or writing to protected paths.\n\nThis started from the original `permission-gate.ts` example in [`earendil-works/pi`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/examples/extensions/permission-gate.ts) and adds conservative shell and path hardening.\n\n## What it checks\n\n- `rm -rf`\n- PowerShell `Remove-Item -Recurse -Force` and its standard aliases, including module-qualified, interpolated, splatted, and backtick-escaped forms\n- `sudo`\n- `chmod` / `chown` with `777`\n- direct `write` / `edit` calls touching normalized protected paths:\n  - exact `.git` path segments\n  - exact `node_modules` path segments\n  - secret-bearing `.env` files such as `.env` and `.env.production`\n\nSafe `.env` templates/examples such as `.env.example` and `.env.production.template` are allowed.\n\nIf pi is running without an interactive UI, it blocks matching commands and protected path writes by default.\n\nFor Pi's built-in local Windows PowerShell tool, commands that pass the fast lexical checks are also parsed with the same PowerShell installation's AST parser before execution. Malformed input, parser failures, `Remove-Item` parameter splatting, command-resolution changes (aliases/modules/providers/direct function or filter definitions), known script/process/job/member invocation wrappers, computed member calls, and analyzer inputs above 16,000 UTF-8 bytes are treated conservatively and require confirmation (or are blocked when no UI is available). Computed targets passed to provider-capable mutation commands also require confirmation because the target could resolve to `Alias:` or `Function:`. Literal quoted/commented examples, including literal here-strings, stay benign. Definitely enabled `-WhatIf` removals (`-WhatIf`, `-WhatIf:$true`, or `-WhatIf:1`) remain non-destructive and are allowed; computed switch values require confirmation.\n\nNon-Windows and custom/remote `powershell` tools receive the conservative lexical checks, but only Pi's built-in local Windows tool can be verified with its actual parser. Pi extensions are trusted code: tool overrides, remote operations, spawn hooks, and mutations made by handlers loaded after this gate are outside its boundary and must enforce their own final-input policy.\n\nThis is a targeted confirmation guard for the command classes listed above, not a shell sandbox or a proof that every unlisted executable/API is harmless.\n\n## Pi 0.99 dispatch boundary\n\nThe policy is deliberately named-tool-only: it checks `bash`, `powershell`, `write`, and `edit` `tool_call` events. Pi 0.99 routes `ctx.executeTool()` calls (including calls made by `codemode`) through the same preflight tool-call pipeline and supplies `parentToolCallId`; the named checks therefore apply to nested calls too. Executed calls (including execution errors and `isError` results) reach the tool-result hook. Preflight-blocked, invalid, and unknown-tool calls instead produce Pi's host error result and, for nested calls, a bounded nested-call record without an after-execution `tool_result` event. Confirmation cancellation, UI failure, and missing UI fail closed.\n\nMCP calls also pass through Pi's host pipeline, but arbitrary `mcp__<server>__<tool>` names are outside this extension's existing guarantee. This extension does not authorize arbitrary MCP tools, infer policy from `readOnlyHint`/`destructiveHint` annotations, or provide a universal MCP security sandbox. Any annotation-based or broader MCP policy requires separate human approval. Custom tools, remote/overridden implementations, and later handlers must enforce their own final-input policy.\n\n## Install\n\n### Standalone npm package\n\n```bash\npi install npm:@diegopetrucci/pi-permission-gate\n```\n\n### Collection package\n\n```bash\npi install npm:@diegopetrucci/pi-extensions\n```\n\n### GitHub package\n\n```bash\npi install git:github.com/diegopetrucci/pi-extensions\n```\n\nThen reload pi:\n\n```text\n/reload\n```\n\n## Notes\n\n- Hooks the `tool_call` event.\n- Inspects `bash`, `powershell`, `write`, and `edit` tool calls.\n- Validates shell timeouts as well as command strings and fails closed on malformed calls.\n- Normalizes relative/absolute paths before matching so traversal tricks do not bypass the guard.\n- Prompts with a simple `Yes` / `No` selector before allowing dangerous commands or protected path writes.\n","readmeFilename":"README.md"}