{"_id":"@ahkohd/oyo","_rev":"28-494a1fd24ec8938e42842154140474c2","name":"@ahkohd/oyo","dist-tags":{"latest":"0.1.57"},"versions":{"0.1.29":{"name":"@ahkohd/oyo","version":"0.1.29","license":"MIT","_id":"@ahkohd/oyo@0.1.29","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"612d058a100b57c62a3697823e74df24e99e562d","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.29.tgz","fileCount":5,"integrity":"sha512-iad+At5BU4eeX+NCvzbZ1OtD6tatnPDVKU2wRST/YNlFsVzYbWOYJmZ5XS1vXKfKs7KgVMUPALn5QZ2l2cMnxg==","signatures":[{"sig":"MEQCIEIYd5F6i8XiyVnQhmW8IW+up3ehgZaSYIr74ZxOeOutAiAhICvzaOIH/gP3jnC0DRdYCx5blYXUlGVM7alp3lvx2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16442},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.11.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.29","@ahkohd/oyo-darwin-arm64":"0.1.29","@ahkohd/oyo-linux-x64-gnu":"0.1.29","@ahkohd/oyo-linux-arm64-gnu":"0.1.29"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.29_1775509077422_0.4701865963655736","host":"s3://npm-registry-packages-npm-production"}},"0.1.30":{"name":"@ahkohd/oyo","version":"0.1.30","license":"MIT","_id":"@ahkohd/oyo@0.1.30","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"b8b3f71e7b5b4b37fb9a6e919535a68689eefba5","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.30.tgz","fileCount":5,"integrity":"sha512-4KFcLqPLeLeHYvKveIG4KWZXGUj8F+SboAbeGPa6rWTI4lPp4A2ZeVrlYSrR5p31jBL3giDz79T75W/8efnXsw==","signatures":[{"sig":"MEQCIDQYVkb6SuSSztVHhjVOXy8+msJEx6frNppEHrh2DASDAiA5w+ofqF5dSiqt8OBg06N2+RvyO1EWeNJYeEHTgtvG0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16716},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.11.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.30","@ahkohd/oyo-darwin-arm64":"0.1.30","@ahkohd/oyo-linux-x64-gnu":"0.1.30","@ahkohd/oyo-linux-arm64-gnu":"0.1.30"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.30_1775513169726_0.9854163909091285","host":"s3://npm-registry-packages-npm-production"}},"0.1.31":{"name":"@ahkohd/oyo","version":"0.1.31","license":"MIT","_id":"@ahkohd/oyo@0.1.31","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"7605c0c06d42f926300d0bbb88bb96738c9f131e","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.31.tgz","fileCount":5,"integrity":"sha512-1SUvXwQZj3WIQn41lzBc9HvmZjrN/6TrpeFHVxNsaDIZMNU+A/ECsU1Skx0nRtDnlJQRE/YroV0CmE1Ma9DY7g==","signatures":[{"sig":"MEUCIFK/4Rz9gPIhfvEXYebZZb4Crk+rp2cZEPP0Q5Za6qDpAiEA8W66fft6KNMJVVOGwRjniJo1JDzEJx7RgFZ0DN7N2mo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":17139},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.12.1","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.31","@ahkohd/oyo-darwin-arm64":"0.1.31","@ahkohd/oyo-linux-x64-gnu":"0.1.31","@ahkohd/oyo-linux-arm64-gnu":"0.1.31"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.31_1779752796706_0.8117853988530432","host":"s3://npm-registry-packages-npm-production"}},"0.1.32":{"name":"@ahkohd/oyo","version":"0.1.32","license":"MIT","_id":"@ahkohd/oyo@0.1.32","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"162c556dda1451b203f32c4158762bbab4caab08","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.32.tgz","fileCount":5,"integrity":"sha512-vQ+Q1foph/8vskID83li0KDheecSEV0AhfL1UxYCusGZLOQpR1bUcrCDnySj12x5X3h9tFGWgLolH8+IGjRLrQ==","signatures":[{"sig":"MEUCIClAfvcCDyhKPE2c7Nq8hkHEk3iMB01Erjcb0FO9gZY8AiEA9n3EQ2Dk8DpFuDqSdUtM34MclSHBuRW/cEeRzFWKG84=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.32","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":17139},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.12.1","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.32","@ahkohd/oyo-darwin-arm64":"0.1.32","@ahkohd/oyo-linux-x64-gnu":"0.1.32","@ahkohd/oyo-linux-arm64-gnu":"0.1.32"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.32_1779775255719_0.3102094179920143","host":"s3://npm-registry-packages-npm-production"}},"0.1.33":{"name":"@ahkohd/oyo","version":"0.1.33","license":"MIT","_id":"@ahkohd/oyo@0.1.33","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"435f342820d0671e71418352a7acd00038e84302","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.33.tgz","fileCount":5,"integrity":"sha512-kD0QAU9kGw2CHVYF/WmtR4mOwfIGE1mnxtEkG104P739cCY+F1Le7Z8+YNlR/gEWSgYNkMHjn0YbZZVGw3uzIw==","signatures":[{"sig":"MEQCICS2Gqk4uhgv+RfjxI8VMN++qJFrxZoTQBypyiQPwUBvAiBC8k3lCJWxrHjDCEwgNF7Ao0ItbKkz4nSnHCvooiJnng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.33","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":17139},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.12.1","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.33","@ahkohd/oyo-darwin-arm64":"0.1.33","@ahkohd/oyo-linux-x64-gnu":"0.1.33","@ahkohd/oyo-linux-arm64-gnu":"0.1.33"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.33_1779917932396_0.7303500098851479","host":"s3://npm-registry-packages-npm-production"}},"0.1.34":{"name":"@ahkohd/oyo","version":"0.1.34","license":"MIT","_id":"@ahkohd/oyo@0.1.34","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"a8af791c2351a83ed26828fc70b72b4f0d44878e","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.34.tgz","fileCount":5,"integrity":"sha512-lwmf3ejGRW6mvpqnR3d4UpCo9CxwCxbh5+a1vqRpHKVY6uNbejdhWS+sU5JcILPYxZxZEmC1vNTNWVMIu3G9pw==","signatures":[{"sig":"MEUCIGC1DdwEtpUB4ZDbuVylh+Es/r4UytreNszIZHxH3+luAiEAskcOm6LraCYA1u2cIXbvQ63Mk53rVDw3emq+6lDV9u8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.34","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":17737},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.13.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.34","@ahkohd/oyo-darwin-arm64":"0.1.34","@ahkohd/oyo-linux-x64-gnu":"0.1.34","@ahkohd/oyo-linux-arm64-gnu":"0.1.34"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.34_1781111017651_0.38003324050437026","host":"s3://npm-registry-packages-npm-production"}},"0.1.35":{"name":"@ahkohd/oyo","version":"0.1.35","license":"MIT","_id":"@ahkohd/oyo@0.1.35","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"a4cc1286bed0c2b0bc418da976acbe40d1522f88","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.35.tgz","fileCount":5,"integrity":"sha512-8yeufX4PRAVA3dqeVkm6XpMuu3YVs/Tgq5xJHPLchtGOpr++owIK9qm0FuiudL4rA/LfLojtyYWwGBSR9ctarA==","signatures":[{"sig":"MEQCIEnV6u4M5Wn4mbFwZj0FUqAID8rFLOoKG/6zR4Iq5f1SAiA04+c2WCF+bYCG5kBOl0V6KBmU3xJZ9+6fCGkpEpQ/Nw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.35","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":17884},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.13.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.35","@ahkohd/oyo-darwin-arm64":"0.1.35","@ahkohd/oyo-linux-x64-gnu":"0.1.35","@ahkohd/oyo-linux-arm64-gnu":"0.1.35"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.35_1781556435721_0.5670390158526564","host":"s3://npm-registry-packages-npm-production"}},"0.1.36":{"name":"@ahkohd/oyo","version":"0.1.36","license":"MIT","_id":"@ahkohd/oyo@0.1.36","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"515b60b50319ed09d76d00c72df7995ea5d0a635","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.36.tgz","fileCount":5,"integrity":"sha512-7ux4wOyo/9KOfXSUMvR/RazC1wIZWnpPHw6DjoQY2OWhC/EXybbS9N7gru7i7izr9AFT3ZreOkx28yQ5kUDL2w==","signatures":[{"sig":"MEUCICk2Oi7oxqDJYnfVk+sZWLhfYgZBHnaRVsQPhWwTH9R/AiEAl4xq0OSMTikpRVNrKvhwign0SCGtczdL+zCMdftJZNc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.36","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":17943},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.13.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.36","@ahkohd/oyo-darwin-arm64":"0.1.36","@ahkohd/oyo-linux-x64-gnu":"0.1.36","@ahkohd/oyo-linux-arm64-gnu":"0.1.36"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.36_1782090352815_0.8230548388583807","host":"s3://npm-registry-packages-npm-production"}},"0.1.37":{"name":"@ahkohd/oyo","version":"0.1.37","license":"MIT","_id":"@ahkohd/oyo@0.1.37","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"c3bcb08876e9fb7c74db3fbe10e14ee4ee85c922","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.37.tgz","fileCount":5,"integrity":"sha512-g1k9PhF2axf5a9k4jd7Qp3ogsiL+aZBt2wA3Ur3TrrOF9qL88jaFpZ/u6im07bqWw0AF2F9XSlnLS9t/wwpBEA==","signatures":[{"sig":"MEYCIQD29Yv9Ll7TJvNTFA0NdnHsuSae6RXb2TYD1GsW+X4zOQIhALp28nvpOQoHjvwFcu2eY+1GUMNaXTeanrPZXIKFnxaJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.37","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":18724},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.13.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.37","@ahkohd/oyo-darwin-arm64":"0.1.37","@ahkohd/oyo-linux-x64-gnu":"0.1.37","@ahkohd/oyo-linux-arm64-gnu":"0.1.37"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.37_1782244636890_0.4841506221942975","host":"s3://npm-registry-packages-npm-production"}},"0.1.39":{"name":"@ahkohd/oyo","version":"0.1.39","license":"MIT","_id":"@ahkohd/oyo@0.1.39","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"c3a11c1eab008381a6ffff79e73f8a22695b5085","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.39.tgz","fileCount":5,"integrity":"sha512-2AlcWDmLD+zRDWQXdj0mC4AzuHCYccDXglqGTJQuJZvy24/F2jSTDQaKQLKElYACKVWRZADfOduozZxn/scm/Q==","signatures":[{"sig":"MEUCIQCoV0fKcNCrnXVqodTqlYE7iV1dqkmzl7m1sI7mIYFb+QIgKC0ybsGwbiyaEpscYIS6CfgNsSouqH6rUjQ9aPB8M+o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.39","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9617},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.16.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.39","@ahkohd/oyo-darwin-arm64":"0.1.39","@ahkohd/oyo-linux-x64-gnu":"0.1.39","@ahkohd/oyo-linux-arm64-gnu":"0.1.39"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.39_1783325550461_0.40746855020212824","host":"s3://npm-registry-packages-npm-production"}},"0.1.40":{"name":"@ahkohd/oyo","version":"0.1.40","license":"MIT","_id":"@ahkohd/oyo@0.1.40","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"2541e6b457cfbe9762f8c25e721556f85a2e955c","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.40.tgz","fileCount":5,"integrity":"sha512-sRz5JsgYSpfXb0GoAltb2imQdxn/EY4ZKjBQRoA0ZP5VoO1D8Otp2nYmBpp+bZcFNg94pSwljEd+2t/7/4DgBw==","signatures":[{"sig":"MEYCIQDjh2r0pffvgmilbILxXIr6KTmOU+0PfFjP+1IaWzprMAIhAN8RpwkWYWfU20msvaWUSa1EeFuDAiio6IR9mcjto53E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.40","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9624},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.16.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.40","@ahkohd/oyo-darwin-arm64":"0.1.40","@ahkohd/oyo-linux-x64-gnu":"0.1.40","@ahkohd/oyo-linux-arm64-gnu":"0.1.40"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.40_1783377286980_0.1373908559109438","host":"s3://npm-registry-packages-npm-production"}},"0.1.41":{"name":"@ahkohd/oyo","version":"0.1.41","license":"MIT","_id":"@ahkohd/oyo@0.1.41","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"881e0e02bb603c6af1853b881b4c0710268a4741","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.41.tgz","fileCount":5,"integrity":"sha512-kvoSmF88rcK6MchyZtLJVMykiWL8bx7KFuboqT3krHjksnZriFeIrozb6c+odxhFfHgpOOIC0dl0igV2fWIUhw==","signatures":[{"sig":"MEYCIQC6u04qepCaOPr7HrxJLkN0f/dMWvJ7TWf1jJ9BdIGNEgIhAKk1cCTFfSKvjCUUh0AGcnjbO2Dme1I7sffopQukDV43","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.41","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9689},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.16.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.41","@ahkohd/oyo-darwin-arm64":"0.1.41","@ahkohd/oyo-linux-x64-gnu":"0.1.41","@ahkohd/oyo-linux-arm64-gnu":"0.1.41"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.41_1783416807118_0.03329498675465414","host":"s3://npm-registry-packages-npm-production"}},"0.1.42":{"name":"@ahkohd/oyo","version":"0.1.42","license":"MIT","_id":"@ahkohd/oyo@0.1.42","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"25aab53e8c00807c3b531a97ed4bb28f7df3b69c","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.42.tgz","fileCount":5,"integrity":"sha512-pv8YeEGH3LhDpUj/xFqyVyv/hUvmd0ZGOd/q/ZVy7Ht2GvTJSjxd2WwwYk0l1RuptA9TDl6kgiIe1gv/NQTz9w==","signatures":[{"sig":"MEUCIQCkLY9XOXkzIi6gAU8wCXg611NeOwhA6G6phLsVy1T24wIgLNezxC452E6UMYU0j5vDcOJXITsq2NrMfj5W4+Ihc8Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.42","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12749},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.16.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.42","@ahkohd/oyo-darwin-arm64":"0.1.42","@ahkohd/oyo-linux-x64-gnu":"0.1.42","@ahkohd/oyo-linux-arm64-gnu":"0.1.42"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.42_1783747801246_0.20882800210782193","host":"s3://npm-registry-packages-npm-production"}},"0.1.43":{"name":"@ahkohd/oyo","version":"0.1.43","license":"MIT","_id":"@ahkohd/oyo@0.1.43","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"c0c5b8b3b61dfdd4017bad5d0254a9fd6720bde2","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.43.tgz","fileCount":5,"integrity":"sha512-r+ijU7kmodZ2i1QlT+H2SdVkXMewRNrEcle7pX2BL8k1/lxi+ZByMitv35YyZqUH1zxgwszDYBPpMzc5EQy3Rg==","signatures":[{"sig":"MEUCIQDB5gDWSvw85uwQZZLXWN/xzgH1j8S4eDfdfMno3fbFyAIgXyohvL/mjuEHgiV0CTZXLDfZ5ML12D6iTocFziJQfQ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.43","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12749},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.16.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.43","@ahkohd/oyo-darwin-arm64":"0.1.43","@ahkohd/oyo-linux-x64-gnu":"0.1.43","@ahkohd/oyo-linux-arm64-gnu":"0.1.43"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.43_1783760197965_0.2683082685832505","host":"s3://npm-registry-packages-npm-production"}},"0.1.44":{"name":"@ahkohd/oyo","version":"0.1.44","license":"MIT","_id":"@ahkohd/oyo@0.1.44","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"6d08565463e098bd5ef936fbb734d92fb4825faa","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.44.tgz","fileCount":5,"integrity":"sha512-6ROumQTyuH1DwCBl550d2jaX82aJzEraNQg+5OH8BIoUDJHzaqR6a2U6TbEsWWvZzoaMeqmEr6IsIKCuj3+f5w==","signatures":[{"sig":"MEYCIQC9z23ZAk6Dc+LghZHqEfncRh+1nnD0FN2YwR78jsc7cQIhAImUX5gWscazVQcUemu/hpb5qm0Eikg5SCePjQosVPWO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.44","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12825},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.16.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.44","@ahkohd/oyo-darwin-arm64":"0.1.44","@ahkohd/oyo-linux-x64-gnu":"0.1.44","@ahkohd/oyo-linux-arm64-gnu":"0.1.44"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.44_1783775244361_0.2517342098686106","host":"s3://npm-registry-packages-npm-production"}},"0.1.45":{"name":"@ahkohd/oyo","version":"0.1.45","license":"MIT","_id":"@ahkohd/oyo@0.1.45","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"5caf2244b389006aa7dab2bb763ab64b39599703","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.45.tgz","fileCount":5,"integrity":"sha512-JHtGlNkWEvBz9oLQz37iz9kkZ7pMJ4+Mc1y1tYENHrJxJ110utXIQDnmpB3GgHbEZEUMRG7tdYWclZNC+BxVpQ==","signatures":[{"sig":"MEYCIQCYApPAC9UnLhFMUHdAQnruckuLvxZ63sW/CZeFnmjdvgIhAImkPCIuBNikHp0SfSN4ZM2CXEd73skdFfZDRyiZyd6F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.45","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12825},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.16.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.45","@ahkohd/oyo-darwin-arm64":"0.1.45","@ahkohd/oyo-linux-x64-gnu":"0.1.45","@ahkohd/oyo-linux-arm64-gnu":"0.1.45"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.45_1783829755485_0.5858303067828954","host":"s3://npm-registry-packages-npm-production"}},"0.1.46":{"name":"@ahkohd/oyo","version":"0.1.46","license":"MIT","_id":"@ahkohd/oyo@0.1.46","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"6fc39768e5b61e5a4eae593a502dce61cb3b0d0f","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.46.tgz","fileCount":5,"integrity":"sha512-nK7YUK3lLKzvjkGDkRMMQwLW+piNzT5iRTN5NdPYZwQoxGQX4jO0vzGAGWJeWE2HoXealrL9GaYtyYNasdYm0w==","signatures":[{"sig":"MEYCIQDCElGetVLYPf8GDpCx7KrOzm7G/VhlOwMrO7mHfFZRqAIhAP4gIZWIDzCUSiJYvtG7ihFwdRGNbqFV8VRT15/M9A5j","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.46","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12947},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.16.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.46","@ahkohd/oyo-darwin-arm64":"0.1.46","@ahkohd/oyo-linux-x64-gnu":"0.1.46","@ahkohd/oyo-linux-arm64-gnu":"0.1.46"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.46_1783866383496_0.2999071660814907","host":"s3://npm-registry-packages-npm-production"}},"0.1.47":{"name":"@ahkohd/oyo","version":"0.1.47","license":"MIT","_id":"@ahkohd/oyo@0.1.47","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"84723d4a9dc8740d335430741b963101721483bd","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.47.tgz","fileCount":5,"integrity":"sha512-c7FsD0Ageo8TOP1XSwo2Zu7pCt9oU5gKSHFixWc9lr2TqkRhAFqGqjH0irig9QdAcoS7LjlPhfk9goLiGevHYw==","signatures":[{"sig":"MEUCICzrIDnjsbZ8RINxZpyIn7IBmQQ1WVCELjp4J1PkQzWmAiEA1gymNdENRlC8mBxnZU+PGjo/jEN/umCFDnW5bG+QrYM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.47","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12947},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.16.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.47","@ahkohd/oyo-darwin-arm64":"0.1.47","@ahkohd/oyo-linux-x64-gnu":"0.1.47","@ahkohd/oyo-linux-arm64-gnu":"0.1.47"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.47_1783918488653_0.2175041658922927","host":"s3://npm-registry-packages-npm-production"}},"0.1.48":{"name":"@ahkohd/oyo","version":"0.1.48","license":"MIT","_id":"@ahkohd/oyo@0.1.48","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"48cfed2fc4442228ef24a2b0029d4de1a316e673","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.48.tgz","fileCount":5,"integrity":"sha512-9KZryXHnCL+8UR9K2aw3sUUCH0vvxUrj4JVPPdfCTOib5NEa7ArQwZUgz55EHeGj4rO8xZb+6LFmsTitTq2+Eg==","signatures":[{"sig":"MEUCIDopZDARJXKD9lDBu+Rgp9dlxcH74e2xd3DxSRu+uieOAiEAgrM3CJCYbvn6iXznqk2vvaGbI7zBZNPLa8HJ8ill3FY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.48","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12947},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.16.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.48","@ahkohd/oyo-darwin-arm64":"0.1.48","@ahkohd/oyo-linux-x64-gnu":"0.1.48","@ahkohd/oyo-linux-arm64-gnu":"0.1.48"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.48_1784036586663_0.3360768883634542","host":"s3://npm-registry-packages-npm-production"}},"0.1.49":{"name":"@ahkohd/oyo","version":"0.1.49","license":"MIT","_id":"@ahkohd/oyo@0.1.49","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"6ed48416ef0ce0014d9869193c7ee5621105f318","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.49.tgz","fileCount":5,"integrity":"sha512-6KVf7gFvh6bKxj1zxsEa/mCEhQois0bUP22YRtXlzyKarRlBbicXVZLMQiSCuZ0hOjKH+t5SAwg+vaXzNgBThw==","signatures":[{"sig":"MEUCIQDDKjS9xRfFhW6cTjgop0ptKqiKOmpIc8gfgfWrMneApgIgAzXNDLtp8IR2VBZsq01WuBMewqF0Ih/aDQunKk4LjB0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.49","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12947},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.16.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.49","@ahkohd/oyo-darwin-arm64":"0.1.49","@ahkohd/oyo-linux-x64-gnu":"0.1.49","@ahkohd/oyo-linux-arm64-gnu":"0.1.49"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.49_1784040745486_0.9288249536467674","host":"s3://npm-registry-packages-npm-production"}},"0.1.50":{"name":"@ahkohd/oyo","version":"0.1.50","license":"MIT","_id":"@ahkohd/oyo@0.1.50","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"416bf511e86aadd7bafcc0a595188d4807c463d6","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.50.tgz","fileCount":5,"integrity":"sha512-P+300ocmRqYOzVtKvAA3n/WxRtAp6DlnL6aj3lXZUgvFJkQb4DxdxDLfwWckr2pan31DEYo33zapVGMUfAu3qA==","signatures":[{"sig":"MEUCICSei5iMksGZTBc/fizQAGQrmVC+epnRDtGmo79DeT2VAiEA2x8aOt/cmb3OinnzKZ3S1x/0oAJON+bYbWxBFY1LCzg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.50","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12947},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.16.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.50","@ahkohd/oyo-darwin-arm64":"0.1.50","@ahkohd/oyo-linux-x64-gnu":"0.1.50","@ahkohd/oyo-linux-arm64-gnu":"0.1.50"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.50_1784080207336_0.14203991726195686","host":"s3://npm-registry-packages-npm-production"}},"0.1.51":{"name":"@ahkohd/oyo","version":"0.1.51","license":"MIT","_id":"@ahkohd/oyo@0.1.51","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"5e38a27f84abe36c77f711e355ba76bd2773f59c","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.51.tgz","fileCount":5,"integrity":"sha512-9yPv1hAu4eQLzZ8OpD5LZtjj0qr0yzUEPetDty1MlvPAlE6ubye34szyCUb6WKPL4rJfuCUHWAqTHblzYlU2rQ==","signatures":[{"sig":"MEUCICiFN5ULu6M7sRxxhx05Y+YxtiIDFvCmf0FzkPCH7yjdAiEAuuu47tKeim8sTkakXaTW3tVIUp9dsKhwFy6Xe+5nhsA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.51","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13121},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.16.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.51","@ahkohd/oyo-darwin-arm64":"0.1.51","@ahkohd/oyo-linux-x64-gnu":"0.1.51","@ahkohd/oyo-linux-arm64-gnu":"0.1.51"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.51_1784146780962_0.7334157465678874","host":"s3://npm-registry-packages-npm-production"}},"0.1.52":{"name":"@ahkohd/oyo","version":"0.1.52","license":"MIT","_id":"@ahkohd/oyo@0.1.52","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"151d9a853133ca40122012605a73db20c666a376","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.52.tgz","fileCount":5,"integrity":"sha512-OM2j6aHiSUcLzOuwTbHWRdSLFRerkNHKvyMInROO7YCqckfS9lh0eLVdHI2EYDa8JW9jkr1GSDfMlcpRntJs3w==","signatures":[{"sig":"MEQCIBoFeQualLQG8J5PaZZI0KmYsNYceKJdayA5hw0hdN/fAiAgsDc4uGLKSvLhH5CZW5Jeq3SUtZcBJUuvxClgwd3VRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.52","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13121},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.16.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.52","@ahkohd/oyo-darwin-arm64":"0.1.52","@ahkohd/oyo-linux-x64-gnu":"0.1.52","@ahkohd/oyo-linux-arm64-gnu":"0.1.52"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.52_1784505927139_0.35566876047311924","host":"s3://npm-registry-packages-npm-production"}},"0.1.53":{"name":"@ahkohd/oyo","version":"0.1.53","license":"MIT","_id":"@ahkohd/oyo@0.1.53","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"00d2d2284d7a39d3fa823e9dbdb2bef408b21186","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.53.tgz","fileCount":5,"integrity":"sha512-NUV/qAz4XW7WiMTcIFLtIC3tx4J/zjFe141a2t/CxXhanqaFgZqjAixmGEmKU6SDK9wre3WDJsWzPpcQRPEwUQ==","signatures":[{"sig":"MEUCIGgN36a/DEN/+L5ew0bhUrlg4kvSsiAmaatUOKmDMEHXAiEAmMUdRP/t1FFH0ZLZmdIh6yScYNlJBRGCyBNtCBXbsGc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.53","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13147},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.16.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.53","@ahkohd/oyo-darwin-arm64":"0.1.53","@ahkohd/oyo-linux-x64-gnu":"0.1.53","@ahkohd/oyo-linux-arm64-gnu":"0.1.53"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.53_1784506560500_0.7880322250757181","host":"s3://npm-registry-packages-npm-production"}},"0.1.54":{"name":"@ahkohd/oyo","version":"0.1.54","license":"MIT","_id":"@ahkohd/oyo@0.1.54","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"e1c2bc72fb0f09350cd9273a774cab28d3fe19b0","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.54.tgz","fileCount":5,"integrity":"sha512-Momrm4NJAnl0QeTPskzPtn2+36rzOEv6i12sPso7PhgWgnWLz+s7qyWOvJlMQV6fCVO7WjqtR+81tJsFj3Tm3Q==","signatures":[{"sig":"MEYCIQDOJuAo8ifhgDl1cXlyBfpmMq3coqKUbg6IldClqpx63gIhALI9MLJJRuvufe7rOjzrULGVQEbqPgBJl+fXSRJaK2lD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.54","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13147},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.16.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.54","@ahkohd/oyo-darwin-arm64":"0.1.54","@ahkohd/oyo-linux-x64-gnu":"0.1.54","@ahkohd/oyo-linux-arm64-gnu":"0.1.54"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.54_1784654276576_0.747328995771106","host":"s3://npm-registry-packages-npm-production"}},"0.1.55":{"name":"@ahkohd/oyo","version":"0.1.55","license":"MIT","_id":"@ahkohd/oyo@0.1.55","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"4214286761a66ce692584d5507093258fe2c9b59","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.55.tgz","fileCount":5,"integrity":"sha512-/vjnPCe3v14AkRH43hO14bL9f5hZgO9XwhfYxjrGhMA9TmQrtbKxbgVJJuXHA4/dxZWweV/QuUwHoxgN488s/Q==","signatures":[{"sig":"MEUCIQD6Ua8HPCIV4Vpu7gEJonqnm/oIUfV+ym56vjnqpcvC4QIgLF0yPXe+lBofO4arutTMKXPn+HBdu93no5F6L1FKKpk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.55","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13308},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.16.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.55","@ahkohd/oyo-darwin-arm64":"0.1.55","@ahkohd/oyo-linux-x64-gnu":"0.1.55","@ahkohd/oyo-linux-arm64-gnu":"0.1.55"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.55_1784795481064_0.34515640504468337","host":"s3://npm-registry-packages-npm-production"}},"0.1.56":{"name":"@ahkohd/oyo","version":"0.1.56","license":"MIT","_id":"@ahkohd/oyo@0.1.56","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"homepage":"https://github.com/ahkohd/oyo#readme","bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"bin":{"oy":"bin/oy.js"},"dist":{"shasum":"a656952317435f781b8ca25d703760fdc34c50d9","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.56.tgz","fileCount":5,"integrity":"sha512-MqNH+YASpAGZNTztzsxp/cpPofdshdHgDELzBiXJKmD7HjUt3gNKr+Q16CtqLvw1ZrT+O5JdNbhps396EWCmLw==","signatures":[{"sig":"MEYCIQCLAs7GybSDntIre0USYjx8M2Vi3vx73lnU1fxVvPdUJQIhANKGAvakaiUV0j/OKnYlwB052+QSK+pNWY6OK/zpxCQZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.56","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13308},"type":"commonjs","engines":{"node":">=18"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"repository":{"url":"git+https://github.com/ahkohd/oyo.git","type":"git"},"_npmVersion":"11.16.0","description":"A step-through diff viewer for the terminal.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"optionalDependencies":{"@ahkohd/oyo-darwin-x64":"0.1.56","@ahkohd/oyo-darwin-arm64":"0.1.56","@ahkohd/oyo-linux-x64-gnu":"0.1.56","@ahkohd/oyo-linux-arm64-gnu":"0.1.56"},"_npmOperationalInternal":{"tmp":"tmp/oyo_0.1.56_1784810213262_0.6176917300518623","host":"s3://npm-registry-packages-npm-production"}},"0.1.57":{"name":"@ahkohd/oyo","version":"0.1.57","description":"A step-through diff viewer for the terminal.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/ahkohd/oyo.git"},"bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"homepage":"https://github.com/ahkohd/oyo#readme","type":"commonjs","bin":{"oy":"bin/oy.js"},"engines":{"node":">=18"},"optionalDependencies":{"@ahkohd/oyo-darwin-arm64":"0.1.57","@ahkohd/oyo-darwin-x64":"0.1.57","@ahkohd/oyo-linux-arm64-gnu":"0.1.57","@ahkohd/oyo-linux-x64-gnu":"0.1.57"},"scripts":{"pack:dry":"npm pack --dry-run","version:sync":"node scripts/sync-npm-version.cjs"},"publishConfig":{"access":"public","provenance":true},"_id":"@ahkohd/oyo@0.1.57","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-sRTlhgRiG7mpQzats5tgZmQqo68UyvTd+H014CMW59uyoGZhiWzpC0OdQ6uNJ5u+bPa84VhSWxy43KNq0kPIfA==","shasum":"c635f9e1a63688b5838905f7226caa878df1d3ff","tarball":"https://registry.npmjs.org/@ahkohd/oyo/-/oyo-0.1.57.tgz","fileCount":5,"unpackedSize":13308,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahkohd%2foyo@0.1.57","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCPHvob8zXCHomsqIGaNGFuzMkl16YExy7Bky79MrQTOAIhANKjk1HRURvQfT9SXHOTD7co+rZypBJue77TeGTmHhBd"}]},"_npmUser":{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"},"directories":{},"maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/oyo_0.1.57_1786550372778_0.773088932530654"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-06T20:57:57.351Z","modified":"2026-08-12T15:59:33.281Z","0.1.29":"2026-04-06T20:57:57.563Z","0.1.30":"2026-04-06T22:06:09.901Z","0.1.31":"2026-05-25T23:46:36.846Z","0.1.32":"2026-05-26T06:00:55.863Z","0.1.33":"2026-05-27T21:38:52.540Z","0.1.34":"2026-06-10T17:03:37.823Z","0.1.35":"2026-06-15T20:47:15.922Z","0.1.36":"2026-06-22T01:05:52.928Z","0.1.37":"2026-06-23T19:57:17.050Z","0.1.39":"2026-07-06T08:12:30.614Z","0.1.40":"2026-07-06T22:34:47.111Z","0.1.41":"2026-07-07T09:33:27.250Z","0.1.42":"2026-07-11T05:30:01.384Z","0.1.43":"2026-07-11T08:56:38.104Z","0.1.44":"2026-07-11T13:07:24.494Z","0.1.45":"2026-07-12T04:15:55.613Z","0.1.46":"2026-07-12T14:26:23.639Z","0.1.47":"2026-07-13T04:54:48.798Z","0.1.48":"2026-07-14T13:43:06.802Z","0.1.49":"2026-07-14T14:52:25.625Z","0.1.50":"2026-07-15T01:50:07.472Z","0.1.51":"2026-07-15T20:19:41.101Z","0.1.52":"2026-07-20T00:05:27.276Z","0.1.53":"2026-07-20T00:16:00.662Z","0.1.54":"2026-07-21T17:17:56.716Z","0.1.55":"2026-07-23T08:31:21.333Z","0.1.56":"2026-07-23T12:36:53.407Z","0.1.57":"2026-08-12T15:59:32.932Z"},"bugs":{"url":"https://github.com/ahkohd/oyo/issues"},"license":"MIT","homepage":"https://github.com/ahkohd/oyo#readme","repository":{"type":"git","url":"git+https://github.com/ahkohd/oyo.git"},"description":"A step-through diff viewer for the terminal.","maintainers":[{"name":"ahkohd","email":"victor.olorunbunmi@gmail.com"}],"readme":"<div align=\"center\">\n\n# Oyo\n\nOyo is your complete terminal code review tool.\n\n<!-- Regenerate with: cd website && npm run generate-demos -->\n![Oyo demo](docs/assets/demo.gif)\n\n</div>\n\n> Oyo is under active development. Expect rough edges and bugs in current 0.1 releases. Feel free to [open an issue](https://github.com/ahkohd/oyo/issues/new).\n\nRead any change, comment on exact lines and work every thread through to resolved. Oyo keeps the whole review in your terminal.\n\nDiff viewing is how you read a change. Oyo also stores comments, tracks replies, syncs review threads and gives agents the same workflow.\n\n## Code review for you, your team and your agent\n\n### Review any change\n\nReview a working tree, branch, commit, range, jj change or stack. Add comments to lines and hunks, reply in threads and resolve feedback.\n\nOyo saves each review against its target. You can close the TUI and continue later.\n\n### Sync with your team\n\nPull review comments from GitHub, GitLab, Codeberg or self-hosted Forgejo. Reply and push changes back. GitHub and GitLab also support remote thread resolution. Forgejo resolved state is read-only because its API has no resolve endpoint.\n\n### Work with your agent\n\nPoint your coding agent at the Oyo skill. The agent can review a change, leave comments, work through feedback or control a running Oyo session.\n\nHumans and agents use the same targets, comments and commands. See [working with agents](./docs/AGENT.md).\n\n## Choose how you read a change\n\nYou can switch between scroll mode and step mode at any time.\n\n### Scroll mode\n\nUse scroll mode to read the whole change at once. You can scroll freely and jump between hunks.\n\n```sh\noy\n```\n\n### Step mode\n\nUse step mode to read one edit at a time. You can also press play to move through the change automatically.\n\n```sh\noy --step\n```\n\nPress `s` in the TUI to switch modes. Set `stepping = true` in your config to start in step mode.\n\n## Features\n\nOyo helps you complete a review without leaving the terminal. You can:\n\n- comment on lines, hunks and files\n- reply in flat review threads\n- resolve and reopen thread roots\n- track comments that become outdated as the diff changes\n- pull, reply to and push GitHub, GitLab, Codeberg and self-hosted Forgejo review comments\n- use the review CLI and installed skill with coding agents\n- read changes in scroll mode or step mode\n- move between hunks and files\n- find reviewed files with typo-tolerant path search\n- find text in changed lines or complete reviewed file content\n- switch between unified, split, evolution, blame and preview views\n- open multiple views in tabs\n- preview Markdown, JSON, YAML, TOML, CSV and images\n- select and copy text with character, line and block selection\n- see word-level changes\n- search with regular expressions\n- use syntax highlighting and `.tmTheme` syntax themes\n- fold unchanged context with enclosing scope hints\n- show blame hints\n- refresh changed files in watch mode\n- run commands from the command palette\n- use keyboard and mouse controls\n- animate or autoplay changes in step mode\n- wrap long lines\n- review Git and jj targets\n- open saved review history with `oy log`\n- run review hooks\n- load configuration from XDG config paths\n\n## Install\n\n### npm\n\n```sh\nnpm i -g @ahkohd/oyo\n```\n\n### Pi package\n\nThe Pi package adds the `/oyo` command. It points the coding agent at the Oyo review, walkthrough and control skills.\n\n```sh\npi install npm:@ahkohd/pi-oyo\n```\n\n### Homebrew\n\n```sh\nbrew install ahkohd/oyo/oy\n```\n\n### Arch Linux\n\n```sh\nparu -S oyo\n```\n\n### Cargo\n\n```sh\ncargo install oyo --locked --force\n```\n\n### Nix\n\n```sh\nnix profile add github:ahkohd/oyo\n```\n\nOr run it without installing:\n\n```sh\nnix run github:ahkohd/oyo\n```\n\n## Use Oyo\n\n### Show uncommitted changes\n\n```sh\noy\n```\n\n### Step through uncommitted changes\n\n```sh\noy --step\n```\n\n### Compare 2 files\n\n```sh\noy old.rs new.rs\n```\n\n### Compare one file with HEAD\n\n```sh\noy path/to/file.rs\n```\n\n### Show staged changes\n\n```sh\noy --staged\n```\n\n### Show a Git range\n\n```sh\noy --range HEAD~1..HEAD\noy --range main...feature\n```\n\n### Choose a view mode\n\n```sh\noy old.rs new.rs --view split\noy old.rs new.rs --step --view evolution\n```\n\n### Use autoplay\n\n```sh\noy old.rs new.rs --step --autoplay\noy old.rs new.rs --step --speed 100\n```\n\n### Open history\n\n```sh\noy log\n```\n\n## Use Oyo with Git\n\nUse `git difftool`:\n\n```sh\ngit difftool -y --tool=oy\n```\n\nAdd this configuration to `~/.gitconfig`:\n\n```gitconfig\n[difftool \"oy\"]\n    cmd = oy \"$LOCAL\" \"$REMOTE\"\n\n[difftool]\n    prompt = false\n\n[alias]\n    d = difftool -y --tool=oy\n```\n\nKeep your pager, such as `less`, `moar` or `moor`, for `git diff`.\n\nDo not set `core.pager` or `interactive.diffFilter` to `oy`.\n\n## Use Oyo with Jujutsu\n\nRegister `oy` as a diff tool and add a shortcut:\n\n```toml\n[merge-tools.oy]\nprogram = \"oy\"\ndiff-args = [\"$left\", \"$right\"]\n\n[aliases]\nd = [\"diff\", \"--tool\", \"oy\"]\n```\n\nRun `jj d` or `jj diff --tool oy`.\n\nYou can also open jj targets directly:\n\n```sh\noy @\noy feature\noy 'trunk()..@'\n```\n\nKeep your pager for `jj diff`, `jj log` and other commands. Do not set `oy` as the global `ui.diff-formatter`.\n\n## Review comments\n\nPress `m` to comment on a line. Press `M` to comment on a hunk.\n\n```sh\noy\n```\n\nOyo saves review state for the current target. Review cards use indexed actions:\n\n- `ra` replies to the first visible comment\n- `va` resolves or reopens the first visible thread root\n- `ia` edits the first visible comment\n- `xa` deletes the first visible comment\n\nThe index changes to `b`, `c` and later letters for other visible cards. Reply cards do not show a resolve action because resolved state belongs to the thread.\n\nEvery review action also has a CLI command. This means you and your agent can work on the same review:\n\n```sh\noy review status\noy review status --json\noy review comment\noy review comment --unresolved\noy review comment new --file src/lib.rs --new-line 42 --body \"Handle empty input.\"\noy review comment reply 1 --body \"Fixed in the latest change.\"\noy review comment resolve 1\noy review comment unresolve 1\n```\n\nThe `--unresolved` filter hides outdated comments by default. Oyo marks a comment outdated when its anchored line changes or disappears. Use `--unresolved --outdated` to inspect stale unresolved comments.\n\nAll review commands use the same target rules. In Git, Oyo prefers the current branch's saved pull request review. It falls back to the working tree.\n\nUse `-t @` for the Git working tree. Pass a branch, commit or range with `-t` for another review:\n\n```sh\noy review status -t development...feature\noy review comment -t feature\n```\n\njj defaults to `@`. If `@` has one bookmark, Oyo treats that bookmark like a branch.\n\nUse a jj revset to review a stack:\n\n```sh\noy 'trunk()..@'\noy review comment 'trunk()..@'\n```\n\nPull and push provider review comments after authenticating `gh`, `glab`, `cb` or `fj` for the remote host:\n\n```sh\noy review pull\noy review push\n```\n\nExport comments or apply review JSON:\n\n```sh\noy review export --format json > comments.json\noy review comment apply comments.json\n```\n\nSee the [review command reference](./docs/REVIEW.md), [agent workflows](./docs/AGENT.md) and [review hooks](./docs/REVIEW_HOOKS.md).\n\n## Keybindings\n\nMost navigation commands support counts. For example, `10j` moves 10 steps forward and `5J` scrolls down 5 lines.\n\nCommon defaults:\n\n| Key | Action |\n| --- | --- |\n| `j`, `down` | Scroll down, or next step in step mode |\n| `k`, `up` | Scroll up, or previous step in step mode |\n| `l`, `right` | Next hunk |\n| `h`, `left` | Previous hunk |\n| `v` | Start character selection |\n| `V` | Start line selection |\n| `ctrl-v` | Start block selection |\n| `y` | Copy selection or current line |\n| `/` | Search |\n| `n` | Next search match |\n| `N` | Previous search match |\n| `tab` | Cycle view modes |\n| `s` | Toggle step mode |\n| `m` | Add or update a line comment |\n| `M` | Add or update a hunk comment |\n| `ctrl-s` | Save an inline comment |\n| `ctrl-p` | Open the command palette |\n| `ctrl-shift-f` | Search content across reviewed files |\n| `R` | Refresh files |\n| `?` | Show help |\n| `q` | Quit |\n\nSee the [keybinding and mouse reference](./docs/KEYBINDINGS.md).\n\nSelect text with a mouse drag or `v`, `V` and `ctrl-v`. Press `y` to copy and `esc` to clear.\n\nOyo first uses a system clipboard tool:\n\n- `pbcopy` on macOS\n- `wl-copy`, `xclip` or `xsel` on Linux\n- `clip` on Windows\n\nOyo falls back to OSC 52 clipboard support if these tools fail.\n\n## Configure Oyo\n\nCreate `~/.config/oyo/config.toml`.\n\nYou can pass extra config files with repeatable `--config FILE` options. Oyo loads your user config first, then merges each extra file in order.\n\n```sh\noy --config /tmp/oyo-plugin.toml\n```\n\nA minimal configuration looks like this:\n\n```toml\n[ui]\nview_mode = \"unified\"\nstepping = false\nwatch = true\nline_wrap = false\n\n[ui.diff]\nfg = \"syntax\"\nbg = true\nhighlight = \"word\"\n\n[ui.syntax]\nmode = \"on\"\n\n[files]\npanel_visible = true\npanel_width = 30\npanel_position = \"left\"\n```\n\nOyo loads the first matching user config file:\n\n1. `$XDG_CONFIG_HOME/oyo/config.toml`\n2. `~/.config/oyo/config.toml`\n3. the platform config directory, such as `~/Library/Application Support/oyo/config.toml` on macOS\n\nUse these references for more configuration:\n\n- [config reference](./docs/CONFIG.md)\n- [theme configuration](./docs/THEME.md)\n- [keybinding actions](./docs/KEYBINDINGS.md)\n- [review commands](./docs/REVIEW.md)\n- [review hooks](./docs/REVIEW_HOOKS.md)\n- [diff behaviour](./docs/DIFF_VIEWER.md)\n- [diff styling previews](./docs/DIFF_PREVIEWS.md)\n\nThe [diff styling previews](./docs/DIFF_PREVIEWS.md) include screenshots.\n\n## Development\n\n```sh\ncargo build\ncargo test\ncargo run --bin oy -- old.rs new.rs\n```\n","readmeFilename":"README.md"}