{"_id":"@charlie-labs/ch-pr-review","_rev":"7-cf7ef0f8affd7f1b0d773123beb0cc7f","name":"@charlie-labs/ch-pr-review","dist-tags":{"next":"1.1.0-alpha.1","latest":"1.1.2"},"versions":{"1.0.0-alpha.0":{"name":"@charlie-labs/ch-pr-review","version":"1.0.0-alpha.0","keywords":["charlie","cli","code-review","daemon","github","pull-request","review"],"author":{"name":"Charlie Labs"},"license":"MIT","_id":"@charlie-labs/ch-pr-review@1.0.0-alpha.0","maintainers":[{"name":"rileytomasek","email":"riley.tomasek@gmail.com"},{"name":"ryan-charlielabs","email":"ryan@charlielabs.ai"}],"homepage":"https://github.com/charlie-labs/ch-pr-review#readme","bugs":{"url":"https://github.com/charlie-labs/ch-pr-review/issues"},"os":["darwin","linux"],"bin":{"ch-pr-review":"bin/ch-pr-review.js"},"dist":{"shasum":"f76d530c696109bcb3d91ed950bccc62e7cbe8c7","tarball":"https://registry.npmjs.org/@charlie-labs/ch-pr-review/-/ch-pr-review-1.0.0-alpha.0.tgz","fileCount":10,"integrity":"sha512-/kMbLCPryIBdJNLRqd0sLaG/xMWh41UaTup1g4IZ3A9KTS0JLhZCoCtgtRhUnVhv1cQzv741Ey+w/P10BOK3rg==","signatures":[{"sig":"MEYCIQC4hAxah8QpLlUU7Yu1MWhqg5+n0i5EePR/p0AbpY3v3QIhALV/f5IdPDXG1AADwz+lekSo96BDQL/IPy33KCBxqihG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":997833},"type":"module","engines":{"node":">=20"},"exports":{},"gitHead":"43a66a217d1829b7c67d2b0b0ec7369f08fefc5f","scripts":{"ci":"bun run lint && bun run lint:format && bun run typecheck && bun run test && bun run test:packed && bun run test:integration","dev":"bun run ./scripts/run-dev.ts","fix":"eslint --fix bin src scripts eslint.config.js","lint":"eslint bin src scripts eslint.config.js","test":"vitest run","build":"rm -rf dist && bun build ./src/cli.ts --target=node --format=esm --outfile=./dist/cli.js","clean":"rm -rf .turbo coverage dist node_modules","prepack":"bun run build","typecheck":"tsc --noEmit -p tsconfig.json","fix:format":"oxfmt --write --no-error-on-unmatched-pattern .","lint:format":"oxfmt --check --no-error-on-unmatched-pattern .","publish:npm":"bash ./scripts/publish-npm.sh","test:packed":"bun run ./scripts/verify-packed-cli.ts","prepublishOnly":"bun run ci","test:integration":"bun run ./scripts/verify-source-portability.ts"},"_npmUser":{"name":"rileytomasek","email":"riley.tomasek@gmail.com"},"repository":{"url":"git+https://github.com/charlie-labs/ch-pr-review.git","type":"git"},"_npmVersion":"11.12.1","description":"Deterministic context, validation, and GitHub actions for Charlie PR-review daemons.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":false},"_hasShrinkwrap":false,"packageManager":"bun@1.3.13","devDependencies":{"ajv":"8.18.0","zod":"3.25.76","oxfmt":"0.56.0","eslint":"9.39.4","vitest":"4.1.10","globals":"16.5.0","@eslint/js":"9.39.4","typescript":"6.0.3","@types/node":"24.13.3","typescript-eslint":"8.58.2"},"_npmOperationalInternal":{"tmp":"tmp/ch-pr-review_1.0.0-alpha.0_1784755673676_0.9118160206136863","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.2":{"name":"@charlie-labs/ch-pr-review","version":"1.0.0-alpha.2","keywords":["charlie","cli","code-review","daemon","github","pull-request","review"],"author":{"name":"Charlie Labs"},"license":"MIT","_id":"@charlie-labs/ch-pr-review@1.0.0-alpha.2","maintainers":[{"name":"rileytomasek","email":"riley.tomasek@gmail.com"},{"name":"ryan-charlielabs","email":"ryan@charlielabs.ai"}],"homepage":"https://github.com/charlie-labs/ch-pr-review#readme","bugs":{"url":"https://github.com/charlie-labs/ch-pr-review/issues"},"os":["darwin","linux"],"bin":{"ch-pr-review":"bin/ch-pr-review.js"},"dist":{"shasum":"853a4b833aa6763346d64a4a62a46ae8a1bc18a1","tarball":"https://registry.npmjs.org/@charlie-labs/ch-pr-review/-/ch-pr-review-1.0.0-alpha.2.tgz","fileCount":10,"integrity":"sha512-ecGdwFjbJIHkWWchRSqtXKaiwYf5iD5en17pvQVfWwwWC3omMqcbNG2GrxcZK1SyC7W+7tc5jr7n+TUl5SJyOA==","signatures":[{"sig":"MEUCIDIn8eXLyoJZsYJrQZ8YQJJ23XTnor0mup46PJqlxMcWAiEAwb28jVKoMJeiBGznGfs9FCAWxAdQFFEURaQ6Yuc3mHM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":998611},"type":"module","engines":{"node":">=20"},"exports":{},"gitHead":"561e869f4c6bb8983a6da18016bdaa16bebd794c","scripts":{"ci":"bun run lint && bun run lint:format && bun run typecheck && bun run test && bun run test:packed && bun run test:integration","dev":"bun run ./scripts/run-dev.ts","fix":"eslint --fix bin src scripts eslint.config.js","lint":"eslint bin src scripts eslint.config.js","test":"vitest run","build":"rm -rf dist && bun build ./src/cli.ts --target=node --format=esm --outfile=./dist/cli.js","clean":"rm -rf .turbo coverage dist node_modules","prepack":"bun run build","typecheck":"tsc --noEmit -p tsconfig.json","fix:format":"oxfmt --write --no-error-on-unmatched-pattern .","lint:format":"oxfmt --check --no-error-on-unmatched-pattern .","test:packed":"bun run ./scripts/verify-packed-cli.ts","prepublishOnly":"bun run ci","test:integration":"bun run ./scripts/verify-source-portability.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4c7c154f-7ef8-41a1-95e3-0f947cd0f863"}},"repository":{"url":"git+https://github.com/charlie-labs/ch-pr-review.git","type":"git"},"_npmVersion":"11.5.1","description":"Deterministic context, validation, and GitHub actions for Charlie PR-review daemons.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","readmeFilename":"README.md","devDependencies":{"ajv":"8.18.0","zod":"3.25.76","oxfmt":"0.56.0","eslint":"9.39.4","vitest":"4.1.10","globals":"16.5.0","@eslint/js":"9.39.4","typescript":"6.0.3","@types/node":"24.13.3","typescript-eslint":"8.58.2"},"_npmOperationalInternal":{"tmp":"tmp/ch-pr-review_1.0.0-alpha.2_1785463181141_0.5048886642202861","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@charlie-labs/ch-pr-review","version":"1.0.0","keywords":["charlie","cli","code-review","daemon","github","pull-request","review"],"author":{"name":"Charlie Labs"},"license":"MIT","_id":"@charlie-labs/ch-pr-review@1.0.0","maintainers":[{"name":"rileytomasek","email":"riley.tomasek@gmail.com"},{"name":"ryan-charlielabs","email":"ryan@charlielabs.ai"}],"homepage":"https://github.com/charlie-labs/ch-pr-review#readme","bugs":{"url":"https://github.com/charlie-labs/ch-pr-review/issues"},"os":["darwin","linux"],"bin":{"ch-pr-review":"bin/ch-pr-review.js"},"dist":{"shasum":"0a55571539c0174a802e8277fcc2103f6250dfde","tarball":"https://registry.npmjs.org/@charlie-labs/ch-pr-review/-/ch-pr-review-1.0.0.tgz","fileCount":10,"integrity":"sha512-chIjF/vfpNNXBs2Z/90ic5qZ4v6Q/AjfkV9zLzlqprtrldgd22v/CwFOLHEzbKS7ae+izvxXqZSj1B6CR+u4Ig==","signatures":[{"sig":"MEUCIGG8+X6xgJP09KGmAT3Xkiis1NK0GfumEMuYDGi0nOWRAiEA0Lc0NU535YuvxC1SBr3YUwMxDw8/gpQfmTe7mypnmUw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1003847},"type":"module","engines":{"node":">=20"},"exports":{},"gitHead":"a861d6624df47d0a81918924c87be6ae8f774f14","scripts":{"ci":"bun run lint && bun run lint:format && bun run typecheck && bun run test && bun run test:packed && bun run test:integration","dev":"bun run ./scripts/run-dev.ts","fix":"eslint --fix bin src scripts eslint.config.js","lint":"eslint bin src scripts eslint.config.js","test":"vitest run","build":"rm -rf dist && bun build ./src/cli.ts --target=node --format=esm --outfile=./dist/cli.js","clean":"rm -rf .turbo coverage dist node_modules","prepack":"bun run build","typecheck":"tsc --noEmit -p tsconfig.json","fix:format":"oxfmt --write --no-error-on-unmatched-pattern .","lint:format":"oxfmt --check --no-error-on-unmatched-pattern .","test:packed":"bun run ./scripts/verify-packed-cli.ts","prepublishOnly":"bun run ci","test:integration":"bun run ./scripts/verify-source-portability.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4c7c154f-7ef8-41a1-95e3-0f947cd0f863"}},"repository":{"url":"git+https://github.com/charlie-labs/ch-pr-review.git","type":"git"},"_npmVersion":"11.5.1","description":"Deterministic context, validation, and GitHub actions for Charlie PR-review daemons.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ajv":"8.18.0","zod":"3.25.76","oxfmt":"0.56.0","eslint":"9.39.4","vitest":"4.1.10","globals":"16.5.0","@eslint/js":"9.39.4","typescript":"6.0.3","@types/node":"24.13.3","typescript-eslint":"8.58.2"},"_npmOperationalInternal":{"tmp":"tmp/ch-pr-review_1.0.0_1785530059921_0.007991595587995892","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.0":{"name":"@charlie-labs/ch-pr-review","version":"1.1.0-alpha.0","keywords":["charlie","cli","code-review","daemon","github","pull-request","review"],"author":{"name":"Charlie Labs"},"license":"MIT","_id":"@charlie-labs/ch-pr-review@1.1.0-alpha.0","maintainers":[{"name":"rileytomasek","email":"riley.tomasek@gmail.com"},{"name":"ryan-charlielabs","email":"ryan@charlielabs.ai"}],"homepage":"https://github.com/charlie-labs/ch-pr-review#readme","bugs":{"url":"https://github.com/charlie-labs/ch-pr-review/issues"},"os":["darwin","linux"],"bin":{"ch-pr-review":"bin/ch-pr-review.js"},"dist":{"shasum":"5ccd52f1928012104f9188bad7dd6323e4f07017","tarball":"https://registry.npmjs.org/@charlie-labs/ch-pr-review/-/ch-pr-review-1.1.0-alpha.0.tgz","fileCount":14,"integrity":"sha512-T6rrTQJCFDJieOgyQ0/eJv/Wdakex1djpGAI9srJwHAG40OUT97aAp2bT4F6wfg+TyRFvskTVyylRqFF+KESqA==","signatures":[{"sig":"MEUCIQDMRg/ahBr69kK006isTfGDGvVUXVeuJ8lESyiZr8u3UwIgam2I1F6kbMqOrNt4Babn14MBuzFQKELv3MdUYYXK31U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1213025},"type":"module","engines":{"node":">=20"},"exports":{},"gitHead":"ec088247b93877307af47107c1925aa25f5b1a5d","scripts":{"ci":"bun run lint && bun run lint:format && bun run typecheck && bun run test && bun run test:packed && bun run test:integration","dev":"bun run ./scripts/run-dev.ts","fix":"eslint --fix bin src scripts eslint.config.js","lint":"eslint bin src scripts eslint.config.js","test":"vitest run","build":"rm -rf dist && bun build ./src/cli.ts --target=node --format=esm --outfile=./dist/cli.js","clean":"rm -rf .turbo coverage dist node_modules","prepack":"bun run build","typecheck":"tsc --noEmit -p tsconfig.json","fix:format":"oxfmt --write --no-error-on-unmatched-pattern .","lint:format":"oxfmt --check --no-error-on-unmatched-pattern .","test:packed":"bun run ./scripts/verify-packed-cli.ts","prepublishOnly":"bun run ci","test:integration":"bun run ./scripts/verify-source-portability.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4c7c154f-7ef8-41a1-95e3-0f947cd0f863"}},"repository":{"url":"git+https://github.com/charlie-labs/ch-pr-review.git","type":"git"},"_npmVersion":"11.5.1","description":"Deterministic context, validation, and GitHub actions for Charlie PR-review daemons.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","readmeFilename":"README.md","devDependencies":{"ajv":"8.20.0","zod":"3.25.76","oxfmt":"0.61.0","eslint":"9.39.4","vitest":"4.1.10","globals":"16.5.0","@eslint/js":"9.39.4","typescript":"6.0.3","@types/node":"24.13.3","typescript-eslint":"8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/ch-pr-review_1.1.0-alpha.0_1785772238442_0.15153833525050686","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.1":{"name":"@charlie-labs/ch-pr-review","version":"1.1.0-alpha.1","keywords":["charlie","cli","code-review","daemon","github","pull-request","review"],"author":{"name":"Charlie Labs"},"license":"MIT","_id":"@charlie-labs/ch-pr-review@1.1.0-alpha.1","maintainers":[{"name":"rileytomasek","email":"riley.tomasek@gmail.com"},{"name":"ryan-charlielabs","email":"ryan@charlielabs.ai"}],"homepage":"https://github.com/charlie-labs/ch-pr-review#readme","bugs":{"url":"https://github.com/charlie-labs/ch-pr-review/issues"},"os":["darwin","linux"],"bin":{"ch-pr-review":"bin/ch-pr-review.js"},"dist":{"shasum":"3ed5b00120ce006c2ee60d605d51a6a80270f332","tarball":"https://registry.npmjs.org/@charlie-labs/ch-pr-review/-/ch-pr-review-1.1.0-alpha.1.tgz","fileCount":14,"integrity":"sha512-4/B+PdhnnZxs3Wgb4D9k/ZdeRSwj/WyNvOV62iypDgl1CxgdqEdCPVqP2hBibd5dFLqvvO3A25F2zICS16H6tQ==","signatures":[{"sig":"MEUCIQDD1W+I4OyAiFCIMxRz6n3Ah74RrOWYpDk/24Qq5qo5JQIgeNgbgbYAdVrWBD61evi/vICpwXD1aJ/scXUkmcO786I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1227811},"type":"module","engines":{"node":">=20"},"exports":{},"gitHead":"3d898572fa5be9b401de9fd396262616dd5510db","scripts":{"ci":"bun run lint && bun run lint:format && bun run typecheck && bun run test && bun run test:packed && bun run test:integration","dev":"bun run ./scripts/run-dev.ts","fix":"eslint --fix bin src scripts eslint.config.js","lint":"eslint bin src scripts eslint.config.js","test":"vitest run","build":"rm -rf dist && bun build ./src/cli.ts --target=node --format=esm --outfile=./dist/cli.js","clean":"rm -rf .turbo coverage dist node_modules","prepack":"bun run build","typecheck":"tsc --noEmit -p tsconfig.json","fix:format":"oxfmt --write --no-error-on-unmatched-pattern .","lint:format":"oxfmt --check --no-error-on-unmatched-pattern .","test:packed":"bun run ./scripts/verify-packed-cli.ts","prepublishOnly":"bun run ci","test:integration":"bun run ./scripts/verify-source-portability.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4c7c154f-7ef8-41a1-95e3-0f947cd0f863"}},"repository":{"url":"git+https://github.com/charlie-labs/ch-pr-review.git","type":"git"},"_npmVersion":"11.5.1","description":"Deterministic context, validation, and GitHub actions for Charlie PR-review daemons.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","readmeFilename":"README.md","devDependencies":{"ajv":"8.20.0","zod":"3.25.76","oxfmt":"0.61.0","eslint":"9.39.4","vitest":"4.1.10","globals":"16.5.0","@eslint/js":"9.39.4","typescript":"6.0.3","@types/node":"24.13.3","typescript-eslint":"8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/ch-pr-review_1.1.0-alpha.1_1785944576630_0.658653138137208","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@charlie-labs/ch-pr-review","version":"1.1.0","keywords":["charlie","cli","code-review","daemon","github","pull-request","review"],"author":{"name":"Charlie Labs"},"license":"MIT","_id":"@charlie-labs/ch-pr-review@1.1.0","maintainers":[{"name":"rileytomasek","email":"riley.tomasek@gmail.com"},{"name":"ryan-charlielabs","email":"ryan@charlielabs.ai"}],"homepage":"https://github.com/charlie-labs/ch-pr-review#readme","bugs":{"url":"https://github.com/charlie-labs/ch-pr-review/issues"},"os":["darwin","linux"],"bin":{"ch-pr-review":"bin/ch-pr-review.js"},"dist":{"shasum":"806c63cc25a6b9666355468bf4df82e4d8a00f0d","tarball":"https://registry.npmjs.org/@charlie-labs/ch-pr-review/-/ch-pr-review-1.1.0.tgz","fileCount":14,"integrity":"sha512-bDpePcbxDt9U0ORdyQHLng/ceqgh88i552AwecxJvtTnTxVNIc2IMixRnYBLm5knSjvJIpFUHQc6Atgn5wivlw==","signatures":[{"sig":"MEUCIEwX7kTxG6R8/UFEGCDG+uQRew6bzDU9venKpl/MZW02AiEAtNL8N8tp/N2xXUf+QAy96YFgSPLTrHxDqOBDju3DMgk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1229284},"type":"module","engines":{"node":">=20"},"exports":{},"gitHead":"fffb891d697c200b722da55b761a7f3e4b46c454","scripts":{"ci":"bun run lint && bun run lint:format && bun run typecheck && bun run test && bun run test:packed && bun run test:integration","dev":"bun run ./scripts/run-dev.ts","fix":"eslint --fix bin src scripts eslint.config.js","lint":"eslint bin src scripts eslint.config.js","test":"vitest run","build":"rm -rf dist && bun build ./src/cli.ts --target=node --format=esm --outfile=./dist/cli.js","clean":"rm -rf .turbo coverage dist node_modules","prepack":"bun run build","typecheck":"tsc --noEmit -p tsconfig.json","fix:format":"oxfmt --write --no-error-on-unmatched-pattern .","lint:format":"oxfmt --check --no-error-on-unmatched-pattern .","test:packed":"bun run ./scripts/verify-packed-cli.ts","prepublishOnly":"bun run ci","test:integration":"bun run ./scripts/verify-source-portability.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4c7c154f-7ef8-41a1-95e3-0f947cd0f863"}},"repository":{"url":"git+https://github.com/charlie-labs/ch-pr-review.git","type":"git"},"_npmVersion":"11.5.1","description":"Deterministic context, validation, and GitHub actions for Charlie PR-review daemons.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ajv":"8.20.0","zod":"3.25.76","oxfmt":"0.61.0","eslint":"9.39.4","vitest":"4.1.10","globals":"16.5.0","@eslint/js":"9.39.4","typescript":"6.0.3","@types/node":"24.13.3","typescript-eslint":"8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/ch-pr-review_1.1.0_1785977308021_0.9004979543576448","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@charlie-labs/ch-pr-review","version":"1.1.2","description":"Deterministic context, validation, and GitHub actions for Charlie PR-review daemons.","keywords":["charlie","cli","code-review","daemon","github","pull-request","review"],"homepage":"https://github.com/charlie-labs/ch-pr-review#readme","bugs":{"url":"https://github.com/charlie-labs/ch-pr-review/issues"},"license":"MIT","author":{"name":"Charlie Labs"},"repository":{"type":"git","url":"git+https://github.com/charlie-labs/ch-pr-review.git"},"bin":{"ch-pr-review":"bin/ch-pr-review.js"},"os":["darwin","linux"],"type":"module","sideEffects":false,"exports":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"build":"rm -rf dist && bun build ./src/cli.ts --target=node --format=esm --outfile=./dist/cli.js","ci":"bun run lint && bun run lint:format && bun run typecheck && bun run test && bun run test:packed && bun run test:integration","clean":"rm -rf .turbo coverage dist node_modules","dev":"bun run ./scripts/run-dev.ts","fix":"eslint --fix bin src scripts eslint.config.js","fix:format":"oxfmt --write --no-error-on-unmatched-pattern .","lint":"eslint bin src scripts eslint.config.js","lint:format":"oxfmt --check --no-error-on-unmatched-pattern .","prepack":"bun run build","prepublishOnly":"bun run ci","test":"vitest run","test:integration":"bun run ./scripts/verify-source-portability.ts","test:packed":"bun run ./scripts/verify-packed-cli.ts","typecheck":"tsc --noEmit -p tsconfig.json"},"devDependencies":{"@eslint/js":"9.39.4","@types/node":"24.13.3","ajv":"8.20.0","eslint":"9.39.4","globals":"16.5.0","oxfmt":"0.61.0","typescript":"6.0.3","typescript-eslint":"8.65.0","vitest":"4.1.10","zod":"3.25.76"},"engines":{"node":">=20"},"packageManager":"bun@1.3.14","_id":"@charlie-labs/ch-pr-review@1.1.2","gitHead":"2fe34aa98bfe0004ebd4b93a97a14612e64bae37","_nodeVersion":"22.14.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-9v8MpaKpRYUp5mt6rbwMoozGEtkkxtFgW5a67H8sgGi1M8Q2Z/NsrgFtCab+qpsmd3TbS80SLtQOXcsWema1WA==","shasum":"7a633dde2a54fda63d15760a12a3b067175f9470","tarball":"https://registry.npmjs.org/@charlie-labs/ch-pr-review/-/ch-pr-review-1.1.2.tgz","fileCount":14,"unpackedSize":1229901,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCAzSfwKxHVghbQn/XA7nJCcjivtLBFGUc5G+T2z8ELugIhAJU2v3/kgTnCqKYG/QwPiXBwhLhqr1wwDFLYJ0quGXDb"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4c7c154f-7ef8-41a1-95e3-0f947cd0f863"}},"directories":{},"maintainers":[{"name":"rileytomasek","email":"riley.tomasek@gmail.com"},{"name":"ryan-charlielabs","email":"ryan@charlielabs.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ch-pr-review_1.1.2_1787711810098_0.5303975481479253"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-22T21:27:53.481Z","modified":"2026-08-26T02:36:50.407Z","1.0.0-alpha.0":"2026-07-22T21:27:53.849Z","1.0.0-alpha.2":"2026-07-31T01:59:41.353Z","1.0.0":"2026-07-31T20:34:20.135Z","1.1.0-alpha.0":"2026-08-03T15:50:38.622Z","1.1.0-alpha.1":"2026-08-05T15:42:56.756Z","1.1.0":"2026-08-06T00:48:28.216Z","1.1.2":"2026-08-26T02:36:50.246Z"},"bugs":{"url":"https://github.com/charlie-labs/ch-pr-review/issues"},"author":{"name":"Charlie Labs"},"license":"MIT","homepage":"https://github.com/charlie-labs/ch-pr-review#readme","keywords":["charlie","cli","code-review","daemon","github","pull-request","review"],"repository":{"type":"git","url":"git+https://github.com/charlie-labs/ch-pr-review.git"},"description":"Deterministic context, validation, and GitHub actions for Charlie PR-review daemons.","maintainers":[{"name":"rileytomasek","email":"riley.tomasek@gmail.com"},{"name":"ryan-charlielabs","email":"ryan@charlielabs.ai"}],"readme":"# `@charlie-labs/ch-pr-review`\n\nDeterministic context collection, validation, and GitHub actions for Charlie\nPR-review daemons.\n\nThe CLI gives an agent a narrow process boundary around pull-request state. It\nbuilds immutable review context, checks that the context is still current, and\nperforms tightly constrained GitHub mutations. Semantic review judgment stays\nwith the calling agent.\n\n> [!IMPORTANT]\n> `1.1.0` is the stable release of the additive activation flow. After this\n> release PR is merged, the master-only trusted-publishing workflow publishes\n> it under npm's `latest` tag. Existing exact `1.0.0` consumers remain unchanged.\n\n## Requirements\n\n- Node.js 20 or newer\n- Bun 1.3 or newer for on-demand `bunx` execution\n- macOS or Linux (the current file and process contracts are POSIX-only)\n- `git`\n- An authenticated [GitHub CLI](https://cli.github.com/) for commands that read\n  from or write to GitHub\n\nAuthenticate GitHub CLI before live use:\n\n```sh\ngh auth login\ngh auth status\n```\n\n## Install\n\nRun the current compatible major without adding it to project dependencies:\n\n```sh\nbunx --silent --package '@charlie-labs/ch-pr-review@1' ch-pr-review --version\n```\n\nUse the same launcher for operational commands:\n\n```sh\nbunx --silent --package '@charlie-labs/ch-pr-review@1' ch-pr-review init \\\n  --repo-path /absolute/repository --task-id task_123 --pull-request 456\n\nbunx --silent --package '@charlie-labs/ch-pr-review@1' ch-pr-review context \\\n  --repo-path /absolute/repository --task-id task_123 --consumer entry\n```\n\n`--package` explicitly selects the scoped package that supplies the\n`ch-pr-review` binary. `--silent` keeps package-runner installation output away\nfrom the CLI's machine-readable process output.\n\n## Commands\n\n| Command                                                                            | Effect                                                                                      | External mutation           |\n| ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | --------------------------- |\n| `init --repo-path ABS --task-id ID --pull-request N`                               | Prepares the clean shared checkout, creates a bundle, and publishes activation last.        | None; local Git/files only  |\n| `context --repo-path ABS --task-id ID --consumer entry`                            | Renders local entry mechanics, policy lanes, and PR evidence from one activation.           | None; read-only             |\n| `context --repo-path ABS --task-id ID --consumer pr_review_lane --lane-path ABS`   | Renders the same activation with one exact direct Markdown lane.                            | None; read-only             |\n| `bootstrap`                                                                        | Collects context, may create an immutable local bundle, and writes one structured response. | None; may write local files |\n| `revalidate --manifest <absolute-manifest.json>`                                   | Checks live GitHub eligibility and revision state for a validated manifest.                 | None                        |\n| `refresh --manifest <absolute-manifest.json>`                                      | Reads the latest live revision and creates a fresh immutable bundle on local disk.          | None; writes local files    |\n| `publish --manifest <absolute-manifest.json> --draft <absolute-review-draft.json>` | Revalidates the manifest-bound target and publishes at most one formal pull-request review. | GitHub review               |\n| `react --manifest <absolute-manifest.json> --reaction +1`                          | Revalidates the target and adds at most one actor-owned `+1` reaction.                      | GitHub reaction             |\n\n`publish` derives repository, pull-request, revision, and activation identity\nmechanically from the validated manifest. The draft contains only the selected\nreview event and content.\n\n`init` derives repository identity from local Git configuration, refuses any\ndirty/staged/untracked checkout, fetches only the observed base and PR-head\nrefs with safety flags, performs any bounded shallow-history deepening before\ndetaching at the exact observed head, and replaces an existing activation only\nas the final atomic success step. Evidence collection after checkout is\nread-only and never fetches or changes Git metadata. Activation IDs are opaque,\nnonblank, control-free strings bounded to 256 JavaScript UTF-16 code units and\n1,024 UTF-8 bytes so every accepted value traverses the retained command\nschemas. `context` resolves\nGit metadata from the filesystem and performs no process call, GitHub request,\nfetch, checkout, recollection, repair, or write.\nThe daemon root is always `<repo>/.agents/daemons/pr-review`; it is never a CLI\ninput. Worker lanes must be direct non-symlink `.md` files beneath its fixed\n`references/lanes` directory.\n\nA successful entry response also carries `workerLanes`, a sorted array of\nobjects containing only trusted package-produced absolute `lanePath` values.\nThe paths are the exact canonical direct Markdown files loaded from the\nactivated PR-head checkout; lane Markdown is not duplicated in the inventory.\nThe inventory is limited to 128 unique paths, 4,096 UTF-8 bytes per path, and\n262,144 UTF-8 bytes across path values. `pr_review_lane` responses reject the\nfield. `workerLanes` is transport for Charlie's host binding, not model policy:\nit neither selects a lane nor determines how Charlie schedules or binds lane\nworkers.\n\nRun `ch-pr-review --help` for the complete invocation syntax.\n\n### Process boundary\n\nThe npm package intentionally exports no JavaScript API. Consumers execute the\n`ch-pr-review` binary and exchange versioned JSON over stdin, stdout, and\nabsolute file paths. This keeps daemon runtimes independent from the CLI's\ninternal modules and makes protocol changes explicit.\n\nEvery successful operational command writes one machine-readable result to\nstdout; `--help` and `--version` are the human-facing exceptions. Human\ndiagnostics go to stderr. Callers must validate the returned protocol object\nand honor its stop or next-action fields before continuing.\n\nThe full protocol, safety invariants, and examples are in the\n[technical documentation](./docs/README.md). Operational failure modes are in\nthe [runbook](./docs/runbook.md).\n\n## Development\n\nThis repository uses Bun for development and Node.js to execute the published\nbinary.\n\n```sh\nbun install --frozen-lockfile\nbun run ci\n```\n\nUseful focused commands:\n\n```sh\nbun run lint\nbun run lint:format\nbun run typecheck\nbun run test\nbun run test:packed\nbun run test:integration\n```\n\n`test:packed` builds the npm tarball, installs it in an isolated consumer, and\nexecutes the published binary. `test:integration` verifies that the source tree\nworks outside its original repository context.\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md) before changing contracts and\n[RELEASING.md](./RELEASING.md) before changing the package version.\n\n## Security\n\nDo not report vulnerabilities in a public issue. Follow the private reporting\ninstructions in [SECURITY.md](./SECURITY.md).\n\n## License\n\nMIT. See [LICENSE](./LICENSE). Bundled dependency notices are in\n[THIRD_PARTY_NOTICES.md](./THIRD_PARTY_NOTICES.md).\n","readmeFilename":"README.md"}