{"_id":"pi-lens","_rev":"140-4fff34dffe7b20c9c0beb76bc6f67473","name":"pi-lens","dist-tags":{"latest":"4.3.0"},"versions":{"1.1.0":{"name":"pi-lens","version":"1.1.0","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@1.1.0","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"21e09adf0a569de0efdcfd8f9a6050a0f89f8695","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-1.1.0.tgz","fileCount":79,"integrity":"sha512-urbP6aagelMMDB3IAeiUgmJ3t8nSs++Lsowbpwz8Rn/SZ5M83ufFLZp0zskayeVOxjR9PSlm4BdE22uSnc1QZA==","signatures":[{"sig":"MEYCIQCgzve3QJ5Wd/8n/lLyz5Dmm8Kq+AZuiShelN1hk4M/YwIhAN4fJPzu8z0T8Ij7Mk8uqkP+BlBmYr4VL9s3Za9N25hP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131991},"main":"index.ts","gitHead":"ba47a802a7d52da2b52e823b6d6e7dd9d79d92be","scripts":{"build":"tsc","watch":"tsc --watch"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"vscode-languageserver-types":"^3.17.5","vscode-languageserver-protocol":"^3.17.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_1.1.0_1774219194635_0.7500585548191085","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"pi-lens","version":"1.1.1","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@1.1.1","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"3c21a450955da370d1d204b101a1e14cbd3ca337","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-1.1.1.tgz","fileCount":76,"integrity":"sha512-J8U8kKcUa78v7o8fE+vfXSJXZHB8H1Zmz1djxMttM+k6jq1qltKB3u/Va9FQFjzienQODK+TDp/WkgJNDGZl9A==","signatures":[{"sig":"MEUCIQDM/c/fJe/fG3mFLpmiUOD7H/wCxVieGEs1M+K+qDGsVQIgd0av2pjPszVz3UhQ9iD8SPJ2+jitnE2KLjiGScXnoHE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130722},"main":"index.ts","gitHead":"cce5de3670d69fb0b3808a8b0b656ca6a3e53655","scripts":{"build":"tsc","watch":"tsc --watch"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"vscode-languageserver-types":"^3.17.5","vscode-languageserver-protocol":"^3.17.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_1.1.1_1774219891571_0.6131973757679741","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"pi-lens","version":"1.1.2","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@1.1.2","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"9a84c8441ec7e39ebb9b20816386ace05cd87e2f","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-1.1.2.tgz","fileCount":76,"integrity":"sha512-Hh7VY+k9ROS7PzQUJNPvwRNkFMMANSdoUtYOCDXTuZ98fCJA9EDr3Xl+f2irDE2g0o7LK5Msa23tUPv5KV3WMg==","signatures":[{"sig":"MEYCIQD1uTCCRvMIUA/P7CRLeX999T+l2vCyt/c3lVp7X29+swIhAOeCYJDFG1BSYPEqNehj6m75WZwPua1c/Ahl/QDEWxiA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132533},"main":"index.ts","gitHead":"18c4a8e17803c9f2b73d291cc4a54bddf9d36e7c","scripts":{"build":"tsc","watch":"tsc --watch"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"vscode-languageserver-types":"^3.17.5","vscode-languageserver-protocol":"^3.17.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_1.1.2_1774257940587_0.7397823605341716","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"pi-lens","version":"1.2.0","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@1.2.0","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"6c58ee252f27255e9b58c76bac43e36a9f27e0e0","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-1.2.0.tgz","fileCount":76,"integrity":"sha512-ThRD3KruvtDyxWammerK9xGR6uJvMjLwlZHrY03x3+heAzjs942WcvVNMj39Cp8x76P0RnJcDXdqa8vt2itSbw==","signatures":[{"sig":"MEQCIFwxXsLNxKBk+mFGQEabUQ88Y2l7Acv11w/nc3M5qAAhAiBzv+A+lQ3l7AnRd+UZ9dvuareEWpvbweQKKFWCmyzlNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142968},"main":"index.ts","gitHead":"06106343f267e8cdc3c6e9b017a3aa437f7b1c8d","scripts":{"build":"tsc","watch":"tsc --watch"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"vscode-languageserver-types":"^3.17.5","vscode-languageserver-protocol":"^3.17.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_1.2.0_1774271786747_0.07716577658761836","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"pi-lens","version":"1.3.0","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@1.3.0","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"f1412af3419c7a346cb4b7c7822a860eaedf3a91","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-1.3.0.tgz","fileCount":77,"integrity":"sha512-ztUyosl+XO4Ujy4U5W90gs/aXsfBmQex9+ibK8iZmBELfCHWDVTboGyPBj9th+UFpkoUMOhidp6yFt/ts+DYXg==","signatures":[{"sig":"MEQCIAHa0MZBmyTbcytAfQMcy2HTe3/t0awoYTxvCN3IXvxIAiAp3rxijiT3v7cAaE4nzWw/c3jOem+GvXEVrzGxcMDRLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143946},"main":"index.ts","gitHead":"114fdc7ce7fa257233a8239661268ffc03c30dd8","scripts":{"build":"tsc","watch":"tsc --watch"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"vscode-languageserver-types":"^3.17.5","vscode-languageserver-protocol":"^3.17.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_1.3.0_1774273269825_0.7842033922712619","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"pi-lens","version":"1.3.1","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@1.3.1","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"395f04eb8bd7b6830e0f8a65f59e913e8ed4dd7b","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-1.3.1.tgz","fileCount":77,"integrity":"sha512-M+8Kaw52zyjGwXE5uEs7OQk3Oi8c5O2IVBa8tGqWxmCefZXRC7cXqTzpMGSaYY/S+PeTSV3lMCbbW/btcKQXyQ==","signatures":[{"sig":"MEUCIQCzTjFvMrdkbxjWEwKV7y5NK18JA1uYTt+CDSV2z+LvtgIgFItRE53xibxp4WjywNeNpUAUhS0jeauYDTFcxTNevl8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144639},"main":"index.ts","gitHead":"430d188d74a6af182b1096155de29f7331becc36","scripts":{"build":"tsc","watch":"tsc --watch"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"vscode-languageserver-types":"^3.17.5","vscode-languageserver-protocol":"^3.17.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_1.3.1_1774273731836_0.10088363612808937","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"pi-lens","version":"1.3.2","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@1.3.2","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"90919b54e14d77ea20a82c1bc53c6a453843fc0d","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-1.3.2.tgz","fileCount":77,"integrity":"sha512-l4lRDEDnbKW6NkNFp1SGbucQqDxRnEHvi4BR+TBQIE8VmySddEOlIJBwlIuG0oA/iQanJsEYqhED/rTVfLjgAg==","signatures":[{"sig":"MEUCICq7JXgWnOZWzIBJwFrzFcZ2G+TUJ4zPqfDt1BsOrgguAiEA0Y9LI8Jd+apxOUogzXPyI2bRBC4LqJL3d+OTXCbG6uE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144639},"main":"index.ts","gitHead":"1782804ee1b308da061bd13f720985066185bfbd","scripts":{"build":"tsc","watch":"tsc --watch"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"vscode-languageserver-types":"^3.17.5","vscode-languageserver-protocol":"^3.17.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_1.3.2_1774274442912_0.4434007869341072","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"pi-lens","version":"1.3.3","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@1.3.3","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"443113690a047a5bf2cfb168ac69d19d873e3137","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-1.3.3.tgz","fileCount":80,"integrity":"sha512-4Nvf5MYPtumm2UozUaK/9HVGHmd2XDOPKEbmAaqi9Vs7mWSkQVy6pCIQWyBKZEtgofQ2NJ1nK3kRKl7nTlJKdg==","signatures":[{"sig":"MEUCIBsUEl6Z6NKRxTJBdfegwyzu1Cq+fE5t24tFdbInEVpLAiEA0PYnzPSS0ns3KJODJl4a1ilX/le2gxTHbBmH2y0M/l0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148376},"main":"index.ts","gitHead":"a5d51b94ee3f3701a17ed0902909aab7d94fa1dd","scripts":{"build":"tsc","watch":"tsc --watch"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"vscode-languageserver-types":"^3.17.5","vscode-languageserver-protocol":"^3.17.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_1.3.3_1774279403060_0.5554476591090804","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"pi-lens","version":"1.3.4","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@1.3.4","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"fb425c3eb8600a7eb860122e88e05c3e84f06e50","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-1.3.4.tgz","fileCount":99,"integrity":"sha512-DARDGj1x7dbfVjcSk0c8CRv2DAgjz93KOrxliDQCCSZ3JkDZWZ7TgTK4FxZG2Fz6XTF79wRXRuZiGb4noyreTw==","signatures":[{"sig":"MEQCICi/1ldH3nmNtN4EK7jJMeOCPfLVZfKiljdjbv2t5dsuAiAx0gFfgaB1QsjMZ5t2dmQ9d4jOhzdkAEqFRRB/IVJ01w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":290542},"main":"index.ts","gitHead":"c166a99259f480dc3a8d74e7e338a94ce98c15b7","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"vscode-languageserver-types":"^3.17.5","vscode-languageserver-protocol":"^3.17.5"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_1.3.4_1774452777827_0.16033583516520733","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"pi-lens","version":"1.3.5","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@1.3.5","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"36451b52c6ccac5e3b46eb1fa8672fa3cb5387c8","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-1.3.5.tgz","fileCount":99,"integrity":"sha512-73cbnMSeK/TxZLedzqMxxz82YrOvDItl6AARVqWU/0T4YtY0SwM7HxsUC3iJ7CDXMSzcAUBbAry8lpA03rIAHw==","signatures":[{"sig":"MEUCIQDTpPNQIjJ2UaeRZpNk70P/bB8QG8z1e7RCqP8vrgWHLQIgLc+dKMF26v+7gMGpO82gLz13mfNTSZ0QBhkeRuen3ew=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":287216},"main":"index.ts","gitHead":"69b845fcf4738613cd836271ee91159b05e3bf0a","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"vscode-languageserver-types":"^3.17.5","vscode-languageserver-protocol":"^3.17.5"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_1.3.5_1774454616093_0.8922083453609115","host":"s3://npm-registry-packages-npm-production"}},"1.3.6":{"name":"pi-lens","version":"1.3.6","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@1.3.6","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"83afc611be51c4d7a3c980e82d6b549c1ab9c25f","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-1.3.6.tgz","fileCount":99,"integrity":"sha512-CYC+6r+ra+EyuCLiseCBWLFvIkL6LHOV8LMn0kk8nkXw2IOVb4adVpO3nXi9AL7N0XyxGG2qWERPrKP3k4F41w==","signatures":[{"sig":"MEYCIQCeVBBqRWZH4BDLdRItLirZLEwMU+Y7MIIZk8xfq9nFpAIhAPLR4dfmFvMKRQTDOg5enkhs/+Sla8Q/Xn6hah6H0L7U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":291460},"main":"index.ts","gitHead":"c9e0a60f6b736c880be4a3a23797bb3e004d49ea","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"vscode-languageserver-types":"^3.17.5","vscode-languageserver-protocol":"^3.17.5"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_1.3.6_1774459386283_0.24944654023785873","host":"s3://npm-registry-packages-npm-production"}},"1.3.7":{"name":"pi-lens","version":"1.3.7","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@1.3.7","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"cee7a10d6ee9a560367d18dedcc87788cd8eceb9","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-1.3.7.tgz","fileCount":99,"integrity":"sha512-Sf3IGz5ChUzsEgp+5wPscXdYhTXGmUpgbECp9ALOYZCAUF1wSjfLTrU6Hs7lZKQdGpFV1OLl1NGv1ojDSYW8zg==","signatures":[{"sig":"MEQCIEKaNzklC05vDfXopTRBInmYWPsPbSqXXMM/9ofQZYSWAiA4V4ocVHa5oFwZKEUVuGyR6bIRzKwr7ma+0pWRmGMh5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":295632},"main":"index.ts","gitHead":"943ecfaebe78bf8a381a473022755064e1a03249","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"vscode-languageserver-types":"^3.17.5","vscode-languageserver-protocol":"^3.17.5"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_1.3.7_1774461232423_0.900209498914128","host":"s3://npm-registry-packages-npm-production"}},"1.3.8":{"name":"pi-lens","version":"1.3.8","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@1.3.8","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"c28cb064ba9e66d216d4c4815aa4db18a0d5b96b","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-1.3.8.tgz","fileCount":99,"integrity":"sha512-ZY7E6gRVQhvMa9VA6eTq0q+DgZQIhee6rASxzwsfF1mbsoPz+OZEhrhed7FKe1DAx1oMvkwhufQLIDvF0JsIVw==","signatures":[{"sig":"MEYCIQDkvHcJF5c8muFO5EkmYcjGi1Mwqg0DZdvxH+QUC6qSMgIhAPPN3++3NSXAJ6EUfoiUIqLDE6ndMGN5l4gbAmDhjPp9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":297557},"main":"index.ts","gitHead":"344be4723f26369c01927f285c7f296ce725d1bc","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"vscode-languageserver-types":"^3.17.5","vscode-languageserver-protocol":"^3.17.5"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_1.3.8_1774463493815_0.029866730103501826","host":"s3://npm-registry-packages-npm-production"}},"1.3.9":{"name":"pi-lens","version":"1.3.9","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@1.3.9","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"3cd00287081752b7163802c5f918840efdd61cc2","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-1.3.9.tgz","fileCount":99,"integrity":"sha512-HgrlsimtP02o6UDsep6IWwXLqM2CdF+PsVld0K6I+Sk8Wv3Zood7Mhp7/3Xm30zFYbSh76XFE0obwwhvZsiUkw==","signatures":[{"sig":"MEYCIQCHRY5lgsWFuRMvaZor0XI25gxjzOhbYu6OBDDHE2zLVwIhAKK8gnwWx9C0QfI0cfs5+4Wesmc/DtEV4l/icaU+hEMR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":297361},"main":"index.ts","gitHead":"b8397509f4702009015a6ad26de5c50accd0625c","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"vscode-languageserver-types":"^3.17.5","vscode-languageserver-protocol":"^3.17.5"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_1.3.9_1774464117816_0.17859839521448184","host":"s3://npm-registry-packages-npm-production"}},"1.3.10":{"name":"pi-lens","version":"1.3.10","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@1.3.10","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"724c0768049e3c24f10af0dbac75e568f7e3ccf6","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-1.3.10.tgz","fileCount":99,"integrity":"sha512-I0yyMzC/0yXAtxbt+FOdvcYUaiyUu9CjmedOi8pNzvx4p07lY+XFN6u2DZ9QehzTspvkh50IOZQQARS3ZO9nqw==","signatures":[{"sig":"MEUCIQDVSmRvGoAxogWfu3F4CR6NYFd0BlydVtymk03OXgC59AIgFIQ66q/cBOM6WBeSYvQEDcVoFxZCnC+5lWW3zDQ4Oyc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":298824},"main":"index.ts","gitHead":"9908d6c8bab637027376be2e1a50b049f22415d7","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"vscode-languageserver-types":"^3.17.5","vscode-languageserver-protocol":"^3.17.5"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_1.3.10_1774464818512_0.3361199598445801","host":"s3://npm-registry-packages-npm-production"}},"1.3.11":{"name":"pi-lens","version":"1.3.11","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@1.3.11","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"da1e92c7b134740326ba924f19b70a348326381d","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-1.3.11.tgz","fileCount":99,"integrity":"sha512-yegThGRGrU4HuuOTMaWiasEWEu3urH65Rh4ugOH4+gFWUWQ/XsSixDtUfsb3e4wkSlmblEvjBO3xO07yjyrRAg==","signatures":[{"sig":"MEUCIQDadIZiZRxSh1ReaQwPIuJbYbhjX0lNpXa0PHn8QWoH0QIgFeBDQboJHPEYYuJJRwiTeGjMAOdBjTRYR+5ZMcOpias=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":299016},"main":"index.ts","gitHead":"99779d7ae3c8ccfdbdc485ac387cba2fe5c8ae92","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"vscode-languageserver-types":"^3.17.5","vscode-languageserver-protocol":"^3.17.5"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_1.3.11_1774465221501_0.3563150884305164","host":"s3://npm-registry-packages-npm-production"}},"1.3.12":{"name":"pi-lens","version":"1.3.12","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@1.3.12","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"a86056da0662f25e3797c429ac2dbd26f95a992d","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-1.3.12.tgz","fileCount":99,"integrity":"sha512-Yk5v4YfgSqiVmgkBCHFnJNVr2MPPAhPD0Lj63tUyyGFoEz+DXL/1SzSuH80sFPDtMckV5+yvuYlo/w/uNEYWrw==","signatures":[{"sig":"MEUCIGCnluyjVgKKiWf4USoLEDYyt96raAu20Udb3eAMLaUpAiEAhYDnaX5wvhegqihy0a3ipfCAVc07rjTv5BIRHaQD6Fw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301675},"main":"index.ts","gitHead":"ad2196ad2764683e685335c51da4022cb2bc75fa","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"vscode-languageserver-types":"^3.17.5","vscode-languageserver-protocol":"^3.17.5"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_1.3.12_1774465636546_0.1606263431982533","host":"s3://npm-registry-packages-npm-production"}},"1.3.13":{"name":"pi-lens","version":"1.3.13","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@1.3.13","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"cda6b12e2bf506bb271a5c93f10377908eb2e392","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-1.3.13.tgz","fileCount":101,"integrity":"sha512-1EA0GPvzl12sO4HIhelIqDCvdtjgAmAqsEmEwmKUZc/f8SIBIZMWqBbj/t6xpUTedGA1Ywmx9XMn777hO4EQgw==","signatures":[{"sig":"MEYCIQDKmHxYMlNwxh6x3dZbF47jo2hE0h3kE/H+JK0nRSQ3BAIhAPj21hdFE6DJ/XPHQzKMy5If8cBBJ4KB7bwY2BjP+RU/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303518},"main":"index.ts","gitHead":"1d47f4e04a6ed91af8f02b6f02e1b386516bb0fb","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"vscode-languageserver-types":"^3.17.5","vscode-languageserver-protocol":"^3.17.5"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_1.3.13_1774466291838_0.9824077547167265","host":"s3://npm-registry-packages-npm-production"}},"1.3.14":{"name":"pi-lens","version":"1.3.14","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@1.3.14","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"1b5de171453f816c3fe65d74bfb601e20dbf3b40","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-1.3.14.tgz","fileCount":101,"integrity":"sha512-ohRv6m6bh7QmMARzIuzHrfnUzwairB7Gmg+5vW8rU2DOVRilOdTzP33pjGxZkzTORWilI6q4KgOvVivAjtj5bw==","signatures":[{"sig":"MEUCIBTg1gTnSTPT1KF8MEtZ0ghBeMzo8GMJuutvdCptGX52AiEA4rSgMAXpbriRdMCiO/uaZVyEhI/NQEfzcoOsIKoBT10=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":304981},"main":"index.ts","gitHead":"aadfc13d1a9e5f5ef6c8588fb385c44692eb0ba2","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"vscode-languageserver-types":"^3.17.5","vscode-languageserver-protocol":"^3.17.5"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_1.3.14_1774466731812_0.5517786747304163","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"pi-lens","version":"2.0.0","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.0","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"71c0f7b63bc42fe656f07fddfbc6c8314d08ab68","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.0.tgz","fileCount":103,"integrity":"sha512-ukUUAEajTDpuJ/5J/8p1hPe2bvBO/O5FBvNoLrUI6K5rIsuI2Td35ehTm9VsCI8EhiaAd1L1aio1gCVrwPPZSQ==","signatures":[{"sig":"MEUCIQDL/zGM4nW4AvWpK//kCC6X8RzFSRWX4PdlGEMtUjT3gAIgbwbx7xikg7RXSzYLYIfNasgHH1oTFdxUqaKK2ZSZYIQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":331943},"main":"index.ts","gitHead":"c2e39584476896e93cdcda3c96386a671a9519f3","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.0_1774471723353_0.7925214587967129","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"pi-lens","version":"2.0.1","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.1","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"8cd9cdd7ec0c5d8fb298f57a0a224ba22a2d3875","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.1.tgz","fileCount":103,"integrity":"sha512-7BvdSNHO3Te5zaOv+0W20kOLebQP56IHb9B3v5OvjsgGCTuiTwAEcds95WZgWahZZ+fi1lnI5ZWHQGGWoCQUZg==","signatures":[{"sig":"MEUCIQCL/dSaWT8b4lBXBiomQ4o0APT+1JXjFRtjuK5xbYe7AAIgTthD9fFdG/Po+V0NNCKQnKlUP1yaK4c2FKA2s0bE9+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":332420},"main":"index.ts","gitHead":"4b9a8bfad13f474aaed24818f40f6e4f4c3e4dc3","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.1_1774473000336_0.3779111469538312","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"pi-lens","version":"2.0.2","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.2","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"1928835656ff3e8552d435cb74c5dc34479e3886","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.2.tgz","fileCount":103,"integrity":"sha512-mulZ78OCsAULQcKojNk06zWLY3RLnwABkFPJGBP6XQQmgQp7Hf5ejT6Q1x7v4345jlhGJPnCJo1AZ0R3O4mSRg==","signatures":[{"sig":"MEQCIFsGh06zRC2JPixufHbMxJAcoPmJgC9jjZ9xJxXyqCI7AiBGZNS0tGiBlu8j0S1PTuwsdJWWFA2+4IzNaoW11IMXig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":333819},"main":"index.ts","gitHead":"9ca633e78e8702945a48eeea41c3cee85a644728","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.2_1774473105211_0.2408459977083055","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"pi-lens","version":"2.0.3","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.3","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"ae18998d647922e8680da59046f3eacc76676258","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.3.tgz","fileCount":103,"integrity":"sha512-6BjHFlYkcBdPapvoHo/yzsFO3y8wLJAI/IA7JY0FIxc/PqWWk8Kr3atPGzOL2fi/QNGyhdcV8SCay0saJhSAYg==","signatures":[{"sig":"MEUCIQCboUZWlmJciQnLIhurlVVulMPlAa9Vp2cbOntAHlPzFwIgNgTL+eQXJ3jarEYq3q1Nbc4+ajn5I14EgQ4H7/AFku8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":334207},"main":"index.ts","gitHead":"52a499c7e617cbd49e6080e4133f092811039ab5","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.3_1774473382459_0.5955549266664486","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"pi-lens","version":"2.0.4","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.4","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"2a1160ac1bf3f00fae728457760bda44777df557","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.4.tgz","fileCount":103,"integrity":"sha512-FwQrOkrFi8lGAmrzTHnc2+TbWCrVA9FjzaaIFoC88t7UqtV7Dfz/yPFBVm4GkWVS29iiDZG6NP8kX/7PU5ml/Q==","signatures":[{"sig":"MEQCIHYH9uZKA4mQAwNd5usm0TYW2fvoxmGPx6DFNIXHJGHlAiB8AHSPIBidZtce34URs/ZkFd6Z4Iemlpmt75pAyE1VMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":334250},"main":"index.ts","gitHead":"1239c4128cbcadc020a6eb2306f74db599588da0","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.4_1774473625923_0.4159627051378081","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"pi-lens","version":"2.0.5","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.5","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"17ffc856a959d50c3d19a0d77f5a39091d0ab03e","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.5.tgz","fileCount":102,"integrity":"sha512-ikqrUpq1/nTT7erThNHRWFO61DP+MfLtIj3R2OKhWqBxKik2FX9sP1UwMtM1Lu8vorrn3AraZ5MSlD8MsbmDpg==","signatures":[{"sig":"MEYCIQD4jRbpm24v9lr16dDWO50B8vhdM/ULLna/F48GyuHn7wIhAKmmi92SB3UsBzUP7uS8PqGdAyxCGaDjD106rJHdANKO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":334128},"main":"index.ts","gitHead":"9449ed30cdef5cadf888ae2f9ddbea82f7372020","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.5_1774473955381_0.8340637121411882","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"pi-lens","version":"2.0.6","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.6","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"47a9a8f9b14a8159c2b9b890fcd7ff098bba3255","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.6.tgz","fileCount":102,"integrity":"sha512-mb7aCslZfyQ8qBOmLeb435vZPVDgDEifAybO671BCiH+cbL0OayrhNNMqWYbi9chJwUmO3TYLAHsOgOYNaiRgA==","signatures":[{"sig":"MEUCICKbSKFs3qG5zsSyT8RK67QMuFQMCt0F43zR6N33+DLqAiEArgWTUKrIewIZlK8OcQX5OHdy6XSH9N6fXy0meHT9Eck=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":346512},"main":"index.ts","gitHead":"7872ae1b579454475306a17c4400a828edf22e5c","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.6_1774475076713_0.7217835880224901","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"pi-lens","version":"2.0.7","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.7","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"6081653af91f09a0077a71790202e5b891760730","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.7.tgz","fileCount":102,"integrity":"sha512-f2b+O1+xAHEfwRMBtpuBVO/oHp/F8duFZUKJtLbHlJnH43hqOLBVSSaVTq9JpzIEv4MhZYlpwkvGkc0zfQXXWg==","signatures":[{"sig":"MEYCIQCKBd2bmun/jW1TkeC9gmTfsUk3qUroNCRKXX7/sAr2vQIhAN3py3vf2Ue0YTcwNfSn/3eedhmSh5/qLxbOMFm78VZs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":346828},"main":"index.ts","gitHead":"91c605ed27a7393e1da526aec1801c5c4c33613d","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.7_1774475171689_0.4187051772327717","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"pi-lens","version":"2.0.8","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.8","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"dbf62cf895e6e5bd4e3c9f30763aa2f6847f1a02","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.8.tgz","fileCount":102,"integrity":"sha512-AzzA3hD2nx8OMY41BBLZlFivRaRqLjjcjlvyHKN04Rk5Q6Z1S1D/Z275u9lKHevwMxqGVy3HSzm4pemjhPFRgw==","signatures":[{"sig":"MEUCIQCqquSIope6b1pCkjAngVeKdriSARLIScnanU/iz6fkEwIgeKf1myYntLMdZkMLX6VCFCsNuWr9kZwwXL9vsn3exxQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":338415},"main":"index.ts","gitHead":"d44dd73f1573d0fd4e0e8fb219602f63c004f231","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.8_1774476140246_0.7318039135747059","host":"s3://npm-registry-packages-npm-production"}},"2.0.9":{"name":"pi-lens","version":"2.0.9","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.9","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"57b973ec802e897280274431b8f76cbd9973c79d","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.9.tgz","fileCount":101,"integrity":"sha512-bI3WeYjDLkKdj6sex7MH5jCpHlgzflUGurYZOCkVF6YBRPd6ITpak/BY28WewlSHBUHbASjb3ks4vkx6O+tJ5w==","signatures":[{"sig":"MEQCIDJPsiYKxBQqGpIReKi4uWi6jkI3B1Tl9GocNF/zvh4sAiA2F8U1O4GZ5ilAE1BV2BCCRNVIJOjnYuu4yvQDFkdm3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":338720},"main":"index.ts","gitHead":"4960b34dd165ff0221f23c423b98d3b57d798e5e","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, TODO scanner, dead code, duplicate detection, type coverage","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.9_1774476626463_0.7811806090768678","host":"s3://npm-registry-packages-npm-production"}},"2.0.25":{"name":"pi-lens","version":"2.0.25","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.25","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"c43e409f7c6986d410f7b34479ef9a4b7b5bfe70","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.25.tgz","fileCount":146,"integrity":"sha512-G2v47RqzQ2cruDA+UZ9FuqlQ0gjuQC7ZQ9H/n1kmlHVCUkLlR/aBptYTa/J/v7fpRUFDaxk7nEiWEviiiqc/QA==","signatures":[{"sig":"MEQCIBr6yb+QjmIIQ7sKuHtz1QZo7DsV1CrsVf6EKxjYCgGMAiArL9GlhqBWZ+fbWOO8U63ydL/AGhyVP2YXJBwStv3O5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":640789},"main":"index.ts","gitHead":"34242028d745b615924a0ae6dbb6add9acca3d8e","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.25_1774526787448_0.8749473461061341","host":"s3://npm-registry-packages-npm-production"}},"2.0.26":{"name":"pi-lens","version":"2.0.26","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.26","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"582b058c01476b3d43081c921f4ac9bd35f82e9d","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.26.tgz","fileCount":151,"integrity":"sha512-JwElW4gEw8M8215BOPFfQmBke5bNSLCUT59Rbm/bV+qW10za4IgtWbjhukIZ2C+avf/d8/0W4YvahI1rBKQgdA==","signatures":[{"sig":"MEUCICxEo4dzCp8xcR77Z+lznwKe3UIKpDUx6x9J6iLTnP2yAiEA1osz4DMaOM99Z3l1V7oGnRz00FmNgbBVSuJb2V+ogzE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643817},"main":"index.ts","gitHead":"b62fe5531f5c8494755f7229a54a5d15f2c4482f","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.26_1774528777528_0.5105143298026249","host":"s3://npm-registry-packages-npm-production"}},"2.0.27":{"name":"pi-lens","version":"2.0.27","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.27","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"42180bfc11618455983922df8f07e7dddc3712f8","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.27.tgz","fileCount":153,"integrity":"sha512-5L2cqXj1myo1NMACYXAtmUXyu4X0K9Qo7gq5nBpsUAceSkcOuupe+CdV48xO8LX4fHW+nrx8uKAiXVl7ke6/WQ==","signatures":[{"sig":"MEQCICGdPnl51riGwfm9WKRZSNoACskmN1BJe4LPUCm7bcYJAiBZ3emY04RF0Uv10gYpoVNuEQ76lh7ue4/l+sJe2fdfFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":656913},"main":"index.ts","gitHead":"dbbe7f9354a52d9e7b0921c72caeff5e79832c29","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.27_1774529546278_0.19431641448153125","host":"s3://npm-registry-packages-npm-production"}},"2.0.28":{"name":"pi-lens","version":"2.0.28","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.28","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"97e886cf6cb1d3319fd367dc762ede7bdb5ceae7","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.28.tgz","fileCount":153,"integrity":"sha512-h62xFApKlG2Q5/eiKcj2VImCnD2RNgRtDgIPFIhqs616HOmEdQtrxATAeigotkE9QCx2r1KB80sz8N8Y1hpeYw==","signatures":[{"sig":"MEYCIQD70XO4PDr4KkCjK9X/1BHskejK7mQ0mxLXJHVkxoAq/gIhAM5nZaAzJL+8jFyWEUzDbIb38qDoACbc9bB1IqKiUXLT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":658696},"main":"index.ts","gitHead":"ea4c6ca63d9c550ce1c3320cf40767e40d91fc3b","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.28_1774529688462_0.26944209305006805","host":"s3://npm-registry-packages-npm-production"}},"2.0.29":{"name":"pi-lens","version":"2.0.29","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.29","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"2b0bbf454a25960c308d2d9675451c6387c4cf26","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.29.tgz","fileCount":152,"integrity":"sha512-8XPCx2po/uJbLKyERmLhX/3Z9sYnolHN8mvhhLAXxJ69UMaLOWbHM6BnLIKsBj70ackDFc/UlCgrl1TBLMePpw==","signatures":[{"sig":"MEUCIQCp9WQ+TGi7p5ZD79AUVlU+MOayKcX3uHPz6mfxOku9SAIgaTTSvbyj8tCdg7FN8l7PwwCF0C42QbzsTWkJO6UsxpQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":665945},"main":"index.ts","gitHead":"9f06ed0519d79fd93512c0bcb682803334984213","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.29_1774549133034_0.961805406157501","host":"s3://npm-registry-packages-npm-production"}},"2.0.35":{"name":"pi-lens","version":"2.0.35","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.35","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"feded8a8c448c8992584037c2f23deb0ea4fd6c6","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.35.tgz","fileCount":154,"integrity":"sha512-xDEjbvj9SBboOR+IATqEomjzGLGtU2JWtM3AiAqzVtB4bVSpOdoQF5OCKg6sG8oBm52PjhD2kumGDOvmpGSc7Q==","signatures":[{"sig":"MEQCIHWmaBV3ccO3E1HQTSBJsPlAy5Wr/37KF5SzikCO7+ZtAiALvobemXdxbpDcQkBqL/b+CdctJTvlQbPLnxY0eGVCbQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":688040},"main":"index.ts","gitHead":"609ef75079d0b37214e4e47c96c5bd2119eb3d61","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.35_1774551937961_0.7419080281937027","host":"s3://npm-registry-packages-npm-production"}},"2.0.36":{"name":"pi-lens","version":"2.0.36","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.36","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"6b65378b64cde8cb56341750140777705c8a79c9","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.36.tgz","fileCount":154,"integrity":"sha512-NbQO+Wnmcoz/XP0iaKzSG9Kr96TgdYgD9zyvK5W9W7MOVvwQXT/8wqVRZAoAWyfB8s+lpy1DViBUIUf+VOPmgw==","signatures":[{"sig":"MEQCIAYrgg5KVLlhLm0FQb0qLNEI61LMNUIoC+mEj9p3gtjBAiBmp8nnUUOkV/OIdDUBwh9AlcksHw75SXfLT89PZ+5Brg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":688190},"main":"index.ts","gitHead":"4b7cd77f8844e536ada86ef37f247bdb2de14642","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.36_1774552226112_0.06875462987202874","host":"s3://npm-registry-packages-npm-production"}},"2.0.37":{"name":"pi-lens","version":"2.0.37","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.37","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"50bdedcb370fb0217d60a595385e9debe4e3de26","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.37.tgz","fileCount":154,"integrity":"sha512-iFgqumFOSX2lzCUnpp/SiEvCK2NgR8meYm5VRlRAKVynq9Hyb65I5aME/T143vQwvl24YiRC0cx5qytVl7iN7A==","signatures":[{"sig":"MEQCIA+ezXB2ZeKvXNdABV1rf3dxliTj4qnvnBgSJE775edIAiBKSlp0kW+sDcgX28P68DUmFSIjwwc61CO4ild15vuHOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":688190},"main":"index.ts","gitHead":"6f3afc0aea85bb8887d949e3b3699c1f536b6176","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.37_1774552271803_0.6000704357791731","host":"s3://npm-registry-packages-npm-production"}},"2.0.38":{"name":"pi-lens","version":"2.0.38","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.38","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"644ea564fad4045dd5fe5d0de1ec50514e727b38","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.38.tgz","fileCount":164,"integrity":"sha512-wzsXSuYYEjqizgZxHgWPjQryjGgR4rdTNvFdJblTaLgHxnYx2yWH8MJeUrDxpRYpiF/vj7xssbDySFxqYpOhYw==","signatures":[{"sig":"MEUCIF7YABz4mFn9PLOlkw2afq/Yx2awGfo4Q3ANJcrnoiedAiEAmV/e1MWWAHzt6zbgcstiAR56sptHp5Ey/jOM28DzIYU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":689715},"main":"index.ts","gitHead":"4315fa33df8c43bba224573f3a650e3adbfe46e1","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.38_1774608263546_0.7953492851672315","host":"s3://npm-registry-packages-npm-production"}},"2.0.39":{"name":"pi-lens","version":"2.0.39","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.39","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"3b5aa1234ed69d35846eac2916babc2eeec39a30","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.39.tgz","fileCount":166,"integrity":"sha512-cEHSf1tn/t7Zo86Sxz+qp3Pxb9rdL76RYN/6FaELpufqN0J5nKPmwjwkDQmHNEYJJ1MOxhzKjMr+AYWkQZXAuQ==","signatures":[{"sig":"MEUCIADCGBO2UYBGnisHawM3RsxGEeDgFEZGeOEo82ToM5HMAiEAwqC/jOk8Wq6wIFLjM6A6psJum+MdUbz5vpmeSTsZGyU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":704898},"main":"index.ts","gitHead":"07c0d1187ac0bd8166581987639f9f4af30a9cd6","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.39_1774609042443_0.028020032553246255","host":"s3://npm-registry-packages-npm-production"}},"2.0.40":{"name":"pi-lens","version":"2.0.40","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.40","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"a2daa5c3ee4ea823caeb4fa44b51e59331e5235d","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.40.tgz","fileCount":166,"integrity":"sha512-I8CKKmh0XuWZHasAzgIYDo7Y/CyIcKZ3YWeSsGNz2WY4618fearZF2lHgaBW7Z8FcaUj3HTzdbUXHq+O+3y7zA==","signatures":[{"sig":"MEUCIDDuQ0R/c0I36+6J/NtWl7I4dzmJc2oQfI7S35V4kZ4MAiEA9DrKM1COFntNuuZlHelYP/NMiZYKumeuHMhxDgsePGE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":708956},"main":"index.ts","gitHead":"845b5d0dfb8d32fa09f1e574ddce150f54a92b96","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.40_1774609334192_0.002447611373191938","host":"s3://npm-registry-packages-npm-production"}},"2.0.41":{"name":"pi-lens","version":"2.0.41","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.41","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"b0f8bafcdfd723fb8156eef7c9993047c20dad99","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.41.tgz","fileCount":166,"integrity":"sha512-YcFz/lvxzCqn68+LXCMK7yrSmHcrF3oe4hYANFEiNIoqUQw8MqIkU6paLQ11Rpqpn4DzZOZ7tzVCyRPx/1smEQ==","signatures":[{"sig":"MEYCIQD1BUd3gdt2A4AzXXsG+fh4jGy8dNZ2rANYYICCrZIY8AIhAIEUjQDEJncKfA7BVXd6B8ToU+wAHdhjJ5pQbILfmLvD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":709028},"main":"index.ts","gitHead":"2c8b16e7f8d1fff3ea770b36b032e7a4d1d5278a","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.41_1774610361744_0.6074801024718295","host":"s3://npm-registry-packages-npm-production"}},"2.0.42":{"name":"pi-lens","version":"2.0.42","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.42","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"b371f1229bff95cc2d7253caea865f62461964b1","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.42.tgz","fileCount":166,"integrity":"sha512-cgnBkKAi2mxICNjFWWcP/S51Kpvt17KoMzgfjENNZ6jO4+D5q6gLuwHGyXgJekeECSV9RkG4qwcAZSz4Yadweg==","signatures":[{"sig":"MEUCIQCyOq3EsUFwHl0hVsd/hH9bL1Vd51hdotHS8uMW+FbK1QIgI2V3rSg7Oyba/2mRAy6KvNRqeAlJ2Ouiw1gJAIj4nI0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":709155},"main":"index.ts","gitHead":"cdfaf82aedff743ead483fd646a672351c123430","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.42_1774615764625_0.43882062545398126","host":"s3://npm-registry-packages-npm-production"}},"2.0.43":{"name":"pi-lens","version":"2.0.43","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.43","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"db9de106d7955b24698f2c6b74fbd5ba6b86dfad","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.43.tgz","fileCount":172,"integrity":"sha512-2lywm6AHhOCcmIkhcPkWbjTyEISSkyT9LYbxRrY1kj+Nur7V5vdoolDZXVGDcr3CyZHuaLbrg6r8kLX2wwGyFw==","signatures":[{"sig":"MEUCIQCCZvMvmw5W5XWLZos2ej7iFDlhJ9IWAx2s2kVBwKpFvgIgJx0YW9QhPwUyNf8wpDS9R6naoAUSktB8dBRV1mWIKA0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":774002},"main":"index.ts","gitHead":"d5852a2f81778496653d957a04fa037bee7f57c5","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.43_1774616711345_0.3210720929910591","host":"s3://npm-registry-packages-npm-production"}},"2.0.44":{"name":"pi-lens","version":"2.0.44","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.0.44","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"cced008d56f7984e8164f38be59cafa84165c08d","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.0.44.tgz","fileCount":172,"integrity":"sha512-J4VAvYbcK8RAayBOScw4hW703dKlwKvF7xihhdXCXpORz3M/EJmEE5Cp68N2uYluCAy5BXigA18ojQjyDR5chg==","signatures":[{"sig":"MEUCIQCYdIQlCW2bwrYgC/KDkn4Aii3JXtBkZLghPPpLEQGInQIgeyLhS0Mt1BBKLRPvm2st+dyPwGXgCK3Ba//WpHw85mA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":773988},"main":"index.ts","gitHead":"51ac4fb95786f23af39dbfcf1386224ba5bfe5a6","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.0.44_1774617475514_0.12515840704442383","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"pi-lens","version":"2.1.0","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.1.0","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"ec0799ae7a0014d5cfe0a914327b1b44c290ea80","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.1.0.tgz","fileCount":222,"integrity":"sha512-r94xxtcefZCMk9nmcSJiJAgPskIHNq8mjuI4sl5LzOpRa2tLjqDKGKacLvWg0JUCgwPKfd6EpO6VJHAwrIz+5w==","signatures":[{"sig":"MEYCIQCDtGuQndhYO4lWuTbafE/+kYEvLmAPQg07k3J7EvXZzAIhAMH3ZMM3ezxuU/T48boTgjUoH4SxoyRfM/89c7CE7rRD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":993953},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"a688ceb5df618d2c88f4c8646f3776f648e2c2cf","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.1.0_1774719063607_0.12612978954002063","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"pi-lens","version":"2.1.1","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.1.1","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"b7a8ffd1644617a39adb4f4f2bce1f518a39939a","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.1.1.tgz","fileCount":229,"integrity":"sha512-L5IMD7qOjkNkQ6Xt0qQTqOGjpgRJzhaKJ2Q4Cr3ok6pXrVX9+94JxQM6u9ByjBTVPPLI6bjHSrQxlG423WMYpg==","signatures":[{"sig":"MEUCIGUKdZIhpU/MMcC/OhyAdAtgGr/gn0+4Qe5xsIZuLFRCAiEA7Rkq6y9UHKwsgThpGcUI5gCh8wRN+rdaqBdQyk2cdRE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1021792},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"a0bf6de0546440e4b44bdb30299f92b37d438d5d","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.1.1_1774783060837_0.5738277105975653","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"pi-lens","version":"2.2.0","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.2.0","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"2244d6ea2a4ab7246a680e765934ebde571f3e10","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.2.0.tgz","fileCount":237,"integrity":"sha512-dp9dr4CmADnjfhToAtO1XMoxYnJDDRuydbUheo6ToPcaGKhmDV/q0nVSa9gL7zLan7qrL1hTBezMkLmLIhGnJg==","signatures":[{"sig":"MEYCIQCFb/VqXYojVwSQEt9ZHHlpIeluNiroojtK2agBadF8oQIhAPFwqFZlOTuoELnaO+5NBWXKVc1f8QCRXoOcehmt3hxm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1064267},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"25f568d25009c105d54492163c77e3dff1332c31","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.2.0_1774787298519_0.7503789395048717","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"pi-lens","version":"2.2.1","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.2.1","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"004fe721079a99da6dcf9a4028ca5eebf669b225","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.2.1.tgz","fileCount":237,"integrity":"sha512-vLWaXSXMuVV4MqAttwIggaJX8mrvo/6er4b5WzaBUJHiNSvQjMJ12pIG3165+PnaIMob6pEqp0aLGiXv6oetFQ==","signatures":[{"sig":"MEQCIHjfzn/XTi0KWy+ml15oPxBuFkpcdGl3kyqxL70TTpRbAiAe28Yg1gL+oWNjqoZZroTPVN8hiX3zoBDgfXRzlqRZeg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1066544},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"5d013ef062ef92a7258bbbd86a20677d1a696e8d","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.2.1_1774787885383_0.9999512976527551","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"pi-lens","version":"2.2.2","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.2.2","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"b3341c07d1a03ef942990205193f45551e92e23e","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.2.2.tgz","fileCount":237,"integrity":"sha512-eGcZCZdasKnePku5VCOFcHmAEWAss6zDlrHJtary5ef6n8dyYjPX8fg1iq7CE9qIjgM7xlT4AJixJwBlDLAYMA==","signatures":[{"sig":"MEQCIG3+8TzY5RGB0oxeQGgfiYzvETPpHQwu/OdlPS1ZBu6uAiBL+ITdtEXYA7zjntCUh6ARHD7htbkL3qCuFltvHtMSnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1067351},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"37e5f534110047da9f83d4312c4b8d81f6636bae","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.2.2_1774788014414_0.022963214293144185","host":"s3://npm-registry-packages-npm-production"}},"2.2.3":{"name":"pi-lens","version":"2.2.3","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.2.3","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"30e3c61827b00565a9a3af7baea4f5c1de24804a","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.2.3.tgz","fileCount":237,"integrity":"sha512-oljmIjciHYKT72uOeYOTPDaiho2lBpm6vcu1Rvkesz4goCKnDk6ltzIk/3cebNFsyPO7bTVC30cWLAB2iCmM6g==","signatures":[{"sig":"MEUCIHkyGyLg3j917t8Hn70UeTk8kyQYM+SmNygsOANg53SpAiEAstTwmkWT9SmydiSXhQd2GA0eioNOKbEasvTe/MPz25w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1070805},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"db20734c3eb74635201ba42bc2985584717cdef7","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.2.3_1774788237808_0.670598955725056","host":"s3://npm-registry-packages-npm-production"}},"2.2.4":{"name":"pi-lens","version":"2.2.4","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.2.4","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"2fde65e1afc3f2ad3965d7a03b30906454efccd5","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.2.4.tgz","fileCount":237,"integrity":"sha512-RubG8oLNNCl9RX1qsAXMyXy7TCYjFvjXSbX0UKQrv8UKArsHNnlgiXxTkJtn6li08NVm/Nd819qDy8mVNNAvXQ==","signatures":[{"sig":"MEUCIQCQ/XyO12c8hbi7keglUB2TVOV3V4tqvk1G++nFAfciMAIgH87WoDO4ZWukbtVy1MhVDmrAWJ0U1ly+QKNh5ZQt6aI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1073904},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"12df2d7d24787935587c4514d811c1a70838cba2","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.2.4_1774789435412_0.1526986014784466","host":"s3://npm-registry-packages-npm-production"}},"2.2.5":{"name":"pi-lens","version":"2.2.5","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.2.5","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"6227aa0fb3407e03875bd20ec59413a8d7edc10b","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.2.5.tgz","fileCount":237,"integrity":"sha512-Y+6rNAg8eI6oH7B7nesz8f0715VsK+5fl5SJRRqPIsNZgIqzHpZ0YroH2sd0KjN55pm3f67JkDdz8Gs4qv+QtQ==","signatures":[{"sig":"MEQCIBAZV/f08u0QzlWTJgvDu9pAbOw6+V5B7AfBnRv7le6VAiBzShqKyyg+TrkVLYpcWH+pFbGiilwSVYYV0O5bn9ykYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1072137},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"5ad5ff8e3396dea0057a4bb73759b399151fbf06","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.2.5_1774789603463_0.545348869005504","host":"s3://npm-registry-packages-npm-production"}},"2.2.6":{"name":"pi-lens","version":"2.2.6","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.2.6","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"dd073fd63ec950544c5960f21ef8f40b6d41d9d5","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.2.6.tgz","fileCount":237,"integrity":"sha512-2DRqPuUZCXzF+KR5jqsLz6vc3dv0Yihk7skTsKuvdKPbMRwOz2Djv4HOgQl+jGP1fLhL/cAJAjLcpUeAhNxvHw==","signatures":[{"sig":"MEMCIDFHFF5Agvi6Q6Lzx8J3hzFZ3NVH3wkZIS1vp2A5NYn3Ah8qIDajN0jjADfwc4VQJFJz4KLKOojhzVWEMkCVJIpv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1080741},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"2c3a5c60e56a67bcbbc6d41c457ba9e3a0a42f58","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.2.6_1774789741925_0.7853823992660265","host":"s3://npm-registry-packages-npm-production"}},"2.2.7":{"name":"pi-lens","version":"2.2.7","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.2.7","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"991b7a9969802f3ea5a2ca11c1144d752fdc70e2","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.2.7.tgz","fileCount":237,"integrity":"sha512-8noYv+El2EBmt56XAu7TrMImmR7O3d63kmweNS8RL9bWiOJm1c05G4smX0Jgpe19xQjrqSsYRsknhtz3Bsoiaw==","signatures":[{"sig":"MEUCIQDXbt7JRa2s85Ank3PQTl1924NpDXoS6tW/wLwjEDsHtAIgcgPAmmgHdHkjiylRLYAx187A9vNf4zCMMsWocpZSZg0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1081540},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"ab2cdcccf26ec47413815f07dcf36126f5e71905","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.2.7_1774789959431_0.7630882570109869","host":"s3://npm-registry-packages-npm-production"}},"2.2.8":{"name":"pi-lens","version":"2.2.8","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.2.8","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"f68c39345a6ef732c074eb340f3949bd1941aa02","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.2.8.tgz","fileCount":237,"integrity":"sha512-akHN71+KL7rgiCrMNU55LswtIEqSc+OWc55v4q52pBsVA6LygZl3eRkUhC905hkdS16UJJBfj9WuIZNQximr1g==","signatures":[{"sig":"MEYCIQCVnn9nPwCPhajLp05yz7vEP9xw7diYR66Sve6pLVoXvgIhANuSNcmYkGgmDfVQWK+3EBvRxbGI72wBZ8FSY3vLDkqC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1087670},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"6d1b39c420f7fa2add5ef1428ec19d8e44940598","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.2.8_1774790221809_0.6260750251705647","host":"s3://npm-registry-packages-npm-production"}},"2.2.9":{"name":"pi-lens","version":"2.2.9","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.2.9","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"25cc88843f7847c102e32f328a96fd1cfafdafc9","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.2.9.tgz","fileCount":237,"integrity":"sha512-keeZ8tBxXIFrzXEJ9hIwIr0iWz+mc4EfwVjiLBgogZzShLlYPNKOtsTO8Wgvedjvy/dpL9Xs3n5qm5/XMTAwJQ==","signatures":[{"sig":"MEUCIQCg0HLUR2GgDTiseqXqZh03v7UfT8TkuNXDX6UZ+QQq4gIgXlmNghDTikCqCd+kXUj888aUrOaEnAe9nX6MZrmjIVc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1089135},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"0ac89e1765b802da8a1a10ea56fb534c3ff30ddf","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.2.9_1774790550716_0.5331266754322606","host":"s3://npm-registry-packages-npm-production"}},"2.2.10":{"name":"pi-lens","version":"2.2.10","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@2.2.10","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"ee8fc9e4bffae3922d3e08840466ade641cd0b98","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-2.2.10.tgz","fileCount":237,"integrity":"sha512-Z/Bi/jswc/KXp0bEUNurqkcrro8u1F7MhZ2iaLmu1T3rOxCRDj7cE7XMF+9lIkfrPYe8QrEb1v2SuYBeXQuE3g==","signatures":[{"sig":"MEMCHxRueyQtJ+UK1dXBRyoDhTTcrpmObH3ljUkvfnYESSUCIErlB2HWgP6+2dgRCWbo28cXkkQ3gGjQgxcqM/ImzVMb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1090281},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"1e61887fd0b75ce37fa11d1378115ed2fca003cb","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code quality feedback for pi — TypeScript LSP, Biome, ast-grep, Ruff, complexity metrics, duplicate detection. Includes automated fix loop (/lens-booboo-fix) and interactive architectural refactoring (/lens-booboo-refactor) with browser-based in","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_2.2.10_1774790831474_0.5110589958611171","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"pi-lens","version":"3.0.0","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@3.0.0","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"3a75cbce33975dc3c80b8d5b9545f315d43a3ff0","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.0.0.tgz","fileCount":447,"integrity":"sha512-Woh9u3dcWK0ec8lIPGDCOu1cm/dAdmqSL4Jt74n5rWT3uPBcUGCbfr33b1aytBdzEw/IQ1SiX0tigBsJgSTjLA==","signatures":[{"sig":"MEQCIEXvlqc7kWcAB7o0j2OaoeTrG5xKMKZRUGd7a0EnNuFQAiBPnlbKnn+CxCpLd6pHrgzOyEyOXQNN/w3wrVRO5fvjfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2455398},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"fcbbbdaa35f9a18c83bb95d2867d5d2bfb8930e8","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis (ast-grep), TODO scanner, dead code detection, duplicate detection, type coverage, complexity metrics, and AI slop detection","directories":{},"_nodeVersion":"24.12.0","dependencies":{"effect":"^3.21.0","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.0.0_1774996135031_0.19748877150600141","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"pi-lens","version":"3.0.1","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@3.0.1","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"a7708886fa4079e192b05617ebc837385b4736e7","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.0.1.tgz","fileCount":447,"integrity":"sha512-KX0R4LMRXX9svHWhvq0I1rIRRYRBOqWHDQQeuvMvvWzsNqzlMyoCh2y3NlYa9MnKCrzMKOtV8oDR6WQVHash2Q==","signatures":[{"sig":"MEUCIAPe1DwDoMm2t5TIAhlcarSgsVEqzl0QWOUAPD3sWOtKAiEArF1yUo40PqTJaSrrMXPiASyivPmT5WeNMbKbcjBLmI0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2456093},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"f6b9129bd7262f47284397eec839039d5c538d56","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"pi extension for real-time code quality — 31 LSP servers, tree-sitter structural analysis, AST pattern matching, auto-install for TypeScript/Python tooling, duplicate detection, complexity metrics, and inline blockers with comprehensive /lens-booboo repor","directories":{},"_nodeVersion":"24.12.0","dependencies":{"effect":"^3.21.0","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.0.1_1774996621401_0.11673046482824856","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"pi-lens","version":"3.1.0","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@3.1.0","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"52adb27892b8e47332d315f7829bf70c0841a03f","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.1.0.tgz","fileCount":432,"integrity":"sha512-3JCFaSjM5NZ2zIVsLGahMe/SKPenY02S7USwihHSpwjIXl2DyZ5zjXgfUCn9xPA+zPnFYkQdOXSrtxx4b8vxmw==","signatures":[{"sig":"MEUCIQCUFbHrMYEJPFguT8S7z9rs1B5hW0fsu9FWbzmcswcDVgIgInfKGwE7A1AnrQ+HzIK+GjvxJRyttqUGfFgPNPJPtSY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2505523},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"0f3af2482070956da45b0c581f9e08fa10956e88","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"pi extension for real-time code quality — 31 LSP servers, tree-sitter structural analysis, AST pattern matching, auto-install for TypeScript/Python tooling, duplicate detection, complexity metrics, and inline blockers with comprehensive /lens-booboo repor","directories":{},"_nodeVersion":"24.12.0","dependencies":{"effect":"^3.21.0","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.1.0_1775037968238_0.8878370683146453","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"pi-lens","version":"3.1.1","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@3.1.1","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"f136848f9f423949ae82491c13ab1638d49c5e18","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.1.1.tgz","fileCount":434,"integrity":"sha512-l118h1jHCRpVaq/zKW6MS+boO9h49boGf7YN866U6FuV/Qig+DwBk9I5KpFQlmHdquHL/n1BYVwALOhlDCVUOg==","signatures":[{"sig":"MEUCIHRqvooa7TcorkZVAFhjrd0ljrR4XaoiYVdTtHkVtGlbAiEA0pwD7zlYBvoiHzRtxBDQhXmCncfyV4f11ynvzhhgFlo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2521087},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"5ec87695cc9ee9a6794af8f27ea0419785c5c208","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"pi extension for real-time code quality — 31 LSP servers, tree-sitter structural analysis, AST pattern matching, auto-install for TypeScript/Python tooling, duplicate detection, complexity metrics, and inline blockers with comprehensive /lens-booboo repor","directories":{},"_nodeVersion":"24.12.0","dependencies":{"effect":"^3.21.0","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.1.1_1775039110504_0.6068054418872222","host":"s3://npm-registry-packages-npm-production"}},"3.1.2":{"name":"pi-lens","version":"3.1.2","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@3.1.2","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"93d5863bf91e4a3c9f68dad7ab506e5c6993d3cb","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.1.2.tgz","fileCount":435,"integrity":"sha512-9KH4IQl7bVFcAvuDg/gtqDOHiVmFCMJ/IdUZx+JhZbRkE6jsrqyhSYEczDvB/Nu7pZc4dJ8PyqwvxNaWSqLZHg==","signatures":[{"sig":"MEUCIFXH+M8eVrA5WLya0BRrW5uHuTu3D0UsVCEIhrGckHtzAiEAsEFxYSclnC1BPHL1bdZsRY+0Ib2UcuGGYJOisAwyeIk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2529609},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"d618aa1fdbdad28ab94ae8789f724e834fd81192","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"pi extension for real-time code quality — 31 LSP servers, tree-sitter structural analysis, AST pattern matching, auto-install for TypeScript/Python tooling, duplicate detection, complexity metrics, and inline blockers with comprehensive /lens-booboo repor","directories":{},"_nodeVersion":"24.12.0","dependencies":{"effect":"^3.21.0","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.1.2_1775043663710_0.5012900500522273","host":"s3://npm-registry-packages-npm-production"}},"3.1.3":{"name":"pi-lens","version":"3.1.3","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@3.1.3","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"69666023945a222812051ec59bc00bd62cf1aba0","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.1.3.tgz","fileCount":421,"integrity":"sha512-MQE+vJuZuOVs8d26B13+ftbH0ecoMjx4RHeWrs1ASboC8aIsUuVa2VjB2iHJonBcjIjLlX/qFGfiacKZhF36aA==","signatures":[{"sig":"MEQCIFTvEjqwmFWaNmqYJ91OGpu9lJ0hSWzKJCqIVfVOirs+AiBog6I24b3ii6k+tMgfe4wXwe8OyVYY8cjPKNVJlytUKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2472181},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"b85c44b28e8ca4915543b6585455bd1c3365275a","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"pi extension for real-time code quality — 31 LSP servers, tree-sitter structural analysis, AST pattern matching, auto-install for TypeScript/Python tooling, duplicate detection, complexity metrics, and inline blockers with comprehensive /lens-booboo repor","directories":{},"_nodeVersion":"24.12.0","dependencies":{"effect":"^3.21.0","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.1.3_1775079542858_0.94615436140877","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"pi-lens","version":"3.2.0","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@3.2.0","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"8fdb39960a55b7fcf7525568b19503c22518f806","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.2.0.tgz","fileCount":375,"integrity":"sha512-9oMjM27c6yuZljWiEHn4sS4jYH+fy8xbzqlgfhIoArmKm2m0nyVIxFTfeMoQrTtbQJ/0/6zB0bsa3ucvHq2GDQ==","signatures":[{"sig":"MEQCIA3q9dOt1wKnW4MOFhdQ2w96emhZBUwfvBsGytayF3RtAiATLwy0mq04dihrtZO03l5ejfp2K8f3K1KBvMCibypkCQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2162900},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"42627bb5895f3926381e15aa30205e0c256bf10a","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"pi extension for real-time code quality — 31 LSP servers, tree-sitter structural analysis, AST pattern matching, auto-install for TypeScript/Python tooling, duplicate detection, complexity metrics, and inline blockers with comprehensive /lens-booboo repor","directories":{},"_nodeVersion":"24.12.0","dependencies":{"effect":"^3.21.0","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.2.0_1775082394424_0.8366871351458021","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"pi-lens","version":"3.3.0","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@3.3.0","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"fc0b56d78e4089543d79c5e3a7a1d809a54cafaf","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.3.0.tgz","fileCount":403,"integrity":"sha512-aCbVu8g6Do73YD3KZ1ld2Upqf5Fjg4vZg/wAKJo8ZeG65sRe3dcvaBU7VwuJ/gfZISgOHyr/Urdtbu20Zix0yQ==","signatures":[{"sig":"MEUCIQCLJpgADOm1Y9mduYS4rQ6nSxVxgwlDqo7ctTaRaVKVgAIgTZrdGn8nSbaSRTcYW4nRtYKxazTeOat0J61EZgA5MmY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2399219},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"38e92aeae1f3425df15ef45fd27b8b6f2c324d25","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"pi extension for real-time code quality — 31 LSP servers, tree-sitter structural analysis, AST pattern matching, auto-install for TypeScript/Python tooling, duplicate detection, complexity metrics, and inline blockers with comprehensive /lens-booboo repor","directories":{},"_nodeVersion":"24.12.0","dependencies":{"effect":"^3.21.0","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.3.0_1775125471238_0.27061958997712865","host":"s3://npm-registry-packages-npm-production"}},"3.3.1":{"name":"pi-lens","version":"3.3.1","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@3.3.1","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"098aa2e3c7c18a198e0a21b0729b0f6b3cdaf79b","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.3.1.tgz","fileCount":403,"integrity":"sha512-io/HpyLjCwv+eYkWAnEsyPBJ4vnB3Ig0Cq/tVu33JbXTNykwqej6vEs1nScWiSN1DQpT4n0tuaFMkdInkz/J/g==","signatures":[{"sig":"MEUCIQD6Rh3+fIAdj5dNq43EQejDLopDzu+TZovlzwYtvftUnQIgF9Y2bo2rPa0dVqE68j9zRiiiVW/uFg1lm6Lj7Q2qKKI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2400109},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"d7df199abc47796d52fa258dd27a0f500cd185f4","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"pi extension for real-time code quality — 31 LSP servers, tree-sitter structural analysis, AST pattern matching, auto-install for TypeScript/Python tooling, duplicate detection, complexity metrics, and inline blockers with comprehensive /lens-booboo repor","directories":{},"_nodeVersion":"24.12.0","dependencies":{"effect":"^3.21.0","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.3.1_1775128655211_0.3189332753642955","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"pi-lens","version":"3.6.0","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@3.6.0","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"7e5fa72ed54178ed0cc4ee0a00051d90836f688f","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.6.0.tgz","fileCount":407,"integrity":"sha512-JDvL8Emwy4kGNVWbEWh+5rx1wR3b/4PPOm2qkaWevKqYtR4Frs/o+75D1/gZbUByjc0mN3MYNsWqd2a7ip4zGA==","signatures":[{"sig":"MEQCHzzDy2fp0IUhjTAyWBj3XRhc0nAQs//KPJdfwcxUlrECIQCnf6I5EKguvpi94UMWl+TzrWKNRfe+zxLQxaXOd4goXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2459561},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"39010487d7297c6c3ac1e342ae698607e30776b3","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"pi extension for real-time code quality — 31 LSP servers, tree-sitter structural analysis, AST pattern matching, auto-install for TypeScript/Python tooling, duplicate detection, complexity metrics, and inline blockers with comprehensive /lens-booboo repor","directories":{},"_nodeVersion":"24.12.0","dependencies":{"effect":"^3.21.0","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.6.0_1775154200377_0.8854066357787473","host":"s3://npm-registry-packages-npm-production"}},"3.6.1":{"name":"pi-lens","version":"3.6.1","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@3.6.1","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"ac54f47fa445e6208771ba36cb8bbe1a5127eb2c","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.6.1.tgz","fileCount":406,"integrity":"sha512-dKcFvo80sKdsNk0hqqdbIj/Bd8/lzC14+LvW6SZUFopaMNwMvZO4uE4SdtMUpx+DTuvZWOVtVwz4FUpDPGMbUA==","signatures":[{"sig":"MEUCIQDCTap8BRiAEb3yupRYcdZFdNMzKm4ofkc0WaeRZMqX4gIgdBDHg61/k9frE9VQKvkpELbr667GgvQShVCVcy+I+2s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2449700},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"df9b79ee08e88fa044e9da43800024ea6a3a399a","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"effect":"^3.21.0","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.6.1_1775162787425_0.1705118415009339","host":"s3://npm-registry-packages-npm-production"}},"3.6.2":{"name":"pi-lens","version":"3.6.2","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"R3LiC"},"license":"MIT","_id":"pi-lens@3.6.2","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"6036aebdb5b2e8901bab83c729378194af3f8e80","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.6.2.tgz","fileCount":406,"integrity":"sha512-gcJSwZlrOKy7fMeHAZP76V0IIYyxGsaC8paA44buRGPuu8gBcbkfMjga0oJTgD3AOe81Eeu0ncbDRVCpt4tIFw==","signatures":[{"sig":"MEQCIGKg7BEF9pBOOWGOx72KpWrkV2vuiv8sz03/py305CBgAiBtDOygml1AMAiT0zpCWqasNna/S//n2GQixk5ffosHCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2451207},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"6bd0abc7f10edaa5a218a9bd76e92b88c74ba211","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"effect":"^3.21.0","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.6.2_1775164271899_0.22997280230993322","host":"s3://npm-registry-packages-npm-production"}},"3.6.3":{"name":"pi-lens","version":"3.6.3","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.6.3","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"d73623fb7a7a52d6310299b3b5dcee5fb00224dc","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.6.3.tgz","fileCount":406,"integrity":"sha512-wq3wjZBJ26MDJa782MSzm83UxsgQBLWEHUPra3QhWJU1N0Q600Kq386ceCyh21nZskQ7mKcfyFAOJkeIwIWePA==","signatures":[{"sig":"MEUCIADJBDsbELqMffXOzh83pARo4xnljrtocSs2xjBWhfItAiEA88uM01D84HKzak+G8WHzE5nN+LP9D1ctrIVn65ZKNyQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2451614},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"070c7006113ef30a9fa497cf6acd5071d85b15da","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"effect":"^3.21.0","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.6.3_1775166915562_0.4405873444030519","host":"s3://npm-registry-packages-npm-production"}},"3.6.4":{"name":"pi-lens","version":"3.6.4","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.6.4","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"b066b9cf2b7e82bfcb39656064263438157ac583","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.6.4.tgz","fileCount":202,"integrity":"sha512-+byCXCFRSC0MzVgOL5XVP8k0+qzl4rHMVwbhYyRZR6Hpb36Nm7OAw4PQXZDmN1n/kRq6j6R4mxJLhxQ7+QkaeA==","signatures":[{"sig":"MEUCIQCQZ9LNgE3tfRWSVd6LQdDW3K7gUaVedJ/oDBd282l2gwIgZFwRWsFlIsrAKY/fO4tgJsMbCXKNOTFOANIeT+ksf4U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1015834},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"64cac55b6b6812e3c501c42460353b16ff0176dd","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"effect":"^3.21.0","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.6.4_1775168545340_0.4155723816040342","host":"s3://npm-registry-packages-npm-production"}},"3.6.5":{"name":"pi-lens","version":"3.6.5","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.6.5","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"2e5373a5789eab1ca3c03857b2864964195d3e1b","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.6.5.tgz","fileCount":202,"integrity":"sha512-/NVeKZd0IPji8hkld3sLUD+qy/cbE9f+9SDbwop2nFjP6og4TtTWzFXwrBkpdMFk31RioSJzMKI6573zmL+siA==","signatures":[{"sig":"MEUCIQD67rpU9wKRViBRQSL7fAyI35znuJM3pLPHS9FsGtyxigIgV1ffz4F/R75UWhViLxCpcKMMV0NrFrU3XBr7RoeKRHE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1016308},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"aaa651989c84ddca837104a519dbe8acd9f0ef87","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"effect":"^3.21.0","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.6.5_1775169241092_0.36300540109404","host":"s3://npm-registry-packages-npm-production"}},"3.6.6":{"name":"pi-lens","version":"3.6.6","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.6.6","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"b98b4c12f8b43e709e28976a75bc4967c55ff01f","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.6.6.tgz","fileCount":195,"integrity":"sha512-mVeLBpXPu+NTNs+72iFP0rlfWuEru/UHX0i9X/p+jHeeKCQCUHDVHRir5myPYz24ad7/Mv2JIuyVWDkfPgAjug==","signatures":[{"sig":"MEUCIQDBKxZbaskXw/9+dMy4U3q9MYvg1VFsnp+3WCloKvJFXgIgAzt8db3j0oCNxiTNtN/24EtvH+uRwXMWKmYCYcBjRgo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":933025},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"b07afc9517177f18bfd462ece2dd6325c75fdce6","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"effect":"^3.21.0","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.6.6_1775222134122_0.7127325291650859","host":"s3://npm-registry-packages-npm-production"}},"3.6.7":{"name":"pi-lens","version":"3.6.7","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.6.7","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"6d73634073d65062ffd4846bfc13289b05ed429f","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.6.7.tgz","fileCount":203,"integrity":"sha512-i8vPMrKaoEncFFfKe3HIHGzzdWFF9Fjxw3mlNAVQplTbum/mvVMJUcx8w8tqwik6uI84UqekkZsrn62G4i/uXw==","signatures":[{"sig":"MEUCIQCr2vFMuc35Tvp4uPOnRlGAZw35TQ932LVVRuUsnRLBYQIgSAktae5CcH9Oe5Xc7sBb3utS1NugCRHvjrdXBG/Q2OI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1002678},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"c27f1c89d08e5e2fd2b209af1719337ad1e7267c","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","rust:test:integration":"node rust/test_integration.mjs"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"effect":"^3.21.0","cross-spawn":"^7.0.6","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","@types/cross-spawn":"^6.0.6","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.6.7_1775332334981_0.7807135695955068","host":"s3://npm-registry-packages-npm-production"}},"3.7.0":{"name":"pi-lens","version":"3.7.0","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.7.0","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"d172dae41e4134763a4e56ab104a02ed3bcd17d3","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.7.0.tgz","fileCount":203,"integrity":"sha512-eqnYRfUbUgKg8ts6F4dsn+fADBT8n8/E34p5TF1aOLXjqSQkKQJr1VaVS922/HXHfv+AIBYIQCW9mba5lM+umA==","signatures":[{"sig":"MEYCIQCfH/F89Yn3+L373agPa81aR5QTD4hVN2hg+p/pL3H8dgIhAJs7Hbgl82SLfAmm2eto28QFJvyaTAQaK3TEc5G0TMeI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1026161},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"1a073b8d6fd977895ca46c62402a1208baae9886","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","rust:test:integration":"node rust/test_integration.mjs"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"effect":"^3.21.0","cross-spawn":"^7.0.6","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","@types/cross-spawn":"^6.0.6","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.7.0_1775349208241_0.422569746935612","host":"s3://npm-registry-packages-npm-production"}},"3.7.1":{"name":"pi-lens","version":"3.7.1","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.7.1","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"0fb3db31b9f98978e6512219c0256c28444b0c45","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.7.1.tgz","fileCount":206,"integrity":"sha512-+5IK705/FxWg+HlzRnzY0Oly8WeyIJIlQXlr80+AHjEN6S6vwWOP6tJWKYht3wwQ0OKIt4gC5qpUBqiNG9CbQQ==","signatures":[{"sig":"MEUCIQDKPp1iqVszKhRJ90cJPasGuAOIpk27EV5EyXENRMe+lAIgDdYejwx1dlKOf9icjaiwl9C4GWO4aCnZIOBkjhu9nQY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1039062},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"0f870375f9f9a1ba141cc0266d3277499388638d","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","rust:test:integration":"node rust/test_integration.mjs"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"effect":"^3.21.0","cross-spawn":"^7.0.6","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","@types/cross-spawn":"^6.0.6","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.7.1_1775350624014_0.029579568029233005","host":"s3://npm-registry-packages-npm-production"}},"3.8.1":{"name":"pi-lens","version":"3.8.1","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.1","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"125128c93a5e12b510ffc27df2b020995e3a690f","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.1.tgz","fileCount":291,"integrity":"sha512-Y61rW+bndhhpTJvI0zhqT1tsnoYpuOBo0YfbdXIjAozaRhtgYLLuUEXPVRJxNLeFwavgTgyUUTQr+EHumRecsw==","signatures":[{"sig":"MEQCIB5wv1BPo9wcAsagbZmY4To+245BFykKJYyRgiXDIhwEAiBfFUc/tXrO6ak6tQz5mZKjg40BJ16x8C+nzAnoIRZNHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1210711},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"5e3d4c2b5c44d8ce603a22c73062d63fcdf4a8fb","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","postinstall":"npm run download-grammars || true","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","download-grammars":"node scripts/download-grammars.js"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"cross-spawn":"^7.0.6","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@types/cross-spawn":"^6.0.6","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.1_1775422128241_0.976926319299688","host":"s3://npm-registry-packages-npm-production"}},"3.8.2":{"name":"pi-lens","version":"3.8.2","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.2","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"39500023790885c5502666f21b8be1141d0916d9","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.2.tgz","fileCount":291,"integrity":"sha512-F2H3rUIs6pMs4D3sO7eS/fGu2qfl0kx6TU4KPwtPL2ZZ3+G81VI5u1K1ovt2woDomcANzsP2wSUSq6jx0qQ1aA==","signatures":[{"sig":"MEYCIQCKgAcQHSQYbauGXDNVitaTL7szSqqzj6SeBNKgVdacPgIhALEASONXu9ZWVgZBSn62XXSZ7rM3Tjvu4eLEAiOAJGMm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1209019},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"fcc30259adff3644e264c1d6cd8ac135e0cb23be","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","postinstall":"node --experimental-strip-types scripts/download-grammars.ts","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","download-grammars":"node --experimental-strip-types scripts/download-grammars.ts"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.9.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cross-spawn":"^7.0.6","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@types/cross-spawn":"^6.0.6","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.2_1775459397402_0.3781730159995431","host":"s3://npm-registry-packages-npm-production"}},"3.8.3":{"name":"pi-lens","version":"3.8.3","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.3","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"d91be6b16e12fd09c11097dbef077f0adba7ea2a","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.3.tgz","fileCount":291,"integrity":"sha512-RISa8cxkXUOhLD8BDOL7gMW6LCF4argTFtFHj6B7zJpUqmP5NjtDZxS9mrukseuVrrqjaltrYLx6nX2SmlbE1A==","signatures":[{"sig":"MEYCIQDPpbr07eQKNl2Eg6drH9jiFiYnIlPgITX2eNGCTtTZowIhAI+cwSmACYB8lzULHMwHS7G/vIVmD39AvsyGJcGqWjce","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1208693},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"15101dcba72615c5ac4c5e7905a26e7ef7b03004","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","postinstall":"node scripts/download-grammars.js","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","download-grammars":"node scripts/download-grammars.js"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.9.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cross-spawn":"^7.0.6","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@types/cross-spawn":"^6.0.6","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.3_1775459642356_0.012169390023714755","host":"s3://npm-registry-packages-npm-production"}},"3.8.4":{"name":"pi-lens","version":"3.8.4","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.4","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"6aadd04a8903642cc794efd6f2ff8c910e8a5589","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.4.tgz","fileCount":291,"integrity":"sha512-0BqwtZeN3bdGUm7bSSGW9xaeYzbreri5RhpFfrH0vExsH59Clgt3DGmbsww10021zyRAO7XNDb0/VsrjfwaJ1Q==","signatures":[{"sig":"MEQCICq/+OgC0Bs0+6qntSR/W29t4XmRNMKxw05VpJNbwgTRAiB6vgeiYG1BfOSMvg5vOvKbVxEdjBW8rY0NUkUYjjN/EA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1208719},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"cbadf14315137a2c7faec0ad97b01e5d998c3546","scripts":{"test":"vitest run","build":"tsc","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","postinstall":"node scripts/download-grammars.js","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","download-grammars":"node scripts/download-grammars.js"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.9.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.14.0","dependencies":{"typescript":"^5.0.0","cross-spawn":"^7.0.6","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@types/cross-spawn":"^6.0.6","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.4_1775470261299_0.5559724838415916","host":"s3://npm-registry-packages-npm-production"}},"3.8.5":{"name":"pi-lens","version":"3.8.5","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.5","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"29a97c75cd5d68e15e7e9b33769b1e22eb92131c","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.5.tgz","fileCount":292,"integrity":"sha512-qeZnzq5Z/X2U2zuGa/UupiHpzcbEXAiDBC/5FrkyW7QLI+yz8Zf2K9GCe+FGUhzL+r3c/LnSae92E47kjcSWSA==","signatures":[{"sig":"MEUCICJnKlLwJCNkvEkBkzrliRr6sxuW3UC9PY7XkSORZfYGAiEAhXQDv69+sBZTqtO0MeygpKXDM4ZVSSWtKPLgBAgnX3I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1212655},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"679576d333d11cc0f419773a7b215e8afd95d824","scripts":{"test":"vitest run","build":"tsc","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","postinstall":"node scripts/download-grammars.js","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","download-grammars":"node scripts/download-grammars.js"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.9.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.14.0","dependencies":{"typescript":"^5.0.0","cross-spawn":"^7.0.6","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@types/cross-spawn":"^6.0.6","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.5_1775471414281_0.07944723778460272","host":"s3://npm-registry-packages-npm-production"}},"3.8.18":{"name":"pi-lens","version":"3.8.18","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.18","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"203e994ccc6a8e2783042a62c83f583739b387cf","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.18.tgz","fileCount":312,"integrity":"sha512-06RqfyuOtzyCiceRctMhhDWaCaqR6H0ss3yvq7iObpSJ7hffsdOl+Ild/455a/tPDZSbEWBDK3VxK1/ZGw/W8g==","signatures":[{"sig":"MEUCIQDs+Wz58Lu/OVqBeEr/Px3B5we5ElYRk0vqPYbrFaaHDAIgXZs23Z6Egnz5ejTeOefrbPW8cLmDMqdBC6kr5SKsQbc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1259652},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"b949ae9b872d50fd8b5808f7cc8e8a03c6c9c012","scripts":{"test":"vitest run","build":"tsc","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","postinstall":"node scripts/download-grammars.js","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"typescript":"^5.0.0","cross-spawn":"^7.0.6","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@types/cross-spawn":"^6.0.6","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.18_1775580435737_0.22712461076848323","host":"s3://npm-registry-packages-npm-production"}},"3.8.19":{"name":"pi-lens","version":"3.8.19","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.19","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"b2da81215dfd5ac4121727065c120e9ab63a30ff","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.19.tgz","fileCount":312,"integrity":"sha512-GN1c8MMpsWeqeiayk7yYR0DmhNwn7sYXdYHXO/8WV4cR0sfqwFnc0Zj/+vCWpL+QTgNJCzNlK4VGtaQ3z//o5A==","signatures":[{"sig":"MEUCIQCX12TSFd2oXVQV3hT+e/aFeZlN5UZ/ToWp+Bbgx+F1DwIgI6A1qKCXn7Ja7m6rAUnsiXs4HfHir4GfLi82Fzzkmzs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1263978},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"687baafb11cccf1cd9bd82b0d6d96c156ee55776","scripts":{"test":"vitest run","build":"tsc","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","postinstall":"node scripts/download-grammars.js","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"typescript":"^5.0.0","cross-spawn":"^7.0.6","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@types/cross-spawn":"^6.0.6","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.19_1775596898442_0.863667117832353","host":"s3://npm-registry-packages-npm-production"}},"3.8.21":{"name":"pi-lens","version":"3.8.21","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.21","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"afbbda944882332d8850d38a3843ee89cad002e1","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.21.tgz","fileCount":314,"integrity":"sha512-sDcaosI3rMNT9WPmS0bKzzhDoutQz+lIRWtH20SjJaVsEGIoBAN/LTjygf5H6Q5N1ekADPbH/0BJbRgPCYA1kg==","signatures":[{"sig":"MEYCIQCP7o8jrT1xEPICP7+EgTNjn/bMFZxrZIliF6KE8pRVZwIhAI4TGU2Qloor1yHcQHKGSstEoYE6iRDsZc8b/Z+Vc4yh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1305910},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"31bc0e2880e1423316765ec982a9cdf2ecd83c0d","scripts":{"test":"vitest run","build":"tsc","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","postinstall":"node scripts/download-grammars.js","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.9.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.14.0","dependencies":{"typescript":"^5.0.0","cross-spawn":"^7.0.6","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@types/cross-spawn":"^6.0.6","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.21_1775667190154_0.40622249960261825","host":"s3://npm-registry-packages-npm-production"}},"3.8.22":{"name":"pi-lens","version":"3.8.22","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.22","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"d9e4335eadd28fe329ec04daba2adc77a7afd818","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.22.tgz","fileCount":346,"integrity":"sha512-j2lBjZcQUB0qRc+cCNl87PbGQdvm9g/ANTrIdCbqKRDm9p9JGYIKd4ZiOrR43kgp80g0BHp57rwB7K0Y7zXG1Q==","signatures":[{"sig":"MEYCIQDloqE4wrQP62pxvGgVWL/eddguouh3NJ7f3VPMV7gfogIhAKk8VklbDapU4zFil6SQcCY+v0UAvgQUJLWXWBB8ZCx6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1410324},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"507a31589be2406e29eb7cd8f186b2374ade2fd2","scripts":{"test":"vitest run","build":"tsc","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","postinstall":"node scripts/download-grammars.js","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.9.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.14.0","dependencies":{"typescript":"^5.0.0","cross-spawn":"^7.0.6","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@types/cross-spawn":"^6.0.6","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.22_1775736990206_0.7987713711852262","host":"s3://npm-registry-packages-npm-production"}},"3.8.23":{"name":"pi-lens","version":"3.8.23","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.23","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"6b25013337d2c65e8041f624a21927977df87700","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.23.tgz","fileCount":362,"integrity":"sha512-WesFppBeD53sKl7HPOixuyGLw00mqXrcW14ywbFdEH035f29cMErjo3p0ZUSOEeKSKKshAjluQ/Hw0o0rGdGTw==","signatures":[{"sig":"MEQCIB1LSlJRS62QvqilBtoPZL4sbQ/X714CXPeRGJ6GDSErAiBio6pMCpv+ftkE1txegmrYFJRzOTixsTeSmEt98KBhQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1473900},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"a2c35d843bfa30939212be7f2a2707f4bdc17127","scripts":{"test":"vitest run","build":"tsc","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","postinstall":"node scripts/download-grammars.js","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.9.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.14.0","dependencies":{"typescript":"^5.0.0","cross-spawn":"^7.0.6","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@types/cross-spawn":"^6.0.6","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.23_1775992273871_0.3394357905148384","host":"s3://npm-registry-packages-npm-production"}},"3.8.24":{"name":"pi-lens","version":"3.8.24","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.24","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"c2d846ca8f2360acf5940a40482f042885237080","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.24.tgz","fileCount":363,"integrity":"sha512-xTdvKMmwyY5zVTDi2HnpBqy0D5dj99Aq+6S7kJoiIYkhjKXmv24w8juL+UHghoRxSeU3CY4ryWnGqFN3X3cl2A==","signatures":[{"sig":"MEUCIQDKGXWvAmMuOMJ0T8B6lJ9SenQ6om8t6hqysZ97wa6hfQIgVYxmz+SQF12ZpgGZARBuNYS1Z1ATTPcsPApUyGNEMY0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1478447},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"fccf6ad38a07591bc96d4d0fc38e9af8bc83674c","scripts":{"test":"vitest run","build":"tsc","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","postinstall":"node scripts/download-grammars.js","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.9.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.14.0","dependencies":{"minimatch":"^10.2.5","typescript":"^5.0.0","cross-spawn":"^7.0.6","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@types/cross-spawn":"^6.0.6","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.24_1776017615412_0.11412901487479399","host":"s3://npm-registry-packages-npm-production"}},"3.8.25":{"name":"pi-lens","version":"3.8.25","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.25","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"1962db471cfb4d746700dd01b0ae03213b42196a","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.25.tgz","fileCount":363,"integrity":"sha512-RomtAYmqcDXJirzibZBBewz8lrV/MB4W1wWGgNyEtiPL2RnXbgPL+M3Th/yALE6j1Gp+J6HCpLxVdhwP5AV8Lg==","signatures":[{"sig":"MEQCIB68RTt7KJAV8m2x9v6eBr0ALqWUV7OzEPxu6L1kjuIIAiA4vmBPgliEaB3o2TMyQFC4nzxRwxDO+KgFQVdvXx58kQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1480469},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"8d0fe2dfe9e5a449bf1ea2fae1beb713c29dc128","scripts":{"test":"vitest run","build":"tsc","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","postinstall":"node scripts/download-grammars.js","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.9.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.14.0","dependencies":{"minimatch":"^10.2.5","typescript":"^5.0.0","cross-spawn":"^7.0.6","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@types/cross-spawn":"^6.0.6","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.25_1776065627892_0.7853096068200349","host":"s3://npm-registry-packages-npm-production"}},"3.8.26":{"name":"pi-lens","version":"3.8.26","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.26","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"c0d8bd7e0036ebd80d15944a9a6c2db81bd063f8","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.26.tgz","fileCount":363,"integrity":"sha512-7JtFD8OEsZZ7BhSwnwdhVjCNSkgHQ1e7X6O5c/GTvNq9i/kHfn2F7/FqLrf9MMLvQDZ6xAZK4hkRU7pjm0+axw==","signatures":[{"sig":"MEUCIEsdMDGxvnOVk+/cw3VAzhllc1JU+awlxELtjJhugc3MAiEAjLGmF/1pkgBsn5SGDEDNd+eeNyRzUUZiaUQvMDG38yA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1486228},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"63b31e87ee12c47df59242b7fbd119a144963a86","scripts":{"test":"vitest run","build":"tsc","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","postinstall":"node scripts/download-grammars.js","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.9.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.14.0","dependencies":{"minimatch":"^10.2.5","typescript":"^5.0.0","cross-spawn":"^7.0.6","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","typescript":"^5.0.0","@types/node":"^22.10.5","@ast-grep/napi":"^0.42.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@types/cross-spawn":"^6.0.6","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.26_1776258216059_0.6575606565149303","host":"s3://npm-registry-packages-npm-production"}},"3.8.27":{"name":"pi-lens","version":"3.8.27","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.27","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"50255b0c4ae781629f96b0de26a1fd1120abf9ef","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.27.tgz","fileCount":489,"integrity":"sha512-46aMdcwjIQbsKgdp1S1DORihc78TdwssLQP0YxMhQi36pu1W1aRsB+YmLHwv84mU2npN6PisimQfl2cYiic1rQ==","signatures":[{"sig":"MEYCIQD606YX/CUhbXIGv/IYdPgsji/VV4o+ek6mIC+J4l4/DgIhALRLoB2tS9+OB6QDVc0l7seMm8vHGB8VAVhgKsfyUjhj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1769493},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"e847107b865b0ea3d45fe4c9e0067c3161bf6516","scripts":{"test":"vitest run","build":"tsc","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","postinstall":"node scripts/download-grammars.js","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.9.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.14.0","dependencies":{"minimatch":"^10.2.5","typescript":"^5.0.0","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^22.10.5","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.27_1776546777344_0.31867823670338113","host":"s3://npm-registry-packages-npm-production"}},"3.8.28":{"name":"pi-lens","version":"3.8.28","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.28","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"5c1b586e16d75cf3494c670696cd360169d5dd0d","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.28.tgz","fileCount":489,"integrity":"sha512-g54bew/+4vCSlrnSkSPxWKWpSykb34y/3kG2eZNncOYIM6JAxiPB5ArkwBouF8HwEDmmFMXWJnnF+3R7h0TTPw==","signatures":[{"sig":"MEUCIQDhfp4mu53iNFBoBN1Jyk1anTuJy7Ai/44a9FP2PS32nAIgTt0rq5QxR767H1nFEwm+ho1dCceaVqRkdN6BAusO4eU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1774451},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"4af42ed25be3025815c0cd5901fec8efa9da7c02","scripts":{"test":"vitest run","build":"tsc","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","postinstall":"node scripts/download-grammars.js","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.9.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.14.0","dependencies":{"minimatch":"^10.2.5","typescript":"^5.0.0","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^22.10.5","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.28_1776599626370_0.04291506980581539","host":"s3://npm-registry-packages-npm-production"}},"3.8.29":{"name":"pi-lens","version":"3.8.29","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.29","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"7a67d0e8cd2572cb47334a8642f74be2a5d3590d","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.29.tgz","fileCount":461,"integrity":"sha512-uAjyunTE5D6o8tGApE/GuZSuyYEempxuikojvk08QYNxXE3Nslnf7mWP7+V5dq6/NS6B9ng7Y+WjKfroLKAnrg==","signatures":[{"sig":"MEQCIAY4sLPwMui2srRk3G/LLajlr47/72RoqtMqi8ddSWleAiB9Y+vfkre7T+OFhDMfXb0cMbcCkSQDajG+ipNVUrwzVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1739269},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"5ad21d72ee03a0162cee8199472bd9e8dc9fd391","scripts":{"test":"vitest run","build":"tsc","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","postinstall":"node scripts/download-grammars.js","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"minimatch":"^10.2.5","typescript":"^5.0.0","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^22.10.5","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.29_1776757472486_0.30190834500636043","host":"s3://npm-registry-packages-npm-production"}},"3.8.30":{"name":"pi-lens","version":"3.8.30","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.30","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"72e9374876cb6150118c6a7c63b512105cf8ef46","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.30.tgz","fileCount":461,"integrity":"sha512-BdMYvRloMzf1RPqfaOmNEQ9TfNmRU0R43LTS5KXA6GCBPhzxoOdJlyhUiB2Oti0Q/W81qaaMfvSOnIqJ5m1LYg==","signatures":[{"sig":"MEUCIAGdKjwn4aSkvRwrikoqQky4yJ+ZpUNovDsDVyXmqjDuAiEA43xDkgCb1Refax06FKR+X6McGzNoEJO3D9BNxrRGUS4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1750326},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"76dd54125d2f9811e4270d7f75350a2305ed0b64","scripts":{"test":"vitest run","build":"tsc","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","postinstall":"node scripts/download-grammars.js","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.9.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.14.0","dependencies":{"minimatch":"^10.2.5","typescript":"^5.0.0","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1","@sinclair/typebox":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^22.10.5","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.30_1776871052944_0.36076622071326825","host":"s3://npm-registry-packages-npm-production"}},"3.8.31":{"name":"pi-lens","version":"3.8.31","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.31","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"fdcd99ac269183cd602ec9576224df4a69225fc6","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.31.tgz","fileCount":461,"integrity":"sha512-3hxpJSwaFBq56SekfvWs/aFM/gMHPkBnIKF+0OFSwlN87RtG8/pi1ohFBm57BkxW72ZkiFA+nUNGLBOSPpl2Zg==","signatures":[{"sig":"MEYCIQCaJ1iVaNd4jYegDtR0fli89LckPKq49laaj6tkFI1YUAIhAKFklELZaDYlx6DRPduzU42ShBp3RX9FjupFPfeNPYbv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1752042},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"a58f7d63deb11204b9e3c0da9604d36cccfaecc6","scripts":{"test":"vitest run","build":"tsc","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","postinstall":"node scripts/download-grammars.js","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^5.0.0","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^22.10.5","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.31_1776893164452_0.5784107706843986","host":"s3://npm-registry-packages-npm-production"}},"3.8.32":{"name":"pi-lens","version":"3.8.32","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.32","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"7bd3f0d9f1f5e1c8f5a77906ac7993354b9c451c","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.32.tgz","fileCount":468,"integrity":"sha512-246hZjal8mERTaFENlJZqnkUfLBMW1coNRb8aQqgynpDooC9hy4qhoqwApVJpXL3tDEaNEJaXZGXo0Z8jAtf6Q==","signatures":[{"sig":"MEQCICqs/u3t1FUs6p6x3BYHlINcQ2euw47Xo44h5ccpDTS8AiA5Is/5KH4ntqIxYNS8MoQmBo6r6cFyErqv19qBN2lnjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1845325},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"4c39d706c584ad11dde37f2f0ba5bd7a74bf57cc","scripts":{"test":"vitest run","build":"tsc","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","postinstall":"node scripts/download-grammars.js","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs"},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^5.0.0","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^22.10.5","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.32_1777154714188_0.11762941829146656","host":"s3://npm-registry-packages-npm-production"}},"3.8.33":{"name":"pi-lens","version":"3.8.33","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.33","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"cab7f135f5e64c18e810a3eced54bedbee97327f","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.33.tgz","fileCount":469,"integrity":"sha512-ylsuvCyvrAz6lns93h7H1TpQ4uC4/hLwZcGsUF4JkrsbY4bM1qZ00gbUf9jTXbtouYOqNbd+UV7EepJHfk88HQ==","signatures":[{"sig":"MEYCIQDdqfKMx0g/G46s0bgVrPsWrrKiBJ2KMZ6xSbgzA3aMLQIhAPbcc6p1nDR3tU+sIv9OaETy83qfkEsk+XgVUHnxW+sI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1879564},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"4b92fc5cddbd5d9b7585e84059866b77869466da","scripts":{"test":"vitest run","build":"tsc","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","postinstall":"node scripts/download-grammars.js","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^5.0.0","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^22.10.5","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.33_1777270340759_0.9275777123028413","host":"s3://npm-registry-packages-npm-production"}},"3.8.34":{"name":"pi-lens","version":"3.8.34","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.34","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"4a42974ab21bc1efba2ffce57767b4504903183b","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.34.tgz","fileCount":464,"integrity":"sha512-hnvNBFIiqRtgQKDjZfJlBfW5gzsUDXCBlzTsTGgMM59fJ1JyOQRbV4qd5DchnXIlgRIDLPr2wRk2YNbtGRwXYg==","signatures":[{"sig":"MEYCIQDSiiQ27GqnOcxww+atfkz7H/kFhWQqb9ZXI/+1XUT1zQIhAI4ek2EX4//Ccweg9WJns3erhFBTCJ8sVRfTIhjhY1Ad","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1872179},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"a2b7358693a5b8ec3779e8253be6a00069a7d09f","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","postinstall":"node scripts/download-grammars.js","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.9.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.14.0","dependencies":{"typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^25.6.0","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.34_1777631539388_0.8641473883167228","host":"s3://npm-registry-packages-npm-production"}},"3.8.35":{"name":"pi-lens","version":"3.8.35","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.35","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"762292b5069533c4e265da8c4bdba9aaf8f68b66","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.35.tgz","fileCount":464,"integrity":"sha512-mh/lbLemhzRyczZXsF4cEomOAIFupUUDpYeAH+sXO22qea34APMPvsHf1ZZssQzymXBBED2YNAi0dMQU3RU15g==","signatures":[{"sig":"MEUCIAs/abCnFZ5I4RiTVPSmKkY2ZqljLWyNEMveiUqvQabcAiEAu4IgF43Uf+AFZi9xh5yCgywkBnpY5iwc2ewpK0oT+bw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1873112},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"b1c9cc7757f37ae0614e77e26a42eee5a713106d","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","rust:fmt":"cargo fmt --manifest-path rust/Cargo.toml --all --check","rust:lint":"cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings","rust:test":"cargo test --manifest-path rust/Cargo.toml --all-targets --all-features","rust:build":"cargo build --manifest-path rust/Cargo.toml --release","rust:check":"cargo check --manifest-path rust/Cargo.toml --all-targets --all-features","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","postinstall":"node scripts/download-grammars.js","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","rust:fmt:write":"cargo fmt --manifest-path rust/Cargo.toml --all","rust:build:debug":"cargo build --manifest-path rust/Cargo.toml","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.12.1","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.15.0","dependencies":{"typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^25.6.0","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.35_1777703503287_0.3811750687765021","host":"s3://npm-registry-packages-npm-production"}},"3.8.36":{"name":"pi-lens","version":"3.8.36","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.36","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"1dc72c34dd0ef6aa5f379631e6e081bb3ccb9b53","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.36.tgz","fileCount":463,"integrity":"sha512-MJ6+XYF0M6eFD90UdKsePALdGVpVN/m+saF89GLlJrPNL4jImkpqRihrbMWNm0l3P55tawPmm95WFSdcVBWYJw==","signatures":[{"sig":"MEQCIHeZaBW5rDXzBX6Il2CdAd+NFKvAhXCyM68tmxglCyFOAiBllw6ke4JjEPQv/Zhx1N5ETAfpqGiou9V4NtBApcaIWQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1906942},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"f17ccb35880e6e56b3358a10623b8d1b2c893d13","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","postinstall":"node scripts/download-grammars.js","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.12.1","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.15.0","dependencies":{"typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^25.6.0","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.36_1777733974397_0.12161421292261387","host":"s3://npm-registry-packages-npm-production"}},"3.8.37":{"name":"pi-lens","version":"3.8.37","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.37","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"74c2e69f88dd6d4e33caf1e9e0f62cda82654274","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.37.tgz","fileCount":463,"integrity":"sha512-tCO5kZXcXFHx7RzLr6ABmsQ4VzidlrxdWYsfjB+UZfOpPcg0+jIodv+XMeHVw7tM8C3vUjoSWYNdEZkQ5VfZ4A==","signatures":[{"sig":"MEUCIDLmHjovFgAo0CVk4iD42oW0bFUFgPp/VFPtew1oBSlMAiEA8zsHPrm4r91oSxSgOEjzNPRsViXV7WsMrvLDHTOp/LE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1907326},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"5b30b445a226a1a0b8891c1fe57a640a443bc078","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","postinstall":"node scripts/download-grammars.js","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.12.1","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.15.0","dependencies":{"typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^25.6.0","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.37_1777734413887_0.0839978308475402","host":"s3://npm-registry-packages-npm-production"}},"3.8.38":{"name":"pi-lens","version":"3.8.38","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.38","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"371345279a680824dbd9fcbe801898b1fee8df18","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.38.tgz","fileCount":464,"integrity":"sha512-U9beEf1kfhk2CaoZYtxeeloDSoVmv+x2JJUhZKHk278mtpVw4Z8Bfe5TZVsx3HabYbsm3KqkEZv+ohc/gUk5SA==","signatures":[{"sig":"MEUCIGosGh2ammBhjffkpD7vfAfQyoME/0o+cjXX/HNBoPXeAiEAm+1+1axU4DLgKNxOeOFeLaRVRtOUEuTXWGPjBiNyHno=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1970600},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"3394123e2639a3cf1a111a0b94e6927e2e587863","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","postinstall":"node scripts/download-grammars.js","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.12.1","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.15.0","dependencies":{"typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^25.6.0","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.38_1777737418707_0.4338653035150286","host":"s3://npm-registry-packages-npm-production"}},"3.8.39":{"name":"pi-lens","version":"3.8.39","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.39","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"04a6968d02576b7bdb3f7af2d0aef4cd22263dd8","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.39.tgz","fileCount":514,"integrity":"sha512-W8+UVYV6P1taY0rnvabH3yS02EXVYQQX+Ito9ZQKMjifVpZ7xpQljwzTb/FIMMSUZ4h42yzGHhiKrD/9oJSZOg==","signatures":[{"sig":"MEQCIDiMv9S94+kHdUi76tTRWcnZ4HuheSJ0vjnlwAhCK20aAiBh6CBoyuIghah1k0AUfQXdiAtGJcu/bkyoJq7yP+jM0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2049097},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"45b073a44288174339bbb1ec702c13cd21df23fc","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","postinstall":"node scripts/download-grammars.js","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.12.1","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.15.0","dependencies":{"typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^25.6.0","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.39_1777741532354_0.06613082155266459","host":"s3://npm-registry-packages-npm-production"}},"3.8.40":{"name":"pi-lens","version":"3.8.40","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.40","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"6e889348b6a854a81ee1924608b1dbca69cb595c","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.40.tgz","fileCount":535,"integrity":"sha512-18CzDwpxqYYCZMRrrGGTaju5Dw+YE6EOLpSrkpYAGA/NLMLMmgAJSwza485Yle8H5nsm0aOmwr5ShH/avUnbGA==","signatures":[{"sig":"MEQCIHcXbknzzcY0x2AkKPq+1yuRvG2GOXt46h6TsTogCztQAiAfK9CmWbkUGleQ+oD/8W0jnQPWBg5KKpAm2vmiqXCAUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2092391},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"6aaf74baafd3a5ca596178b48f9fd1915a10390a","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","postinstall":"node scripts/download-grammars.js","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^25.6.0","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.40_1777852175871_0.7299204262085524","host":"s3://npm-registry-packages-npm-production"}},"3.8.41":{"name":"pi-lens","version":"3.8.41","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.41","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"e839fdf9d3696d5100e740cfa464136cfab57696","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.41.tgz","fileCount":540,"integrity":"sha512-ZlTSW2a+pblPWp7ZFHlNYzLhQFUqD47me44pfothJorTGKE/qP23XRHUQjcjGoWdi/ja+9wRok8AcgUoWUcCfQ==","signatures":[{"sig":"MEYCIQDgK8Q3kFecsJCeWUIIg1zUi41pYa1DUM9VGxXkxvJTsQIhAJJkOSqIsJ0MoK9NBtwNT2DNcRekEiQgxKXcw8hac0rs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2148713},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"967b3a5eb65617b99df3c2ce3734cb4bac89e604","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","postinstall":"node scripts/download-grammars.js","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1","@mariozechner/pi-tui":"^0.72.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^25.6.0","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3"},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.41_1777966923935_0.9974825284229214","host":"s3://npm-registry-packages-npm-production"}},"3.8.42":{"name":"pi-lens","version":"3.8.42","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.42","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"da9bbd32e114db46b35ad77805a774e6cfd34e47","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.42.tgz","fileCount":544,"integrity":"sha512-vUHmD/nRJ0xX9ku7pptfsWn6jP7HCBy2forLvsWCXMdHpV7QMgeijZjn3rQuRfRhcmHptiW8OQ8u3h2f2HSRlg==","signatures":[{"sig":"MEUCIAtMfj4IXww3Pib9B0CCkHGCLd1EKw3H1zB8BpfWVWdiAiEAqF+laLj1f2/qkcQZsRoIO/qP7Z1zMTKTdllkYZ6/Du4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2192198},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"24b7e827f0584246c2fd0b8456810f79f5fbc628","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","postinstall":"node scripts/download-grammars.js","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^25.6.0","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.42_1778232192569_0.6282101832457914","host":"s3://npm-registry-packages-npm-production"}},"3.8.43":{"name":"pi-lens","version":"3.8.43","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.43","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"e39919d2a50877a77ec7448c10c2ce4c40f01f29","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.43.tgz","fileCount":547,"integrity":"sha512-x/twORxnz9cRF/p7jTfSsdbBDr3PR2Tm6hLb0G2tInSdWfLpQuGd5H696QuYrUEdvykPGQpGSyVLIRR2NqCzGQ==","signatures":[{"sig":"MEUCIQCSq45n7+w6h3eH/gNHhIH7mDYJcqJ4su4FuXZhl0bhPgIgePTzZEGZAPPpsYy/oKCowFPmU6Ywu8HoycPVUL3jJ38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2211625},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"1cadb6baba69f114d1d8f161bda795e714a740e8","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","postinstall":"node scripts/download-grammars.js","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^25.6.0","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.43_1778446066674_0.9629570268857268","host":"s3://npm-registry-packages-npm-production"}},"3.8.44":{"name":"pi-lens","version":"3.8.44","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.44","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"bec99b4e467af145fd4b942cb5600b2f17cb2eae","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.44.tgz","fileCount":550,"integrity":"sha512-pViA57be+4s2o9bFNSh5LzGqkFNAnDpAT4kAlHH54tp1CGh2RqvkKXv3ZjesWHgl7zN2BdltAedau4Q629hIuA==","signatures":[{"sig":"MEUCIQCIe4Yih6KzPNHVWiObmUIDB1CzpiItUb8sMiAWYmKkHQIgUBQnDASM28O4bx48DHS10NL0tARINHJC0vm6qpHS+Hw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2272573},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"f54421789cf8a2ef0579010eb23029c0284ad512","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","postinstall":"node scripts/download-grammars.js","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^25.6.0","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.44_1778696239242_0.04770451251153118","host":"s3://npm-registry-packages-npm-production"}},"3.8.45":{"name":"pi-lens","version":"3.8.45","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.45","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"120cbf90f4a47fa57a07ce1c0a9727b8ddc3e30b","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.45.tgz","fileCount":567,"integrity":"sha512-QMwVPhmplrZNIYWEzqLMRzxB/CAEPOOFAotGNwF6nT63kPk0cbrliox85lO6IoqY4Ik1PiNN3chYxGApmtK01w==","signatures":[{"sig":"MEUCIQChiBm7XH3lG38pFajSuKG+Gh48lWRt3/2Ji6LZzkExOQIgS72N2N9PAUOJRSYYt8da4m8M6cSjf1SPtKImM2KkZG4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2438513},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"e7a619bb2eba6b96f8c59af53d47918159a114d7","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","postinstall":"node scripts/download-grammars.js","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1","@earendil-works/pi-tui":"^0.74.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^25.6.0","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.45_1779343765630_0.7460268930006124","host":"s3://npm-registry-packages-npm-production"}},"3.8.46":{"name":"pi-lens","version":"3.8.46","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.46","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"3e6c87cdd98dcf75f6ea0a6979f703681cf22915","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.46.tgz","fileCount":581,"integrity":"sha512-MHPb15kKrc4Z+5e3XthRyYIFC+Kg+kCIVjKAKskl89f9d6SJ6cRhCAwtLasujiitjdRPsRy/cV80z4Fr9YWlcw==","signatures":[{"sig":"MEQCIB1htyjf6vEgoIBiNPfgRs4XpRHdPbj8uS7NCp37S2SLAiAQ/Aq11s7Utk5OZNk+BxhUFRRX5/P7Xy4k1FrMJiVdLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2611364},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"4a5a9089bef34c2e2e2ca56b2ea73af1152038e8","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","postinstall":"node scripts/download-grammars.js","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1","@earendil-works/pi-tui":"^0.75.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^25.6.0","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.46_1779837281818_0.9127228719768625","host":"s3://npm-registry-packages-npm-production"}},"3.8.47":{"name":"pi-lens","version":"3.8.47","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.47","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"ea14be13974c9ec28589d3652fac791ee8e85e45","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.47.tgz","fileCount":587,"integrity":"sha512-Q70zb+nMqZOH2tgTji1rVQLk6lOaHAbcgs/hUrM5GNthmEKap85j8r/+gU+RQ1uKSyGNu5YZkE0QDVxY+wk4MQ==","signatures":[{"sig":"MEUCIQDxXrHmLMYnHamNJAimWc5M4rZIGyt77EyfoQvDGH5r7QIgNeCB88J34uQIM0xOdpi2O+ktjDM4JAmqeF8Dhn8sP9c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2685333},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"8b157974023fd957e5c48266832069a6f9fd4bd9","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","postinstall":"node scripts/download-grammars.js","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/napi":"^0.42.1","vscode-jsonrpc":"^8.2.1","@earendil-works/pi-tui":"^0.75.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","js-yaml":"^4.1.1","@types/node":"^25.6.0","@ast-grep/cli":"^0.42.1","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"^0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.47_1780295890260_0.1349332732451416","host":"s3://npm-registry-packages-npm-production"}},"3.8.50":{"name":"pi-lens","version":"3.8.50","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.50","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"c5e7e57ac6fbb7d2e59b9bbb180658712156a221","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.50.tgz","fileCount":601,"integrity":"sha512-CBCtLdryjBgUIv077nWTBLmKJ2qLz5v8oGQbfUhGLkofh7WKiBEM+REf9p1T+LQ7MEiJiB27fM6hnl1/iu7ISA==","signatures":[{"sig":"MEMCHwtJsl/c7zWpWhohzTRzoMiLIkfREPG3mxd/xYCVgJkCIFChgw6XrQgSWHIHSoOtuvawYSEKvI7CL2hZyKQMriy/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2889936},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"index.ts","type":"module","gitHead":"679a57cdc54839ac6f7b0b66d951f4ce13a66ba0","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","test:unit":"vitest run --ignore tests/index-integration.test.ts --ignore tests/clients/lsp/integration.test.ts","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","postinstall":"node scripts/download-grammars.js","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","test:integration":"vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"js-yaml":"^4.1.1","typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/napi":"^0.43.0","vscode-jsonrpc":"^8.2.1","@earendil-works/pi-tui":"^0.78.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","@types/node":"^25.6.0","@ast-grep/cli":"^0.43.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.78.1"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.50_1780844385478_0.07641086628273674","host":"s3://npm-registry-packages-npm-production"}},"3.8.51":{"name":"pi-lens","version":"3.8.51","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.51","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"17cff0d0c642fc55bc09f0933c040bfe70a6e596","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.51.tgz","fileCount":608,"integrity":"sha512-3BYe5EqT0boPmMRQAjzaEKcApLLG2R8YkUBk/NnTO/tT8J3aISL0R/ej0lbaxlzpG3/0ew8KrB1pEY5rgkLeJQ==","signatures":[{"sig":"MEUCIFgChfi1773YmV9u2f2xJsnEpLHBTDouc3E3VJZ5yEzYAiEA+cEf7zVq2BeCbN0mN8E6gZU0eDTdBcfKQsHG4+YuIKA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3081838},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"83ce7626407dd2ae1d2c45ac26786415d6d06451","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","prepare":"npm run build:dist","test:unit":"vitest run --ignore tests/index-integration.test.ts --ignore tests/clients/lsp/integration.test.ts","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc --project tsconfig.dist.json --noCheck","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","postinstall":"node scripts/download-grammars.js","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","test:integration":"vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"js-yaml":"^4.1.1","typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/napi":"^0.43.0","vscode-jsonrpc":"^8.2.1","@earendil-works/pi-tui":"^0.79.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","@types/node":"^25.6.0","@ast-grep/cli":"^0.43.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.78.1"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.51_1781460073701_0.9231166091261946","host":"s3://npm-registry-packages-npm-production"}},"3.8.52":{"name":"pi-lens","version":"3.8.52","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.52","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"06c69a3c91f5d6db1d873257192e0ad423290d94","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.52.tgz","fileCount":608,"integrity":"sha512-RFD12fIN0Te0fjqyPSm/njuvx8HHdJyhyybCpGzsOjaxuHlfSalW/4bW18LJVVjI+MS4icP9YBUnv9/iGrIEog==","signatures":[{"sig":"MEYCIQDpsmjsbNGi+6wI+wfdQzmAAsK3nig4V91vAO02tglV1wIhAK23RfDcBcSuI5avPyjuB+9si1Q7nDyQpLGsFg5sFmut","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3090091},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"3749f92a0f53d60dbdb4e4d02151475421c1cc0e","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","prepare":"npm run build:dist","test:unit":"vitest run --ignore tests/index-integration.test.ts --ignore tests/clients/lsp/integration.test.ts","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc --project tsconfig.dist.json --noCheck","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","postinstall":"node scripts/download-grammars.js","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","test:integration":"vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"js-yaml":"^4.1.1","typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/napi":"^0.43.0","vscode-jsonrpc":"^8.2.1","@earendil-works/pi-tui":"^0.79.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","@types/node":"^25.6.0","@ast-grep/cli":"^0.43.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.78.1"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.52_1781466206682_0.5853080721752841","host":"s3://npm-registry-packages-npm-production"}},"3.8.53":{"name":"pi-lens","version":"3.8.53","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.53","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"9019b6862b48b329126a51cd538eb80a0fb3c881","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.53.tgz","fileCount":608,"integrity":"sha512-kM6X9W1PlOgtoa93tyTW1bzU+hhDy7HjTFwLUd7VybDmgQpRmyZbAlrf0rb2AaSSpOqaCz5QAD/APxLjPXSYKQ==","signatures":[{"sig":"MEQCIBWgbpwuI5R5E4bbc+BbLdaBOTuNZCtagnLXdoM4IvQsAiAvMis4YpZ9f4MBjUdNDVLUuwZgOF98jQTWKnAF+rmTdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3135593},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"59fa6fc47472a8a94243b19fa01ff6ea96c811e5","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","prepare":"npm run build:dist","test:unit":"vitest run --ignore tests/index-integration.test.ts --ignore tests/clients/lsp/integration.test.ts","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc --project tsconfig.dist.json --noCheck","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","postinstall":"node scripts/download-grammars.js","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","test:integration":"vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"js-yaml":"^4.1.1","typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/napi":"^0.43.0","vscode-jsonrpc":"^9.0.0","@earendil-works/pi-tui":"^0.79.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","@types/node":"^25.6.0","@ast-grep/cli":"^0.43.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.79.4"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.53_1781591015446_0.9205688924324984","host":"s3://npm-registry-packages-npm-production"}},"3.8.61":{"name":"pi-lens","version":"3.8.61","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.61","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"8404a86b8ec2a76808fa1035ad8e34a62351e174","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.61.tgz","fileCount":1163,"integrity":"sha512-vxzInBTKiH3HQIVlhDU7A8aKkTasnpLxhVCm0U2P8X8Hq/PT7uZrYaNRGHtClaYDEFkn1GS/B95rIKTD3oiERQ==","signatures":[{"sig":"MEUCIQCTpMVFU20ojRAkXwTzjL+dqFNqaxyCKRfc1tT5co59lwIgQZzE0yvGVvo8IhUxAGMRJCZAcj+/rpjIMNfnoiwipnc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4806778},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"58b4062ebc36ec5ede5100815c84d127ec8172f1","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","prepare":"npm run build:dist","test:unit":"vitest run --ignore tests/index-integration.test.ts --ignore tests/clients/lsp/integration.test.ts","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc --project tsconfig.dist.json --noCheck","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","postinstall":"node scripts/download-grammars.js","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","changelog:check":"node scripts/changelog-release.mjs --check","audit:playground":"node scripts/playground-verify-rule.mjs","test:integration":"vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","release:backfill-notes":"node scripts/backfill-github-releases.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"js-yaml":"^4.1.1","typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/cli":"^0.44.0","@ast-grep/napi":"^0.44.0","vscode-jsonrpc":"^9.0.0","@earendil-works/pi-tui":"^0.80.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","@types/node":"^26.0.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.61_1782405069799_0.35344874079840216","host":"s3://npm-registry-packages-npm-production"}},"3.8.62":{"name":"pi-lens","version":"3.8.62","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.62","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"7eac7b08273038982ce9434d898fd138d9e4d6e2","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.62.tgz","fileCount":1179,"integrity":"sha512-RvE6/gYvCajkHOdoae54qRYXoMcXPaZ1n86CAcHKvUVrHtLnh8bzJtZw30iTrtOCxDm060iuKsV0ojmwdvsdoA==","signatures":[{"sig":"MEYCIQDzavvnt8DN63Io8sYdh3ju24tQnfEuY6bq8YyvAqUpGgIhAJlxybxYtYsJWb2gCfXyeToO73c3hA1J7yYGP7NPGTED","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5083148},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"cc824cc55aa2a078d93f46554962feb32e4300f7","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","prepare":"npm run build:dist","test:unit":"vitest run --ignore tests/index-integration.test.ts --ignore tests/clients/lsp/integration.test.ts","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc --project tsconfig.dist.json --noCheck","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","postinstall":"node scripts/download-grammars.js","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","changelog:check":"node scripts/changelog-release.mjs --check","audit:playground":"node scripts/playground-verify-rule.mjs","selftest:install":"node scripts/install-selftest.mjs","test:integration":"vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","release:backfill-notes":"node scripts/backfill-github-releases.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"js-yaml":"^4.1.1","typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/cli":"^0.44.0","@ast-grep/napi":"^0.44.0","vscode-jsonrpc":"^9.0.0","@earendil-works/pi-tui":"^0.80.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","@types/node":"^26.0.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.62_1782673432286_0.22954717097134525","host":"s3://npm-registry-packages-npm-production"}},"3.8.63":{"name":"pi-lens","version":"3.8.63","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.63","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"01c7c339d3681e1dfde5959f0a3c8fffab215e84","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.63.tgz","fileCount":1184,"integrity":"sha512-wfUdTDRID2XffF033SPvupgpIgRRBtawuaRD0zv5JWPPBglrUrynfWsZCNOutffb1uCwoZx3oAPMvKarlR9UHg==","signatures":[{"sig":"MEUCIQC3LNzBMOlREvGvRj0g5Lk1LC1LkgGTgBF3uYqPzQvIMQIgK2xMsOPxPUscUZsIOAERLmeJdZ5jaGFgcLW2Cx/zBxo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5099511},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"b4c8d3ad64340bb388bf8f567e93fee76787229b","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","prepare":"npm run build:dist","test:unit":"vitest run --ignore tests/index-integration.test.ts --ignore tests/clients/lsp/integration.test.ts","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc --project tsconfig.dist.json --noCheck","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","postinstall":"node scripts/download-grammars.js","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","changelog:check":"node scripts/changelog-release.mjs --check","audit:playground":"node scripts/playground-verify-rule.mjs","selftest:install":"node scripts/install-selftest.mjs","test:integration":"vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","release:backfill-notes":"node scripts/backfill-github-releases.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"js-yaml":"^4.1.1","typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/cli":"^0.44.0","@ast-grep/napi":"^0.44.0","vscode-jsonrpc":"^9.0.0","@earendil-works/pi-tui":"^0.80.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","@types/node":"^26.0.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10","tree-sitter-wasms":"npm:null@^0.11.0"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.63_1782931277258_0.07084472695959021","host":"s3://npm-registry-packages-npm-production"}},"3.8.64":{"name":"pi-lens","version":"3.8.64","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.64","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"3018cad7602cb1b2103a04f3b9da0fb2ab90c19b","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.64.tgz","fileCount":1211,"integrity":"sha512-kAFNudv2N7NaMZIDFbLChH0MhpMw2XIWx9tJIfVZpAjP1y7N231SnxrQj4Ni5LTrG/+YtsmDTui2OiImzKomhw==","signatures":[{"sig":"MEQCIGazQzgO6eYPvp/XBvnxfF1qfLZFL1cPg8rudwj7hxT9AiAGw7Jx0n5YfR3K7W3DTAtaFQ5rUUU8yDzdsnI1S+3e9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14225593},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"a933b7d1494710aa03635f91fc1e07a4cf03e163","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars","test:unit":"vitest run --ignore tests/index-integration.test.ts --ignore tests/clients/lsp/integration.test.ts","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc --project tsconfig.dist.json --noCheck","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","changelog:check":"node scripts/changelog-release.mjs --check","audit:playground":"node scripts/playground-verify-rule.mjs","selftest:install":"node scripts/install-selftest.mjs","test:integration":"vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"js-yaml":"^4.1.1","typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/cli":"^0.44.0","@ast-grep/napi":"^0.44.0","vscode-jsonrpc":"^9.0.0","@earendil-works/pi-tui":"^0.80.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","@types/node":"^26.0.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.64_1783166163217_0.7336925380374484","host":"s3://npm-registry-packages-npm-production"}},"3.8.65":{"name":"pi-lens","version":"3.8.65","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.65","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"34ee15c9dc387919669062af57cf4a0cac1d69e0","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.65.tgz","fileCount":1211,"integrity":"sha512-pl6awU7ARseLRm3WZ5lE4dMe1Pr3cz0Axp+rkouEkSY0U67kaElGech3aodn8Lu/rnAucJ0N0j1rktAGG/2WmQ==","signatures":[{"sig":"MEYCIQCBf5J03C8E7bc26PdAoLbdEEqLzNEbLG3VFqUEabv8SQIhAK7oM1cSq3yHwEIbRoDtkcv7WBxvEYbIp5rbL4xgFLOw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14227822},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"f21cb663c29bfe4513b3984d503c59f7851f8c81","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars","test:unit":"vitest run --ignore tests/index-integration.test.ts --ignore tests/clients/lsp/integration.test.ts","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc --project tsconfig.dist.json --noCheck","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","changelog:check":"node scripts/changelog-release.mjs --check","audit:playground":"node scripts/playground-verify-rule.mjs","selftest:install":"node scripts/install-selftest.mjs","test:integration":"vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"js-yaml":"^4.1.1","typebox":"^1.0.0","minimatch":"^10.2.5","typescript":"^6.0.3","@ast-grep/cli":"^0.44.0","@ast-grep/napi":"^0.44.0","vscode-jsonrpc":"^9.0.0","@earendil-works/pi-tui":"^0.80.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","@types/node":"^26.0.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.65_1783178616977_0.28588727685706905","host":"s3://npm-registry-packages-npm-production"}},"3.8.66":{"name":"pi-lens","version":"3.8.66","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.66","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"e57c0656d266a4394009a6b8a69f74b833ca2aed","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.66.tgz","fileCount":1210,"integrity":"sha512-ybhtHDvyi4QdRV6Mr6NA5/zC9b9yMWevEfspJqZAjHRSHQEekcJzAlmpyT5S/Iu9GMflV7t3B7l5+z4ztaDJxg==","signatures":[{"sig":"MEYCIQDx1N5ungQuxah9lMuZ+O/anra03fVXifO6mVT1gYdVNQIhAN72GYUg2pE4/94/dT8P9LZu5wHG+QceSE12isMIqAcr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14127695},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"f90789efc0c46a1da24f7926fe42dc9e4fa48a14","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars","test:unit":"vitest run --ignore tests/index-integration.test.ts --ignore tests/clients/lsp/integration.test.ts","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && npx --yes -p typescript@6 tsc --project tsconfig.dist.json --noCheck","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","changelog:check":"node scripts/changelog-release.mjs --check","audit:playground":"node scripts/playground-verify-rule.mjs","selftest:install":"node scripts/install-selftest.mjs","test:integration":"vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"js-yaml":"^4.1.1","typebox":"^1.0.0","minimatch":"^10.2.5","@ast-grep/cli":"^0.44.0","@ast-grep/napi":"^0.44.0","vscode-jsonrpc":"^9.0.0","@earendil-works/pi-tui":"^0.80.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^6.0.3","@types/node":"^26.0.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.66_1783421504056_0.9787081694185809","host":"s3://npm-registry-packages-npm-production"}},"3.8.67":{"name":"pi-lens","version":"3.8.67","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.67","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"f6f31b220e9e70c2c376c99a5d8571e5e9ba2a63","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.67.tgz","fileCount":1213,"integrity":"sha512-Fg9Rwbd3vAwamXZnjWBqCxwVRzHVKmJlbFhxeQ4rQswXsWgO039/zoRjUsuw08ks4Iysz1AOxiien2HMTuEHNg==","signatures":[{"sig":"MEUCIDAlNgl+q6EdpDqkZShDU3J9S5hlGcZaQTZEUdzqs8lmAiEAxMiCvsKN2+EwPxwGMNHEIoaWWaCRDXjfWBYL6Ha6mEQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14187071},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"f699704b277a1e7a1ecc4ab927300e4741d33b0c","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars","test:unit":"vitest run --ignore tests/index-integration.test.ts --ignore tests/clients/lsp/integration.test.ts","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && npx --yes -p typescript@6 tsc --project tsconfig.dist.json --noCheck","test:watch":"vitest","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","changelog:check":"node scripts/changelog-release.mjs --check","audit:playground":"node scripts/playground-verify-rule.mjs","selftest:install":"node scripts/install-selftest.mjs","test:integration":"vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"js-yaml":"^4.1.1","typebox":"^1.0.0","minimatch":"^10.2.5","@ast-grep/cli":"^0.44.0","@ast-grep/napi":"^0.44.0","vscode-jsonrpc":"^9.0.0","@earendil-works/pi-tui":"^0.80.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^6.0.3","@types/node":"^26.0.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.67_1783584116256_0.6319252215793456","host":"s3://npm-registry-packages-npm-production"}},"3.8.68":{"name":"pi-lens","version":"3.8.68","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.68","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"f2d23eaf5bdb9e242fa11a2b45bb5fcb48443c32","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.68.tgz","fileCount":1218,"integrity":"sha512-kLOA2wT/akEQUgRwXv450TIaG8gK9BF9KYPeJopVBBXung2isLnmWcYQsIlAfJoZJqMvWwD65poS6eBHuS3ydw==","signatures":[{"sig":"MEQCIH4up8WdPZko8Jn+6HFs8nLulabZf+B77i7oSDfNXnWDAiAUfQR8hvzTmfKx6iUGKu2v9QSCSQAlE2nBGRj0TJ4q6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16304393},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"577c651c982204dc26d1429360cfeed601616455","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars","test:unit":"vitest run --ignore tests/index-integration.test.ts --ignore tests/clients/lsp/integration.test.ts","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && npx --yes -p typescript@6 tsc --project tsconfig.dist.json --noCheck && npm run bundle:dist","test:watch":"vitest","bundle:dist":"node scripts/bundle-dist.mjs","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","changelog:check":"node scripts/changelog-release.mjs --check","audit:playground":"node scripts/playground-verify-rule.mjs","selftest:install":"node scripts/install-selftest.mjs","test:integration":"vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"js-yaml":"^4.1.1","typebox":"^1.0.0","minimatch":"^10.2.5","@ast-grep/cli":"^0.44.0","@ast-grep/napi":"^0.44.0","vscode-jsonrpc":"^9.0.0","@earendil-works/pi-tui":"^0.80.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^6.0.3","@types/node":"^26.0.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.68_1783677287073_0.5636186697783272","host":"s3://npm-registry-packages-npm-production"}},"3.8.69":{"name":"pi-lens","version":"3.8.69","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.69","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"327543d7f726bc0cde89682279adea10fa885132","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.69.tgz","fileCount":1229,"integrity":"sha512-vco4ZfSdipxDSRMGjX+BIo5Lq/4GvlYKDFSf+be3StjOIvbfdq1bSp1IXjvf38s/SuvsBwF2vhJwABtlbWvjvA==","signatures":[{"sig":"MEQCIHRZTRSPCTEUX/v6o7s1WaZpqEcrW2bdNeJjnFE1Bmy9AiBeXQEjMCLdKyngWTz29uvNL0x9Jut9/SiVISeG/0U3Xw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16630974},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"667a5cabe7d284693033ea597b0bd6ea1f4d0f7f","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars","test:unit":"vitest run --ignore tests/index-integration.test.ts --ignore tests/clients/lsp/integration.test.ts","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && npx --yes -p typescript@6 tsc --project tsconfig.dist.json --noCheck && npm run bundle:dist","test:watch":"vitest","bundle:dist":"node scripts/bundle-dist.mjs","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","changelog:check":"node scripts/changelog-release.mjs --check","audit:playground":"node scripts/playground-verify-rule.mjs","selftest:install":"node scripts/install-selftest.mjs","test:integration":"vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"js-yaml":"^4.1.1","typebox":"^1.0.0","minimatch":"^10.2.5","@ast-grep/cli":"^0.44.0","@ast-grep/napi":"^0.44.0","vscode-jsonrpc":"^9.0.0","@earendil-works/pi-tui":"^0.80.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^6.0.3","@types/node":"^26.0.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.69_1783788691389_0.5943291821400472","host":"s3://npm-registry-packages-npm-production"}},"3.8.70":{"name":"pi-lens","version":"3.8.70","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.70","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"efa99695d0fbfcfda1ef156534d6ffc5682aea03","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.70.tgz","fileCount":1288,"integrity":"sha512-h+i122XMIIsYa7usfu2N6yk0wbv8kc2J+vWlVPGbp1kwf43PjjW2TnoGU38+zI91nlY6wYMr7LeAgffoRbMvaw==","signatures":[{"sig":"MEYCIQDn2JagLmAvM8c5/wrXF7GaSrnQh4ewbwIxQbCuaIJbsQIhAJtXt6XLYwuE4AT6uvxmbq92yX3w9CBHLZJgaQ0njWKj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45786959},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"0a04bccf628b282d4083adecfb6b9652de744ba4","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars","test:unit":"vitest run --ignore tests/index-integration.test.ts --ignore tests/clients/lsp/integration.test.ts","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && npx --yes -p typescript@6 tsc --project tsconfig.dist.json --noCheck && npm run bundle:dist","test:watch":"vitest","bundle:dist":"node scripts/bundle-dist.mjs","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","changelog:check":"node scripts/changelog-release.mjs --check","audit:playground":"node scripts/playground-verify-rule.mjs","selftest:install":"node scripts/install-selftest.mjs","test:integration":"vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","audit:astgrep-rule-pairs":"node scripts/audit-astgrep-rule-pairs.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"apmantza","email":"ap.mantza@gmail.com"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"24.12.0","dependencies":{"js-yaml":"^4.1.1","typebox":"^1.0.0","pidusage":"^4.0.1","minimatch":"^10.2.5","@ast-grep/cli":"^0.44.0","@ast-grep/napi":"^0.44.0","vscode-jsonrpc":"^9.0.0","@earendil-works/pi-tui":"^0.80.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^6.0.3","@types/node":"^26.0.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@types/pidusage":"^2.0.5","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.70_1784061239558_0.7610168255911862","host":"s3://npm-registry-packages-npm-production"}},"3.8.71":{"name":"pi-lens","version":"3.8.71","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.71","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"ef38add73a525c55dd00ecbfd79afaf80394bf78","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.71.tgz","fileCount":1278,"integrity":"sha512-GO9ctoWGpm71CnVbmHHorPHUwhwTUL0yy7TjA2415sWenhJGfbhF49zM9wVCQvW7fef9ufNjX/oErX4vE9LGyQ==","signatures":[{"sig":"MEQCIE+ipEBFkIG5n3WIx/9f++SO2eQjHqweb4saaDI/lZTcAiBKgU2u4UPU/mV3WAhpC/HGOtyt3IumipI3/yV2xCKZvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-lens@3.8.71","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":17852945},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"2ea8691a25e3a39bf944e0d1c5ed4178c50b55da","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars","test:unit":"vitest run --ignore tests/index-integration.test.ts --ignore tests/clients/lsp/integration.test.ts","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && npx --yes -p typescript@6 tsc --project tsconfig.dist.json --noCheck && npm run bundle:dist","test:watch":"vitest","bundle:dist":"node scripts/bundle-dist.mjs","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","changelog:check":"node scripts/changelog-release.mjs --check","audit:playground":"node scripts/playground-verify-rule.mjs","selftest:install":"node scripts/install-selftest.mjs","test:integration":"vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","audit:astgrep-rule-pairs":"node scripts/audit-astgrep-rule-pairs.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:acf8e58c-022e-4077-95a0-a7f58c8d1dc8"}},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.18.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"22.23.1","allowScripts":{"protobufjs@7.6.4":true,"@ast-grep/cli@0.44.1":true,"@google/genai@1.52.0":true},"dependencies":{"js-yaml":"^4.1.1","typebox":"^1.0.0","pidusage":"^4.0.1","minimatch":"^10.2.5","@ast-grep/cli":"^0.44.0","@ast-grep/napi":"^0.44.0","vscode-jsonrpc":"^9.0.0","@earendil-works/pi-tui":"^0.80.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^6.0.3","@types/node":"^26.0.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@types/pidusage":"^2.0.5","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.71_1784568751776_0.17769847671793748","host":"s3://npm-registry-packages-npm-production"}},"3.8.72":{"name":"pi-lens","version":"3.8.72","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.72","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"2193b8ede6bcd9283691fe301b1e1813c78d23d2","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.72.tgz","fileCount":1291,"integrity":"sha512-Yrx9/g5/Nb0yHXKTsGTT03q1lE4An99Y6rMou5GdwRU6lNeRLp/jW4wvJe0x8H6qfvLWaO3YfEusw9rhIxmIyg==","signatures":[{"sig":"MEQCIE5cglTn6qa8zhZKVIxT/99cVuX81ENpcqGvIfQ50K4aAiAZ6pt0G+sPt+B/U5CGD39uSlzXKtZAZ7PZ8HHCGLW9rw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-lens@3.8.72","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":18290435},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"6ceb9751e2799e8aae9eae55e1798acb56730006","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars","test:unit":"vitest run --ignore tests/index-integration.test.ts --ignore tests/clients/lsp/integration.test.ts","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && npx --yes -p typescript@6 tsc --project tsconfig.dist.json --noCheck && npm run bundle:dist","test:watch":"vitest","bundle:dist":"node scripts/bundle-dist.mjs","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","changelog:check":"node scripts/changelog-release.mjs --check","audit:playground":"node scripts/playground-verify-rule.mjs","selftest:install":"node scripts/install-selftest.mjs","test:integration":"vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","audit:astgrep-rule-pairs":"node scripts/audit-astgrep-rule-pairs.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:acf8e58c-022e-4077-95a0-a7f58c8d1dc8"}},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.18.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"22.23.1","allowScripts":{"protobufjs@7.6.4":true,"@ast-grep/cli@0.44.1":true,"@google/genai@1.52.0":true},"dependencies":{"js-yaml":"^4.1.1","typebox":"^1.0.0","pidusage":"^4.0.1","minimatch":"^10.2.5","@ast-grep/cli":"^0.44.0","@ast-grep/napi":"^0.44.0","vscode-jsonrpc":"^9.0.0","@earendil-works/pi-tui":"^0.80.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^6.0.3","@types/node":"^26.0.0","@biomejs/biome":"^2.4.10","@types/js-yaml":"^4.0.9","@types/pidusage":"^2.0.5","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.72_1785068755227_0.43290618435168815","host":"s3://npm-registry-packages-npm-production"}},"3.8.73":{"name":"pi-lens","version":"3.8.73","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.73","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"caa35cc62808afc0085bfe011c63ada78b0b5b99","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.73.tgz","fileCount":1291,"integrity":"sha512-WvmJG60D/plF30kiqWqEu6merKLR85U2au4zizjA6Qg054t/6zvoAjCa8QhcHzN38XZiGcmx3LvlbKibG4fvxQ==","signatures":[{"sig":"MEUCIQCg9g3MSYtf/DG4/d/Of2uktPcHK5VoT/zHy1T7AXiexwIgc9bCYnPXmLOYkQdJ7oRjH28/HDEtbH2cCFrrc1SIUHs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-lens@3.8.73","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":18330311},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"6afe0255fa6c2da489bf5713dc53e76be3260c20","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars","test:unit":"vitest run --ignore tests/index-integration.test.ts --ignore tests/clients/lsp/integration.test.ts","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && npx --yes -p typescript@7.0.2 tsc --project tsconfig.dist.json --noCheck && npm run bundle:dist","test:watch":"vitest","bundle:dist":"node scripts/bundle-dist.mjs","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","changelog:check":"node scripts/changelog-release.mjs --check","audit:playground":"node scripts/playground-verify-rule.mjs","selftest:install":"node scripts/install-selftest.mjs","test:integration":"vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","audit:astgrep-rule-pairs":"node scripts/audit-astgrep-rule-pairs.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:acf8e58c-022e-4077-95a0-a7f58c8d1dc8"}},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.18.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"22.23.1","allowScripts":{"protobufjs@7.6.4":true,"@ast-grep/cli@0.44.1":true,"@google/genai@1.52.0":true},"dependencies":{"js-yaml":"^5.2.2","typebox":"^1.0.0","pidusage":"^4.0.1","minimatch":"^10.2.5","@ast-grep/cli":"^0.45.0","@ast-grep/napi":"^0.45.0","vscode-jsonrpc":"^9.0.0","@earendil-works/pi-tui":"^0.82.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^7.0.2","@types/node":"^26.0.0","@biomejs/biome":"^2.4.10","@types/pidusage":"^2.0.5","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.82.1"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.73_1785271521115_0.6091169128845706","host":"s3://npm-registry-packages-npm-production"}},"3.8.74":{"name":"pi-lens","version":"3.8.74","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@3.8.74","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens":"dist/mcp/cli.js","pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"75de686a15fffce0322a018cc5afaea9662e32a0","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.74.tgz","fileCount":1294,"integrity":"sha512-FEcrs4stCKcswhfyjwiS/Dqq1b20O+Clc42OfI8MVib6o8xlb7xuOP3lv4WEA/pYj0esbxckMRYFySaJqThyYw==","signatures":[{"sig":"MEUCIFyonCrq1zcvFa85oyt9hga3sV8j3/RcYKpBeSqlmDZvAiEA3n3fyHVKX4MzGnaU0lRJwwHN8p21kb1pUkwbtE8adFU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-lens@3.8.74","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":19063120},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"9aaa9bc2502354e7b446a30aaf0719e699d8be52","scripts":{"lint":"tsc --project tsconfig.json","test":"vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars","test:unit":"vitest run --ignore tests/index-integration.test.ts --ignore tests/clients/lsp/integration.test.ts","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && npx --yes -p typescript@7.0.2 tsc --project tsconfig.dist.json --noCheck && npm run bundle:dist","test:watch":"vitest","bundle:dist":"node scripts/bundle-dist.mjs","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","changelog:check":"node scripts/changelog-release.mjs --check","audit:playground":"node scripts/playground-verify-rule.mjs","selftest:install":"node scripts/install-selftest.mjs","test:integration":"vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","audit:astgrep-rule-pairs":"node scripts/audit-astgrep-rule-pairs.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:acf8e58c-022e-4077-95a0-a7f58c8d1dc8"}},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.18.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"22.23.1","allowScripts":{"protobufjs@7.6.4":true,"@ast-grep/cli@0.44.1":true,"@google/genai@1.52.0":true},"dependencies":{"js-yaml":"^5.2.2","typebox":"^1.0.0","pidusage":"^4.0.1","minimatch":"^10.2.5","@ast-grep/cli":"^0.45.0","@ast-grep/napi":"^0.45.0","vscode-jsonrpc":"^9.0.0","@earendil-works/pi-tui":"^0.82.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^7.0.2","@types/node":"^26.0.0","@biomejs/biome":"^2.4.10","@types/pidusage":"^2.0.5","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.82.1"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_3.8.74_1785614157880_0.7228063224072925","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"pi-lens","version":"4.0.0","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@4.0.0","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens":"dist/mcp/cli.js","pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"81e3c2617b4a9df288f2c5c5b0b7daeaaeedff39","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-4.0.0.tgz","fileCount":1330,"integrity":"sha512-8wVw2sjn786zSCPyB9XV5tOeyMGnnW4zod83vUWtWJ4TPdSmBsKKD3oWuhpzMKOnO5oLW36QY2YH8wZJlc6Hkw==","signatures":[{"sig":"MEQCIA7DZ+E00YD5IBrYUlWN+j2Q5cjszDkp8dZ7kSIVQsRlAiBFwuPNZqSkH4BuZiR/7XxhbqgcLZPY1T4KEIGRqNBHQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-lens@4.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":20659681},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"2567d1fbdecbc7e4d4a17f786ce426542bc3e470","scripts":{"lint":"tsc --project tsconfig.json","test":"node scripts/with-test-lock.mjs -- vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars","test:unit":"node scripts/with-test-lock.mjs -- vitest run","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && npx --yes -p typescript@7.0.2 tsc --project tsconfig.dist.json --noCheck && npm run bundle:dist","test:watch":"vitest","bundle:dist":"node scripts/bundle-dist.mjs","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","changelog:check":"node scripts/rollup-changelog.mjs --check","audit:playground":"node scripts/playground-verify-rule.mjs","selftest:install":"node scripts/install-selftest.mjs","test:integration":"node scripts/with-test-lock.mjs -- vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","audit:astgrep-rule-pairs":"node scripts/audit-astgrep-rule-pairs.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:acf8e58c-022e-4077-95a0-a7f58c8d1dc8"}},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.18.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"22.23.2","allowScripts":{"protobufjs@7.6.5":true,"@ast-grep/cli@0.45.1":true,"@google/genai@1.52.0":true},"dependencies":{"js-yaml":"^5.2.2","typebox":"^1.0.0","pidusage":"^4.0.1","minimatch":"^10.2.6","@ast-grep/cli":"^0.45.0","@ast-grep/napi":"^0.45.0","vscode-jsonrpc":"^9.0.0","@earendil-works/pi-tui":"^0.84.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^7.0.2","@types/node":"^26.0.0","@biomejs/biome":"^2.4.10","@types/pidusage":"^2.0.5","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.84.1"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_4.0.0_1786716595314_0.1861412152194275","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"pi-lens","version":"4.0.1","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@4.0.1","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens":"dist/mcp/cli.js","pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"1d1cd3d5304280a3be2df17e92dcda0771188957","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-4.0.1.tgz","fileCount":1355,"integrity":"sha512-JmkZr9aJf7oEn1K+Vj34wPc6nMUQF6Hj6mm5jo38Ic+zLAXRV9AFuac8ydexvU8vnGdWW3Wn8oAfU1MEIcWaGQ==","signatures":[{"sig":"MEUCIQCeoPXcwleD53yJOHbW3l2vZYS9N2847nG/7l6mIp5fDQIgZC8dgRRpe8rD4KdPhaNC9Oadw7HZ3OFqzdunoB3/mHE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-lens@4.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21092036},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"d35b7279301c5573de8f11916a005f424e5db399","scripts":{"lint":"tsc --project tsconfig.json","test":"node scripts/with-test-lock.mjs -- vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars","test:unit":"node scripts/with-test-lock.mjs -- vitest run","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && npx --yes -p typescript@7.0.2 tsc --project tsconfig.dist.json --noCheck && npm run bundle:dist","test:watch":"vitest","bundle:dist":"node scripts/bundle-dist.mjs","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","changelog:check":"node scripts/rollup-changelog.mjs --check","audit:playground":"node scripts/playground-verify-rule.mjs","selftest:install":"node scripts/install-selftest.mjs","test:integration":"node scripts/with-test-lock.mjs -- vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","audit:astgrep-rule-pairs":"node scripts/audit-astgrep-rule-pairs.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:acf8e58c-022e-4077-95a0-a7f58c8d1dc8"}},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.18.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"22.23.2","allowScripts":{"protobufjs@7.6.5":true,"@ast-grep/cli@0.45.1":true,"@google/genai@1.52.0":true},"dependencies":{"js-yaml":"^5.2.2","typebox":"^1.0.0","pidusage":"^4.0.1","minimatch":"^10.2.6","@ast-grep/cli":"^0.45.0","@ast-grep/napi":"^0.45.0","vscode-jsonrpc":"^9.0.0","@earendil-works/pi-tui":"^0.84.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^7.0.2","@types/node":"^26.0.0","@biomejs/biome":"^2.4.10","@types/pidusage":"^2.0.5","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.84.1"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_4.0.1_1786913442497_0.8506853481948804","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"pi-lens","version":"4.1.0","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@4.1.0","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens":"dist/mcp/cli.js","pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"9ae0c3669aa22174d353c85dbdaab37d41c5f3f2","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-4.1.0.tgz","fileCount":1405,"integrity":"sha512-jOhMhKOMarO3ioDf5RiUyL1/xhHmg/fJ/2+NsaG9kPu69E7+yvXrYSGulYctVc2ZXo5szeYMUzP7gE5cxf1ddw==","signatures":[{"sig":"MEUCIEbysGXP/fX49sY/9pgiuxqbRwVov4XTjUSbYdF/0Z4+AiEAmyUZ4oJWp5SGNkop6w6TLHP4supzJQOccQwfu3xCzis=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-lens@4.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23372668},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"6cebeb5dc639531fe0b24b5221f032c5169feb2e","scripts":{"lint":"tsc --project tsconfig.json","test":"node scripts/with-test-lock.mjs -- vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars","test:unit":"node scripts/with-test-lock.mjs -- vitest run","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && npx --yes -p typescript@7.0.2 tsc --project tsconfig.dist.json --noCheck && npm run bundle:dist","test:watch":"vitest","bundle:dist":"node scripts/bundle-dist.mjs","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc","changelog:check":"node scripts/rollup-changelog.mjs --check","audit:playground":"node scripts/playground-verify-rule.mjs","selftest:install":"node scripts/install-selftest.mjs","test:integration":"node scripts/with-test-lock.mjs -- vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","astgrep:self-scan":"node scripts/run-astgrep-pi-lens.mjs","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc","bench:cascade-budget":"node scripts/bench-cascade-budget.mjs","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","audit:astgrep-rule-pairs":"node scripts/audit-astgrep-rule-pairs.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc","astgrep:self-scan:update-baseline":"node scripts/run-astgrep-pi-lens.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:acf8e58c-022e-4077-95a0-a7f58c8d1dc8"}},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.18.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"22.23.2","allowScripts":{"protobufjs@7.6.5":true,"@ast-grep/cli@0.45.1":true,"@google/genai@1.52.0":true},"dependencies":{"js-yaml":"^5.2.2","typebox":"^1.0.0","pidusage":"^4.0.1","minimatch":"^10.2.6","@ast-grep/cli":"^0.45.0","@ast-grep/napi":"^0.45.0","vscode-jsonrpc":"^9.0.0","@earendil-works/pi-tui":"^0.84.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.1","typescript":"^7.0.2","@types/node":"^26.0.0","@biomejs/biome":"^2.4.10","@types/pidusage":"^2.0.5","@vitest/coverage-v8":"^4.1.5","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.84.1"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_4.1.0_1787254523022_0.8400561224101495","host":"s3://npm-registry-packages-npm-production"}},"4.1.1":{"name":"pi-lens","version":"4.1.1","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@4.1.1","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens":"dist/mcp/cli.js","pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"6bc5c3c8cd77238b95821bf888c77fab3a0dbf38","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-4.1.1.tgz","fileCount":1411,"integrity":"sha512-RzS6RJfJayAcqvWDN78aaeT0wUCmfeeC9MC4LGk+00C4y5DLm0fiQsHjyUuECgAKpkSlFrtxOasuwPXAw90p+g==","signatures":[{"sig":"MEQCICVe1wZLINLf7nR7MbfVxCkeadHQtLZi+t8FgAPmMDZvAiBaGEEawn+OVNkXgbh40D2rQ53nRzyhK/Vkv7PeQWKpEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-lens@4.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23568232},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"e06104dcc7ade03aae0f580abb613b99138bb614","scripts":{"lint":"tsc --project tsconfig.json","test":"node scripts/with-test-lock.mjs -- vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars && node scripts/setup-git-hooks.mjs && node scripts/warm-loader-cache.mjs","test:unit":"node scripts/with-test-lock.mjs -- vitest run","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && npx --yes -p typescript@7.0.2 tsc --project tsconfig.dist.json --noCheck && npm run bundle:dist","test:watch":"vitest","bundle:dist":"node scripts/bundle-dist.mjs","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc","changelog:check":"node scripts/rollup-changelog.mjs --check","audit:playground":"node scripts/playground-verify-rule.mjs","selftest:install":"node scripts/install-selftest.mjs","test:integration":"node scripts/with-test-lock.mjs -- vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","astgrep:self-scan":"node scripts/run-astgrep-pi-lens.mjs","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc","bench:cascade-budget":"node scripts/bench-cascade-budget.mjs","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","audit:astgrep-rule-pairs":"node scripts/audit-astgrep-rule-pairs.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc","astgrep:self-scan:update-baseline":"node scripts/run-astgrep-pi-lens.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:acf8e58c-022e-4077-95a0-a7f58c8d1dc8"}},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.18.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"22.23.2","allowScripts":{"protobufjs@7.6.5":true,"@ast-grep/cli@0.45.1":true,"@google/genai@1.52.0":true},"dependencies":{"js-yaml":"^5.2.2","pidusage":"^4.0.1","minimatch":"^10.2.6","@ast-grep/cli":"^0.45.0","@ast-grep/napi":"^0.45.0","vscode-jsonrpc":"^9.0.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","vitest":"^4.1.1","typebox":"^1.0.0","typescript":"^7.0.2","@types/node":"^26.0.0","@biomejs/biome":"^2.4.10","@types/pidusage":"^2.0.5","@vitest/coverage-v8":"^4.1.5","@earendil-works/pi-tui":"^0.84.1","typescript-language-server":"^5.1.3","@earendil-works/pi-coding-agent":"^0.84.1"},"peerDependencies":{"typebox":"^1.0.0","@earendil-works/pi-tui":"^0.84.1","@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"jiti":"^2.7.0","web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_4.1.1_1787328056230_0.8930216462984464","host":"s3://npm-registry-packages-npm-production"}},"4.1.2":{"name":"pi-lens","version":"4.1.2","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@4.1.2","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens":"dist/mcp/cli.js","pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"9258635a0a8b5c602661c94f0090aafb077bc96b","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-4.1.2.tgz","fileCount":1417,"integrity":"sha512-m8twUAHfmC/iyV76TPBvQGOCNEH3VnNvq6vmkKfQuhKpiXnLakPg5uflDUUFpg9Tc39tGTRGIb7bP83fez/p9g==","signatures":[{"sig":"MEUCIH5SfSNj/CFHFe5qK2U2Mb8vNoFOJJ48MMLfEvS+u1xlAiEA+GkoX1QRvmlJEwI1ugOpdawMMjf4TnzLPcv8r8KJ1Fs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-lens@4.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23786022},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"1b83ea8b658bb27fa35c838e8300826607f86b77","scripts":{"fmt":"oxfmt","lint":"tsc --project tsconfig.json","test":"node scripts/with-test-lock.mjs -- vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars && node scripts/setup-git-hooks.mjs && node scripts/warm-loader-cache.mjs","fmt:check":"oxfmt --check","test:unit":"node scripts/with-test-lock.mjs -- vitest run","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && npx --yes -p typescript@7.0.2 tsc --project tsconfig.dist.json --noCheck && npm run bundle:dist","test:watch":"vitest","bundle:dist":"node scripts/bundle-dist.mjs","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc","changelog:check":"node scripts/rollup-changelog.mjs --check","audit:playground":"node scripts/playground-verify-rule.mjs","selftest:install":"node scripts/install-selftest.mjs","test:integration":"node scripts/with-test-lock.mjs -- vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","astgrep:self-scan":"node scripts/run-astgrep-pi-lens.mjs","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc","bench:cascade-budget":"node scripts/bench-cascade-budget.mjs","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","audit:astgrep-rule-pairs":"node scripts/audit-astgrep-rule-pairs.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc","astgrep:self-scan:update-baseline":"node scripts/run-astgrep-pi-lens.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:acf8e58c-022e-4077-95a0-a7f58c8d1dc8"}},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.18.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"22.23.2","allowScripts":{"protobufjs@7.6.5":true,"@ast-grep/cli@0.45.1":true,"@google/genai@1.52.0":true},"dependencies":{"js-yaml":"^5.2.2","pidusage":"^4.0.1","minimatch":"^10.2.6","@ast-grep/cli":"^0.45.0","@ast-grep/napi":"^0.45.0","vscode-jsonrpc":"^9.0.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","oxfmt":"0.64.0","oxlint":"1.79.0","vitest":"^4.1.1","typebox":"^1.0.0","typescript":"^7.0.2","@types/node":"^26.0.0","@biomejs/biome":"^2.4.10","@types/pidusage":"^2.0.5","@vitest/coverage-v8":"^4.1.5","@earendil-works/pi-tui":"^0.84.1","typescript-language-server":"^6.0.0","@earendil-works/pi-coding-agent":"^0.84.1"},"peerDependencies":{"typebox":"^1.0.0","@earendil-works/pi-tui":"^0.84.1","@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"jiti":"^2.7.0","web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_4.1.2_1787601387955_0.03089177488439132","host":"s3://npm-registry-packages-npm-production"}},"4.1.3":{"name":"pi-lens","version":"4.1.3","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@4.1.3","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["../../skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens":"dist/mcp/cli.js","pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"cb32b78b9fe5e6ddb3286534eaae6d8a342de8d4","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-4.1.3.tgz","fileCount":1482,"integrity":"sha512-qCG0j2zs1jxBjbH7uWeIG/WZwp/AAXF7euC8IwIxqsDZ9aZqYWFCvrOSe5hOgCNIfb5xMWixkXOYUjhNiag03A==","signatures":[{"sig":"MEUCIDWhLwv8LDPE/RWcoWinEe+glcmPBCKB+lemOsuD2yelAiEA9+9OX205ADSpVrFzr4BoSVJOFNDlTfeaplsiAsD5wLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-lens@4.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24458318},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","gitHead":"ccf33b136d1fd46399ecddf9264531af03024d58","scripts":{"fmt":"oxfmt","lint":"tsc --project tsconfig.json","test":"node scripts/with-test-lock.mjs -- vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars && node scripts/setup-git-hooks.mjs && node scripts/warm-loader-cache.mjs","fmt:check":"oxfmt --check","test:unit":"node scripts/with-test-lock.mjs -- vitest run","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && npx --yes -p typescript@7.0.2 tsc --project tsconfig.dist.json --noCheck && npm run bundle:dist","test:watch":"vitest","bundle:dist":"node scripts/bundle-dist.mjs","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc","changelog:check":"node scripts/rollup-changelog.mjs --check","depcruise:check":"depcruise --validate --config .dependency-cruiser.cjs --ignore-known .dependency-cruiser-known-violations.json --output-type err index.ts \"clients/**/*.ts\"","audit:playground":"node scripts/playground-verify-rule.mjs","selftest:install":"node scripts/install-selftest.mjs","test:integration":"node scripts/with-test-lock.mjs -- vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","astgrep:self-scan":"node scripts/run-astgrep-pi-lens.mjs","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc","bench:cascade-budget":"node scripts/bench-cascade-budget.mjs","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","audit:astgrep-rule-pairs":"node scripts/audit-astgrep-rule-pairs.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc","bench:word-index-replacement":"node scripts/bench-word-index-replacement.mjs","astgrep:self-scan:update-baseline":"node scripts/run-astgrep-pi-lens.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:acf8e58c-022e-4077-95a0-a7f58c8d1dc8"}},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.18.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"22.23.2","allowScripts":{"protobufjs@7.6.5":true,"@ast-grep/cli@0.45.1":true,"@google/genai@1.52.0":true},"dependencies":{"js-yaml":"^5.2.2","pidusage":"^4.0.1","minimatch":"^10.2.6","@ast-grep/cli":"^0.45.0","@ast-grep/napi":"^0.45.0","vscode-jsonrpc":"^9.0.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","json5":"^2.2.3","oxfmt":"0.64.0","oxlint":"1.79.0","vitest":"^4.1.1","typebox":"^1.0.0","typescript":"^7.0.2","@types/node":"^26.0.0","@biomejs/biome":"^2.4.10","@types/pidusage":"^2.0.5","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.5","@earendil-works/pi-tui":"^0.84.1","typescript-language-server":"^6.0.0","@earendil-works/pi-coding-agent":"^0.84.1"},"peerDependencies":{"typebox":"^1.0.0","@earendil-works/pi-tui":"^0.84.1","@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"jiti":"^2.7.0","web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_4.1.3_1787916457469_0.08634698069478297","host":"s3://npm-registry-packages-npm-production"}},"4.1.4":{"name":"pi-lens","version":"4.1.4","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@4.1.4","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens":"dist/mcp/cli.js","pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"be2614d52fb502777de8d3dca44d0d787a6b1d0a","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-4.1.4.tgz","fileCount":1534,"integrity":"sha512-CVTjvRdbTJoQy5cGVEKg6Q+tFdGvjZd7WsKSkXlsw/FKOCZ/DR55TTa7R2lyRDR8eTa3liF5yEGKY1n9H4RuNA==","signatures":[{"sig":"MEQCIFsrOBNhu/wzRxaTRQUiSsMSh7mleNO2DGdzlWwd0bKjAiBwWk+dJfKHflzWdbwm4hycmRBnlL4fM/aoIgRwXGg1/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-lens@4.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26226770},"knip":{"entry":["index.ts"],"ignore":["**/*.test.ts"],"project":["**/*.ts","!**/*.test.ts"]},"main":"./dist/index.js","type":"module","engines":{"node":">=22.19.0"},"gitHead":"7a261926b8ec6aeaf473f1fdbff9d58cc8be0f68","scripts":{"fmt":"oxfmt","lint":"tsc --project tsconfig.json && npm run lint:js","test":"node scripts/with-test-lock.mjs -- vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","hygiene":"node scripts/prune-agent-worktrees.mjs","lint:js":"oxlint --deny-warnings --ignore-pattern \"tests/**/*.ts\" --ignore-pattern \"tests/**/*.tsx\" --ignore-pattern \"**/*.d.mts\" --ignore-pattern \"tests/fixtures/autofix-smoke/**\" --ignore-pattern \"tests/fixtures/format-smoke/**\" --ignore-pattern \"tests/fixtures/tool-smoke/**\" --ignore-pattern \"tests/fixtures/call-graph/javascript/**\" --ignore-pattern \"tests/fixtures/function-facts/javascript-parameter.js\" .","prepack":"node scripts/strip-dev-deps-for-pack.mjs --strip","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars && node scripts/setup-git-hooks.mjs && node scripts/warm-loader-cache.mjs","postpack":"node scripts/strip-dev-deps-for-pack.mjs --restore","fmt:check":"oxfmt --check","test:unit":"node scripts/with-test-lock.mjs -- vitest run","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && node scripts/build-dist-tsc.mjs tsconfig.dist.json && npm run bundle:dist","test:watch":"vitest","bundle:dist":"node scripts/bundle-dist.mjs","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","test:targeted":"node scripts/with-test-lock.mjs --shared -- vitest run","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc","changelog:check":"node scripts/rollup-changelog.mjs --check","depcruise:check":"depcruise --validate --config .dependency-cruiser.cjs --ignore-known .dependency-cruiser-known-violations.json --output-type err index.ts \"clients/**/*.ts\"","audit:playground":"node scripts/playground-verify-rule.mjs","selftest:install":"node scripts/install-selftest.mjs","test:integration":"node scripts/with-test-lock.mjs -- vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","astgrep:self-scan":"node scripts/run-astgrep-pi-lens.mjs","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc","bench:cascade-budget":"node scripts/bench-cascade-budget.mjs","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","audit:astgrep-rule-pairs":"node scripts/audit-astgrep-rule-pairs.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc","bench:word-index-replacement":"node scripts/bench-word-index-replacement.mjs","astgrep:self-scan:update-baseline":"node scripts/run-astgrep-pi-lens.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:acf8e58c-022e-4077-95a0-a7f58c8d1dc8"}},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.18.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"22.23.2","allowScripts":{"protobufjs@7.6.5":true,"@ast-grep/cli@0.45.2":true,"@google/genai@1.52.0":true},"dependencies":{"js-yaml":"^5.2.2","pidusage":"^4.0.1","minimatch":"^10.2.6","@ast-grep/cli":"^0.45.0","@ast-grep/napi":"^0.45.0","vscode-jsonrpc":"^9.0.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","json5":"^2.2.3","oxfmt":"0.65.0","oxlint":"1.80.0","semver":"^7.8.0","vitest":"^4.1.1","typebox":"^1.0.0","typescript":"^7.0.2","@types/node":"^26.0.0","@types/semver":"^7.8.0","@biomejs/biome":"^2.4.10","@types/pidusage":"^2.0.5","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.5","@earendil-works/pi-tui":"^0.85.1","typescript-language-server":"5.3.0","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"^1.0.0","@earendil-works/pi-tui":"^0.84.1 || ^0.85.0","@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"jiti":"^2.7.0","web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_4.1.4_1788746130212_0.5747244254734813","host":"s3://npm-registry-packages-npm-production"}},"4.1.5":{"name":"pi-lens","version":"4.1.5","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@4.1.5","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens":"dist/mcp/cli.js","pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"a581bec572ded235c1e0fa5fd494842baa5a6f10","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-4.1.5.tgz","fileCount":1534,"integrity":"sha512-Bx4uTy7CmIPPT4eUXD/Bx6WkH7PS4w1sBvmzpv7GxJt6KMppvDRCaB8r9y+PCUwCHjJhDRNRmWKw8s6Rn8Wu6w==","signatures":[{"sig":"MEYCIQCVVTFg+YsVwbk1779nRXA2UqlVEa412xm4HnMFJGeCsQIhAI1FCIR7d3v8grk1jlwwrhdQMYLVfMHAMfKsSUdi9AHh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-lens@4.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26297012},"main":"./dist/index.js","type":"module","engines":{"node":">=22.19.0"},"gitHead":"9981f9a0531ff1c2fb575147199e1b3ea7163e7c","scripts":{"fmt":"oxfmt","knip":"node scripts/run-knip.mjs","lint":"tsc --project tsconfig.json && npm run lint:js","test":"node scripts/with-test-lock.mjs -- vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","taplo":"taplo check $(git ls-files '*.toml' ':!tests/fixtures/**') && taplo fmt --check $(git ls-files '*.toml' ':!tests/fixtures/**' ':!config/ruff/core.toml') # taplo 0.7.0 panics on this file's comments; lint it above","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","hygiene":"node scripts/prune-agent-worktrees.mjs","lint:js":"oxlint --deny-warnings --import-plugin --promise-plugin -D block-scoped-var -D import/default -D import/namespace -D import/no-absolute-path -D import/no-empty-named-blocks -D import/no-named-as-default -D import/no-self-import -D no-extend-native -D no-extra-bind -D no-implied-eval -D no-new -D no-unexpected-multiline -D no-useless-constructor -D oxc/approx-constant -D oxc/misrefactored-assign-op -D oxc/no-accumulating-spread -D oxc/no-async-endpoint-handlers -D oxc/no-this-in-exported-function -D promise/no-callback-in-promise -D promise/no-multiple-resolved -D promise/no-new-statics -D promise/valid-params -D typescript/no-confusing-non-null-assertion -D typescript/no-extraneous-class -D typescript/no-unnecessary-type-constraint -D typescript/no-unsafe-enum-comparison -D unicorn/no-accessor-recursion -D unicorn/no-array-fill-with-reference-type -D unicorn/no-confusing-array-with -D unicorn/no-instanceof-builtins -D unicorn/prefer-array-flat-map -D unicorn/require-module-specifiers --ignore-pattern \"tests/**/*.ts\" --ignore-pattern \"tests/**/*.tsx\" --ignore-pattern \"**/*.d.mts\" --ignore-pattern \"tests/fixtures/autofix-smoke/**\" --ignore-pattern \"tests/fixtures/format-smoke/**\" --ignore-pattern \"tests/fixtures/tool-smoke/**\" --ignore-pattern \"tests/fixtures/call-graph/javascript/**\" --ignore-pattern \"tests/fixtures/function-facts/javascript-parameter.js\" .","prepack":"node scripts/strip-dev-deps-for-pack.mjs --strip","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars && node scripts/setup-git-hooks.mjs && node scripts/warm-loader-cache.mjs","postpack":"node scripts/strip-dev-deps-for-pack.mjs --restore","fmt:check":"oxfmt --check","test:unit":"node scripts/with-test-lock.mjs -- vitest run","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && node scripts/build-dist-tsc.mjs tsconfig.dist.json && npm run bundle:dist","test:watch":"vitest","bundle:dist":"node scripts/bundle-dist.mjs","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","test:targeted":"node scripts/with-test-lock.mjs --shared -- vitest run","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc","changelog:check":"node scripts/rollup-changelog.mjs --check","depcruise:check":"depcruise --validate --config .dependency-cruiser.cjs --ignore-known .dependency-cruiser-known-violations.json --output-type err index.ts \"clients/**/*.ts\"","audit:playground":"node scripts/playground-verify-rule.mjs","lint:js:advisory":"node scripts/lint-js-advisory.mjs --deny-warnings --format default -D correctness -D suspicious -D perf --import-plugin --promise-plugin --type-aware -A no-underscore-dangle -A no-await-in-loop -A unicorn/no-array-sort -A unicorn/consistent-function-scoping -A promise/no-promise-in-callback -A no-useless-call -A import/no-unassigned-import -A no-unmodified-loop-condition --ignore-pattern \"**/*.d.mts\" --ignore-pattern \"tests/fixtures/autofix-smoke/**\" --ignore-pattern \"tests/fixtures/format-smoke/**\" --ignore-pattern \"tests/fixtures/tool-smoke/**\" --ignore-pattern \"tests/fixtures/call-graph/javascript/**\" --ignore-pattern \"tests/fixtures/function-facts/javascript-parameter.js\" .","selftest:install":"node scripts/install-selftest.mjs","test:integration":"node scripts/with-test-lock.mjs -- vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","astgrep:self-scan":"node scripts/run-astgrep-pi-lens.mjs","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc","bench:cascade-budget":"node scripts/bench-cascade-budget.mjs","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","audit:astgrep-rule-pairs":"node scripts/audit-astgrep-rule-pairs.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc","bench:word-index-replacement":"node scripts/bench-word-index-replacement.mjs","astgrep:self-scan:update-baseline":"node scripts/run-astgrep-pi-lens.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:acf8e58c-022e-4077-95a0-a7f58c8d1dc8"}},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.18.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"22.23.2","allowScripts":{"protobufjs@7.6.5":true,"@ast-grep/cli@0.45.3":true,"@google/genai@1.52.0":true},"dependencies":{"js-yaml":"^5.2.2","pidusage":"^4.0.1","minimatch":"^10.2.6","@ast-grep/cli":"^0.45.0","@ast-grep/napi":"^0.45.0","vscode-jsonrpc":"^9.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"6.34.0","husky":"^9.1.7","jscpd":"5.1.2","json5":"^2.2.3","oxfmt":"0.66.0","oxlint":"1.81.0","semver":"^7.8.0","vitest":"^4.1.1","publint":"0.3.24","typebox":"^1.0.0","@taplo/cli":"0.7.0","typescript":"^7.0.2","@types/node":"^26.0.0","@types/semver":"^7.8.0","@biomejs/biome":"^2.4.10","@types/pidusage":"^2.0.5","oxlint-tsgolint":"7.0.2001","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.5","@earendil-works/pi-tui":"^0.85.1","typescript-language-server":"5.3.0","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"^1.0.0","@earendil-works/pi-tui":"^0.84.1 || ^0.85.0","@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"jiti":"^2.7.0","web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_4.1.5_1788903476794_0.9448251864417232","host":"s3://npm-registry-packages-npm-production"}},"4.1.6":{"name":"pi-lens","version":"4.1.6","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@4.1.6","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens":"dist/mcp/cli.js","pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"5f858995fd099920796ce5a4b11ea38f3f3820a8","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-4.1.6.tgz","fileCount":1541,"integrity":"sha512-PnVCEumGiMOUQ6t6zvr2EJl+r6IhALYwuReufQ1FUHKrSNoCsdb/dUws1l2U0nPRKibgJlaJFM4uM46TDrafNA==","signatures":[{"sig":"MEUCICjNtM9iOFbqz8tZ2/rswUNAUI50koa4i/IHWeW6N1TEAiEAt/7G9CbXFtcRQtyByf0JurJ5xEHDNNdzeREpx9R/9MA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-lens@4.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26516449},"main":"./dist/index.js","type":"module","engines":{"node":">=22.19.0"},"gitHead":"1f3d3ef5a03d82566154a533f2800158dd0fac37","scripts":{"fmt":"oxfmt","knip":"node scripts/run-knip.mjs","lint":"tsc --project tsconfig.json && npm run lint:js","test":"node scripts/with-test-lock.mjs -- vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","taplo":"taplo check $(git ls-files '*.toml' ':!tests/fixtures/**') && taplo fmt --check $(git ls-files '*.toml' ':!tests/fixtures/**' ':!config/ruff/core.toml') # taplo 0.7.0 panics on this file's comments; lint it above","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","hygiene":"node scripts/prune-agent-worktrees.mjs","lint:js":"oxlint --deny-warnings --import-plugin --promise-plugin -D block-scoped-var -D import/default -D import/namespace -D import/no-absolute-path -D import/no-empty-named-blocks -D import/no-named-as-default -D import/no-self-import -D no-extend-native -D no-extra-bind -D no-implied-eval -D no-new -D no-unexpected-multiline -D no-useless-constructor -D oxc/approx-constant -D oxc/misrefactored-assign-op -D oxc/no-accumulating-spread -D oxc/no-async-endpoint-handlers -D oxc/no-this-in-exported-function -D promise/no-callback-in-promise -D promise/no-multiple-resolved -D promise/no-new-statics -D promise/valid-params -D typescript/no-confusing-non-null-assertion -D typescript/no-extraneous-class -D typescript/no-unnecessary-type-constraint -D typescript/no-unsafe-enum-comparison -D unicorn/no-accessor-recursion -D unicorn/no-array-fill-with-reference-type -D unicorn/no-confusing-array-with -D unicorn/no-instanceof-builtins -D unicorn/prefer-array-flat-map -D unicorn/require-module-specifiers --ignore-pattern \"tests/**/*.ts\" --ignore-pattern \"tests/**/*.tsx\" --ignore-pattern \"**/*.d.mts\" --ignore-pattern \"tests/fixtures/autofix-smoke/**\" --ignore-pattern \"tests/fixtures/format-smoke/**\" --ignore-pattern \"tests/fixtures/tool-smoke/**\" --ignore-pattern \"tests/fixtures/call-graph/javascript/**\" --ignore-pattern \"tests/fixtures/function-facts/javascript-parameter.js\" .","prepack":"node scripts/strip-dev-deps-for-pack.mjs --strip","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars && node scripts/setup-git-hooks.mjs && node scripts/warm-loader-cache.mjs","postpack":"node scripts/strip-dev-deps-for-pack.mjs --restore","fmt:check":"oxfmt --check","preflight":"node scripts/pr-preflight.mjs","test:unit":"node scripts/with-test-lock.mjs -- vitest run","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && node scripts/build-dist-tsc.mjs tsconfig.dist.json && npm run bundle:dist","complexity":"node scripts/complexity-report.mjs","test:regen":"node scripts/regen-test-baseline.mjs","test:watch":"vitest","bundle:dist":"node scripts/bundle-dist.mjs","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","mutation:diff":"node scripts/stryker-diff.mjs --base origin/master --max-files 6","test:targeted":"node scripts/with-test-lock.mjs --shared -- vitest run","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc","changelog:check":"node scripts/rollup-changelog.mjs --check","depcruise:check":"depcruise --validate --config .dependency-cruiser.cjs --ignore-known .dependency-cruiser-known-violations.json --output-type err index.ts \"clients/**/*.ts\"","audit:playground":"node scripts/playground-verify-rule.mjs","lint:js:advisory":"node scripts/lint-js-advisory.mjs --deny-warnings --format default -D correctness -D suspicious -D perf --import-plugin --promise-plugin --type-aware -A no-underscore-dangle -A no-await-in-loop -A unicorn/no-array-sort -A unicorn/consistent-function-scoping -A promise/no-promise-in-callback -A no-useless-call -A import/no-unassigned-import -A no-unmodified-loop-condition --ignore-pattern \"**/*.d.mts\" --ignore-pattern \"tests/fixtures/autofix-smoke/**\" --ignore-pattern \"tests/fixtures/format-smoke/**\" --ignore-pattern \"tests/fixtures/tool-smoke/**\" --ignore-pattern \"tests/fixtures/call-graph/javascript/**\" --ignore-pattern \"tests/fixtures/function-facts/javascript-parameter.js\" .","selftest:install":"node scripts/install-selftest.mjs","test:integration":"node scripts/with-test-lock.mjs -- vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","astgrep:self-scan":"node scripts/run-astgrep-pi-lens.mjs","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","test:real-harness":"node scripts/with-test-lock.mjs --shared -- vitest run","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc","bench:cascade-budget":"node scripts/bench-cascade-budget.mjs","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","audit:astgrep-rule-pairs":"node scripts/audit-astgrep-rule-pairs.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc","bench:word-index-replacement":"node scripts/bench-word-index-replacement.mjs","astgrep:self-scan:update-baseline":"node scripts/run-astgrep-pi-lens.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:acf8e58c-022e-4077-95a0-a7f58c8d1dc8"}},"overrides":{"qs":"^6.15.4"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.18.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"22.23.2","allowScripts":{"protobufjs@7.6.5":true,"@ast-grep/cli@0.45.3":true,"@google/genai@1.52.0":true},"dependencies":{"js-yaml":"^5.2.2","pidusage":"^4.0.1","minimatch":"^10.2.6","@ast-grep/cli":"^0.45.0","@ast-grep/napi":"^0.45.0","vscode-jsonrpc":"^9.0.0"},"_hasShrinkwrap":false,"packageManager":"npm@11.18.0","devDependencies":{"knip":"6.34.0","husky":"^9.1.7","jscpd":"5.1.2","json5":"^2.2.3","oxfmt":"0.66.0","oxlint":"1.81.0","semver":"^7.8.0","vitest":"^5.0.0","publint":"0.3.24","typebox":"^1.0.0","@taplo/cli":"0.7.0","typescript":"^7.0.2","@types/node":"^26.0.0","@types/semver":"^7.8.0","@biomejs/biome":"^2.4.10","@types/pidusage":"^2.0.5","oxlint-tsgolint":"7.0.2001","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^5.0.0","@stryker-mutator/core":"10.0.0","@earendil-works/pi-tui":"^0.85.1","typescript-language-server":"5.3.0","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"^1.0.0","@earendil-works/pi-tui":"^0.84.1 || ^0.85.0","@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"jiti":"^2.7.0","web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_4.1.6_1789076183515_0.9151281650718341","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"pi-lens","version":"4.2.0","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@4.2.0","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens":"dist/mcp/cli.js","pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"824ae39abf300a3269dc6530b4e33b780c6a71e1","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-4.2.0.tgz","fileCount":1547,"integrity":"sha512-/p6gKDIgox7j5mHPUr9mcqgZAQp13t69aFGuV2pRhiVzKhUgrcBsTERKSWeue9rjXlbVIdk0NzWc0q0Xh9tOfg==","signatures":[{"sig":"MEQCIDd4DXsXjyhRfIg01m1ER+p8/QwL09tTSEIoXEzda8QxAiB9lSTtGfh+A3LXfS06RXabxkX7mdJoahAK0T0C0J9sKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD/G+xW001DL8CxO7An2bAh5JqeUuiiu8RrNdB+vfHMYgIgYT2bPzU06bnNAx+lgyGjEDEhqtmZhaxYEScQFuldwR0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-lens@4.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26966361},"main":"./dist/index.js","type":"module","engines":{"node":">=22.19.0"},"gitHead":"c0c3ca9a5ec6f3bbff886cbe69a2a4fce454bbb2","scripts":{"fmt":"oxfmt","knip":"node scripts/run-knip.mjs","lint":"tsc --project tsconfig.json && npm run lint:js","test":"node scripts/with-test-lock.mjs -- vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","taplo":"taplo check $(git ls-files '*.toml' ':!tests/fixtures/**') && taplo fmt --check $(git ls-files '*.toml' ':!tests/fixtures/**' ':!config/ruff/core.toml') # taplo 0.7.0 panics on this file's comments; lint it above","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","hygiene":"node scripts/prune-agent-worktrees.mjs","lint:js":"oxlint --deny-warnings --import-plugin --promise-plugin -D block-scoped-var -D import/default -D import/namespace -D import/no-absolute-path -D import/no-empty-named-blocks -D import/no-named-as-default -D import/no-self-import -D no-extend-native -D no-extra-bind -D no-implied-eval -D no-new -D no-unexpected-multiline -D no-useless-constructor -D oxc/approx-constant -D oxc/misrefactored-assign-op -D oxc/no-accumulating-spread -D oxc/no-async-endpoint-handlers -D oxc/no-this-in-exported-function -D promise/no-callback-in-promise -D promise/no-multiple-resolved -D promise/no-new-statics -D promise/valid-params -D typescript/no-confusing-non-null-assertion -D typescript/no-extraneous-class -D typescript/no-unnecessary-type-constraint -D typescript/no-unsafe-enum-comparison -D unicorn/no-accessor-recursion -D unicorn/no-array-fill-with-reference-type -D unicorn/no-confusing-array-with -D unicorn/no-instanceof-builtins -D unicorn/prefer-array-flat-map -D unicorn/require-module-specifiers --ignore-pattern \"tests/**/*.ts\" --ignore-pattern \"tests/**/*.tsx\" --ignore-pattern \"**/*.d.mts\" --ignore-pattern \"tests/fixtures/autofix-smoke/**\" --ignore-pattern \"tests/fixtures/format-smoke/**\" --ignore-pattern \"tests/fixtures/tool-smoke/**\" --ignore-pattern \"tests/fixtures/call-graph/javascript/**\" --ignore-pattern \"tests/fixtures/function-facts/javascript-parameter.js\" .","prepack":"node scripts/strip-dev-deps-for-pack.mjs --strip","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars && node scripts/setup-git-hooks.mjs && node scripts/warm-loader-cache.mjs","postpack":"node scripts/strip-dev-deps-for-pack.mjs --restore","fmt:check":"oxfmt --check","preflight":"node scripts/pr-preflight.mjs","test:unit":"node scripts/with-test-lock.mjs -- vitest run","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && node scripts/build-dist-tsc.mjs tsconfig.dist.json && npm run bundle:dist","complexity":"node scripts/complexity-report.mjs","test:regen":"node scripts/regen-test-baseline.mjs","test:watch":"vitest","bundle:dist":"node scripts/bundle-dist.mjs","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","mutation:diff":"node scripts/stryker-diff.mjs --base origin/master --max-files 6","test:targeted":"node scripts/with-test-lock.mjs --shared -- vitest run","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc","changelog:check":"node scripts/rollup-changelog.mjs --check","depcruise:check":"depcruise --validate --config .dependency-cruiser.cjs --ignore-known .dependency-cruiser-known-violations.json --output-type err index.ts \"clients/**/*.ts\"","audit:playground":"node scripts/playground-verify-rule.mjs","lint:js:advisory":"node scripts/lint-js-advisory.mjs --deny-warnings --format default -D correctness -D suspicious -D perf --import-plugin --promise-plugin --type-aware -A no-underscore-dangle -A no-await-in-loop -A unicorn/no-array-sort -A unicorn/consistent-function-scoping -A promise/no-promise-in-callback -A no-useless-call -A import/no-unassigned-import -A no-unmodified-loop-condition --ignore-pattern \"**/*.d.mts\" --ignore-pattern \"tests/fixtures/autofix-smoke/**\" --ignore-pattern \"tests/fixtures/format-smoke/**\" --ignore-pattern \"tests/fixtures/tool-smoke/**\" --ignore-pattern \"tests/fixtures/call-graph/javascript/**\" --ignore-pattern \"tests/fixtures/function-facts/javascript-parameter.js\" .","selftest:install":"node scripts/install-selftest.mjs","test:integration":"node scripts/with-test-lock.mjs -- vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","astgrep:self-scan":"node scripts/run-astgrep-pi-lens.mjs","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","test:real-harness":"node scripts/with-test-lock.mjs --shared -- vitest run","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc","bench:cascade-budget":"node scripts/bench-cascade-budget.mjs","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","audit:astgrep-rule-pairs":"node scripts/audit-astgrep-rule-pairs.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc","bench:word-index-replacement":"node scripts/bench-word-index-replacement.mjs","astgrep:self-scan:update-baseline":"node scripts/run-astgrep-pi-lens.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:acf8e58c-022e-4077-95a0-a7f58c8d1dc8"}},"overrides":{"qs":"^6.15.4"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.18.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"22.23.2","allowScripts":{"protobufjs@7.6.5":true,"@ast-grep/cli@0.45.3":true,"@google/genai@1.52.0":true},"dependencies":{"js-yaml":"^5.2.2","pidusage":"^4.0.1","minimatch":"^10.2.6","@ast-grep/cli":"^0.45.0","@ast-grep/napi":"^0.45.0","vscode-jsonrpc":"^9.0.0"},"_hasShrinkwrap":false,"packageManager":"npm@11.18.0","devDependencies":{"knip":"6.35.1","husky":"^9.1.7","jscpd":"5.2.0","json5":"^2.2.3","oxfmt":"0.67.0","oxlint":"1.82.0","semver":"^7.8.0","vitest":"^5.0.0","publint":"0.3.24","typebox":"^1.0.0","@taplo/cli":"0.7.0","typescript":"^7.0.2","@types/node":"^26.0.0","@types/semver":"^7.8.0","@biomejs/biome":"^2.4.10","@types/pidusage":"^2.0.5","oxlint-tsgolint":"7.0.2001","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^5.0.0","@stryker-mutator/core":"10.0.0","@earendil-works/pi-tui":"^0.85.1","typescript-language-server":"5.3.0","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"^1.0.0","@earendil-works/pi-tui":"^0.84.1 || ^0.85.0","@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"jiti":"^2.7.0","web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_4.2.0_1789594625891_0.9976593885150131","host":"s3://npm-registry-packages-npm-production"}},"4.2.1":{"name":"pi-lens","version":"4.2.1","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"author":{"name":"Apostolos Mantzaris"},"license":"MIT","_id":"pi-lens@4.2.1","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"homepage":"https://github.com/apmantza/pi-lens#readme","bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"pi":{"skills":["./skills"],"extensions":["./dist/index.js"]},"bin":{"pi-lens":"dist/mcp/cli.js","pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"dist":{"shasum":"e5e9250dd85d9c407d0946896a689211370f4e4a","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-4.2.1.tgz","fileCount":1548,"integrity":"sha512-nRF5I/xdYZ1bZoOcTVCbRPV81TsCvkBdyxCtx+nZiRju76S18COFTnj8oNmSV7LAfatiRy8r5pHl0dcc0FtaAw==","signatures":[{"sig":"MEQCIFcxikbgi6QhQlXpjcYC8ev4mSh3JoFMyzQIc8KKVUtQAiBhwGMXt3XuXQo8Ux1DBqoIFOIhVmn2zWxr+O3B1X9paQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBY2eF2+Y2k73XRlyIMD+nDkZy2CDXW8vTog4Y6VTnT8AiEAlAhAzKNic7wcwFkp/B4XFt8XgU3PZ+C891ytE91hvmI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-lens@4.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27043529},"main":"./dist/index.js","type":"module","engines":{"node":">=22.19.0"},"gitHead":"f0c21d9d241e6ed9383912161f7a4386deded8cf","scripts":{"fmt":"oxfmt","knip":"node scripts/run-knip.mjs","lint":"tsc --project tsconfig.json && npm run lint:js","test":"node scripts/with-test-lock.mjs -- vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","taplo":"taplo check $(git ls-files '*.toml' ':!tests/fixtures/**') && taplo fmt --check $(git ls-files '*.toml' ':!tests/fixtures/**' ':!config/ruff/core.toml') # taplo 0.7.0 panics on this file's comments; lint it above","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","hygiene":"node scripts/prune-agent-worktrees.mjs","lint:js":"oxlint --deny-warnings --import-plugin --promise-plugin -D block-scoped-var -D import/default -D import/namespace -D import/no-absolute-path -D import/no-empty-named-blocks -D import/no-named-as-default -D import/no-self-import -D no-extend-native -D no-extra-bind -D no-implied-eval -D no-new -D no-unexpected-multiline -D no-useless-constructor -D oxc/approx-constant -D oxc/misrefactored-assign-op -D oxc/no-accumulating-spread -D oxc/no-async-endpoint-handlers -D oxc/no-this-in-exported-function -D promise/no-callback-in-promise -D promise/no-multiple-resolved -D promise/no-new-statics -D promise/valid-params -D typescript/no-confusing-non-null-assertion -D typescript/no-extraneous-class -D typescript/no-unnecessary-type-constraint -D typescript/no-unsafe-enum-comparison -D unicorn/no-accessor-recursion -D unicorn/no-array-fill-with-reference-type -D unicorn/no-confusing-array-with -D unicorn/no-instanceof-builtins -D unicorn/prefer-array-flat-map -D unicorn/require-module-specifiers --ignore-pattern \"tests/**/*.ts\" --ignore-pattern \"tests/**/*.tsx\" --ignore-pattern \"**/*.d.mts\" --ignore-pattern \"tests/fixtures/autofix-smoke/**\" --ignore-pattern \"tests/fixtures/format-smoke/**\" --ignore-pattern \"tests/fixtures/tool-smoke/**\" --ignore-pattern \"tests/fixtures/call-graph/javascript/**\" --ignore-pattern \"tests/fixtures/function-facts/javascript-parameter.js\" .","prepack":"node scripts/strip-dev-deps-for-pack.mjs --strip","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars && node scripts/setup-git-hooks.mjs && node scripts/warm-loader-cache.mjs","postpack":"node scripts/strip-dev-deps-for-pack.mjs --restore","fmt:check":"oxfmt --check","preflight":"node scripts/pr-preflight.mjs","test:unit":"node scripts/with-test-lock.mjs -- vitest run","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && node scripts/build-dist-tsc.mjs tsconfig.dist.json && npm run bundle:dist","complexity":"node scripts/complexity-report.mjs","test:regen":"node scripts/regen-test-baseline.mjs","test:watch":"vitest","bundle:dist":"node scripts/bundle-dist.mjs","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","mutation:diff":"node scripts/stryker-diff.mjs --base origin/master --max-files 6","test:targeted":"node scripts/with-test-lock.mjs --shared -- vitest run","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc","changelog:check":"node scripts/rollup-changelog.mjs --check","depcruise:check":"depcruise --validate --config .dependency-cruiser.cjs --ignore-known .dependency-cruiser-known-violations.json --output-type err index.ts \"clients/**/*.ts\"","audit:playground":"node scripts/playground-verify-rule.mjs","lint:js:advisory":"node scripts/lint-js-advisory.mjs --deny-warnings --format default -D correctness -D suspicious -D perf --import-plugin --promise-plugin --type-aware -A no-underscore-dangle -A no-await-in-loop -A unicorn/no-array-sort -A unicorn/consistent-function-scoping -A promise/no-promise-in-callback -A no-useless-call -A import/no-unassigned-import -A no-unmodified-loop-condition --ignore-pattern \"**/*.d.mts\" --ignore-pattern \"tests/fixtures/autofix-smoke/**\" --ignore-pattern \"tests/fixtures/format-smoke/**\" --ignore-pattern \"tests/fixtures/tool-smoke/**\" --ignore-pattern \"tests/fixtures/call-graph/javascript/**\" --ignore-pattern \"tests/fixtures/function-facts/javascript-parameter.js\" .","selftest:install":"node scripts/install-selftest.mjs","test:integration":"node scripts/with-test-lock.mjs -- vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","astgrep:self-scan":"node scripts/run-astgrep-pi-lens.mjs","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","test:real-harness":"node scripts/with-test-lock.mjs --shared -- vitest run","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc","bench:cascade-budget":"node scripts/bench-cascade-budget.mjs","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","audit:astgrep-rule-pairs":"node scripts/audit-astgrep-rule-pairs.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc","bench:word-index-replacement":"node scripts/bench-word-index-replacement.mjs","astgrep:self-scan:update-baseline":"node scripts/run-astgrep-pi-lens.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:acf8e58c-022e-4077-95a0-a7f58c8d1dc8"}},"overrides":{"qs":"^6.15.4"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.18.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"_nodeVersion":"22.23.2","allowScripts":{"protobufjs@7.6.5":true,"@ast-grep/cli@0.45.3":true,"@google/genai@1.52.0":true},"dependencies":{"js-yaml":"^5.2.2","pidusage":"^4.0.1","minimatch":"^10.2.6","@ast-grep/cli":"^0.45.0","@ast-grep/napi":"^0.45.0","vscode-jsonrpc":"^9.0.0"},"_hasShrinkwrap":false,"packageManager":"npm@11.18.0","devDependencies":{"knip":"6.35.1","husky":"^9.1.7","jscpd":"5.2.0","json5":"^2.2.3","oxfmt":"0.67.0","oxlint":"1.82.0","semver":"^7.8.0","vitest":"^5.0.0","publint":"0.3.24","typebox":"^1.0.0","@taplo/cli":"0.7.0","typescript":"^7.0.2","@types/node":"^26.0.0","@types/semver":"^7.8.0","@biomejs/biome":"^2.4.10","@types/pidusage":"^2.0.5","oxlint-tsgolint":"7.0.2001","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^5.0.0","@stryker-mutator/core":"10.0.0","@earendil-works/pi-tui":"^0.85.1","typescript-language-server":"5.3.0","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"^1.0.0","@earendil-works/pi-tui":"^0.84.1 || ^0.85.0","@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"jiti":"^2.7.0","web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-lens_4.2.1_1789681700377_0.6568708874350893","host":"s3://npm-registry-packages-npm-production"}},"4.3.0":{"pi":{"skills":["./skills"],"extensions":["./dist/index.js"]},"_id":"pi-lens@4.3.0","bin":{"pi-lens":"dist/mcp/cli.js","pi-lens-mcp":"dist/mcp/server.js","pi-lens-analyze":"dist/mcp/analyze-cli.js"},"bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"dist":{"shasum":"37d3c9d52ddd2c3713a888ad464f7a15bddc3c13","tarball":"https://registry.npmjs.org/pi-lens/-/pi-lens-4.3.0.tgz","fileCount":1568,"integrity":"sha512-6PTzboAc9z2WSEA6aNXCWGsd5ES5MKNJBMIxazbEk2fzcXZFerhJ1k07UDrGjE+hkkd6TnPhsHAxMQ28ZT0WGQ==","signatures":[{"sig":"MEUCIQDxLfJQRZmA9HUXJBgmx9FDkKfMlzvR8Gn/u4PPdbaqhAIgWqc50dDLiao0TVdVrMbBQ3Y+Bj0bX9a1UD1xFTFP3Sc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBThsTsk60f+TkWVHabaOvYRGeMHD5KSC3wmU/+gPrEDAiAWzjavO66XpPZMoiAAxlL1qeaPOTcrBAFwTtyGwyVrbg=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-lens@4.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27485400},"main":"./dist/index.js","name":"pi-lens","type":"module","author":{"name":"Apostolos Mantzaris"},"engines":{"node":">=22.19.0"},"gitHead":"2e43cd55cf4cc8b1a32fb1b7cc929423bb5bb588","license":"MIT","scripts":{"fmt":"oxfmt","knip":"node scripts/run-knip.mjs","lint":"tsc --project tsconfig.json && npm run lint:js && npm run lint:js:tests","test":"node scripts/with-test-lock.mjs -- vitest run","build":"tsc --project tsconfig.build.json","check":"node scripts/check-extensions.mjs","taplo":"taplo check $(git ls-files '*.toml' ':!tests/fixtures/**') && taplo fmt --check $(git ls-files '*.toml' ':!tests/fixtures/**' ':!config/ruff/core.toml') # taplo 0.7.0 panics on this file's comments; lint it above","watch":"tsc --watch","banner":"npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620","hygiene":"node scripts/prune-agent-worktrees.mjs","lint:js":"oxlint --deny-warnings --import-plugin --promise-plugin -D block-scoped-var -D import/default -D import/namespace -D import/no-absolute-path -D import/no-empty-named-blocks -D import/no-named-as-default -D import/no-self-import -D no-extend-native -D no-extra-bind -D no-implied-eval -D no-new -D no-unexpected-multiline -D no-useless-constructor -D oxc/approx-constant -D oxc/misrefactored-assign-op -D oxc/no-accumulating-spread -D oxc/no-async-endpoint-handlers -D oxc/no-this-in-exported-function -D promise/no-callback-in-promise -D promise/no-multiple-resolved -D promise/no-new-statics -D promise/valid-params -D typescript/no-confusing-non-null-assertion -D typescript/no-extraneous-class -D typescript/no-unnecessary-type-constraint -D typescript/no-unsafe-enum-comparison -D unicorn/no-accessor-recursion -D unicorn/no-array-fill-with-reference-type -D unicorn/no-confusing-array-with -D unicorn/no-instanceof-builtins -D unicorn/prefer-array-flat-map -D unicorn/require-module-specifiers --ignore-pattern \"tests/**/*.ts\" --ignore-pattern \"tests/**/*.tsx\" --ignore-pattern \"**/*.d.mts\" --ignore-pattern \"tests/fixtures/autofix-smoke/**\" --ignore-pattern \"tests/fixtures/format-smoke/**\" --ignore-pattern \"tests/fixtures/tool-smoke/**\" --ignore-pattern \"tests/fixtures/call-graph/javascript/**\" --ignore-pattern \"tests/fixtures/function-facts/javascript-parameter.js\" .","prepack":"node scripts/strip-dev-deps-for-pack.mjs --strip","prepare":"npm run build:dist && node scripts/download-grammars.js --core --dest grammars && node scripts/setup-git-hooks.mjs && node scripts/warm-loader-cache.mjs","postpack":"node scripts/strip-dev-deps-for-pack.mjs --restore","fmt:check":"oxfmt --check","preflight":"node scripts/pr-preflight.mjs","test:unit":"node scripts/with-test-lock.mjs -- vitest run","build:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && node scripts/build-dist-tsc.mjs tsconfig.dist.json && npm run bundle:dist","complexity":"node scripts/complexity-report.mjs","test:regen":"node scripts/regen-test-baseline.mjs","test:watch":"vitest","bundle:dist":"node scripts/bundle-dist.mjs","harness:poc":"node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc","logs:smells":"node scripts/analyze-pi-lens-logs.mjs","lint:js:tests":"node scripts/lint-js-advisory.mjs --deny-warnings --format unix --type-aware -A correctness -A suspicious -A perf --ignore-pattern \"tests/fixtures/**\" tests","mutation:diff":"node scripts/stryker-diff.mjs --base origin/master --max-files 6","test:targeted":"node scripts/with-test-lock.mjs --shared -- vitest run","check:grammars":"node scripts/check-grammar-provenance.mjs","check:lockfile":"node scripts/check-lockfile-sync.mjs","harness:go-poc":"node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc","changelog:check":"node scripts/rollup-changelog.mjs --check","depcruise:check":"depcruise --validate --config .dependency-cruiser.cjs --ignore-known .dependency-cruiser-known-violations.json --output-type err index.ts \"clients/**/*.ts\"","audit:playground":"node scripts/playground-verify-rule.mjs","lint:js:advisory":"node scripts/lint-js-advisory.mjs --deny-warnings --format unix -D correctness -D suspicious -D perf --import-plugin --promise-plugin --type-aware -A no-underscore-dangle -A no-await-in-loop -A unicorn/no-array-sort -A unicorn/consistent-function-scoping -A promise/no-promise-in-callback -A no-useless-call -A import/no-unassigned-import -A no-unmodified-loop-condition --ignore-pattern \"**/*.d.mts\" --ignore-pattern \"tests/fixtures/autofix-smoke/**\" --ignore-pattern \"tests/fixtures/format-smoke/**\" --ignore-pattern \"tests/fixtures/tool-smoke/**\" --ignore-pattern \"tests/fixtures/call-graph/javascript/**\" --ignore-pattern \"tests/fixtures/function-facts/javascript-parameter.js\" .","selftest:install":"node scripts/install-selftest.mjs","test:integration":"node scripts/with-test-lock.mjs -- vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts","astgrep:self-scan":"node scripts/run-astgrep-pi-lens.mjs","audit:tree-sitter":"node scripts/audit-tree-sitter-rules.mjs","changelog:extract":"node scripts/changelog-extract.mjs","changelog:release":"node scripts/changelog-release.mjs","download-grammars":"node scripts/download-grammars.js","test:real-harness":"node scripts/with-test-lock.mjs --shared -- vitest run","audit:rule-catalog":"node scripts/validate-rule-catalog.mjs","check:grammar-load":"node scripts/check-grammar-load.mjs","docs:rule-catalogs":"node scripts/gen-rule-catalogs.mjs","harness:python-poc":"node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc","bench:cascade-budget":"node scripts/bench-cascade-budget.mjs","harness:ts-format-poc":"node scripts/run-harness.mjs cases/ts/format-default-poc","release:backfill-notes":"node scripts/backfill-github-releases.mjs","release:backfill-thanks":"node scripts/backfill-release-thanks.mjs","audit:astgrep-rule-pairs":"node scripts/audit-astgrep-rule-pairs.mjs","harness:python-autofix-poc":"node scripts/run-harness.mjs cases/python/autofix-default-poc","bench:word-index-replacement":"node scripts/bench-word-index-replacement.mjs","astgrep:self-scan:update-baseline":"node scripts/run-astgrep-pi-lens.mjs --update-baseline"},"version":"4.3.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:acf8e58c-022e-4077-95a0-a7f58c8d1dc8"}},"homepage":"https://github.com/apmantza/pi-lens#readme","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"overrides":{"qs":"^6.15.4"},"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"_npmVersion":"11.18.0","description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","directories":{},"maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"_nodeVersion":"22.23.2","allowScripts":{"protobufjs@7.6.5":true,"@ast-grep/cli@0.45.3":true,"@google/genai@1.52.0":true},"dependencies":{"js-yaml":"^5.2.2","pidusage":"^4.0.1","minimatch":"^10.2.6","@ast-grep/cli":"^0.45.0","@ast-grep/napi":"^0.45.0","vscode-jsonrpc":"^9.0.0"},"_hasShrinkwrap":false,"packageManager":"npm@11.18.0","devDependencies":{"knip":"6.37.0","husky":"^9.1.7","jscpd":"5.3.0","json5":"^2.2.3","oxfmt":"0.68.0","oxlint":"1.82.0","semver":"^7.8.0","vitest":"^5.0.0","publint":"0.3.24","typebox":"^1.0.0","@taplo/cli":"0.7.0","typescript":"^7.0.2","@types/node":"^26.0.0","@types/semver":"^7.8.0","@biomejs/biome":"^2.4.10","@types/pidusage":"^2.0.5","oxlint-tsgolint":"7.0.2002","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^5.0.0","@stryker-mutator/core":"10.0.0","@earendil-works/pi-tui":"^0.85.1","typescript-language-server":"5.3.0","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"^1.0.0","@earendil-works/pi-tui":"^0.84.1 || ^0.85.0","@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"jiti":"^2.7.0","web-tree-sitter":"0.25.10"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-lens_4.3.0_1790342162762_0.5999739485309614"}}},"time":{"created":"2026-03-22T22:39:54.582Z","modified":"2026-09-25T13:16:03.351Z","1.1.0":"2026-03-22T22:39:54.775Z","1.1.1":"2026-03-22T22:51:31.726Z","1.1.2":"2026-03-23T09:25:40.734Z","1.2.0":"2026-03-23T13:16:26.902Z","1.3.0":"2026-03-23T13:41:10.000Z","1.3.1":"2026-03-23T13:48:52.006Z","1.3.2":"2026-03-23T14:00:43.070Z","1.3.3":"2026-03-23T15:23:23.206Z","1.3.4":"2026-03-25T15:32:57.977Z","1.3.5":"2026-03-25T16:03:36.227Z","1.3.6":"2026-03-25T17:23:06.460Z","1.3.7":"2026-03-25T17:53:52.607Z","1.3.8":"2026-03-25T18:31:33.960Z","1.3.9":"2026-03-25T18:41:57.979Z","1.3.10":"2026-03-25T18:53:38.647Z","1.3.11":"2026-03-25T19:00:21.638Z","1.3.12":"2026-03-25T19:07:16.724Z","1.3.13":"2026-03-25T19:18:11.985Z","1.3.14":"2026-03-25T19:25:31.950Z","2.0.0":"2026-03-25T20:48:43.503Z","2.0.1":"2026-03-25T21:10:00.485Z","2.0.2":"2026-03-25T21:11:45.378Z","2.0.3":"2026-03-25T21:16:22.606Z","2.0.4":"2026-03-25T21:20:26.090Z","2.0.5":"2026-03-25T21:25:55.537Z","2.0.6":"2026-03-25T21:44:36.911Z","2.0.7":"2026-03-25T21:46:11.860Z","2.0.8":"2026-03-25T22:02:20.469Z","2.0.9":"2026-03-25T22:10:26.637Z","2.0.25":"2026-03-26T12:06:27.637Z","2.0.26":"2026-03-26T12:39:37.714Z","2.0.27":"2026-03-26T12:52:26.512Z","2.0.28":"2026-03-26T12:54:48.654Z","2.0.29":"2026-03-26T18:18:53.216Z","2.0.35":"2026-03-26T19:05:38.185Z","2.0.36":"2026-03-26T19:10:26.341Z","2.0.37":"2026-03-26T19:11:11.994Z","2.0.38":"2026-03-27T10:44:23.756Z","2.0.39":"2026-03-27T10:57:22.641Z","2.0.40":"2026-03-27T11:02:14.405Z","2.0.41":"2026-03-27T11:19:21.904Z","2.0.42":"2026-03-27T12:49:24.828Z","2.0.43":"2026-03-27T13:05:11.564Z","2.0.44":"2026-03-27T13:17:55.704Z","2.1.0":"2026-03-28T17:31:03.806Z","2.1.1":"2026-03-29T11:17:41.059Z","2.2.0":"2026-03-29T12:28:18.709Z","2.2.1":"2026-03-29T12:38:05.602Z","2.2.2":"2026-03-29T12:40:14.596Z","2.2.3":"2026-03-29T12:43:57.960Z","2.2.4":"2026-03-29T13:03:55.649Z","2.2.5":"2026-03-29T13:06:43.646Z","2.2.6":"2026-03-29T13:09:02.130Z","2.2.7":"2026-03-29T13:12:39.647Z","2.2.8":"2026-03-29T13:17:02.033Z","2.2.9":"2026-03-29T13:22:30.947Z","2.2.10":"2026-03-29T13:27:11.639Z","3.0.0":"2026-03-31T22:28:55.302Z","3.0.1":"2026-03-31T22:37:01.614Z","3.1.0":"2026-04-01T10:06:08.449Z","3.1.1":"2026-04-01T10:25:10.678Z","3.1.2":"2026-04-01T11:41:03.882Z","3.1.3":"2026-04-01T21:39:03.141Z","3.2.0":"2026-04-01T22:26:34.607Z","3.3.0":"2026-04-02T10:24:31.415Z","3.3.1":"2026-04-02T11:17:35.425Z","3.6.0":"2026-04-02T18:23:20.840Z","3.6.1":"2026-04-02T20:46:27.671Z","3.6.2":"2026-04-02T21:11:12.215Z","3.6.3":"2026-04-02T21:55:15.817Z","3.6.4":"2026-04-02T22:22:25.598Z","3.6.5":"2026-04-02T22:34:01.295Z","3.6.6":"2026-04-03T13:15:34.406Z","3.6.7":"2026-04-04T19:52:15.151Z","3.7.0":"2026-04-05T00:33:28.450Z","3.7.1":"2026-04-05T00:57:04.165Z","3.8.1":"2026-04-05T20:48:48.401Z","3.8.2":"2026-04-06T07:09:57.606Z","3.8.3":"2026-04-06T07:14:02.533Z","3.8.4":"2026-04-06T10:11:01.510Z","3.8.5":"2026-04-06T10:30:14.560Z","3.8.18":"2026-04-07T16:47:15.989Z","3.8.19":"2026-04-07T21:21:38.621Z","3.8.21":"2026-04-08T16:53:10.303Z","3.8.22":"2026-04-09T12:16:30.368Z","3.8.23":"2026-04-12T11:11:14.062Z","3.8.24":"2026-04-12T18:13:35.594Z","3.8.25":"2026-04-13T07:33:48.144Z","3.8.26":"2026-04-15T13:03:36.221Z","3.8.27":"2026-04-18T21:12:57.555Z","3.8.28":"2026-04-19T11:53:46.580Z","3.8.29":"2026-04-21T07:44:32.776Z","3.8.30":"2026-04-22T15:17:33.187Z","3.8.31":"2026-04-22T21:26:04.651Z","3.8.32":"2026-04-25T22:05:14.399Z","3.8.33":"2026-04-27T06:12:20.948Z","3.8.34":"2026-05-01T10:32:19.642Z","3.8.35":"2026-05-02T06:31:43.457Z","3.8.36":"2026-05-02T14:59:34.588Z","3.8.37":"2026-05-02T15:06:54.089Z","3.8.38":"2026-05-02T15:56:58.955Z","3.8.39":"2026-05-02T17:05:32.583Z","3.8.40":"2026-05-03T23:49:36.085Z","3.8.41":"2026-05-05T07:42:04.206Z","3.8.42":"2026-05-08T09:23:12.817Z","3.8.43":"2026-05-10T20:47:46.916Z","3.8.44":"2026-05-13T18:17:19.608Z","3.8.45":"2026-05-21T06:09:25.895Z","3.8.46":"2026-05-26T23:14:42.023Z","3.8.47":"2026-06-01T06:38:10.403Z","3.8.50":"2026-06-07T14:59:45.673Z","3.8.51":"2026-06-14T18:01:13.874Z","3.8.52":"2026-06-14T19:43:26.881Z","3.8.53":"2026-06-16T06:23:35.642Z","3.8.61":"2026-06-25T16:31:10.056Z","3.8.62":"2026-06-28T19:03:52.479Z","3.8.63":"2026-07-01T18:41:17.512Z","3.8.64":"2026-07-04T11:56:03.433Z","3.8.65":"2026-07-04T15:23:37.198Z","3.8.66":"2026-07-07T10:51:44.317Z","3.8.67":"2026-07-09T08:01:56.449Z","3.8.68":"2026-07-10T09:54:47.309Z","3.8.69":"2026-07-11T16:51:31.712Z","3.8.70":"2026-07-14T20:33:59.831Z","3.8.71":"2026-07-20T17:32:32.035Z","3.8.72":"2026-07-26T12:25:55.474Z","3.8.73":"2026-07-28T20:45:21.381Z","3.8.74":"2026-08-01T19:55:58.178Z","4.0.0":"2026-08-14T14:09:55.640Z","4.0.1":"2026-08-16T20:50:42.716Z","4.1.0":"2026-08-20T19:35:23.297Z","4.1.1":"2026-08-21T16:00:56.508Z","4.1.2":"2026-08-24T19:56:28.239Z","4.1.3":"2026-08-28T11:27:37.770Z","4.1.4":"2026-09-07T01:55:30.482Z","4.1.5":"2026-09-08T21:37:57.184Z","4.1.6":"2026-09-10T21:36:23.844Z","4.2.0":"2026-09-16T21:37:06.107Z","4.2.1":"2026-09-17T21:48:20.606Z","4.3.0":"2026-09-25T13:16:02.997Z"},"bugs":{"url":"https://github.com/apmantza/pi-lens/issues"},"author":{"name":"Apostolos Mantzaris"},"license":"MIT","homepage":"https://github.com/apmantza/pi-lens#readme","keywords":["pi","pi-extension","pi-package","linter","biome","ast-grep","ruff","typescript","code-quality","feedback","type-coverage","jscpd","knip"],"repository":{"url":"git+https://github.com/apmantza/pi-lens.git","type":"git"},"description":"Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo","maintainers":[{"name":"apmantza","email":"ap.mantza@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/apmantza/pi-lens/master/banner.png\" alt=\"pi-lens\" width=\"1100\">\n</p>\n\n# pi-lens\n\npi-lens gives AI coding agents fast, language-aware feedback while they write/edit.\n\n> **Working in this project as an AI agent?** Read the [agent guide](docs/agent-guide.md)\n> for how pi-lens surfaces diagnostics (honesty labels, blockers, read-before-edit)\n> and how to respond.\n\n## What It Does\n\n- LSP diagnostics and navigation across supported languages\n- Impact cascade diagnostics that show which related files were affected and run LSP diagnostics on them\n- Language-specific linters, type-checkers, and scanners on every write/edit\n- Safe formatting/autofix where tools are configured or confidently detected\n- ast-grep and tree-sitter structural rules for correctness/security smells\n- Agent-facing tools for LSP navigation/diagnostics, AST search/replace,\n  diagnostics state, and project intelligence\n- Review-graph intelligence for supported languages via bundled tree-sitter WASMs\n- Ranked identifier search (`symbol_search`) over an always-warm word index,\n  feeding the discovery funnel (symbol_search → module_report → read_symbol)\n- Diagnostic triage (`lens_diagnostic_mark`): findings can be marked\n  false-positive, suppressed in source, deferred, or flagged-to-fix — honored\n  across all surfaces\n- `/lens-map` — interactive HTML dependency map of the project\n- Read-guard and edit-autopatch support to reduce bad edits\n- Background security/dependency scans for opted-in projects\n- Runtime health telemetry (`/lens-health`) including a bounded degradation\n  ledger for silently-degraded behavior (LSP breakers, formatter\n  skips/failures, idle evictions, timeouts)\n- MCP server (experimental) so Claude Code or any MCP client can drive the\n  same diagnostics/read-substitute tools pi-lens exposes to pi\n\n## Architecture\n\nMost lifecycle events enter through one wrapper, which drops and counts events\nthat arrive on a replaced session. `tool_call` registers raw: it delegates\nstraight to a handler that owns its own total guard. Events fan out into the\nedit-time lane and the LSP lane. Both lanes write into the findings stores.\nNothing reaches the agent from those stores until a freshness gate or an\nexplicit age label clears it.\n\n```mermaid\nflowchart TD\n    subgraph host[\"pi host\"]\n        HOST[\"Host events<br/>tool_call, tool_result, turn_start/end,<br/>session_start/shutdown, agent_end, context\"]\n        WRAP[\"Stale-ctx wrapper<br/>skips and counts events on a replaced session<br/>tool_result, turn_start, turn_end, agent_end,<br/>agent_settled, session_start, context\"]\n    end\n\n    subgraph guards[\"Guards\"]\n        RG[\"Read-guard<br/>blocks edits that lack prior reading\"]\n        GG[\"Git-guard<br/>holds commit/push while findings stay unresolved\"]\n    end\n\n    subgraph edit[\"Edit-time lane\"]\n        PIPE[\"Post-write pipeline<br/>secrets, format, autofix, sync, lint, tests\"]\n        PLAN[\"Dispatch plan<br/>per file kind, per capability group\"]\n        RUN[\"Runners<br/>format, lint, types, security, smells, docs\"]\n        STRUCT[\"Structural rules<br/>tree-sitter queries and ast-grep\"]\n        BUS[\"files-touched bus<br/>tells extensions which paths moved\"]\n    end\n\n    subgraph lsp[\"LSP lane\"]\n        POOL[\"Client pool<br/>warm reuse, idle eviction\"]\n        DIAGS[\"File and workspace diagnostics\"]\n        CASC[\"Impact cascade<br/>tiered wait policy\"]\n    end\n\n    STORES[\"Findings stores<br/>widget state, warning caches, project snapshot\"]\n\n    subgraph gate[\"Freshness gating\"]\n        FRESH[\"Path freshness<br/>mtime vs scan time, past-EOF, dependency drift\"]\n        DISPO[\"Dispositions<br/>false-positive, suppress, defer, flagged\"]\n        LABEL[\"Explicit age label<br/>for findings no path gate can check\"]\n    end\n\n    subgraph deliver[\"Delivery surfaces\"]\n        TURN[\"Turn-end findings injection\"]\n        WIDGET[\"Widget and footer tally\"]\n        TOOLS[\"lens_diagnostics tool\"]\n        NUDGE[\"Agent nudges\"]\n    end\n\n    SESSION[\"Session lifecycle<br/>primary, sequential replacement, concurrent secondary\"]\n    SINKS[\"Observability sinks<br/>latency.log, degradation ledger, bounded telemetry,<br/>cache observability, cascade and tree-sitter logs\"]\n    CONFIG[\"Config-core<br/>resolve, merge, deny\"]\n    REVIEWGRAPH[\"Review-graph intelligence<br/>call graph, reverse deps, import resolution\"]\n\n    HOST --> WRAP\n    HOST -->|tool_call, raw| RG\n    HOST -->|tool_call, raw| GG\n    WRAP -->|session_start| SESSION\n    WRAP -->|tool_result| PIPE\n    WRAP -->|tool_result, records reads and writes| RG\n    SESSION --> POOL\n    SESSION --> STORES\n    PIPE --> PLAN\n    PLAN --> RUN\n    PLAN --> STRUCT\n    PIPE --> POOL\n    PIPE --> BUS\n    CONFIG --> PIPE\n    CONFIG --> PLAN\n    STRUCT --> REVIEWGRAPH\n    REVIEWGRAPH --> CASC\n    POOL --> DIAGS\n    DIAGS --> CASC\n    RUN --> STORES\n    STRUCT --> STORES\n    DIAGS --> STORES\n    CASC --> STORES\n    BUS --> NUDGE\n    RG -->|read and edit history filter| NUDGE\n    STORES --> FRESH\n    STORES --> LABEL\n    FRESH --> DISPO\n    DISPO --> TURN\n    DISPO --> WIDGET\n    DISPO --> TOOLS\n    LABEL --> TURN\n    TURN --> GG\n    WRAP --> SINKS\n    PIPE --> SINKS\n    RUN --> SINKS\n    STRUCT --> SINKS\n    POOL --> SINKS\n    CASC --> SINKS\n    RG --> SINKS\n    GG --> SINKS\n    FRESH --> SINKS\n```\n\nArchitecture-level view, updated when a lane changes. Per-tool inventories live\nin [features](docs/features.md) and\n[language coverage](docs/language-coverage.md). Today the edit-time lane carries\n45+ runner modules over 35+ file kinds, and the LSP lane speaks to 46\nlanguage server definitions.\n\nThe gating box is an abstraction, not a call order. Freshness covers several\nindependent mechanisms: path freshness against scan time, past-EOF line checks,\nand forward-import dependency drift. Dispositions are one more filter alongside\nthem, not a second stage every finding walks through. Read the box as \"a finding\npasses the gates that apply to it\", and see `clients/finding-delivery-gate.ts`\nfor the per-surface contract.\n\n## Install\n\n```bash\npi install npm:pi-lens\n```\n\nOr from git:\n\n```bash\npi install git:github.com/apmantza/pi-lens\n```\n\nRequires Node.js >=22.19.0 (matches the pi host's own floor — see `engines`\nin `package.json`).\n\nLetting a coding agent do it: paste this into its prompt.\n\n```text\nInstall pi-lens (npm:pi-lens) into pi, then read AGENTS.md in\nhttps://github.com/apmantza/pi-lens for how the extension works and how it\nexpects to be operated.\n```\n\n> **npm v12 users:** dependency lifecycle scripts (e.g. `@ast-grep/cli`'s\n> `postinstall`) now require explicit approval — if `npm install` warns about\n> unreviewed install scripts, review and allow them with\n> `npm approve-scripts`, or trust the `allowScripts` entries already declared\n> in this package's `package.json`. Installing from a git source (`pi install\n> git:...` / `pi update --extension git:...`) may similarly prompt for\n> git-dependency approval; accept it to let the `prepare` build step run.\n\n## Documentation\n\n- [Agent guide](docs/agent-guide.md) — how an AI agent should consume and respond to pi-lens\n- [Agent tools](docs/agent-tools.md) — pi tool names, scopes, and arguments\n- [Usage guide](docs/usage.md) — lifecycle, tool behavior, MCP notes, and\n  troubleshooting\n- [Features](docs/features.md) — detailed feature reference\n- [Word index](docs/word-index.md) — identifier search (`symbol_search`) and\n  the discovery funnel\n- [Tools and commands](docs/tools.md) — runtime flags and slash commands\n- [Diagnostic dispositions](docs/dispositions.md) — triage: false-positive,\n  suppress, defer, flagged-to-fix\n- [Settings](docs/settings.md) — the configuration hub: defaults, env vars, CLI\n  flags, and global vs project config at a glance\n- [Configuration](docs/globalconfig.md) — global and project config files\n- [Environment variables](docs/environment-variables.md) — common env vars and\n  full reference\n- [Language coverage](docs/language-coverage.md) — supported languages, runners,\n  and formatters\n- [Dependencies](docs/dependencies.md) — auto-install policy and external tools\n- [Custom rules](docs/custom-rules.md) — project ast-grep and tree-sitter rules\n- [MCP server](docs/mcp.md) — experimental MCP server for Claude Code and\n  other MCP clients\n- [Architecture decision records](docs/adr/README.md) — settled design\n  decisions, linked from the engineering-defect catalog\n\n## Contributing\n\nSee [`CONTRIBUTING.md`](CONTRIBUTING.md) for the development workflow, runner,\nLSP, formatter, and rule checklists, and issue/PR conventions.\n\nSecurity issues should be reported privately; see [`SECURITY.md`](SECURITY.md).\npi-lens is released under the [MIT License](LICENSE).\n\n## Contributors\n\nThanks goes to these wonderful people:\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n  <tbody>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/apmantza\"><img src=\"https://avatars.githubusercontent.com/u/247365598?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Apostolos Mantzaris</b></sub></a><br /><a href=\"#code-apmantza\" title=\"Code\">💻</a> <a href=\"#doc-apmantza\" title=\"Documentation\">📖</a> <a href=\"#ideas-apmantza\" title=\"Ideas & Planning\">🤔</a> <a href=\"#maintenance-apmantza\" title=\"Maintenance\">🚧</a> <a href=\"#review-apmantza\" title=\"Reviewed Pull Requests\">👀</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/AngriestBird\"><img src=\"https://avatars.githubusercontent.com/u/12663269?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Kenneth McCormick</b></sub></a><br /><a href=\"#bug-AngriestBird\" title=\"Bug reports\">🐛</a> <a href=\"#code-AngriestBird\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/anh-chu\"><img src=\"https://avatars.githubusercontent.com/u/34973633?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Anh Chu</b></sub></a><br /><a href=\"#code-anh-chu\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/loss-and-quick\"><img src=\"https://avatars.githubusercontent.com/u/39405619?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>minicx</b></sub></a><br /><a href=\"#code-loss-and-quick\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/silvanshade\"><img src=\"https://avatars.githubusercontent.com/u/11022302?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>silvanshade</b></sub></a><br /><a href=\"#code-silvanshade\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/tifandotme\"><img src=\"https://avatars.githubusercontent.com/u/33323177?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Tifan Dwi Avianto</b></sub></a><br /><a href=\"#code-tifandotme\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/amit-gshe\"><img src=\"https://avatars.githubusercontent.com/u/7383028?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Amit</b></sub></a><br /><a href=\"#code-amit-gshe\" title=\"Code\">💻</a> <a href=\"#bug-amit-gshe\" title=\"Bug reports\">🐛</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/fractiunate\"><img src=\"https://avatars.githubusercontent.com/u/78024279?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Fractiunate // David Rahäuser</b></sub></a><br /><a href=\"#code-fractiunate\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/vkarasen\"><img src=\"https://avatars.githubusercontent.com/u/7932536?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Vitali Karasenko</b></sub></a><br /><a href=\"#code-vkarasen\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/rfxlamia\"><img src=\"https://avatars.githubusercontent.com/u/222023708?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>V</b></sub></a><br /><a href=\"#code-rfxlamia\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/fabio-dee\"><img src=\"https://avatars.githubusercontent.com/u/10808443?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Fabio Dee</b></sub></a><br /><a href=\"#code-fabio-dee\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/moj02090\"><img src=\"https://avatars.githubusercontent.com/u/57255166?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>moj02090</b></sub></a><br /><a href=\"#code-moj02090\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/mehalter\"><img src=\"https://avatars.githubusercontent.com/u/1591837?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Micah Halter</b></sub></a><br /><a href=\"#code-mehalter\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/JulienEllie\"><img src=\"https://avatars.githubusercontent.com/u/670518?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Julien Ellie</b></sub></a><br /><a href=\"#code-JulienEllie\" title=\"Code\">💻</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/Istar-Eldritch\"><img src=\"https://avatars.githubusercontent.com/u/3746468?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Ruben Paz</b></sub></a><br /><a href=\"#code-Istar-Eldritch\" title=\"Code\">💻</a> <a href=\"#bug-Istar-Eldritch\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/cjunxiang\"><img src=\"https://avatars.githubusercontent.com/u/26619858?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>C.Junxiang</b></sub></a><br /><a href=\"#code-cjunxiang\" title=\"Code\">💻</a> <a href=\"#bug-cjunxiang\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/trvon\"><img src=\"https://avatars.githubusercontent.com/u/6031322?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Trevon</b></sub></a><br /><a href=\"#code-trvon\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/cmptr\"><img src=\"https://avatars.githubusercontent.com/u/32746889?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Aaron Bell</b></sub></a><br /><a href=\"#code-cmptr\" title=\"Code\">💻</a> <a href=\"#bug-cmptr\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/StartupBros\"><img src=\"https://avatars.githubusercontent.com/u/16693591?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Will Mitchell</b></sub></a><br /><a href=\"#code-StartupBros\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/spyrosbazios\"><img src=\"https://avatars.githubusercontent.com/u/37960233?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>spyrosbazios</b></sub></a><br /><a href=\"#code-spyrosbazios\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/Roman-Galeev\"><img src=\"https://avatars.githubusercontent.com/u/40388226?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Roman Galeev</b></sub></a><br /><a href=\"#code-Roman-Galeev\" title=\"Code\">💻</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/jerryfan\"><img src=\"https://avatars.githubusercontent.com/u/2540814?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>jerryfan</b></sub></a><br /><a href=\"#code-jerryfan\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/shaDmx\"><img src=\"https://avatars.githubusercontent.com/u/91132641?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Max L.</b></sub></a><br /><a href=\"#code-shaDmx\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/radge\"><img src=\"https://avatars.githubusercontent.com/u/129205?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>David Ryan</b></sub></a><br /><a href=\"#code-radge\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/JayceFreeman\"><img src=\"https://avatars.githubusercontent.com/u/92962110?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>JayceFreeman</b></sub></a><br /><a href=\"#code-JayceFreeman\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/bloodf\"><img src=\"https://avatars.githubusercontent.com/u/1626923?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Heitor Ramon Ribeiro</b></sub></a><br /><a href=\"#code-bloodf\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/feoh\"><img src=\"https://avatars.githubusercontent.com/u/330070?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Chris Patti</b></sub></a><br /><a href=\"#code-feoh\" title=\"Code\">💻</a> <a href=\"#bug-feoh\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/chenxin-yan\"><img src=\"https://avatars.githubusercontent.com/u/71162231?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Chenxin Yan</b></sub></a><br /><a href=\"#code-chenxin-yan\" title=\"Code\">💻</a> <a href=\"#doc-chenxin-yan\" title=\"Documentation\">📖</a> <a href=\"#bug-chenxin-yan\" title=\"Bug reports\">🐛</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/flowing-abyss\"><img src=\"https://avatars.githubusercontent.com/u/98622217?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>flowing-abyss</b></sub></a><br /><a href=\"#code-flowing-abyss\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/shaochong-theoai\"><img src=\"https://avatars.githubusercontent.com/u/305592060?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>shaochong-theoai</b></sub></a><br /><a href=\"#code-shaochong-theoai\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/xuli500177\"><img src=\"https://avatars.githubusercontent.com/u/62830942?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Xu Yili</b></sub></a><br /><a href=\"#bug-xuli500177\" title=\"Bug reports\">🐛</a> <a href=\"#code-xuli500177\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/ricardoraposo\"><img src=\"https://avatars.githubusercontent.com/u/50217712?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Ricardo Raposo</b></sub></a><br /><a href=\"#code-ricardoraposo\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/jsmestad\"><img src=\"https://avatars.githubusercontent.com/u/16150?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Justin Smestad</b></sub></a><br /><a href=\"#code-jsmestad\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/anasalsbey-glitch\"><img src=\"https://avatars.githubusercontent.com/u/283609702?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>anasalsbey-glitch</b></sub></a><br /><a href=\"#code-anasalsbey-glitch\" title=\"Code\">💻</a> <a href=\"#bug-anasalsbey-glitch\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/PeraSite\"><img src=\"https://avatars.githubusercontent.com/u/19837403?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>정제훈</b></sub></a><br /><a href=\"#code-PeraSite\" title=\"Code\">💻</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/ymek\"><img src=\"https://avatars.githubusercontent.com/u/300569?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Myke Stubbs</b></sub></a><br /><a href=\"#code-ymek\" title=\"Code\">💻</a> <a href=\"#bug-ymek\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/JSap0914\"><img src=\"https://avatars.githubusercontent.com/u/116227558?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>JSap0914</b></sub></a><br /><a href=\"#code-JSap0914\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/knthmn\"><img src=\"https://avatars.githubusercontent.com/u/60438008?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Kent Hou Man</b></sub></a><br /><a href=\"#code-knthmn\" title=\"Code\">💻</a> <a href=\"#bug-knthmn\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://neumie.dev/\"><img src=\"https://avatars.githubusercontent.com/u/23665482?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jakub Neumann</b></sub></a><br /><a href=\"#code-neumie\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/cy7372\"><img src=\"https://avatars.githubusercontent.com/u/142197117?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>CyYu</b></sub></a><br /><a href=\"#code-cy7372\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/carolitascl\"><img src=\"https://avatars.githubusercontent.com/u/26188349?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Carolina</b></sub></a><br /><a href=\"#bug-carolitascl\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/leakedby\"><img src=\"https://avatars.githubusercontent.com/u/4213260?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>LeakedBy</b></sub></a><br /><a href=\"#bug-leakedby\" title=\"Bug reports\">🐛</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/mdbooth\"><img src=\"https://avatars.githubusercontent.com/u/1318691?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Matthew Booth</b></sub></a><br /><a href=\"#bug-mdbooth\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/Wiedzmin89\"><img src=\"https://avatars.githubusercontent.com/u/61706855?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Wiedzmin89</b></sub></a><br /><a href=\"#ideas-Wiedzmin89\" title=\"Ideas & Planning\">🤔</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/grodingo\"><img src=\"https://avatars.githubusercontent.com/u/244184972?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Virgile</b></sub></a><br /><a href=\"#bug-grodingo\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/finnvyrn\"><img src=\"https://avatars.githubusercontent.com/u/90801772?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Finn</b></sub></a><br /><a href=\"#ideas-finnvyrn\" title=\"Ideas & Planning\">🤔</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/ywh555hhh\"><img src=\"https://avatars.githubusercontent.com/u/121592812?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Wayne E</b></sub></a><br /><a href=\"#bug-ywh555hhh\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/RimuruW\"><img src=\"https://avatars.githubusercontent.com/u/59136309?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>RimuruW</b></sub></a><br /><a href=\"#ideas-RimuruW\" title=\"Ideas & Planning\">🤔</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/Bjynt\"><img src=\"https://avatars.githubusercontent.com/u/22177300?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Bjynt</b></sub></a><br /><a href=\"#bug-Bjynt\" title=\"Bug reports\">🐛</a> <a href=\"#ideas-Bjynt\" title=\"Ideas & Planning\">🤔</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/pvtri96\"><img src=\"https://avatars.githubusercontent.com/u/28696888?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Tri Van Pham</b></sub></a><br /><a href=\"#bug-pvtri96\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/BingWuJ\"><img src=\"https://avatars.githubusercontent.com/u/117666511?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>BingWuJ</b></sub></a><br /><a href=\"#bug-BingWuJ\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/tackleberrybey\"><img src=\"https://avatars.githubusercontent.com/u/156954032?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>tackleberrybey</b></sub></a><br /><a href=\"#bug-tackleberrybey\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/TaterDoge\"><img src=\"https://avatars.githubusercontent.com/u/121467933?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Mariann Abshire</b></sub></a><br /><a href=\"#bug-TaterDoge\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/ProbabilityEngineer\"><img src=\"https://avatars.githubusercontent.com/u/38498804?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>ProbabilityEngineer</b></sub></a><br /><a href=\"#ideas-ProbabilityEngineer\" title=\"Ideas & Planning\">🤔</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/LeonardoRick\"><img src=\"https://avatars.githubusercontent.com/u/17517057?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Leonardo Rick</b></sub></a><br /><a href=\"#bug-LeonardoRick\" title=\"Bug reports\">🐛</a> <a href=\"#ideas-LeonardoRick\" title=\"Ideas & Planning\">🤔</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/kenbanks-peng\"><img src=\"https://avatars.githubusercontent.com/u/26904200?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Ken Banks</b></sub></a><br /><a href=\"#bug-kenbanks-peng\" title=\"Bug reports\">🐛</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/rstacruz\"><img src=\"https://avatars.githubusercontent.com/u/74385?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Rico Sta. Cruz</b></sub></a><br /><a href=\"#ideas-rstacruz\" title=\"Ideas & Planning\">🤔</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/acidnik\"><img src=\"https://avatars.githubusercontent.com/u/1227955?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Nikita Bilous</b></sub></a><br /><a href=\"#bug-acidnik\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/av1155\"><img src=\"https://avatars.githubusercontent.com/u/117413846?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Andrea Arturo Venti Fuentes</b></sub></a><br /><a href=\"#bug-av1155\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/dacec354\"><img src=\"https://avatars.githubusercontent.com/u/90093629?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>dacec354</b></sub></a><br /><a href=\"#bug-dacec354\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/nodnarbnitram\"><img src=\"https://avatars.githubusercontent.com/u/44812862?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Brandon Martin</b></sub></a><br /><a href=\"#bug-nodnarbnitram\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/alpertarhan\"><img src=\"https://avatars.githubusercontent.com/u/50966980?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Alper Tarhan</b></sub></a><br /><a href=\"#bug-alpertarhan\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/asolopovas\"><img src=\"https://avatars.githubusercontent.com/u/6893216?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Andrius Solopovas</b></sub></a><br /><a href=\"#bug-asolopovas\" title=\"Bug reports\">🐛</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/GrahamJenkins\"><img src=\"https://avatars.githubusercontent.com/u/6607975?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Graham Jenkins</b></sub></a><br /><a href=\"#bug-GrahamJenkins\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/wings1848\"><img src=\"https://avatars.githubusercontent.com/u/120104016?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Wings Butterfly</b></sub></a><br /><a href=\"#bug-wings1848\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/JohannesKlauss\"><img src=\"https://avatars.githubusercontent.com/u/6214415?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Johannes Klauss</b></sub></a><br /><a href=\"#ideas-JohannesKlauss\" title=\"Ideas & Planning\">🤔</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/tan-yong-sheng\"><img src=\"https://avatars.githubusercontent.com/u/64836390?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Tan Yong Sheng</b></sub></a><br /><a href=\"#ideas-tan-yong-sheng\" title=\"Ideas & Planning\">🤔</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/fmatray\"><img src=\"https://avatars.githubusercontent.com/u/8267716?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Frédéric</b></sub></a><br /><a href=\"#bug-fmatray\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/fuentesjr\"><img src=\"https://avatars.githubusercontent.com/u/9240?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Salvador Fuentes Jr</b></sub></a><br /><a href=\"#bug-fuentesjr\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/Viterkim\"><img src=\"https://avatars.githubusercontent.com/u/17838985?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Viktor</b></sub></a><br /><a href=\"#bug-Viterkim\" title=\"Bug reports\">🐛</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/ortonomy\"><img src=\"https://avatars.githubusercontent.com/u/6688676?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Gregory Orton</b></sub></a><br /><a href=\"#bug-ortonomy\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/jimallen\"><img src=\"https://avatars.githubusercontent.com/u/868773?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jim Allen</b></sub></a><br /><a href=\"#bug-jimallen\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/quantfiction\"><img src=\"https://avatars.githubusercontent.com/u/49965454?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>quantfiction</b></sub></a><br /><a href=\"#bug-quantfiction\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/Artawower\"><img src=\"https://avatars.githubusercontent.com/u/16963833?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Art</b></sub></a><br /><a href=\"#bug-Artawower\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/chozandrias76\"><img src=\"https://avatars.githubusercontent.com/u/2087677?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Colin Swenson-Healey</b></sub></a><br /><a href=\"#bug-chozandrias76\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/JustlyAI\"><img src=\"https://avatars.githubusercontent.com/u/12634140?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Laurent Wiesel</b></sub></a><br /><a href=\"#bug-JustlyAI\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/stark-bit\"><img src=\"https://avatars.githubusercontent.com/u/44064758?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Rei Starks</b></sub></a><br /><a href=\"#bug-stark-bit\" title=\"Bug reports\">🐛</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/robertoecf\"><img src=\"https://avatars.githubusercontent.com/u/54923863?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Roberto Freitas</b></sub></a><br /><a href=\"#bug-robertoecf\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/tmttodd\"><img src=\"https://avatars.githubusercontent.com/u/160077416?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>tmttodd</b></sub></a><br /><a href=\"#bug-tmttodd\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/smaharnav\"><img src=\"https://avatars.githubusercontent.com/u/263328627?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>smaharnav</b></sub></a><br /><a href=\"#bug-smaharnav\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/MzaGuille\"><img src=\"https://avatars.githubusercontent.com/u/151482698?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Mza.Guille</b></sub></a><br /><a href=\"#bug-MzaGuille\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"http://jasonrimmer.com/\"><img src=\"https://avatars.githubusercontent.com/u/629?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jason Rimmer</b></sub></a><br /><a href=\"#bug-jrimmer\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/ArthurHeymans\"><img src=\"https://avatars.githubusercontent.com/u/15137817?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Arthur Heymans</b></sub></a><br /><a href=\"#ideas-ArthurHeymans\" title=\"Ideas & Planning\">🤔</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/Blue-B\"><img src=\"https://avatars.githubusercontent.com/u/55532956?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Blue-B</b></sub></a><br /><a href=\"#bug-Blue-B\" title=\"Bug reports\">🐛</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/bisko\"><img src=\"https://avatars.githubusercontent.com/u/184938?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Biser Perchinkov</b></sub></a><br /><a href=\"#bug-bisko\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/xificurC\"><img src=\"https://avatars.githubusercontent.com/u/4800719?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Peter Nagy</b></sub></a><br /><a href=\"#bug-xificurC\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/orest-tokovenko-block\"><img src=\"https://avatars.githubusercontent.com/u/190554467?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Orest Tokovenko</b></sub></a><br /><a href=\"#bug-orest-tokovenko-block\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://eisterman.dev/\"><img src=\"https://avatars.githubusercontent.com/u/3028953?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Federico Pasqua</b></sub></a><br /><a href=\"#bug-eisterman\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/black-snow\"><img src=\"https://avatars.githubusercontent.com/u/579733?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Ronald</b></sub></a><br /><a href=\"#bug-black-snow\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/aaronkyriesenbach\"><img src=\"https://avatars.githubusercontent.com/u/12665860?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Aaron Ky-Riesenbach</b></sub></a><br /><a href=\"#bug-aaronkyriesenbach\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/LovelyLoong\"><img src=\"https://avatars.githubusercontent.com/u/54889641?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>可爱的龙</b></sub></a><br /><a href=\"#bug-LovelyLoong\" title=\"Bug reports\">🐛</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/pppobear\"><img src=\"https://avatars.githubusercontent.com/u/21952175?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>pppobear</b></sub></a><br /><a href=\"#bug-pppobear\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/bcachet\"><img src=\"https://avatars.githubusercontent.com/u/45542?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Bertrand Cachet</b></sub></a><br /><a href=\"#code-bcachet\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/EarthChen\"><img src=\"https://avatars.githubusercontent.com/u/20179425?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>earthchen</b></sub></a><br /><a href=\"#code-EarthChen\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/Don-Yin\"><img src=\"https://avatars.githubusercontent.com/u/65135356?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Don Yin</b></sub></a><br /><a href=\"#code-Don-Yin\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/ELA718\"><img src=\"https://avatars.githubusercontent.com/u/193304463?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>ELA718</b></sub></a><br /><a href=\"#doc-ELA718\" title=\"Documentation\">📖</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/sujeito-operator/pilot\"><img src=\"https://avatars.githubusercontent.com/u/313599463?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Sujeito Operator</b></sub></a><br /><a href=\"#code-sujeito-operator\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"http://www.blahs.life/\"><img src=\"https://avatars.githubusercontent.com/u/620336?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Dan Blah</b></sub></a><br /><a href=\"#bug-danblah\" title=\"Bug reports\">🐛</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/3choBoomer\"><img src=\"https://avatars.githubusercontent.com/u/521828?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Nathan Cooke</b></sub></a><br /><a href=\"#code-3choBoomer\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/white-hat\"><img src=\"https://avatars.githubusercontent.com/u/922988?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Eli Stark</b></sub></a><br /><a href=\"#code-white-hat\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://marvinaziz.de/\"><img src=\"https://avatars.githubusercontent.com/u/33159023?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Marvin Aziz</b></sub></a><br /><a href=\"#code-marvtub\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/mjfaga\"><img src=\"https://avatars.githubusercontent.com/u/7584015?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Mark</b></sub></a><br /><a href=\"#code-mjfaga\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://aeturnal.io/\"><img src=\"https://avatars.githubusercontent.com/u/219271200?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>aeturnal</b></sub></a><br /><a href=\"#code-aeturnal\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/floatGray\"><img src=\"https://avatars.githubusercontent.com/u/44295302?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>floatGray</b></sub></a><br /><a href=\"#code-floatGray\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/thomasfsteeples\"><img src=\"https://avatars.githubusercontent.com/u/32720359?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Thomas F Steeples</b></sub></a><br /><a href=\"#code-thomasfsteeples\" title=\"Code\">💻</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/amasen02\"><img src=\"https://avatars.githubusercontent.com/u/97525823?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Ama Senevirathne</b></sub></a><br /><a href=\"#code-amasen02\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/AcademyKUB8\"><img src=\"https://avatars.githubusercontent.com/u/217174854?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>AcademyKUB8</b></sub></a><br /><a href=\"#code-AcademyKUB8\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/soulocker\"><img src=\"https://avatars.githubusercontent.com/u/9692331?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>soulocker</b></sub></a><br /><a href=\"#bug-soulocker\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/sonic182\"><img src=\"https://avatars.githubusercontent.com/u/4070466?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Johanderson Mogollon</b></sub></a><br /><a href=\"#ideas-sonic182\" title=\"Ideas & Planning\">🤔</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/kurihada\"><img src=\"https://avatars.githubusercontent.com/u/63988604?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>kurihada</b></sub></a><br /><a href=\"#bug-kurihada\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/Giraffe224\"><img src=\"https://avatars.githubusercontent.com/u/193071526?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Giraffe224</b></sub></a><br /><a href=\"#bug-Giraffe224\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"http://www.crshman.com\"><img src=\"https://avatars.githubusercontent.com/u/39948?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Robert Navarro</b></sub></a><br /><a href=\"#bug-rnavarro\" title=\"Bug reports\">🐛</a> <a href=\"#code-rnavarro\" title=\"Code\">💻</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/kapkema\"><img src=\"https://avatars.githubusercontent.com/u/774573?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Marc</b></sub></a><br /><a href=\"#bug-kapkema\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://javymarmol.com\"><img src=\"https://avatars.githubusercontent.com/u/3501269?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Heyner Javier Marmol Verbel</b></sub></a><br /><a href=\"#bug-javymarmol\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/Stijnus\"><img src=\"https://avatars.githubusercontent.com/u/72551117?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Stijnus</b></sub></a><br /><a href=\"#bug-Stijnus\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/Macrox\"><img src=\"https://avatars.githubusercontent.com/u/571851?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>macroxing</b></sub></a><br /><a href=\"#bug-Macrox\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/jwtracy\"><img src=\"https://avatars.githubusercontent.com/u/58991818?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>John Tracy</b></sub></a><br /><a href=\"#code-jwtracy\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/woyxiang\"><img src=\"https://avatars.githubusercontent.com/u/119841810?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>woyxiang</b></sub></a><br /><a href=\"#ideas-woyxiang\" title=\"Ideas & Planning\">🤔</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/Juncanthia\"><img src=\"https://avatars.githubusercontent.com/u/17041926?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Juncanthia</b></sub></a><br /><a href=\"#bug-Juncanthia\" title=\"Bug reports\">🐛</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/kevinkirkup\"><img src=\"https://avatars.githubusercontent.com/u/38406?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Kevin S Kirkup</b></sub></a><br /><a href=\"#bug-kevinkirkup\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/georgeharker\"><img src=\"https://avatars.githubusercontent.com/u/2169888?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>George Harker</b></sub></a><br /><a href=\"#code-georgeharker\" title=\"Code\">💻</a> <a href=\"#bug-georgeharker\" title=\"Bug reports\">🐛</a> <a href=\"#ideas-georgeharker\" title=\"Ideas & Planning\">🤔</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://zuey.me\"><img src=\"https://avatars.githubusercontent.com/u/6857382?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Duy /zuey/</b></sub></a><br /><a href=\"#ideas-mrgoonie\" title=\"Ideas & Planning\">🤔</a> <a href=\"#code-mrgoonie\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/luw2007\"><img src=\"https://avatars.githubusercontent.com/u/1415541?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>luw2007</b></sub></a><br /><a href=\"#bug-luw2007\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/WrongWorry\"><img src=\"https://avatars.githubusercontent.com/u/188037855?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>WrongWorry</b></sub></a><br /><a href=\"#bug-WrongWorry\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/nanaxx131-gif\"><img src=\"https://avatars.githubusercontent.com/u/310295749?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>nanaxx131-gif</b></sub></a><br /><a href=\"#bug-nanaxx131-gif\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/CIECJS\"><img src=\"https://avatars.githubusercontent.com/u/130489549?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>MateusCx</b></sub></a><br /><a href=\"#bug-CIECJS\" title=\"Bug reports\">🐛</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/HughZadora\"><img src=\"https://avatars.githubusercontent.com/u/32498443?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Hugh Zadora</b></sub></a><br /><a href=\"#bug-HughZadora\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/cxh0312\"><img src=\"https://avatars.githubusercontent.com/u/10069427?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>撑伞的鱼</b></sub></a><br /><a href=\"#bug-cxh0312\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/LvGitHub-9\"><img src=\"https://avatars.githubusercontent.com/u/69997168?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Lv</b></sub></a><br /><a href=\"#bug-LvGitHub-9\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/apmcodes\"><img src=\"https://avatars.githubusercontent.com/u/13360356?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>apmcodes</b></sub></a><br /><a href=\"#bug-apmcodes\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/jondong\"><img src=\"https://avatars.githubusercontent.com/u/700736?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jonathan Dong</b></sub></a><br /><a href=\"#bug-jondong\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/alchemistklk\"><img src=\"https://avatars.githubusercontent.com/u/56862773?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Caprika</b></sub></a><br /><a href=\"#bug-alchemistklk\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/dmontague-crwv\"><img src=\"https://avatars.githubusercontent.com/u/289768493?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>dmontague-crwv</b></sub></a><br /><a href=\"#bug-dmontague-crwv\" title=\"Bug reports\">🐛</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/glyh\"><img src=\"https://avatars.githubusercontent.com/u/12870742?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><b>Yihang \"Corvo\" Liu</b></sub></a><br /><a href=\"#bug-glyh\" title=\"Bug reports\">🐛</a></td>\n    </tr>\n  </tbody>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n","readmeFilename":"README.md"}