{"_id":"@dude1wudv/snapcompact","_rev":"9-6cba69dbc64390be033cb9e3f387c759","name":"@dude1wudv/snapcompact","dist-tags":{"latest":"20.1.9"},"versions":{"20.1.0":{"name":"@dude1wudv/snapcompact","version":"20.1.0","keywords":["context-compression","vision","compaction","llm"],"author":{"name":"Can Boluk"},"license":"MIT","_id":"@dude1wudv/snapcompact@20.1.0","maintainers":[{"name":"dude1wudv","email":"1602858215@qq.com"}],"homepage":"https://omp.sh","bugs":{"url":"https://github.com/can1357/oh-my-pi/issues"},"dist":{"shasum":"804ed4c9d01b0e921ea1254eb8c40f5e7ca65c5f","tarball":"https://registry.npmjs.org/@dude1wudv/snapcompact/-/snapcompact-20.1.0.tgz","fileCount":9,"integrity":"sha512-/JmIGdq/xdWdpJw4SF2KX0CUpzrr0qEEqVep8XcJfmRUZ7lgz+Rfp9/f7MMzr+Y4VK4HFFeYsHuKlbZSdExS+g==","signatures":[{"sig":"MEUCIHdg+dz3xyyuySrmgZtawzGzqq0ZKMY7AZ4G7Rg3RjnmAiEA3AXmGl5jI3nAC4tZBvnp1eL3iQUW7kUiHgrsCSMksIw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135141},"main":"./src/index.ts","type":"module","_from":"file:C:/Users/sun/AppData/Local/Temp/omp-pack-4vooKy/dude1wudv-snapcompact-20.1.0.tgz","types":"./dist/types/index.d.ts","engines":{"bun":">=1.3.14"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./src/index.ts"},"./*":{"types":"./dist/types/*.d.ts","import":"./src/*.ts"},"./snapcompact":{"types":"./dist/types/snapcompact.d.ts","import":"./src/snapcompact.ts"}},"scripts":{"fix":"biome check --write --unsafe .","fmt":"biome format --write .","lint":"biome lint .","test":"bun test --parallel","check":"biome check . && bun run check:types","check:types":"tsgo -p tsconfig.json --noEmit"},"_npmUser":{"name":"dude1wudv","email":"1602858215@qq.com"},"_resolved":"C:\\Users\\sun\\AppData\\Local\\Temp\\omp-pack-4vooKy\\dude1wudv-snapcompact-20.1.0.tgz","_integrity":"sha512-/JmIGdq/xdWdpJw4SF2KX0CUpzrr0qEEqVep8XcJfmRUZ7lgz+Rfp9/f7MMzr+Y4VK4HFFeYsHuKlbZSdExS+g==","repository":{"url":"git+https://github.com/can1357/oh-my-pi.git","type":"git","directory":"packages/snapcompact"},"_npmVersion":"11.12.1","description":"Bitmap-frame context compression for vision-capable LLMs","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@dude1wudv/pi-ai":"20.1.0","@dude1wudv/pi-wire":"20.1.0","@dude1wudv/pi-utils":"20.1.0","@dude1wudv/pi-catalog":"20.1.0","@dude1wudv/pi-natives":"20.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.14"},"_npmOperationalInternal":{"tmp":"tmp/snapcompact_20.1.0_1786730820531_0.17464422775017296","host":"s3://npm-registry-packages-npm-production"}},"20.1.2":{"name":"@dude1wudv/snapcompact","version":"20.1.2","keywords":["context-compression","vision","compaction","llm"],"author":{"name":"Can Boluk"},"license":"MIT","_id":"@dude1wudv/snapcompact@20.1.2","maintainers":[{"name":"dude1wudv","email":"1602858215@qq.com"}],"homepage":"https://omp.sh","bugs":{"url":"https://github.com/can1357/oh-my-pi/issues"},"dist":{"shasum":"383231a6a34d84a37b1b10686f3083445efdf125","tarball":"https://registry.npmjs.org/@dude1wudv/snapcompact/-/snapcompact-20.1.2.tgz","fileCount":9,"integrity":"sha512-ZpRO+PROG9j1YTivYEx2BaZ0bi8FWrYIbdnY13BY2H+8FFHUXCN6BisDjbu/hqUr83aWVTmA2NY/Ra+Sowxugw==","signatures":[{"sig":"MEUCIQDGLWZDpR59uinKRQ78SrFkMGs7A69gAKDyOYkOCC15UwIgcefW38gSIKuKW3OBau5WdOc/63XfzVUHInr/gNNObGo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135141},"main":"./src/index.ts","type":"module","_from":"file:C:/Users/sun/AppData/Local/Temp/omp-pack-rsfcg2/dude1wudv-snapcompact-20.1.2.tgz","types":"./dist/types/index.d.ts","engines":{"bun":">=1.3.14"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./src/index.ts"},"./*":{"types":"./dist/types/*.d.ts","import":"./src/*.ts"},"./snapcompact":{"types":"./dist/types/snapcompact.d.ts","import":"./src/snapcompact.ts"}},"scripts":{"fix":"biome check --write --unsafe .","fmt":"biome format --write .","lint":"biome lint .","test":"bun test --parallel","check":"biome check . && bun run check:types","check:types":"tsgo -p tsconfig.json --noEmit"},"_npmUser":{"name":"dude1wudv","email":"1602858215@qq.com"},"_resolved":"C:\\Users\\sun\\AppData\\Local\\Temp\\omp-pack-rsfcg2\\dude1wudv-snapcompact-20.1.2.tgz","_integrity":"sha512-ZpRO+PROG9j1YTivYEx2BaZ0bi8FWrYIbdnY13BY2H+8FFHUXCN6BisDjbu/hqUr83aWVTmA2NY/Ra+Sowxugw==","repository":{"url":"git+https://github.com/can1357/oh-my-pi.git","type":"git","directory":"packages/snapcompact"},"_npmVersion":"11.12.1","description":"Bitmap-frame context compression for vision-capable LLMs","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@dude1wudv/pi-ai":"20.1.2","@dude1wudv/pi-wire":"20.1.2","@dude1wudv/pi-utils":"20.1.2","@dude1wudv/pi-catalog":"20.1.2","@dude1wudv/pi-natives":"20.1.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.14"},"_npmOperationalInternal":{"tmp":"tmp/snapcompact_20.1.2_1786776431254_0.7603691504683272","host":"s3://npm-registry-packages-npm-production"}},"20.1.3":{"name":"@dude1wudv/snapcompact","version":"20.1.3","keywords":["context-compression","vision","compaction","llm"],"author":{"name":"Can Boluk"},"license":"MIT","_id":"@dude1wudv/snapcompact@20.1.3","maintainers":[{"name":"dude1wudv","email":"1602858215@qq.com"}],"homepage":"https://omp.sh","bugs":{"url":"https://github.com/can1357/oh-my-pi/issues"},"dist":{"shasum":"6df1902c6ab6ca1dc97408517b3e8b81f250166a","tarball":"https://registry.npmjs.org/@dude1wudv/snapcompact/-/snapcompact-20.1.3.tgz","fileCount":9,"integrity":"sha512-R/QQigWO9QdUebna5wjfLgkwI25r1JTZ0xuUSPGBInmQowPGY0EcC4ilNqF6NbY3uTNooy4hKG+xdHdHCcU8GA==","signatures":[{"sig":"MEUCIQCe4g10842WSbgH2+fu169S0Y3Bh1hd6nXZyVXRiKLjPQIgDGeTnatZ6uCde0May9hDiKyBvimahe6bxIi5lPG/iIE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135141},"main":"./src/index.ts","type":"module","_from":"file:C:/Users/RUNNER~1/AppData/Local/Temp/omp-pack-cCGYjX/dude1wudv-snapcompact-20.1.3.tgz","types":"./dist/types/index.d.ts","engines":{"bun":">=1.3.14"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./src/index.ts"},"./*":{"types":"./dist/types/*.d.ts","import":"./src/*.ts"},"./snapcompact":{"types":"./dist/types/snapcompact.d.ts","import":"./src/snapcompact.ts"}},"scripts":{"fix":"biome check --write --unsafe .","fmt":"biome format --write .","lint":"biome lint .","test":"bun test --parallel","check":"biome check . && bun run check:types","check:types":"tsgo -p tsconfig.json --noEmit"},"_npmUser":{"name":"dude1wudv","email":"1602858215@qq.com"},"_resolved":"C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\omp-pack-cCGYjX\\dude1wudv-snapcompact-20.1.3.tgz","_integrity":"sha512-R/QQigWO9QdUebna5wjfLgkwI25r1JTZ0xuUSPGBInmQowPGY0EcC4ilNqF6NbY3uTNooy4hKG+xdHdHCcU8GA==","repository":{"url":"git+https://github.com/can1357/oh-my-pi.git","type":"git","directory":"packages/snapcompact"},"_npmVersion":"10.9.8","description":"Bitmap-frame context compression for vision-capable LLMs","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@dude1wudv/pi-ai":"20.1.3","@dude1wudv/pi-wire":"20.1.3","@dude1wudv/pi-utils":"20.1.3","@dude1wudv/pi-catalog":"20.1.3","@dude1wudv/pi-natives":"20.1.3"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.14"},"_npmOperationalInternal":{"tmp":"tmp/snapcompact_20.1.3_1786786421907_0.3199008635101934","host":"s3://npm-registry-packages-npm-production"}},"20.1.4":{"name":"@dude1wudv/snapcompact","version":"20.1.4","keywords":["context-compression","vision","compaction","llm"],"author":{"name":"Can Boluk"},"license":"MIT","_id":"@dude1wudv/snapcompact@20.1.4","maintainers":[{"name":"dude1wudv","email":"1602858215@qq.com"}],"homepage":"https://omp.sh","bugs":{"url":"https://github.com/can1357/oh-my-pi/issues"},"dist":{"shasum":"53642c32a791d8cf394655b38cc763075ae5ce8c","tarball":"https://registry.npmjs.org/@dude1wudv/snapcompact/-/snapcompact-20.1.4.tgz","fileCount":9,"integrity":"sha512-N5rN2rz6U770Ewk3Q+1sZa26psf5b25RrN2pKhSzT3su8pgosM2ZNyRWUvVVGLVpEbZEoQ3kyWj/iYNcDXNyQg==","signatures":[{"sig":"MEUCIQDWDVRHaTj4MndccTIlQypOxgB68dldRluuYSYVaRYrXAIge2QZjLZCu29i67IhoWVGeDdVa5ldr1tvJR8ETIVuclg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135141},"main":"./src/index.ts","type":"module","_from":"file:C:/Users/RUNNER~1/AppData/Local/Temp/omp-pack-PWhBeQ/dude1wudv-snapcompact-20.1.4.tgz","types":"./dist/types/index.d.ts","engines":{"bun":">=1.3.14"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./src/index.ts"},"./*":{"types":"./dist/types/*.d.ts","import":"./src/*.ts"},"./snapcompact":{"types":"./dist/types/snapcompact.d.ts","import":"./src/snapcompact.ts"}},"scripts":{"fix":"biome check --write --unsafe .","fmt":"biome format --write .","lint":"biome lint .","test":"bun test --parallel","check":"biome check . && bun run check:types","check:types":"tsgo -p tsconfig.json --noEmit"},"_npmUser":{"name":"dude1wudv","email":"1602858215@qq.com"},"_resolved":"C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\omp-pack-PWhBeQ\\dude1wudv-snapcompact-20.1.4.tgz","_integrity":"sha512-N5rN2rz6U770Ewk3Q+1sZa26psf5b25RrN2pKhSzT3su8pgosM2ZNyRWUvVVGLVpEbZEoQ3kyWj/iYNcDXNyQg==","repository":{"url":"git+https://github.com/can1357/oh-my-pi.git","type":"git","directory":"packages/snapcompact"},"_npmVersion":"10.9.8","description":"Bitmap-frame context compression for vision-capable LLMs","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@dude1wudv/pi-ai":"20.1.4","@dude1wudv/pi-wire":"20.1.4","@dude1wudv/pi-utils":"20.1.4","@dude1wudv/pi-catalog":"20.1.4","@dude1wudv/pi-natives":"20.1.4"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.14"},"_npmOperationalInternal":{"tmp":"tmp/snapcompact_20.1.4_1786817606095_0.3324018608473487","host":"s3://npm-registry-packages-npm-production"}},"20.1.5":{"name":"@dude1wudv/snapcompact","version":"20.1.5","keywords":["context-compression","vision","compaction","llm"],"author":{"name":"Can Boluk"},"license":"MIT","_id":"@dude1wudv/snapcompact@20.1.5","maintainers":[{"name":"dude1wudv","email":"1602858215@qq.com"}],"homepage":"https://omp.sh","bugs":{"url":"https://github.com/can1357/oh-my-pi/issues"},"dist":{"shasum":"d2728862d60977c58219c7ea4272b08f0a3122c2","tarball":"https://registry.npmjs.org/@dude1wudv/snapcompact/-/snapcompact-20.1.5.tgz","fileCount":9,"integrity":"sha512-vmF1GqHDEQjDvEj/OLDisQbd55niWRgk9HiOJRafSIGJ8LKWffGiRZ/UQ7DIpslq1rlN9RCYPBNw61nxWeLH1g==","signatures":[{"sig":"MEUCIQD3d4bXGG/cNaTD0GNk1iAf96/wJVmFaDxTvrS7jpTWQgIgFNC50J7JWhJFiXxcmgN3qZt3u39lUgdJD1rtmNxv5mI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135141},"main":"./src/index.ts","type":"module","_from":"file:C:/Users/RUNNER~1/AppData/Local/Temp/omp-pack-m3inxT/dude1wudv-snapcompact-20.1.5.tgz","types":"./dist/types/index.d.ts","engines":{"bun":">=1.3.14"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./src/index.ts"},"./*":{"types":"./dist/types/*.d.ts","import":"./src/*.ts"},"./snapcompact":{"types":"./dist/types/snapcompact.d.ts","import":"./src/snapcompact.ts"}},"scripts":{"fix":"biome check --write --unsafe .","fmt":"biome format --write .","lint":"biome lint .","test":"bun test --parallel","check":"biome check . && bun run check:types","check:types":"tsgo -p tsconfig.json --noEmit"},"_npmUser":{"name":"dude1wudv","email":"1602858215@qq.com"},"_resolved":"C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\omp-pack-m3inxT\\dude1wudv-snapcompact-20.1.5.tgz","_integrity":"sha512-vmF1GqHDEQjDvEj/OLDisQbd55niWRgk9HiOJRafSIGJ8LKWffGiRZ/UQ7DIpslq1rlN9RCYPBNw61nxWeLH1g==","repository":{"url":"git+https://github.com/can1357/oh-my-pi.git","type":"git","directory":"packages/snapcompact"},"_npmVersion":"10.9.8","description":"Bitmap-frame context compression for vision-capable LLMs","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@dude1wudv/pi-ai":"20.1.5","@dude1wudv/pi-wire":"20.1.5","@dude1wudv/pi-utils":"20.1.5","@dude1wudv/pi-catalog":"20.1.5","@dude1wudv/pi-natives":"20.1.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.14"},"_npmOperationalInternal":{"tmp":"tmp/snapcompact_20.1.5_1786864036855_0.6030037341253502","host":"s3://npm-registry-packages-npm-production"}},"20.1.6":{"name":"@dude1wudv/snapcompact","version":"20.1.6","keywords":["context-compression","vision","compaction","llm"],"author":{"name":"Can Boluk"},"license":"MIT","_id":"@dude1wudv/snapcompact@20.1.6","maintainers":[{"name":"dude1wudv","email":"1602858215@qq.com"}],"homepage":"https://omp.sh","bugs":{"url":"https://github.com/can1357/oh-my-pi/issues"},"dist":{"shasum":"0bbc28b9e7d95b6bdb526986de4c749c629a319a","tarball":"https://registry.npmjs.org/@dude1wudv/snapcompact/-/snapcompact-20.1.6.tgz","fileCount":9,"integrity":"sha512-J4flV74r9ybp15QQCSwlrTzFvEYtAnseA8NgdNKkuJhk0seKFEBi2i5EUYUaAZpkLccVXPfVf8UllOFlyHT/Ng==","signatures":[{"sig":"MEYCIQCEx26efyIi6u+zPg2HtDws4xCcNGoXsV2qBSkE3EZsfgIhANntmgtZhRteRbKc2E6DSDzC6zdmh6M4cHUoraNi/Wfl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135141},"main":"./src/index.ts","type":"module","_from":"file:C:/Users/RUNNER~1/AppData/Local/Temp/omp-pack-pLdiG3/dude1wudv-snapcompact-20.1.6.tgz","types":"./dist/types/index.d.ts","engines":{"bun":">=1.3.14"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./src/index.ts"},"./*":{"types":"./dist/types/*.d.ts","import":"./src/*.ts"},"./snapcompact":{"types":"./dist/types/snapcompact.d.ts","import":"./src/snapcompact.ts"}},"scripts":{"fix":"biome check --write --unsafe .","fmt":"biome format --write .","lint":"biome lint .","test":"bun test --parallel","check":"biome check . && bun run check:types","check:types":"tsgo -p tsconfig.json --noEmit"},"_npmUser":{"name":"dude1wudv","email":"1602858215@qq.com"},"_resolved":"C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\omp-pack-pLdiG3\\dude1wudv-snapcompact-20.1.6.tgz","_integrity":"sha512-J4flV74r9ybp15QQCSwlrTzFvEYtAnseA8NgdNKkuJhk0seKFEBi2i5EUYUaAZpkLccVXPfVf8UllOFlyHT/Ng==","repository":{"url":"git+https://github.com/can1357/oh-my-pi.git","type":"git","directory":"packages/snapcompact"},"_npmVersion":"10.9.8","description":"Bitmap-frame context compression for vision-capable LLMs","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@dude1wudv/pi-ai":"20.1.6","@dude1wudv/pi-wire":"20.1.6","@dude1wudv/pi-utils":"20.1.6","@dude1wudv/pi-catalog":"20.1.6","@dude1wudv/pi-natives":"20.1.6"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.14"},"_npmOperationalInternal":{"tmp":"tmp/snapcompact_20.1.6_1786872899893_0.24996987334529797","host":"s3://npm-registry-packages-npm-production"}},"20.1.7":{"name":"@dude1wudv/snapcompact","version":"20.1.7","keywords":["context-compression","vision","compaction","llm"],"author":{"name":"Can Boluk"},"license":"MIT","_id":"@dude1wudv/snapcompact@20.1.7","maintainers":[{"name":"dude1wudv","email":"1602858215@qq.com"}],"homepage":"https://omp.sh","bugs":{"url":"https://github.com/can1357/oh-my-pi/issues"},"dist":{"shasum":"225df896066ac2643fc584d1ad99d89b58dcdce6","tarball":"https://registry.npmjs.org/@dude1wudv/snapcompact/-/snapcompact-20.1.7.tgz","fileCount":9,"integrity":"sha512-By+G1xZQf8SE05ArC+uGS5XYQRgm8sbeVHY4NI8I4mKOrS2H/76QJXf80pCXKYwCQnLO6F5EwA13rsOCkKahog==","signatures":[{"sig":"MEUCIEuasrGismXRVf77w+0KzpNbqW3xQ/wkVjnWc2upYAElAiEAjy47bMQTJEzeAUNb0yhy/XrnnPvYx225uUgNYJtkyN4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135141},"main":"./src/index.ts","type":"module","_from":"file:C:/Users/RUNNER~1/AppData/Local/Temp/omp-pack-Nz36pX/dude1wudv-snapcompact-20.1.7.tgz","types":"./dist/types/index.d.ts","engines":{"bun":">=1.3.14"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./src/index.ts"},"./*":{"types":"./dist/types/*.d.ts","import":"./src/*.ts"},"./snapcompact":{"types":"./dist/types/snapcompact.d.ts","import":"./src/snapcompact.ts"}},"scripts":{"fix":"biome check --write --unsafe .","fmt":"biome format --write .","lint":"biome lint .","test":"bun test --parallel","check":"biome check . && bun run check:types","check:types":"tsgo -p tsconfig.json --noEmit"},"_npmUser":{"name":"dude1wudv","email":"1602858215@qq.com"},"_resolved":"C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\omp-pack-Nz36pX\\dude1wudv-snapcompact-20.1.7.tgz","_integrity":"sha512-By+G1xZQf8SE05ArC+uGS5XYQRgm8sbeVHY4NI8I4mKOrS2H/76QJXf80pCXKYwCQnLO6F5EwA13rsOCkKahog==","repository":{"url":"git+https://github.com/can1357/oh-my-pi.git","type":"git","directory":"packages/snapcompact"},"_npmVersion":"10.9.8","description":"Bitmap-frame context compression for vision-capable LLMs","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@dude1wudv/pi-ai":"20.1.7","@dude1wudv/pi-wire":"20.1.7","@dude1wudv/pi-utils":"20.1.7","@dude1wudv/pi-catalog":"20.1.7","@dude1wudv/pi-natives":"20.1.7"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.14"},"_npmOperationalInternal":{"tmp":"tmp/snapcompact_20.1.7_1787078939041_0.1909251282836466","host":"s3://npm-registry-packages-npm-production"}},"20.1.8":{"name":"@dude1wudv/snapcompact","version":"20.1.8","keywords":["context-compression","vision","compaction","llm"],"author":{"name":"Stencil Labs, Inc."},"license":"MIT","_id":"@dude1wudv/snapcompact@20.1.8","maintainers":[{"name":"dude1wudv","email":"1602858215@qq.com"}],"homepage":"https://omp.sh","bugs":{"url":"https://github.com/can1357/oh-my-pi/issues"},"dist":{"shasum":"c70b484678086fb909f97d17746b56dc73b9bc6a","tarball":"https://registry.npmjs.org/@dude1wudv/snapcompact/-/snapcompact-20.1.8.tgz","fileCount":11,"integrity":"sha512-03DldQww1nrvdRtO3W3qg/1iqJeShxaJaoBBw8QOlQwuTfiAq3kkp6CZHCBFTNpzsXtwbTbJxIrUWG9v8tp7Ew==","signatures":[{"sig":"MEUCIHACJzXWvUx+tl7jvfz+GoCSPbcP0zZGctWDz63IFbOzAiEA64uUS66nlZv3y+JcQuF4eXem/cl/BFb77i56XH+xK74=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dude1wudv%2fsnapcompact@20.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1221576},"main":"./src/index.ts","type":"module","_from":"file:C:/Users/RUNNER~1/AppData/Local/Temp/omp-pack-kK7K5y/dude1wudv-snapcompact-20.1.8.tgz","types":"./dist/types/index.d.ts","engines":{"bun":">=1.3.14"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./src/index.ts"},"./*":{"types":"./dist/types/*.d.ts","import":"./src/*.ts"},"./snapcompact":{"types":"./dist/types/snapcompact.d.ts","import":"./src/snapcompact.ts"}},"scripts":{"fix":"biome check --write --unsafe .","fmt":"biome format --write .","lint":"biome lint .","test":"bun test --parallel","check":"biome check . && bun run check:types","check:types":"tsgo -p tsconfig.json --noEmit"},"_npmUser":{"name":"dude1wudv","email":"1602858215@qq.com"},"_resolved":"C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\omp-pack-kK7K5y\\dude1wudv-snapcompact-20.1.8.tgz","_integrity":"sha512-03DldQww1nrvdRtO3W3qg/1iqJeShxaJaoBBw8QOlQwuTfiAq3kkp6CZHCBFTNpzsXtwbTbJxIrUWG9v8tp7Ew==","repository":{"url":"git+https://github.com/dude1wudv/oh-my-pi.git","type":"git"},"_npmVersion":"10.9.8","description":"Bitmap-frame context compression for vision-capable LLMs","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@dude1wudv/pi-ai":"20.1.8","@dude1wudv/pi-wire":"20.1.8","@dude1wudv/pi-utils":"20.1.8","@dude1wudv/pi-catalog":"20.1.8","@dude1wudv/pi-natives":"20.1.8"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.14"},"_npmOperationalInternal":{"tmp":"tmp/snapcompact_20.1.8_1787329681857_0.9617001983849818","host":"s3://npm-registry-packages-npm-production"}},"20.1.9":{"type":"module","name":"@dude1wudv/snapcompact","version":"20.1.9","description":"Bitmap-frame context compression for vision-capable LLMs","homepage":"https://omp.sh","author":{"name":"Stencil Labs, Inc."},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/dude1wudv/oh-my-pi.git"},"bugs":{"url":"https://github.com/can1357/oh-my-pi/issues"},"keywords":["context-compression","vision","compaction","llm"],"main":"./src/index.ts","types":"./dist/types/index.d.ts","scripts":{"check":"biome check . && bun run check:types","check:types":"tsgo -p tsconfig.json --noEmit","lint":"biome lint .","test":"bun test --parallel","fix":"biome check --write --unsafe .","fmt":"biome format --write ."},"dependencies":{"@dude1wudv/pi-ai":"20.1.9","@dude1wudv/pi-catalog":"20.1.9","@dude1wudv/pi-natives":"20.1.9","@dude1wudv/pi-utils":"20.1.9","@dude1wudv/pi-wire":"20.1.9"},"devDependencies":{"@types/bun":"^1.3.14"},"engines":{"bun":">=1.3.14"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./src/index.ts"},"./snapcompact":{"types":"./dist/types/snapcompact.d.ts","import":"./src/snapcompact.ts"},"./*":{"types":"./dist/types/*.d.ts","import":"./src/*.ts"}},"_id":"@dude1wudv/snapcompact@20.1.9","_integrity":"sha512-TgVVPV11rzfrxgFLKfLaF6rqhydKwlcUmg9IN3OS08NDNLpd6BWQaqwJ9bsA662cuZZIAGPPq0cxzO7GsY9e9Q==","_resolved":"C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\omp-pack-Jc8OFC\\dude1wudv-snapcompact-20.1.9.tgz","_from":"file:C:/Users/RUNNER~1/AppData/Local/Temp/omp-pack-Jc8OFC/dude1wudv-snapcompact-20.1.9.tgz","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-TgVVPV11rzfrxgFLKfLaF6rqhydKwlcUmg9IN3OS08NDNLpd6BWQaqwJ9bsA662cuZZIAGPPq0cxzO7GsY9e9Q==","shasum":"f6fad937411f212c94f5d62c216bd706719329e3","tarball":"https://registry.npmjs.org/@dude1wudv/snapcompact/-/snapcompact-20.1.9.tgz","fileCount":11,"unpackedSize":1221576,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dude1wudv%2fsnapcompact@20.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDQXolEbMUia1N7zsZtKGBd2EDgQTnsTf0AEN3gU4P8FgIgYfRVPLDyRymC2DZRoUOfJZa9kH5uvIlY7UJLt9mL0Gw="}]},"_npmUser":{"name":"dude1wudv","email":"1602858215@qq.com"},"directories":{},"maintainers":[{"name":"dude1wudv","email":"1602858215@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/snapcompact_20.1.9_1787369205894_0.9129799724637142"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-14T18:07:00.192Z","modified":"2026-08-22T03:26:46.415Z","20.1.0":"2026-08-14T18:07:00.683Z","20.1.2":"2026-08-15T06:47:11.407Z","20.1.3":"2026-08-15T09:33:42.081Z","20.1.4":"2026-08-15T18:13:26.251Z","20.1.5":"2026-08-16T07:07:17.017Z","20.1.6":"2026-08-16T09:35:00.032Z","20.1.7":"2026-08-18T18:48:59.162Z","20.1.8":"2026-08-21T16:28:02.022Z","20.1.9":"2026-08-22T03:26:46.049Z"},"bugs":{"url":"https://github.com/can1357/oh-my-pi/issues"},"author":{"name":"Stencil Labs, Inc."},"license":"MIT","homepage":"https://omp.sh","keywords":["context-compression","vision","compaction","llm"],"repository":{"type":"git","url":"git+https://github.com/dude1wudv/oh-my-pi.git"},"description":"Bitmap-frame context compression for vision-capable LLMs","maintainers":[{"name":"dude1wudv","email":"1602858215@qq.com"}],"readme":"# @dude1wudv/snapcompact\n\nBitmap-frame context compression for vision-capable LLMs.\n\nInstead of asking an LLM to summarize discarded conversation history, snapcompact serializes it and renders the text into dense PNG frames of pixel-font glyphs that vision models read back directly. The whole pass is local and deterministic — no LLM call, no API key, no latency beyond rendering. Rasterization and PNG encoding happen in native code (`@dude1wudv/pi-natives`).\n\nBuilt for [oh-my-pi](https://github.com/can1357/oh-my-pi)'s compaction pipeline, but the rendering API works on arbitrary text.\n\n## How it works\n\n1. Discarded history is serialized to compact text (`serializeConversation`), with per-tool-result and per-argument character caps.\n2. Text is normalized for the selected native font (`normalize`): ANSI sequences stripped, whitespace collapsed, newline runs folded into a single full-block glyph, box drawing and compatibility symbols folded to ASCII, semantic emoji folded to ASCII labels, decorative emoji dropped, and non-Latin glyphs preserved when either the selected font or the embedded Silver fallback can render them.\n3. Pages of text are rasterized into PNG frames (`render` / `renderMany`). Frame width is fixed per shape; height hugs the rows actually printed, so a partially filled frame never bills blank pixel rows.\n4. Frames persist in the compaction entry's `preserveData` and are re-attached to the summary message on every context rebuild.\n\nFrame shapes are provider-aware, chosen by SQuAD recall evals (see `research/`) against real provider billing:\n\n| Reader | Default shape | Notes |\n| --- | --- | --- |\n| Anthropic | `11on16-bw` | X.org 8x13 glyphs on an 11px advance; high-res Claude lines get 1932px frames |\n| Google | `8on22-bw` @2048 | X.org 8x13 glyphs on a 22px pitch; Gemini bills a fixed per-image budget, so larger frames are free chars |\n| OpenAI | `8on22-bw` | X.org 8x13 glyphs on a 22px pitch, sent at `detail: \"original\"` |\n| Unknown | Anthropic shape | Per-provider image-count budgets guard against gateways that silently drop frames |\n\n`resolveShape({ api, id })` matches the model id, not just the wire API — a Claude routed through Vertex or OpenRouter keeps its Claude shape, priced for the gateway actually carrying the request.\n\nBitmap shapes keep their provider-tuned geometry and draw missing glyphs through the embedded Silver TrueType fallback one character at a time; East Asian (CJK/Kana/Hangul) glyphs render full-width across two cells so they stay legible in the narrow ASCII grid. Selecting `silver16-bw` uses Silver for the whole frame.\n\n## Install\n\n```sh\nbun add @dude1wudv/snapcompact\n```\n\nShips TypeScript source directly (no build step); requires Bun ≥ 1.3.14.\n\n## Usage\n\nRender arbitrary text into LLM image blocks:\n\n```ts\nimport { renderMany, frames, resolveShape } from \"@dude1wudv/snapcompact\";\n\nconst images = renderMany(longText, { model }); // ImageContent[], first page first\nconst count = frames(longText, { model });      // frame count without rendering\nconst shape = resolveShape(model);              // eval-optimal Shape for the reader\n```\n\nRun a full compaction pass over prepared messages:\n\n```ts\nimport { compact } from \"@dude1wudv/snapcompact\";\n\nconst result = await compact(preparation, { model });\n// result.summary        — short \"resume prior conversation\" lead-in, reading guide, and FILES section\n// result.preserveData   — bounded archive source + rendered image middle\n```\n\n## API surface\n\n- **Compaction**: `compact`, `CompactionPreparation`, `CompactionResult`, `getPreservedArchive`, `images`, `historyBlocks`\n- **Rendering**: `render`, `renderMany`, `frames`, `geometry`\n- **Shapes**: `SHAPES`, `SHAPE_VARIANTS`, `resolveShape`, `resolveShapeForText`, `idealShapeVariant`, `isShape`, `isShapeVariantName`\n- **Text**: `serializeConversation`, `normalize`, `scanRenderability`, `renderabilityProbeText`, `dimStopwords`, `wrap`\n- **Budgets**: `providerImageBudget`, `MAX_FRAMES_DEFAULT`, `FRAME_TOKEN_ESTIMATE`, `HQ_EDGE_FRAMES`\n- **File ops**: `createFileOps`, `computeFileLists`, `upsertFileOperations`\n\n## References\n\n- [Monorepo README](https://github.com/can1357/oh-my-pi#readme)\n- [Compaction architecture](../../docs/compaction.md)\n- [CHANGELOG](./CHANGELOG.md)\n","readmeFilename":"README.md"}