{"_id":"claud-prism-aireview","_rev":"34-7087ab88abf8e06179f09d049bce38a4","name":"claud-prism-aireview","dist-tags":{"latest":"0.16.0"},"versions":{"0.8.0":{"name":"claud-prism-aireview","version":"0.8.0","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.8.0","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"315681743d8218f2983aa5e0f6d020afb1c071a7","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.8.0.tgz","fileCount":23,"integrity":"sha512-ZfAryNiP30LP+/DqmsvoB/+I2ukQNFA1QC25WwXjIQTKIclCg5BK+1E3+NzxFAQQNAeDDz+lghTlh03AzewMIQ==","signatures":[{"sig":"MEYCIQClTkIP3+Lc0V8X9MGnqFHAOWlggPPncJXZoATJweCJcwIhAMZ+KVIBMlAb1XaptDj7BV15dSZ72RYl/4HNRCCMNan1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127241},"engines":{"node":">=18"},"gitHead":"40981aad734c0cb7a488c1de5f633c273b03b57d","_npmUser":{"name":"tznthou","email":"tznthou@gmail.com"},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"10.9.2","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"22.16.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.8.0_1772597339654_0.7841576399052508","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"claud-prism-aireview","version":"0.8.1","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.8.1","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"162892a9a76a236b3a44ac6a3d8e078994a724e8","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.8.1.tgz","fileCount":23,"integrity":"sha512-SlkxEAp6i9Fk6WteyuPhOB4QEf5ovWnz/VUpQsBd7pg5/VlwStAg8HHk4AeUUlex44wuCgCTRcKhYgEdHUFPAg==","signatures":[{"sig":"MEQCIGM5UqMCAbiNfELvjsM3Jko4jLeSzzZsDWOYgvr5OdIcAiATrR2OJf55/06dG0kDy9BNTgqzqkF2E7PN9/+f/b6gow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127345},"engines":{"node":">=18"},"gitHead":"a71b1659c89a97f06950ed2b120ceace5390faac","_npmUser":{"name":"tznthou","email":"tznthou@gmail.com"},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"10.9.2","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"22.16.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.8.1_1772598683789_0.7966854043660951","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"claud-prism-aireview","version":"0.9.0","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.9.0","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"af49f9ec6152d78c20b006baf8818ea3982c89ec","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.9.0.tgz","fileCount":23,"integrity":"sha512-XgUwapAPLCYrBsh5wIv5BqAxGVLQLrxU/Eu+QMzZL46q0/6ftoWhnsdY/oG5XzIIsmpCrsdAGmTXGWykIqw+xQ==","signatures":[{"sig":"MEQCIE80iR5THdCD2ZvXyUlRENf5mGy95Q72yiRqwB8E16sgAiBiW1E/gkZBKOfgocgN/PoN18S188Xa5PAkeIEKSnhyyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143101},"engines":{"node":">=18"},"gitHead":"a4ca7bfc26276e0adf95933951c3f68cd8af3d99","_npmUser":{"name":"tznthou","email":"tznthou@gmail.com"},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"10.9.2","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"22.16.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.9.0_1772725465133_0.22907385185528484","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"claud-prism-aireview","version":"0.9.1","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.9.1","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"d18575bb08c60967679f0f337f776eef8e678f29","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.9.1.tgz","fileCount":23,"integrity":"sha512-ii8V2ujv29oCj4vhIUefncOIcS5fAThcQR6xEDlyg3nAm8zF/mWy0MtLgRJ9w7Vji5+ewDC/zPALwB9XDM0ZBw==","signatures":[{"sig":"MEUCIHPQb9I8ZF4RjtPbc8Hizki0FYgMbKmqefMVsZV+YvqEAiEAra3kELWXcCMP8A4UCiERxVLCMbp5aa/0wmNVWmcqKp4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146983},"engines":{"node":">=18"},"gitHead":"93d42903cec7ec172f9883ec769590d400a70d55","_npmUser":{"name":"tznthou","email":"tznthou@gmail.com"},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"10.9.2","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"22.16.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.9.1_1772772445134_0.16293930828492575","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"claud-prism-aireview","version":"0.9.4","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.9.4","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"50cbf8ad5280020f83f4ba8c974bfb63270c5c16","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.9.4.tgz","fileCount":23,"integrity":"sha512-xOXOqYc42UAP+bWhG5H9EBEE7PmkCFEos2QAkJZPqJEdDK8rZetaUCByeoCubsnOnkT8bu3wxA/gL8+6TagQNg==","signatures":[{"sig":"MEQCIHsqsMkpSBbHuVrU5hjkYQUVBYaRFpW8X0wRo7UiVGX4AiA7pOHy/UPqGIa2iZ1XPpIvvocTQTkrn5avNUO0RkrIng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.9.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":146983},"engines":{"node":">=18"},"gitHead":"d1f9a9ee90f7df5d16df3cdbf327a6e87624b9be","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.9.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.9.4_1772775029079_0.2765025212529628","host":"s3://npm-registry-packages-npm-production"}},"0.9.5":{"name":"claud-prism-aireview","version":"0.9.5","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.9.5","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"80477b44d7c84997f05f97c99410c514e76d9776","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.9.5.tgz","fileCount":20,"integrity":"sha512-xdr3HkjT7HFQu26CqWpavQtQ8z5jysm64mzmR14xDhnQfwQLxB/rj3ehWQ9XMBpTVcgfegD0+o6FbDGrEdFHKQ==","signatures":[{"sig":"MEUCIFLWZNYY38FnybMVjju9riyWC2XE4m1MS7qG3sa4ZxzGAiEAkxcd52pwAfJqhl3wl/4uNF9Q1Tv2P+ujOqM3RRKRQwU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.9.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":120254},"engines":{"node":">=18"},"gitHead":"6775a5591cfa8373f07772ae0733e70a8e689ec7","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.9.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.9.5_1772990486426_0.8597595242135974","host":"s3://npm-registry-packages-npm-production"}},"0.9.6":{"name":"claud-prism-aireview","version":"0.9.6","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.9.6","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"af9c7a4f004e24a617f5472fedb1dfabdf5e27cb","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.9.6.tgz","fileCount":20,"integrity":"sha512-u+6DQ1i2o4ZCiv0cyEeUv4w1RvVheUfvO3NP76ynCY2ccwE8d364Jh4yzKLbcVax3voQfyLYrsWwlS/9w2IaHQ==","signatures":[{"sig":"MEYCIQCHKjbv2v9kGR1O21rDbqI96FTUubtSsRs5YtFiBK6t8gIhAPgcWi9QgjuEMhj4G16KHGVzLEuUWuh8OOL5hc6Mn4Cy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.9.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":134701},"engines":{"node":">=18"},"gitHead":"a0ff3b4799728f4b6d60da6e7e3bf39afa6dbb3e","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.9.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.9.6_1773067088549_0.03329446730939467","host":"s3://npm-registry-packages-npm-production"}},"0.9.7":{"name":"claud-prism-aireview","version":"0.9.7","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.9.7","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"c7db6de3edd952b3f3af48af8d8f5b0f626974a3","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.9.7.tgz","fileCount":20,"integrity":"sha512-LpjVya2wR5iD8vOm2GfP3mwGFhFWxFOLs19JI6Q7DbGj/6txrZyx0xhcxyICj/46pw8xNsyBPy/kuY3xT4NgeQ==","signatures":[{"sig":"MEUCIQCwNvc0cVpgzy/zmHBdaULnZSDaSMC9jlMZ2lBLX1sr1QIgMgd9RUNX9fbrj6XXqWy3zTjw09SOd/TIwpVSr4KWYxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.9.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":148344},"engines":{"node":">=18"},"gitHead":"312ddb8a5986f7af25018ed58115b53d82a7eb6e","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.9.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.9.7_1773072284267_0.8761823784583334","host":"s3://npm-registry-packages-npm-production"}},"0.9.8":{"name":"claud-prism-aireview","version":"0.9.8","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.9.8","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"59a9d95695edc6cc90bfaf47ff289814988a3b5c","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.9.8.tgz","fileCount":19,"integrity":"sha512-TqkzjjCIUcMtTB56baE8OyUdvLfir7yx318X5RKeuQaHNP1pRTlN5MT/b9ydWESeH7fkCBe2BP0YCw63VKSbpQ==","signatures":[{"sig":"MEUCIC5PXlQ/tUqTzKNj8yriVicUheKlv3oCGNFLHeCi/5uCAiEAtPu8Xqxgym3pOg+HpZHcp+EyWR99O0E11whEP5OcQGQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.9.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":124920},"engines":{"node":">=18"},"gitHead":"5358dc5fcc6fc62c2ccfaf060e4ae5369e55e0d7","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.9.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.9.8_1773293856034_0.8937172460277438","host":"s3://npm-registry-packages-npm-production"}},"0.9.9":{"name":"claud-prism-aireview","version":"0.9.9","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.9.9","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"3ab61f08208073c03167845953870253d01a7c52","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.9.9.tgz","fileCount":20,"integrity":"sha512-e9BeDtkG2kl1uIdwBdeIbUIP3iFNof8EamLk6KfRSyubB3qMFneqOhuMmVu+cR0WzBBbG2NgYXdRSjaj9GsAUQ==","signatures":[{"sig":"MEUCIQDDQkVUJkcpNUVqW5Rkj7Le3VpHtAtamTEKAP8eZkTIfgIgeHBpm00jLUu9ImhWV73I1kG9CUFuwzuuckFdi/r+RZ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.9.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":131162},"engines":{"node":">=18"},"gitHead":"a3af3a300e1c86110613e88674dae777871e55ab","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.9.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.9.9_1773577221997_0.709879245440113","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"claud-prism-aireview","version":"0.10.0","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.10.0","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"24242058a3f9c20919ac55944f250f051acb1eaf","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.10.0.tgz","fileCount":21,"integrity":"sha512-oBGt2ZgzQWDukvOxcr0KHfTlS21n/+ZQi540uKWeeyBJikBq4lhjIo2UNwKhPt095ed5kCF9NjuxIjyoA0eIzA==","signatures":[{"sig":"MEYCIQDAiEW2bG0WocPZ3Y0L3jF9kv1GE9vvJDeStNKyhiQjcAIhAPpSxIzQ9jqFg32OWHhE19lqtHfMmhIFXfsf0CprJDZq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":140511},"engines":{"node":">=18"},"gitHead":"b2bc1477683a21dfa21dcd51ff536cc943405847","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.9.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.10.0_1773853953497_0.37608604394562617","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"claud-prism-aireview","version":"0.10.1","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.10.1","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"2272cff456d993cb5e49782fbf4b3ed6176009e2","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.10.1.tgz","fileCount":21,"integrity":"sha512-jP9qZ0tcC8p4poQ2X+z22LUra8IweguKZIZRVmTuwvKRh4gsNn1Uc7/tOJ8UUcy247r9Ro1MReIx5jhTA3GAuw==","signatures":[{"sig":"MEQCIGO6T0UF//+o4pJB8RnWpYO4WmLJzaOc5dzr5oYGwj/zAiA9dduEQtT8SQ6YPi3GeTsMT09/h3dOWzZymh6XWLKQNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":137775},"engines":{"node":">=18"},"gitHead":"bb35fcd9b4ab8076d61aa0fd11b2964a746cdd9d","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.9.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.10.1_1773919888699_0.6699777199147083","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"claud-prism-aireview","version":"0.10.2","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.10.2","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"dfa0f4001407e0a80299c311d812e2859e7d48f9","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.10.2.tgz","fileCount":21,"integrity":"sha512-IT3kOOEbiR5po1axxkVQndqFB6NYXrL5Rc9N6m3N/+idbYenxgdPN0M1tkmmkf4QT6n5iT8NeV3huU3fKJ1NxA==","signatures":[{"sig":"MEYCIQCIDFOIRMN7yibEehXFKd4U3wlMXXBnvBHTnKqsWSE3RAIhAN4W875Ncfh8YcYLsXw1YfV3eDF+dFR4sXa6WRgs+v6k","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.10.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":147527},"engines":{"node":">=18"},"gitHead":"0c6ff3c3347bc35e485bcf13c0d848f2b37bd8d1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.9.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.10.2_1774115761500_0.9354422241275668","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"claud-prism-aireview","version":"0.10.3","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.10.3","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"6dff7c6168d7fe9182152a056073f38a3d086822","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.10.3.tgz","fileCount":21,"integrity":"sha512-6K9WxSxSRn6Okx3WzIHPBprrOzg9I1CUNCuECBKIFsHqIO9nEov0t59C1wVfK7XTPcpT50nocAAd/fSytiVUVA==","signatures":[{"sig":"MEYCIQDtdmdza5XNb4SlbRmtw6dipu0gFLbxzgEOOLcHYOvvYQIhAIzjADU/sUvII3Fuf7M1HsbADKXXjHOo11pvE5O4Pgqb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.10.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":153198},"engines":{"node":">=18"},"gitHead":"9fde0f13c9967e072a2dd41911dbd92285213b07","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.9.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.10.3_1774458654767_0.5244651414339991","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"claud-prism-aireview","version":"0.11.0","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.11.0","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"59e7329a08409a13ff1ef832a8f46ec1bce4721f","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.11.0.tgz","fileCount":21,"integrity":"sha512-tQtsgT+2vbxcAfLVyNZZVumE57JOBoCZ/IEc9SMsIJiAI6J/s+yQHTkz6vIbxeAmk3coLRbF0HfcWnZPuMx88Q==","signatures":[{"sig":"MEYCIQC6mLZTpw8Ab3BrlO8FuI+hWiK2lAkJ++NwUTnRrFGWdQIhAJi+XhyzAT98zUfRJ/uKYyuqsiVgbJPHBWKDzHMenKVP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":161414},"engines":{"node":">=18"},"gitHead":"3e474173135f62926ce32f6968efab66134fc40e","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.9.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.11.0_1774619314256_0.5090124160555016","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"claud-prism-aireview","version":"0.11.1","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.11.1","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"b1ec97f8dd41d6c696be4dec74e86c8b3ee1348c","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.11.1.tgz","fileCount":21,"integrity":"sha512-io4Ae1TXYnAwzBVcNFYLKnYjQt4dwfBP9J1qJbO7zOHtxY34hr7cm6223TziI2fdeuzdOYgbBNFw0KIsXccmtQ==","signatures":[{"sig":"MEUCIBSWHDenZ4ryKvRNmGTSR3+vmjwuQw6l3GioHS8xoKFrAiEAwcDFQNVixHQ2hYaYCob3t3TYTWoGzqczEI0dVhUulfE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":162174},"engines":{"node":">=18"},"gitHead":"5159442b61f72052d8cf3ab5f07afbe48bb2ed28","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.9.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.11.1_1774624853294_0.14406499573358844","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"claud-prism-aireview","version":"0.11.2","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.11.2","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"cd044254e1597687ae132f20dfa4b02e1ed1bb37","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.11.2.tgz","fileCount":21,"integrity":"sha512-Zl4PO+v959vVMTY3vMx/G/MCGpqtMg/YLcXHouw/61u7jOa3O9sq0PoHJ53Q+xj2iCwyZWZVaRZ36GmbIyfaDA==","signatures":[{"sig":"MEUCICIyhthwJ7GlnY1CJINzXd0I6GfqdomM/lk139yK2k9MAiEAzp2hVko5vyk9c93Bu/uU/zp4B9xN3R6UFU0F5r0WmvI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.11.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":162423},"engines":{"node":">=18"},"gitHead":"4957cab462dae300ff59dd9785bce8bf7b3ce236","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.9.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.11.2_1774773820258_0.9259147179378866","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"claud-prism-aireview","version":"0.11.3","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.11.3","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"e0980f1683ce5e62c716f0501a8335c8c06ed464","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.11.3.tgz","fileCount":21,"integrity":"sha512-VWiqb9Rbg8i/Zrf92oXMsbC0hYy6Od7yDrukYqIbm5uAn+8ZYcRRK1sY8+OmF+jtkEOn1IbW/9syh3mc1MPn7w==","signatures":[{"sig":"MEYCIQC1vW6Bob99Q8jFiQwJ73fKEbduEBl2dbHO+ver1wDnqwIhAO4M+ERYS+XRemO5OZZxFbaRafgJnI5LKKFemCaCTHiH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.11.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":162503},"engines":{"node":">=18"},"gitHead":"adcf251258ce598d797d904a0e07108a7c7466c1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.9.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.11.3_1774799623734_0.11654869439915294","host":"s3://npm-registry-packages-npm-production"}},"0.11.4":{"name":"claud-prism-aireview","version":"0.11.4","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.11.4","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"88288dafcdd2a50a3aa43cdcfda281b748b6f497","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.11.4.tgz","fileCount":21,"integrity":"sha512-qUy3Wt+AdhHSJBCEbdKJ2yQVxUXFlYNYK2rIlzrHqliL0KjLGYX1DKwi5ayVukaqfOHiK3Cuxmfgw/4gs8g3aA==","signatures":[{"sig":"MEYCIQDecpaqTbs1EJ+U98rENJJPBrszT8AKo4yW5NCoeGFWkQIhAKNMS0HjHAW0fC+oKEl80Xb9YMxnVk6Cvm49B5jivn1h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.11.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":163547},"engines":{"node":">=18"},"gitHead":"71c01fb19bf7a01f09c459fb293a7863c3011a83","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.11.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.11.4_1775211298190_0.9047480726979344","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"claud-prism-aireview","version":"0.12.0","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.12.0","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"cd3fa87b6baf3bfa7f95a38b52b4a5752744dfb1","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.12.0.tgz","fileCount":21,"integrity":"sha512-ihXU91174bQhFZR7MHBImN5FHVXaPgjzMJgWm412inido1n7ca2oAmCm43nPpprzk8e/P9IP1h8JCWCxADGpqQ==","signatures":[{"sig":"MEUCIF1CZ5tkQY69764l1sdPZtbQHbQYkJpuzPB++j3ckU9mAiEAjYgKJwh9rywOXm6jMOUicj0aCfmWGw1wwbNkNUznVyk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":171842},"engines":{"node":">=18"},"gitHead":"9cd84cda7a2241c58e1141d9e9f60765eb7c9c5a","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.11.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.12.0_1775223443645_0.8490429411979321","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"claud-prism-aireview","version":"0.12.2","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.12.2","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"9b0ecf0e3e2e6053ebb944c8c62df1b9c261a7fb","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.12.2.tgz","fileCount":21,"integrity":"sha512-2KE5O8rGE+A8Md3fRQDTyYDXSzX9+gEuBp0ujZ65COB2mFheXrkTSEDF1T4OXYsaU8FoM+VwmZ6vLJCn0IWHkw==","signatures":[{"sig":"MEUCIB0YQgCZCfx3WYFU2UM8QJL8fZeD+utnfbHLDhMrCSZoAiEAltyrmzRDuai5zsbTSPlrt/1sjqDJFGlgW0b3DrxQH4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.12.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":182457},"engines":{"node":">=18"},"gitHead":"3e4085756c645a982d9d876fb75a6d78cef043a7","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.11.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.12.2_1775902869108_0.4722836445569709","host":"s3://npm-registry-packages-npm-production"}},"0.12.3":{"name":"claud-prism-aireview","version":"0.12.3","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.12.3","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"f0cc928291f6e1d5071393d152dc9671ac5eadda","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.12.3.tgz","fileCount":22,"integrity":"sha512-v++3zDCGKhUnjmC6WLc2tmT0BD5fl5NVB4JYQKd7W3S90NPJ2vCDECddwny5ecuzPzZQP0yRhSE4EZy3+jHVBQ==","signatures":[{"sig":"MEYCIQDeAoMEKw2sxpyO6AEfqlSbHKDWjnPR4HY3Ctg+J+zUQQIhAMQn4OmYJQIAygEiE3H3tjBXhMJiA8JUXvcHOdvhD/FW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.12.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":199743},"engines":{"node":">=18"},"gitHead":"899f82c2296f819dcc69aae415ffa3d76c4c7eb8","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.11.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.12.3_1776509922696_0.45291098509654315","host":"s3://npm-registry-packages-npm-production"}},"0.12.4":{"name":"claud-prism-aireview","version":"0.12.4","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.12.4","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"a4307bc151c551f0b6e552215750838d0f883e35","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.12.4.tgz","fileCount":22,"integrity":"sha512-C5KtoyYa6CwmPzVkxZ44YMKbdRrG5jALqpjbjcKpk26m4nPPw1PK8N3Yoa7OnB9Nw1n3xOcFY/vhHdFGGa2MtA==","signatures":[{"sig":"MEUCIDrzUbtYhNx1X21bUgpuCtm2dHT/w3+Dyez4tIZE4kgIAiEAlOSMfijPFlBUa4od0VfiwUFjAByimlbQZ8Qwa5KoNMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.12.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":202913},"engines":{"node":">=18"},"gitHead":"0d54b8db1a20b43478c228c41fc998fa45cab061","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.11.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.12.4_1776662941815_0.9578826369890541","host":"s3://npm-registry-packages-npm-production"}},"0.12.5":{"name":"claud-prism-aireview","version":"0.12.5","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.12.5","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"a68d5196fd1870494c2db49080f1270f273d0f17","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.12.5.tgz","fileCount":22,"integrity":"sha512-wjWpWLozzjiPlf4rCTKPRiPa3ahKL3hcT9WrtkB5w6MywsYXDqP7mbgnohbL5zYNOVty3ytq7GR18Y/firunag==","signatures":[{"sig":"MEYCIQC7Emqihy3h08TK8DO2Wow18pA3T2w/Au6OwQn1050vIQIhAMs7K9wh+mnxZYcfQhkw1O6edkrGBzbFRYhaYzJh/aJV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.12.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":203708},"engines":{"node":">=18"},"gitHead":"eecb448002f33d60a3e510d76bbbfc9c5b75b02d","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.11.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.12.5_1776664052586_0.08202668533943225","host":"s3://npm-registry-packages-npm-production"}},"0.12.6":{"name":"claud-prism-aireview","version":"0.12.6","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.12.6","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"b4e2fce7ed83542e64009ee219d7d49e17771a7f","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.12.6.tgz","fileCount":22,"integrity":"sha512-H/rjWu3l3T+fDkwv5D1jKyfjDTm6FSVidh10BqH0Lu2jFdjU7IsbfdWsUTHTWsafvkIkazkdoBup2yrvonHg8Q==","signatures":[{"sig":"MEQCIE0zHvk/bt0tPchKG7FSbXmiW2grhtXwECHYsZmHm+PfAiAt2+Ospm4lA4Br4XN3AQjaIzBIDZB/74uPHcHyB4A2CQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.12.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":203883},"engines":{"node":">=18"},"gitHead":"fc65445d3ddafac67dc932a9066a2c179ca90cbe","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.11.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.12.6_1776669795782_0.726863404478356","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"claud-prism-aireview","version":"0.14.0","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.14.0","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"e0a41320da52e04210931a95fd47e1ad110844f9","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.14.0.tgz","fileCount":22,"integrity":"sha512-+KmtdCLwUlgj7fF68v4O9PXeTzLEdZZD9g8zoFI9FEArH7E7INufo/IOJBEHeh5mnoCd9OaLf/7e0aRkFTEwOw==","signatures":[{"sig":"MEUCIEqYIC/qp8h5w/hsTCCio2Vl+CdkGJvlY53s+1yZIKDcAiEA2svMc1cfo1UtlZs1yt4sBBWmycCyMOE89vvzlzO3PhY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":223528},"engines":{"node":">=18"},"gitHead":"e3109903a35911f9e5eaddf1321613b72a2cddfb","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.11.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.14.0_1776953735719_0.10185880827463634","host":"s3://npm-registry-packages-npm-production"}},"0.14.2":{"name":"claud-prism-aireview","version":"0.14.2","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.14.2","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"07e79e6bdebeacd89972c7632796e904089f0167","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.14.2.tgz","fileCount":22,"integrity":"sha512-IifM09UyYEJgR3s+qq/4DKnLr3lLqO4z0YDESUKuPQXl6fNwRID9KNYoa1AfG34XS2E3HgvrqWWTu3muCpVVaw==","signatures":[{"sig":"MEUCIHp61zYrT8JzCUAQo5WadqFOnNsAe4kaYXOjR33N5+/KAiEAhMVLRUKCgNLnYL4pYqflv+DlacU+MK24Ta88BklOE4c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.14.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":197929},"engines":{"node":">=18"},"gitHead":"0bdf17fbcbab9e3caa56c02a0e703abb2943af83","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.11.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.14.2_1776994271401_0.10535014411383448","host":"s3://npm-registry-packages-npm-production"}},"0.14.3":{"name":"claud-prism-aireview","version":"0.14.3","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.14.3","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"c49a9cce680567cd9955b93a523598b9f1ba5463","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.14.3.tgz","fileCount":22,"integrity":"sha512-EqQawvpLV1UgIFWLyjNqiUfs6GVBiRWqz/OY6Kf3s+Wql8puwGcLV/15xwOFATWeeUjsk03viA7f7VrBQvpLFQ==","signatures":[{"sig":"MEQCIBv5zZ2anETwJYo98fryVoqclNC4gDmgz/SBUhQYGjcwAiAbcIKflECSfiVujchgcjo1/TTKAoO1KTDX1DnFHJSkfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.14.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":200758},"engines":{"node":">=18"},"gitHead":"08ba0006acdf3b43b9a5aa5242919ec2f0e44855","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.12.1","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.14.3_1777346307977_0.35716795172673677","host":"s3://npm-registry-packages-npm-production"}},"0.14.4":{"name":"claud-prism-aireview","version":"0.14.4","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.14.4","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"85dfcec8079c3220a1362c4a6b8659c99dc2136c","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.14.4.tgz","fileCount":22,"integrity":"sha512-LP9LpBMq1CPgDP2I+O/ZMcEh+TgT9f5yqJ4a1MqulQT1nG6Swa4IBQnXkn+9AgXcERAhrKLmLoqBOSv1x+saeA==","signatures":[{"sig":"MEUCIHGuVZXJQHyf3XwfxOpJGvh7D7BNyO1hpcoyWw8Gwz7NAiEAp9tAf9g63kaNEWE3tBXSV+AfN0nQ3AzyYxUP+EO86e4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.14.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":206562},"engines":{"node":">=18"},"gitHead":"3a549c2ecc0e198fd466ba6453332909530a6bf9","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.11.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.14.4_1777439805317_0.54177594258885","host":"s3://npm-registry-packages-npm-production"}},"0.14.5":{"name":"claud-prism-aireview","version":"0.14.5","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.14.5","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"49606f8b5ad2a3956e32d00656157858956b6aac","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.14.5.tgz","fileCount":22,"integrity":"sha512-NBJ08oO80w25O3Z7two5YT3DQtOrwBCptBD0KOUwwWjnNPAE1bEGxexs+x7WzaX5+hSn9ZliQmsfhgSXru++CA==","signatures":[{"sig":"MEQCIDTFDpT//WQInNgGr6s9lHql9l1BlOetIR92VEKFXxPRAiBL9EVMdbsyvWlR0E2ZPMyXmYGJwQRPNpEz24N73ou72w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.14.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":207896},"engines":{"node":">=18"},"gitHead":"d0e554fb34086f1f25361a4dea0ec8054031cafb","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.11.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.14.5_1778487709516_0.46637134057560825","host":"s3://npm-registry-packages-npm-production"}},"0.14.6":{"name":"claud-prism-aireview","version":"0.14.6","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.14.6","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"738ae1aa5cc032a04f6748a727544873ed77cc9e","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.14.6.tgz","fileCount":22,"integrity":"sha512-vuDGugQ4bAyuEUlU9nX2PkoQUqZ019dbNWooyQJVy21JMCSJRx/x5a+nrMQyz/XqABqT6OIlYgu3GXSCBSTz+Q==","signatures":[{"sig":"MEQCIHY+saDTAWJ4c1CLHBeAotUGGqBpTThCd9tUBdTHi/THAiAtcdw32zzG10O5MVXBhXvJBOEB/OWkzeYwMpcPjw2rdg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.14.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":217798},"engines":{"node":">=18"},"gitHead":"3795ea7621f2aa1a74b112a8fe6bc14754e360bb","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.12.1","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.14.6_1779250915493_0.5585621149637183","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"claud-prism-aireview","version":"0.15.0","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.15.0","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"9dc22f69983f5fb39296788d8cc07cd775a980b3","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.15.0.tgz","fileCount":22,"integrity":"sha512-25JW+hGNeD7N/VBass+3RLhC0sx+h2+P2VPLnn/YWBMc/z92Gv99WxJ/D0AENwvU4u4EOwYbMQBwTWUc0w5KSg==","signatures":[{"sig":"MEUCIFXkfPeCurupyMj58LD8c4m3PHssftdcxpKgoVhkBBWQAiEA51WKIgN0Y/nJFS7sruMOY7gsb8J+Cqf+UVt8qaxfqhs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":222962},"engines":{"node":">=18"},"gitHead":"597940bf1be57e5af15006a0282205872571a430","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.13.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.15.0_1781841969293_0.5163951481893123","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"claud-prism-aireview","version":"0.15.1","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","_id":"claud-prism-aireview@0.15.1","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"homepage":"https://github.com/tznthou/claude-prism","bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"bin":{"claud-prism-aireview":"bin/claude-prism.js"},"dist":{"shasum":"2f334f77a9cf43558e4888914752c2c7e484676b","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.15.1.tgz","fileCount":22,"integrity":"sha512-AOGzpY6WTPg2btPDX468QVcSnLTLcZUeVxc3wvxA9igXaSdyLx3y6GN9fdz8OIHpXHjSjvd/0X2heE6+tUFHOA==","signatures":[{"sig":"MEUCIDI0lxLnPXo3fCRuXl/jhhcYXHwFc2UkxAOyAmfBJTbXAiEA3qxWrccVguTQIViI74IAb8jrDs0hkqlW1j1OQwJ/+vk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":224367},"engines":{"node":">=18"},"gitHead":"144c540cfb2fc6ff29d2ff5f6232f35953f31528","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"repository":{"url":"git+https://github.com/tznthou/claude-prism.git","type":"git"},"_npmVersion":"11.16.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claud-prism-aireview_0.15.1_1784130051741_0.4120895005644565","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"claud-prism-aireview","version":"0.16.0","description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","bin":{"claud-prism-aireview":"bin/claude-prism.js"},"bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"author":{"name":"tznthou"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/tznthou/claude-prism.git"},"homepage":"https://github.com/tznthou/claude-prism","engines":{"node":">=18"},"gitHead":"9c05cfa1f36552928cb18365a31e3c3f8c12b91b","_id":"claud-prism-aireview@0.16.0","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-Xipy7IGXBcAK5lCzpSIBjLh8F2NZU575bBLpAGgziy6PHcx3kGLHdDnJw4VeHuRO2AWDgriG0C2ah7EzPArpvw==","shasum":"d8a59f433666f10c5edecd98ba29b4223f60cc55","tarball":"https://registry.npmjs.org/claud-prism-aireview/-/claud-prism-aireview-0.16.0.tgz","fileCount":22,"unpackedSize":234875,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claud-prism-aireview@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGr3BGKbXKmxLCrDHn4ePhd6luGhDDM/sLIR82RSTq/FAiEArc9H/IkginowaKjEFX/2g8JX9XuViQhSMJDnVrWioAo="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d04f3d4-b1fb-4f36-828d-421f93ea447f"}},"directories":{},"maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/claud-prism-aireview_0.16.0_1786445271431_0.5914452048470524"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-04T04:08:59.653Z","modified":"2026-08-11T10:47:51.865Z","0.8.0":"2026-03-04T04:08:59.823Z","0.8.1":"2026-03-04T04:31:24.013Z","0.9.0":"2026-03-05T15:44:25.314Z","0.9.1":"2026-03-06T04:47:25.305Z","0.9.4":"2026-03-06T05:30:29.233Z","0.9.5":"2026-03-08T17:21:26.571Z","0.9.6":"2026-03-09T14:38:08.711Z","0.9.7":"2026-03-09T16:04:44.424Z","0.9.8":"2026-03-12T05:37:36.173Z","0.9.9":"2026-03-15T12:20:22.136Z","0.10.0":"2026-03-18T17:12:33.641Z","0.10.1":"2026-03-19T11:31:28.843Z","0.10.2":"2026-03-21T17:56:01.674Z","0.10.3":"2026-03-25T17:10:54.910Z","0.11.0":"2026-03-27T13:48:34.428Z","0.11.1":"2026-03-27T15:20:53.423Z","0.11.2":"2026-03-29T08:43:40.429Z","0.11.3":"2026-03-29T15:53:43.906Z","0.11.4":"2026-04-03T10:14:58.346Z","0.12.0":"2026-04-03T13:37:23.798Z","0.12.2":"2026-04-11T10:21:09.267Z","0.12.3":"2026-04-18T10:58:42.859Z","0.12.4":"2026-04-20T05:29:01.977Z","0.12.5":"2026-04-20T05:47:32.746Z","0.12.6":"2026-04-20T07:23:15.921Z","0.14.0":"2026-04-23T14:15:35.882Z","0.14.2":"2026-04-24T01:31:11.574Z","0.14.3":"2026-04-28T03:18:28.164Z","0.14.4":"2026-04-29T05:16:45.498Z","0.14.5":"2026-05-11T08:21:49.659Z","0.14.6":"2026-05-20T04:21:55.619Z","0.15.0":"2026-06-19T04:06:09.452Z","0.15.1":"2026-07-15T15:40:51.906Z","0.16.0":"2026-08-11T10:47:51.588Z"},"bugs":{"url":"https://github.com/tznthou/claude-prism/issues"},"author":{"name":"tznthou"},"license":"MIT","homepage":"https://github.com/tznthou/claude-prism","keywords":["claude","claude-code","gemini","codex","ai","code-review","multi-ai","adversarial-review"],"repository":{"type":"git","url":"git+https://github.com/tznthou/claude-prism.git"},"description":"Multi-AI provider toolkit for Claude Code — cross-provider code review, research, and UI design via Codex + Gemini","maintainers":[{"name":"tznthou","email":"tznthou@gmail.com"}],"readme":"# claude-prism\n\n<p align=\"center\">\n  <img src=\"assets/claude-prism-logo.webp\" alt=\"claude-prism\" width=\"640\">\n</p>\n\n[![npm](https://img.shields.io/npm/v/claud-prism-aireview.svg)](https://www.npmjs.com/package/claud-prism-aireview)\n[![Homebrew](https://img.shields.io/badge/Homebrew-tap-FBB040.svg)](https://github.com/tznthou/homebrew-claude-prism)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n[![Bash](https://img.shields.io/badge/Bash-3.2+-4EAA25.svg)](https://www.gnu.org/software/bash/)\n[![Claude Code](https://img.shields.io/badge/Claude_Code-Plugin-7C3AED.svg)](https://claude.com/claude-code)\n[![ShellCheck](https://img.shields.io/badge/ShellCheck-Passing-4EAA25.svg)](https://www.shellcheck.net/)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md)\n\n[English](README.md)\n\nClaude Code 的跨 Provider AI 調度工具 — 消除同源盲點。\n\n---\n\n## 核心概念\n\n### 問題\n\nAI code review 很吵。市場上最好的工具 F1 score 大概也才 64%——有相當比例的發現不是假警報就是漏網之魚。多數工具的解法是讓 AI 自己評估信心度（「我 90% 確定這是 bug」），但這就是自己改自己的考卷。\n\n還有一個更深層的結構性問題：當 Claude Code 寫你的程式碼**同時也** review 它時，你會得到**同源盲點**。同一個模型有相同的知識缺口，某些類型的 bug、設計缺陷和安全問題會持續漏掉。就算開四個 Claude agent 來 review 也一樣，因為底層訓練資料和偏好都相同。更多 agent ≠ 更多觀點。\n\n### 解法\n\n**1. 跨 Provider 三角驗證**：Claude 負責調度，review 任務分派給 **Gemini** 和 **Codex**。三個 provider、三組訓練資料、三組互相抵消的盲點。\n\n**2. 證據導向信心度評分**：不問 AI「你有多確定」，而是用可驗證的證據算分：具體行號（+25）、規則引用（+20）、可重現場景（+15）、幻覺引用（-50）。核心公式是 deterministic——同樣的證據永遠得到同樣的分數。[公開 spec](spec/confidence-scoring-v1.md)，沒有黑盒。\n\n**3. Local-first**：程式碼直接送到各家 provider 的 API，中間沒有任何中繼伺服器、沒有第三方經手你的 code。\n\n### 為什麼選 claude-prism？\n\n| | claude-prism | 單一 Provider 多 Agent 審查 |\n|---|---|---|\n| **Provider 多樣性** | Codex + Gemini + Claude（3 個獨立模型） | 多個 agent，同一底層模型 |\n| **盲點覆蓋** | 跨訓練資料：每個模型抓到其他模型漏掉的 | 同一訓練資料偏差在 agent 間放大 |\n| **成本** | 近乎零（用現有 Codex CLI / Antigravity CLI 訂閱） | 每 PR $15–25（官方工具，Team/Enterprise 方案） |\n| **速度** | 1–2 分鐘 | ~20 分鐘 |\n| **可用性** | 任何有 CLI 的人 | 僅限付費團隊方案 |\n| **評分方式** | 證據導向公式（[公開 spec](spec/confidence-scoring-v1.md)），deterministic 核心，同樣證據 = 同樣分數 | LLM 自評，AI 給自己打信心分數 |\n| **資料路徑** | Local-first：直連 provider API，無中繼伺服器 | 依服務而異 |\n\n### 與 `/ultrareview` 的比較（2026-04-16 發布）\n\nAnthropic 在 2026-04-16 隨 Claude Opus 4.7 一起推出 [`/ultrareview`](https://code.claude.com/docs/en/ultrareview.md)——雲端 review，在遠端 sandbox 啟動一整批 Claude agent，每個發現都獨立驗證。相較單次 `/review` 是實質升級，但和 claude-prism 打的是不同的戰場：\n\n| | claude-prism `/pi-multi-review` | `/ultrareview` |\n|---|---|---|\n| **模型多樣性** | Codex + Gemini + Claude（3 個獨立模型） | 多個 Claude agent，同一底層模型 |\n| **盲點策略** | 異質訓練資料抵消共同盲區 | 同源——多跑幾次，盲區一樣 |\n| **審查立場** | 對抗式，攻擊面分工 | 驗證導向（降低誤報率） |\n| **免費額度** | 無上限（用現有 CLI 訂閱） | 每帳號終身 3 次，**用完不補** |\n| **Team / Enterprise 免費次數** | 無上限 | 0 |\n| **超過免費額度後** | 仍然無上限 | 每次約 $5–$20，計入 extra usage |\n| **僅用 API key 的 Claude Code** | 可用 | 被擋（必須 Claude.ai 登入） |\n| **Bedrock / Vertex / Foundry** | 可用（provider-agnostic） | 不支援 |\n| **Zero Data Retention 組織** | 可用 | 被擋 |\n| **CI/CD** | `ci-review.sh` 跑在 GitHub Actions | 僅限互動 session |\n\n兩個工具優化的場景不同。`/ultrareview` 適合 Pro/Max 用戶在 Claude 生態內做 pre-merge 信心確認。`/pi-multi-review` 則是為那個圈子外的一切而生——CI pipeline、受法規/ZDR 管制的環境、沒有 Pro/Max 授權的團隊，以及任何想要「不共享 Claude 訓練資料的第三方觀點」的人。\n\n### 為什麼信任這些發現？\n\n多數 AI review 工具都用類似做法：讓 AI 對自己的發現打 0–100 信心分數，低於門檻就過濾。[Anthropic 官方 code review plugin](https://github.com/anthropics/claude-code/blob/main/plugins/code-review/README.md) 也使用 ≥80 門檻。問題是 LLM 產生的信心分數不穩定——同一份 review 跑兩次可能得到不同分數。\n\nclaude-prism 的 [Confidence Scoring Framework](spec/confidence-scoring-v1.md) 做法不同：用**可驗證的證據**打分，不靠 AI 自我評估。comment 有指出具體行號？+25。有引用 OWASP 規則？+20。提到一個不存在的檔案？-50。公式是 deterministic、model-agnostic 的，你可以打開 spec 驗證每一分怎麼來的。\n\n---\n\n## 快速開始\n\n### 前置需求\n\n| 工具 | 必要性 | 安裝方式 |\n|------|--------|----------|\n| [Claude Code](https://claude.com/claude-code) | 必要 | `npm install -g @anthropic-ai/claude-code` |\n| [Antigravity CLI（`agy`）](https://github.com/google-antigravity/antigravity-cli) | Gemini 相關指令需要 | `curl -fsSL https://antigravity.google/cli/install.sh \\| bash` |\n| [Codex CLI](https://github.com/openai/codex) | Codex 相關指令需要 | `npm install -g @openai/codex` |\n\n> **✅ Antigravity CLI 遷移（2026 年 6 月完成）**\n>\n> Google 在 I/O 2026 [宣布 Gemini CLI 由 Antigravity CLI 取代](https://developers.googleblog.com/an-important-update-transitioning-gemini-cli-to-antigravity-cli/)——`@google/gemini-cli` 已於 **2026-06-18** 停止服務 Google AI Pro、Ultra 與免費版 Code Assist 用戶。claude-prism 已在期限前完成遷移：`call-gemini.sh` 現在以非互動模式驅動 [`agy`](https://github.com/google-antigravity/antigravity-cli)，認證走 Google AI Pro OAuth。\n>\n> **不變的部分**：腳本檔名、`[gemini]` log tag、`GEMINI_MODEL` 模型覆蓋全部照舊——既有的 log 與指令不受影響。\n>\n> **改變的部分**：認證只走 OAuth（先執行一次 `agy` 完成登入；wrapper 不再讀取 `GEMINI_API_KEY`），執行檔路徑覆蓋改用 `AGY_BIN`（`GEMINI_BIN` 僅在指向 `agy` 執行檔時作為過渡別名接受）。如果機器上還裝著 `@google/gemini-cli`，它已不再被使用，可以解除安裝。\n\n### 安裝\n\n**快速安裝（推薦）**\n\n```bash\nnpx claud-prism-aireview\n```\n\n一行完成下載與安裝——自動將 commands 部署到 `~/.claude/commands/`、scripts 到 `~/.claude/scripts/`。不使用 `postinstall` scripts，由你明確執行此指令。\n\n**npm 全域安裝**\n\n```bash\nnpm install -g claud-prism-aireview\nclaud-prism-aireview   # ← 必要步驟：將 commands 和 scripts 部署到 ~/.claude/\n```\n\n> **注意：** `npm install -g` 只會將執行檔放入 PATH，不會自動部署指令檔案。你必須手動執行一次 `claud-prism-aireview` 才能完成安裝。這是刻意的設計——我們不使用 `postinstall` scripts 以確保[供應鏈安全](docs/supply-chain-security.zh-TW.md)。\n\n**Homebrew (macOS)**\n\n```bash\nbrew tap tznthou/claude-prism\nbrew install claud-prism-aireview\n```\n\n**手動安裝**\n\n```bash\ngit clone https://github.com/tznthou/claude-prism.git\ncd claude-prism\n./install.sh\n```\n\n安裝程式會檢查前置需求、透過 SHA256 checksum 驗證檔案完整性、覆寫前自動備份、然後將 commands 複製到 `~/.claude/commands/`、scripts 到 `~/.claude/scripts/`。\n\n### 驗證安裝\n\n```bash\n./tests/smoke-test.sh\n```\n\n### 移除\n\n```bash\nnpx claud-prism-aireview --uninstall\n# 或手動：\n./uninstall.sh\n```\n\n---\n\n## 指令一覽\n\n| 指令 | Provider | 說明 |\n|------|----------|------|\n| `/pi-ask-codex` | Codex | 直接提問 — 取得 OpenAI 觀點 |\n| `/pi-ask-gemini` | Gemini | 直接提問 — 取得 Google 觀點 |\n| `/pi-askall` | Codex + Gemini + Claude | 同時詢問所有 provider — 三方觀點 + 綜合分析 |\n| `/pi-code-review` | Codex | 對抗式程式碼審查 — 打破信心而非驗證（含信心度評分） |\n| `/pi-fact-check` | Gemini + WebSearch + Claude | 事實查核 — 雙軌搜尋（Gemini + WebSearch 同步），Claude 以收斂度評分驗證 |\n| `/pi-ui-design` | Gemini | 從設計規格產生 HTML mockup |\n| `/pi-ui-review` | Gemini | UI/UX 無障礙與設計審查（含信心度評分） |\n| `/pi-research` | Gemini + WebSearch + Claude | 結構化技術研究 — 雙軌搜尋（Gemini + WebSearch 同步） |\n| `/pi-multi-review` | Codex + Gemini + Claude | 三方對抗式審查 — 分工攻擊面（智慧路由 + 信心度評分） |\n| `/pi-plan` | Codex + Gemini + Claude | 多方觀點實作規劃，適用於架構決策 |\n\n所有指令皆內建 **graceful degradation** — 若某個 provider 不可用，Claude 會用剩餘的 provider 繼續執行，而非直接失敗。每次失敗都附帶**結構化錯誤診斷**（TIMEOUT、RATE_LIMIT、AUTH_ERROR、PERMISSION、SANDBOX、NETWORK、EMPTY_OUTPUT、CLI_ERROR 或 CLI_NOT_FOUND）並建議替代指令。\n\n### `/pi-ask-codex` — 詢問 OpenAI\n\n直接向 Codex 提問，取得 OpenAI 的觀點。\n\n```\n/pi-ask-codex React Query v5 中處理 optimistic updates 的最佳做法？\n```\n\n### `/pi-ask-gemini` — 詢問 Google\n\n直接向 Gemini 提問，利用 Google 的生態廣度。\n\n```\n/pi-ask-gemini 比較 Bun vs Deno vs Node.js 作為 2026 年新後端專案的選擇\n```\n\n### `/pi-askall` — 詢問所有 Provider\n\n同時向 Codex 和 Gemini 發送相同問題，Claude 綜合三方觀點。適用於**任何議題**——不限於程式碼。每個 provider 獨立回應（無交叉污染），Claude 比較共識、標記分歧、給出整合結論。\n\n```\n/pi-askall 新的微服務該用 monorepo 還是 polyrepo？\n/pi-askall 協作編輯器的即時同步最佳方案？\n```\n\n### `/pi-fact-check` — 跨 Provider 事實查核\n\n雙軌搜尋：Gemini（search grounding）與 WebSearch 同步執行，消除等待時間。Claude 獨立交叉驗證、URL 存在性檢查、以來源收斂度評分信心（多少獨立來源一致）。包含來源層級排名（L1 官方紀錄到 L6 社群）、同源報導去重、對抗性證據檢查。\n\n```\n/pi-fact-check article.md\n/pi-fact-check https://example.com/blog-post\n/pi-fact-check \"特斯拉 2024 年交付 180 萬輛，市場佔有率超過 50%\"\n```\n\n### `/pi-code-review` — 對抗式 Code Review\n\nCodex 以**對抗式立場** review Claude 寫的程式碼——reviewer 的任務是打破你對這份改動的信心，而非驗證它。核心用例依然是**不同 AI 寫、不同 AI 審**，但 prompt 從中性的 \"Senior Reviewer\" 升級為 adversarial stance，定義了 9 類攻擊面（auth、data loss、race condition、rollback safety 等），每個 finding 必須回答四個問題：會出什麼問題、為什麼脆弱、影響多大、怎麼修。\n\n每個 issue 都會使用 [Confidence Scoring Framework](spec/confidence-scoring-v1.md) 打 0–100 分——evidence-based、deterministic 的雜訊過濾。只有 ≥ 80 分的 issue 會顯示。Review 同時檢查 inline annotation 合規性（`IMPORTANT`/`WARNING`/`TODO` 註解），`--pr` 模式下還會查詢同檔案的歷史 PR 評論，浮現反覆出現的問題。\n\n```\n/pi-code-review                    # review staged changes\n/pi-code-review src/auth.ts        # review 指定檔案\n/pi-code-review --diff             # review unstaged changes\n/pi-code-review --pr               # review 整個 PR\n```\n\n### `/pi-ui-design` — 從設計規格產生 HTML Mockup\n\nGemini 讀取設計規格文件，產出可在瀏覽器預覽的自包含 HTML mockup（Tailwind v4 CDN）。確認設計後再讓 Claude Code 實作到專案。\n\n```\n/pi-ui-design design-spec.md              # 從設計規格產生 HTML mockup\n/pi-ui-design \"一個 SaaS dashboard\"        # 沒有設計檔 → Gemini 先產規格再產 mockup\n```\n\n### `/pi-ui-review` — UI/UX 審查\n\nGemini 審查前端程式碼的無障礙、響應式設計、元件結構和 UX 模式。Issue 使用 UI 專用信心度評分（WCAG 引用、使用者影響描述）。若專案有 `CLAUDE.md` 或 `Agents.md`，會自動檢查規範合規性。\n\n```\n/pi-ui-review src/components/Header.tsx\n/pi-ui-review src/app/(public)/\n/pi-ui-review --screenshot ./screenshot.png   # 改用 Claude 視覺分析\n```\n\n### `/pi-research` — 技術研究\n\n雙軌搜尋：Gemini（search grounding）和 WebSearch 同步執行，產出結構化技術研究報告，含比較表、推薦方案和來源 URL。任一軌道失敗時另一軌道自動補位——與 `/pi-fact-check` 相同的韌性架構。若研究主題與當前專案相關，會自動帶入相關 context（依賴、既有模式）。研究結果可選擇存到 `.claude/pi-research/` 供日後參考。\n\n```\n/pi-research Next.js App Router 最佳認證方案\n/pi-research Monorepo 工具比較：Turborepo vs Nx vs Moon\n```\n\n### `/pi-multi-review` — 三方對抗式 Review（分工攻擊面）\n\n旗艦指令。同一份程式碼**同時**送給 Codex 和 Gemini 進行**分工 adversarial review**——Codex 攻擊 security 與 data integrity（auth、data loss、race condition、schema drift 等 7 類），Gemini 攻擊 design、UX 與 maintainability（edge case UX、accessibility、abstraction leak、test coverage 等 7 類）。Claude 整合分析：\n\n1. **共識區** — 雙方都指出的問題（高信心度，優先修復）\n2. **分歧區** — 只有一方發現的問題（Claude 判斷有效性）\n3. **規範合規** — 違反 `CLAUDE.md` / `Agents.md` 專案規則的問題\n4. **Claude 補充** — 雙方都沒抓到但值得注意的問題\n\n**信心度評分**（[spec](spec/confidence-scoring-v1.md)）：所有 provider 的每個 issue 都會被打 0–100 分，基於**證據品質**而非 Claude 的觀點。只有 ≥ 80 分的 issue 會進入最終輸出。Base score 40，正面因子：具體行號（+25）、本次 diff 引入的程式碼（+25）、引用規則（+20）、可重現場景（+15）、多方共識（+20）。雜訊因子：主觀風格偏好（-25）、linter 可偵測（-25）、幻覺引用（-50）。此 framework 是 deterministic、model-agnostic 的[獨立標準](spec/confidence-scoring-v1.md)。\n\n**智慧路由**（v0.7.0）：自動從檔案副檔名和路徑偵測改動的 domain（frontend/backend/fullstack）。合成時，domain 權威的 provider 享有更高權重——前端由 Gemini 主導（UI/UX 專長），後端由 Codex 主導（安全/演算法專長）。兩方 provider 都會被呼叫，權重只影響 Claude 如何處理分歧。\n\n```\n/pi-multi-review                   # review staged changes\n/pi-multi-review --pr              # review 整個 PR\n```\n\n### `/pi-plan` — 多方觀點實作規劃\n\n適用於**有多條可行路徑**的任務——架構決策、技術選型、遷移策略。Claude 會先跟你確認可能改變方向的推斷（外部呼叫動輒數分鐘——理解偏差在前端攔截），再諮詢 Codex 和 Gemini 取得獨立架構分析，綜合成結構化計畫檔。Provider 意見分歧時，以 repo 實證優先於通用建議。\n\n計畫存到 `.claude/pi-plans/`，包含：背景、範圍邊界、多方分析、逐步實作步驟、關鍵檔案、風險和驗證標準。計畫檔跨 session 持久化。\n\n適合複雜決策；簡單的任務拆解請直接用 Claude Code 內建的 plan mode。\n\n```\n/pi-plan 從 REST 遷移到 GraphQL — 評估 Apollo vs Relay vs urql\n/pi-plan 重構支付模組以支援多個支付商\n```\n\n---\n\n## 系統架構\n\n```mermaid\nflowchart LR\n    User[\"👤 使用者\"] <--> Claude[\"🟣 Claude Code\\n(調度者)\"]\n    Claude -->|\"/pi-ask-codex\\n/pi-askall\\n/pi-code-review\\n/pi-multi-review\\n/pi-plan\"| Codex[\"🟢 Codex CLI\"]\n    Claude -->|\"/pi-ask-gemini\\n/pi-askall\\n/pi-fact-check\\n/pi-ui-design\\n/pi-ui-review\\n/pi-research\\n/pi-multi-review\\n/pi-plan\"| Gemini[\"🔵 agy (Antigravity CLI)\"]\n    CI[\"⚙️ GitHub Actions\"] -->|\"ci-review.sh\"| GeminiAPI[\"🔵 Gemini API\"]\n    CI -->|\"ci-review.sh\"| OpenAIAPI[\"🟢 OpenAI API\"]\n    CI -->|\"synthesis\"| ClaudeAPI[\"🟣 Claude API\"]\n```\n\n### 運作原理\n\n1. 使用者在 Claude Code 輸入 slash command（如 `/pi-code-review src/auth.ts`）\n2. Claude Code 讀取 command 定義（含指示的 Markdown）\n3. Claude 讀取相關程式碼，組裝 prompt\n4. 若指令需要同時呼叫兩個以上 provider，Claude 透過 **sub-agent fan-out** 分派（詳見下方[實證基礎](#實證基礎)）\n5. 各 sub-agent 透過 Bash tool 呼叫 shell script → script 調用外部 CLI\n6. 外部 AI 並行處理請求並回傳結果\n7. Claude 呈現綜合結果，適時加入自己的觀點\n8. Review 指令完成後，Claude 會解讀各 provider 的輸出（嚴重度、分類、來源），把結構化結果寫入 `review-insights.jsonl` 供日後趨勢分析\n\n---\n\n## 實證基礎\n\n多數 AI 調度工具都宣稱「我們並行呼叫多個 provider」。我們用跨三層執行 context 的對照實驗驗證了這個宣稱在 Claude Code 裡是否真的成立——結果發現：**除非你為並行而設計，否則它不會自然發生**。\n\n### 問題\n\n當 Claude Code 在同一 message 裡發兩個 Bash tool call（`call-codex.sh` + `call-gemini.sh`），它們真的同時跑嗎？還是某一層其實有 queue？\n\n### 對照實驗（N=36+）\n\n五個實驗組對應三個候選假說（queue / provider contention / capacity）：\n\n| 組 | 設定 | 驗證層級 |\n|---|---|---|\n| **A** | 主對話、同 message、2 個 Bash（Codex + Gemini） | 主對話層 queue |\n| **B** | 主對話 → 2 個 sub-agent，各跑 1 個 CLI | sub-agent 層 queue |\n| **B-hold15 / B-sleep / B-swap** | 變量隔離 | 拆掉 CLI / provider / 順序干擾 |\n| **F** | 2 個 sub-agent，都跑 Gemini | 排除 provider 異質性 |\n| **D** | 純 OS shell `&` fork | Claude Code 之下的 baseline |\n\n### 結果 — 分層行為（MECE）\n\n| 層級 | Queue 序列化 | Silence watchdog | Sleep guard | Auto-background |\n|---|---|---|---|---|\n| OS shell `&` fork | ❌ | ❌ | ❌ | ❌ |\n| Sub-agent Bash | ❌（真並行） | ❓ 未測 | ✅ | 🔥 偶發 |\n| **主對話 Bash** | ✅（同 message 內 FIFO） | ❌ | ❌ | ❌ |\n\n- **A 層：N=7，`delta/first_exec` = 1.00 跨兩個 capacity window，每一次都精準吻合。** 最極端的一次：Codex 跑 150 秒，Gemini 的 invoke 時間戳跟 Codex 結束時間戳**精確到秒**地重合。零 variance。\n- **B 層：N=13，dispatch delta 中位數 2.8 秒。** B-hold15 證實 Gemini 在 Codex 還在 `sleep 15` 時就正常 dispatch；B-sleep 證實 Codex 側完全沒跑 CLI，Gemini 照樣並行。\n- **OS 層：N=6，delta ≈ 0 秒。** Claude Code 之下沒有任何限制。\n\n### 對比圖 — 同樣的工作、不同的佈局\n\n```mermaid\nsequenceDiagram\n    participant M as 主對話\n    participant S1 as Sub-agent 1\n    participant S2 as Sub-agent 2\n\n    Note over M: 反模式（structural FIFO）\n    M->>M: Bash: call-codex.sh（10s）\n    M->>M: Bash: call-gemini.sh（排隊中）\n    Note over M: 總計：20s\n\n    Note over M,S2: 正確模式（sub-agent fan-out）\n    M->>S1: Agent（codex 側）\n    M->>S2: Agent（gemini 側）\n    par\n      S1->>S1: Bash: call-codex.sh（10s）\n    and\n      S2->>S2: Bash: call-gemini.sh（10s）\n    end\n    Note over M,S2: 總計：~13s（10s exec + 2.8s dispatch）\n```\n\n### 這為什麼重要\n\n`pi-askall`、`pi-plan`、`pi-multi-review`、`pi-fact-check`——凡是會呼叫兩個以上 provider 的指令，都走 **sub-agent fan-out**，不在主對話直接發並行 Bash。這不是架構偏好，是**唯一能在 Claude Code 的 structural FIFO 下拿到真並行的執行層**。\n\n完整摘要、分層資料、產品決策 trace：[docs/research/bash-tool-parallelism.md](docs/research/bash-tool-parallelism.md)（英文）。\n\n---\n\n## 技術棧\n\n| 技術 | 用途 | 備註 |\n|------|------|------|\n| Bash | CLI 包裝腳本 | 負責 binary 偵測、logging、stdin 管線 |\n| Markdown | Slash command 定義 | Claude Code 讀取這些檔案作為指令 |\n| Claude Code | 調度者 | 讀取 command，透過 sub-agent fan-out 分派 |\n| Codex CLI | OpenAI 存取 | Code review 與 Q&A（模型可設定） |\n| agy（Antigravity CLI） | Google 存取 | 研究、UI 審查、Q&A（模型可設定） |\n| GitHub Actions | CI/CD 整合 | 自動化 PR review，透過 REST API |\n\n## 專案結構\n\n```\nclaude-prism/\n├── .github/\n│   ├── dependabot.yml          # Dependabot 版本更新（github-actions 每週）\n│   └── workflows/\n│       ├── ai-review.yml       # Label 觸發 CI review\n│       ├── release.yml         # npm OIDC 發布 + GitHub Release\n│       ├── shellcheck.yml      # ShellCheck 靜態分析\n│       └── traffic-stats.yml   # GitHub traffic 資料收集（每週）\n├── docs/                       # 深度文件（見下方延伸閱讀）\n├── spec/                       # 獨立規格文件\n│   └── confidence-scoring-v1.md  # Evidence-based 雜訊過濾 framework\n├── commands/                   # Slash command 定義（Markdown）\n├── scripts/                    # CLI 包裝腳本與工具（Bash）\n│   ├── call-codex.sh           # Codex CLI 包裝（含 soft-timeout）\n│   ├── call-gemini.sh          # agy（Antigravity CLI）包裝（含 soft-timeout）\n│   ├── detect-domain.sh        # 智慧路由 domain 偵測\n│   ├── analyze-log.sh          # 呼叫生命週期診斷\n│   ├── ci-review.sh            # CI/CD review 調度器（curl API）\n│   ├── calibrate-timeout.sh     # Per-skill timeout 校準器（p99-based）\n│   ├── usage-summary.sh        # API 使用量統計\n│   └── review-insights.sh      # Review 趨勢分析\n├── tests/smoke-test.sh\n├── checksums.sha256            # SHA256 checksum 完整性驗證\n├── install.sh / uninstall.sh\n├── README.md / README.zh-TW.md\n└── CHANGELOG.md\n```\n\n安裝後的位置：\n\n```\n~/.claude/\n├── commands/                   # ← command 定義複製到此\n├── scripts/                    # ← 包裝腳本複製到此\n└── logs/\n    ├── multi-ai-YYYY-MM.log    # 呼叫紀錄，月度輪替（v0.14.4+）\n    ├── multi-ai.log            # Symlink → 當月 log 檔\n    └── review-insights.jsonl   # 結構化 review 歷史（自動記錄）\n```\n\n---\n\n## 設定\n\n### 環境變數\n\n| 變數 | 預設值 | 說明 |\n|------|--------|------|\n| `GEMINI_MODEL` | （CLI 預設） | 覆蓋 Gemini 模型——使用 agy display-name 格式（如 `Gemini 3.5 Flash (Medium)`）；執行 `agy models` 查看可用名稱 |\n| `CODEX_MODEL` | （CLI 預設） | 覆蓋 Codex 模型（如 `o3`）；執行 `codex doctor` 查看目前預設 |\n| `AGY_BIN` | （自動偵測） | `agy` 執行檔路徑 |\n| `GEMINI_BIN` | — | `AGY_BIN` 的過渡別名（已棄用）；僅在指向 `agy` 執行檔時接受，並寫入 WARN log |\n| `CODEX_BIN` | （自動偵測） | Codex 執行檔路徑 |\n| `MULTI_AI_LOG_DIR` | `~/.claude/logs` | 紀錄檔目錄 |\n| `CLAUDE_PRISM_TIMEOUT`（v0.14.0+） | `110` | Soft-timeout 掛鐘時限（整數秒，範圍 1..3600）。無效值自動 fallback 到 110 並寫入 WARN log。超時時 wrapper 會發出 rc=124 + stderr sentinel + `soft_timeout` log event，取代原本被 Claude Code harness 在 130 秒附近悄悄 SIGKILL 的黑洞。已知會跑比較久的任務可以 per-invocation 調寬：`CLAUDE_PRISM_TIMEOUT=180 ./call-codex.sh \"40KB review prompt\"` |\n\n預設不指定模型，由各 CLI 使用內建預設值——零設定即可用。如需指定模型：\n\n```bash\n# Shell 設定檔（~/.zshrc 或 ~/.bashrc）\nexport GEMINI_MODEL=\"Gemini 3.5 Flash (Medium)\"  # 執行 `agy models` 查完整清單\nexport CODEX_MODEL=\"o3\"\n\n# 或單次呼叫時用 -m flag\n~/.claude/scripts/call-gemini.sh -m \"Gemini 3.5 Flash (Medium)\" \"your prompt\"\n```\n\n### Script 功能\n\n兩個包裝腳本都支援：\n\n| 功能 | 說明 |\n|------|------|\n| **Streaming 輸出** | CLI 回應透過 `tee` 即時串流到 stdout，不做 buffering |\n| **SIGHUP 防禦** | Script 忽略 `SIGHUP`，背景化時不會被終止 |\n| **背景化 Fallback** | 每次呼叫的輸出各自寫到 `mktemp` 檔（v0.14.2+，byte-sync）。Sub-agent fan-out skills（`pi-askall` / `pi-plan` / `pi-multi-review`）傳 `$CLAUDE_PRISM_OUT_TMP` 取得 caller-owned 隔離 OUT_TMP（v0.14.3+，解 cross-session race）；direct skills 仍讀 shared `pi-{codex,gemini}-last.out` symlink 做 empty-stdout fallback（legacy best-effort） |\n| **Binary 偵測** | 自動搜尋多個路徑找 CLI 執行檔 |\n| **Logging** | 每次呼叫記錄到 `~/.claude/logs/multi-ai.log`（含時間戳） |\n| **`--dry-run`** | 測試模式，不呼叫 API（不消耗 token） |\n| **Stdin 管線** | `echo \"code\" \\| call-gemini.sh \"prompt\"` 處理長輸入。注意：Gemini prompt（含附加的 stdin）受 agy 命令列傳遞限制，上限約 120 KB；Codex 無此限制（stdin pipe） |\n| **Model 切換** | `-m model-name` 指定不同模型 |\n| **Soft-timeout**（v0.14.0+） | Provider CLI 呼叫被 `CLAUDE_PRISM_TIMEOUT` 掛鐘限制（預設 110 秒，範圍 1..3600）。超時時結構化退出：rc=124、stderr sentinel、`soft_timeout` log event 讓 `analyze-log.sh` 歸類為 SOFT_TIMEOUT——比 Claude Code ~130 秒的 harness watchdog 更早觸發 |\n\n### 自訂\n\n**新增 Provider：** 建立 `scripts/call-newprovider.sh` 和 `commands/ask-newprovider.md`（參考現有格式），執行 `./install.sh` 部署。\n\n**修改 Review Prompt：** 編輯 `commands/` 下的 `.md` 檔案，prompt 模板內嵌其中。\n\n---\n\n## 延伸閱讀\n\n所有「安裝與使用」之外的細節都放在 [`docs/`](docs/)：\n\n| 主題 | English | 繁體中文 |\n|---|---|---|\n| 可觀測性 — 使用量統計、review 趨勢、呼叫生命週期、快取 TTL | [docs/observability.md](docs/observability.md) | [docs/observability.zh-TW.md](docs/observability.zh-TW.md) |\n| CI/CD 整合 — GitHub Actions workflow、CI 環境變數、安全注意事項 | [docs/ci-cd.md](docs/ci-cd.md) | [docs/ci-cd.zh-TW.md](docs/ci-cd.zh-TW.md) |\n| 成本估算 — 各指令 token 範圍、成本控制工具 | [docs/cost.md](docs/cost.md) | [docs/cost.zh-TW.md](docs/cost.zh-TW.md) |\n| 供應鏈安全 — 免 `postinstall` 設計、防禦層級、自行驗證 | [docs/supply-chain-security.md](docs/supply-chain-security.md) | [docs/supply-chain-security.zh-TW.md](docs/supply-chain-security.zh-TW.md) |\n| 隱私與資料流向 — 送出什麼、留在本地什麼、Provider 條款 | [docs/privacy.md](docs/privacy.md) | [docs/privacy.zh-TW.md](docs/privacy.zh-TW.md) |\n| 隨想 — 設計筆記與心得 | [docs/reflections.md](docs/reflections.md) | [docs/reflections.zh-TW.md](docs/reflections.zh-TW.md) |\n| 研究 — sub-agent fan-out 設計背後的 Bash tool 分層研究 | [docs/research/bash-tool-parallelism.md](docs/research/bash-tool-parallelism.md) | — |\n| [Confidence Scoring Framework](spec/confidence-scoring-v1.md) | normative spec | — |\n| [CHANGELOG](CHANGELOG.md) | 版本歷史 | — |\n\n---\n\n## FAQ\n\n**Q: Claude 真的有呼叫外部 CLI 嗎？還是自編自導？**\n\nLogging 預設開啟，檢查 `~/.claude/logs/multi-ai.log` 即可驗證。每次呼叫都有時間戳、模型名稱和 prompt/response 長度。\n\n**Q: 如果我只裝了其中一個 provider 的 CLI？**\n\n沒問題。所有指令都內建 graceful degradation 和**結構化錯誤診斷**——若 provider 不可用，失敗訊息會包含具體原因（TIMEOUT、RATE_LIMIT、AUTH_ERROR、PERMISSION、SANDBOX、NETWORK、EMPTY_OUTPUT、CLI_ERROR 或 CLI_NOT_FOUND）並建議替代指令。`/pi-multi-review` 和 `/pi-askall` 會使用 Claude + 可用的 provider（兩方觀點取代三方）。`/pi-code-review` 會退回 Claude 獨立審查並加註同源盲點警告，同時建議改用 `/pi-multi-review`。`/pi-fact-check` 和 `/pi-research` 都採用雙軌搜尋（Gemini + WebSearch 同步）；若兩者皆失敗才退至 Claude 訓練資料。\n\n**Q: 如果 provider 回傳格式不符預期？**\n\nClaude 會處理。若 Codex 或 Gemini 沒有按照要求的 severity 標記／verdict 格式回覆，Claude 會用語意比對從原始文字中提取可行動的問題。verdict 欄位在未提供時顯示「—」。\n\n**Q: 費用多少？**\n\n參閱 [docs/cost.zh-TW.md](docs/cost.zh-TW.md) 了解各指令的 token 消耗範圍和成本控制工具。\n\n**Q: Gemini provider 一直 timeout 或回應很慢？**\n\n很可能是 Pro 模型限流。設定 `GEMINI_MODEL=\"Gemini 3.5 Flash (Medium)\"`（執行 `agy models` 確認名稱）——Flash 更快，coding benchmark 分數也更高。如果症狀是空輸出而不是慢，先互動式執行一次 `agy` 確認登入狀態——`agy` 遇到部分認證與網路錯誤時會以正常結束碼回傳空輸出，wrapper 會將其分類為 `EMPTY_OUTPUT` / `AUTH_ERROR`。\n\n**Q: 可以搭配其他 Claude Code 設定使用嗎？**\n\n可以。Commands 和 scripts 是獨立的，只依賴 Claude Code 的 `~/.claude/` 目錄慣例。\n\n**Q: 隱私政策 / 供應鏈安全細節在哪？**\n\n[docs/privacy.zh-TW.md](docs/privacy.zh-TW.md) 與 [docs/supply-chain-security.zh-TW.md](docs/supply-chain-security.zh-TW.md)。\n\n---\n\n## 貢獻指南\n\n歡迎貢獻！不論是 bug 修復、新 provider 整合、prompt 改善，還是文件修正——請參閱我們的[貢獻指南](CONTRIBUTING.md)開始。\n\n本專案遵循 [Contributor Covenant 行為準則](CODE_OF_CONDUCT.md)，參與即代表你同意遵守。\n\n**快速連結：**\n\n- [開發環境設定](CONTRIBUTING.md#getting-started)\n- [程式碼標準](CONTRIBUTING.md#code-standards)（Bash 3.2+、ShellCheck、conventional commits）\n- [提交 PR](CONTRIBUTING.md#submitting-changes)\n- [回報問題](CONTRIBUTING.md#reporting-issues)\n\n---\n\n## 致謝\n\n`/pi-fact-check` 一開始有參考 [newtype-os](https://github.com/newtype-01/newtype-os) 的 `super-fact-checker` 方法論（作者是我很喜歡的 YouTuber）。後來覺得直接搬別人的框架不太對，就整個砍掉重寫了，加入跨 provider 驗證、對抗性證據這些我們自己的東西。但起點的功勞還是值得大書特書的。\n\n---\n\n## 授權\n\n本專案採用 [MIT](LICENSE) 授權。\n\n---\n\n## 作者\n\n**tznthou** — [tznthou.com](https://tznthou.com) · [service@tznthou.com](mailto:service@tznthou.com)\n","readmeFilename":"README.zh-TW.md"}