{"_id":"@bacnh85/pi-fff","_rev":"17-77037b5f602d0f4485a648a3567aa4e7","name":"@bacnh85/pi-fff","dist-tags":{"latest":"0.8.4"},"versions":{"0.6.0":{"name":"@bacnh85/pi-fff","version":"0.6.0","keywords":["pi-package","pi-extension","fff","search","grep","fuzzy-search","ai-agent"],"license":"MIT","_id":"@bacnh85/pi-fff@0.6.0","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions#readme","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"92a59a606f40357ede666f8a52a1689c2e4372c1","tarball":"https://registry.npmjs.org/@bacnh85/pi-fff/-/pi-fff-0.6.0.tgz","fileCount":8,"integrity":"sha512-sd7xHTGKYX1m1CQIWtkikcjm9Rd8lbFwimkDbsNKgyc2WaND7rRky1mOS9KYJo0YmGKRH0UYNo319G7Drx3wAQ==","signatures":[{"sig":"MEQCIHalKuP3nPAcZGQYQisCM5SLcjIXoJt0lzM7xgz0AQfdAiAc1vaS6NCPvc8WiNURej/Or4Us57rgHIuzP93kFW+m4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44105},"type":"module","gitHead":"b641217f2a68ea0ea22eed9a46035bc2e8a11934","scripts":{"test":"cd extensions && mocha","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-fff"},"_npmVersion":"10.9.8","description":"Pi extension: FFF-powered fuzzy file and content search.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@ff-labs/fff-node":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^10.8.2","typescript":"^5.0.0","@types/chai":"^4.3.20","@types/node":"^22.0.0","@types/mocha":"^10.0.10","@sinclair/typebox":"^0.34.41"},"peerDependencies":{"@sinclair/typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-fff_0.6.0_1783302856803_0.2383875391053052","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@bacnh85/pi-fff","version":"0.7.0","keywords":["pi-package","pi-extension","fff","search","grep","fuzzy-search","ai-agent"],"license":"MIT","_id":"@bacnh85/pi-fff@0.7.0","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions#readme","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"735ee339edd3f43f847a9913254c63af046ed8ab","tarball":"https://registry.npmjs.org/@bacnh85/pi-fff/-/pi-fff-0.7.0.tgz","fileCount":7,"integrity":"sha512-ZoTr5jfB9m6QX6d8RYewANc936kadLnrsqVAnFEQELJzFXLTmjn9PSWD+cOBG3snaT/WUEMqWOZMm/P7P7LeLg==","signatures":[{"sig":"MEYCIQDzGETbRzHoE1ClZJmHMcEVR7rLOc6Qd78UOY4rjCCILwIhANo3CnICOQTiuE4db/D/DA3GUb3slg7hidEy4KseCjdq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57500},"type":"module","gitHead":"3ef8c3e9767a0f24f342968713c3ee968a1ad604","scripts":{"test":"cd extensions && mocha","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-fff"},"_npmVersion":"10.9.8","description":"Pi extension: FFF-powered fuzzy file and content search.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@ff-labs/fff-node":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^10.8.2","typescript":"^5.0.0","@types/chai":"^4.3.20","@types/node":"^22.0.0","@types/mocha":"^10.0.10","@sinclair/typebox":"^0.34.41"},"peerDependencies":{"@sinclair/typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-fff_0.7.0_1783313217159_0.5650275520774226","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@bacnh85/pi-fff","version":"0.7.1","keywords":["pi-package","pi-extension","fff","search","grep","fuzzy-search","ai-agent"],"license":"MIT","_id":"@bacnh85/pi-fff@0.7.1","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions#readme","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"0ae278971478dd9e39aa70dddd6de0977b09fa02","tarball":"https://registry.npmjs.org/@bacnh85/pi-fff/-/pi-fff-0.7.1.tgz","fileCount":7,"integrity":"sha512-iEE1w+vcpzF3RxtuBSmOnszD1RIv3dnYIR2wQJXQd61SlswsNv3FMo2WLX/qXaLBxtyLvO0tSXcdaGV93Dc2jA==","signatures":[{"sig":"MEYCIQCJ9TPZ6x4Brn/ml0V4IiIdfznCOLXsmDXQzTcWxPl/+QIhAIa/KPmblN1qcNeqKK8gTiPkhjjspozks9dAzhPAMRGF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54786},"type":"module","gitHead":"61b44a371114b1a10eb5bfebcd44850254acf263","scripts":{"test":"cd extensions && mocha","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-fff"},"_npmVersion":"10.9.8","description":"Pi extension: FFF-powered fuzzy file and content search.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@ff-labs/fff-node":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^10.8.2","typescript":"^5.0.0","@types/chai":"^4.3.20","@types/node":"^22.0.0","@types/mocha":"^10.0.10","@sinclair/typebox":"^0.34.41"},"peerDependencies":{"@sinclair/typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-fff_0.7.1_1783517265993_0.35190377637440506","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@bacnh85/pi-fff","version":"0.7.2","keywords":["pi-package","pi-extension","fff","search","grep","fuzzy-search","ai-agent"],"license":"MIT","_id":"@bacnh85/pi-fff@0.7.2","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions#readme","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"1e8b4b209498a54fd848abf84d47ad8479dd225d","tarball":"https://registry.npmjs.org/@bacnh85/pi-fff/-/pi-fff-0.7.2.tgz","fileCount":7,"integrity":"sha512-Bgxs/5G9iAcVNLwZzURBnbqu/OcSbuKm3NA46aSAhIERCplqPtr0L0U6PQFUU/cmpWuOJ3kcmJbAGiRz1a5lyA==","signatures":[{"sig":"MEUCIAVAVVc+sHPMGelR6GHLdhuyQbg2IKp0zrRdjq7KZrPEAiEA9pGSHomuOWO/MOFdKNfLcKJ2TCy9CTwPfBemgcb4RzA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54787},"type":"module","gitHead":"6cd27e9cccc4b115e2a7ee9688e79f2b3dcbd8fc","scripts":{"test":"cd extensions && mocha","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-fff"},"_npmVersion":"10.9.8","description":"Pi extension: FFF-powered fuzzy file and content search.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@ff-labs/fff-node":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^10.8.2","typescript":"^5.0.0","@types/chai":"^4.3.20","@types/node":"^22.0.0","@types/mocha":"^10.0.10","@sinclair/typebox":"^0.34.41"},"peerDependencies":{"@sinclair/typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-fff_0.7.2_1783517784026_0.01099015928811542","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"@bacnh85/pi-fff","version":"0.7.3","keywords":["pi-package","pi-extension","fff","search","grep","fuzzy-search","ai-agent"],"license":"MIT","_id":"@bacnh85/pi-fff@0.7.3","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions#readme","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"e0ad029dc5b280dce08f009339cdcbd84e7be381","tarball":"https://registry.npmjs.org/@bacnh85/pi-fff/-/pi-fff-0.7.3.tgz","fileCount":5,"integrity":"sha512-5qf/HU3aiZ6nc5viSXGOfiYzLjhsyBcSw9b3Qo3h04M9QWsSmLflRkrOylgnC/sdQ5wjFumQUvu0kvJonJeGYg==","signatures":[{"sig":"MEYCIQDbgPVzHEL7cLeq6Aq9h7J8e6yVtb3iwYZvQs+lVz7FkgIhAK+ha4PFAFg58BBviBLljsW8hnuVHp4UbXLxpcoFCH9M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52462},"type":"module","gitHead":"4cf1433f18cf45d2e3293a27fc20cb611d4d8d3b","scripts":{"test":"cd extensions && mocha","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-fff"},"_npmVersion":"10.9.8","description":"Pi extension: FFF-powered fuzzy file and content search.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@ff-labs/fff-node":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^10.8.2","typescript":"^5.0.0","@types/chai":"^4.3.20","@types/node":"^22.0.0","@types/mocha":"^10.0.10","@sinclair/typebox":"^0.34.41"},"peerDependencies":{"@sinclair/typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-fff_0.7.3_1783655318249_0.9406541965049422","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"@bacnh85/pi-fff","version":"0.7.4","keywords":["pi-package","pi-extension","fff","search","grep","fuzzy-search","ai-agent"],"license":"MIT","_id":"@bacnh85/pi-fff@0.7.4","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions#readme","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"edc87cc178e5bb6403722b5259dcab9fe81ec3f3","tarball":"https://registry.npmjs.org/@bacnh85/pi-fff/-/pi-fff-0.7.4.tgz","fileCount":5,"integrity":"sha512-UTZIXvOV4V5Ft2GNwzS7d9Mlmb6b2fHkj0Xy0x842gDSUYvjAVNXiK05A7dNFACVJEWjWbAtLfQn348D8EtEQg==","signatures":[{"sig":"MEUCIAWccz3uB3niTEK7Kqbay6aUihTGtxqetc/tY1BsYl6kAiEAmSYPiL5BbFG+CjUEvYQTUACDu7G88yKL0T658GXjs58=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56885},"type":"module","gitHead":"bad64a5e7328be2e1e5430e18e174cd35c2e5fd7","scripts":{"test":"cd extensions && npx mocha","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-fff"},"_npmVersion":"10.9.8","description":"Pi extension: FFF-powered fuzzy file and content search.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@ff-labs/fff-node":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^10.8.2","typescript":"^5.0.0","@types/chai":"^4.3.20","@types/node":"^22.0.0","@types/mocha":"^10.0.10","@sinclair/typebox":"^0.34.41"},"peerDependencies":{"@sinclair/typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-fff_0.7.4_1783760697667_0.3516148822108176","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"@bacnh85/pi-fff","version":"0.7.5","keywords":["pi-package","pi-extension","fff","search","grep","fuzzy-search","ai-agent"],"license":"MIT","_id":"@bacnh85/pi-fff@0.7.5","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions#readme","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"4b6a2de77dee75c5d9a3e83f16d9a7fe95563e6a","tarball":"https://registry.npmjs.org/@bacnh85/pi-fff/-/pi-fff-0.7.5.tgz","fileCount":5,"integrity":"sha512-1M/FTdA1z13yq3unKN63GWpOAWt3DNgyvfNHbtZ63/T+AryW0QRZbMs4/us5eEHky7Uzrwk+ntWV5+B+TMcKNg==","signatures":[{"sig":"MEUCIQCI/GH6jljf3psmizfjhhNm+V+YDl2riXaOD0JuwEYCogIgbpP3aHbuQ1cJxKk2HVygIfqANo6xLTGohmM1CslsjN0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58596},"type":"module","gitHead":"8c7bd9f6c0664f6664367d03d5d72da56a6f018a","scripts":{"test":"cd extensions && npx mocha","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-fff"},"_npmVersion":"10.9.8","description":"Pi extension: FFF-powered fuzzy file and content search.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@ff-labs/fff-node":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^10.8.2","typescript":"^5.0.0","@types/chai":"^4.3.20","@types/node":"^22.0.0","@types/mocha":"^10.0.10","@sinclair/typebox":"^0.34.41"},"peerDependencies":{"@sinclair/typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-fff_0.7.5_1783911491939_0.21501259823340502","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"@bacnh85/pi-fff","version":"0.7.6","keywords":["pi-package","pi-extension","fff","search","grep","fuzzy-search","ai-agent"],"license":"MIT","_id":"@bacnh85/pi-fff@0.7.6","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions#readme","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"7fe0d8067e16e169d32eb323eea2b0da7cc489c3","tarball":"https://registry.npmjs.org/@bacnh85/pi-fff/-/pi-fff-0.7.6.tgz","fileCount":5,"integrity":"sha512-lGTCm0mZnLAtppGhw0FSXu29GkJyfu1DWktX91LLp7ddhb8tgH8nHAxt9Jwc7YKp4/AqrA7Om8WICKxmdPmq8A==","signatures":[{"sig":"MEYCIQDZQ8V4r0qdjYd7aSTI6EIqExwvaPJuX7hD+soCtBaF2AIhAJQ67p8K43AqrWRWzhfrgpFgSgz/ouD6s0PeT77MFxhk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87445},"type":"module","gitHead":"038a59d8b5f272e0e6f00ff0dd7239f6b6b0fa0b","scripts":{"test":"cd extensions && npx mocha","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-fff"},"_npmVersion":"10.9.8","description":"Pi extension: FFF-powered fuzzy file and content search.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@ff-labs/fff-node":"^0.9.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^10.8.2","typescript":"^5.0.0","@types/chai":"^4.3.20","@types/node":"^22.0.0","@types/mocha":"^10.0.10","@sinclair/typebox":"^0.34.41"},"peerDependencies":{"@sinclair/typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-fff_0.7.6_1784166400383_0.12698698691900923","host":"s3://npm-registry-packages-npm-production"}},"0.7.7":{"name":"@bacnh85/pi-fff","version":"0.7.7","keywords":["pi-package","pi-extension","fff","search","grep","fuzzy-search","ai-agent"],"license":"MIT","_id":"@bacnh85/pi-fff@0.7.7","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions#readme","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"f680c55ed0f0af7e6997f10197e499a42854bc4a","tarball":"https://registry.npmjs.org/@bacnh85/pi-fff/-/pi-fff-0.7.7.tgz","fileCount":5,"integrity":"sha512-gJmBfJdKHQOkuazXjvHRcmnNFfV6nNSWCiW9lfu2cHjRAUOWX24AbJ00dj5z96cUKDYoyjQXW6qsxlwQ+yOY5g==","signatures":[{"sig":"MEUCIDYLRuhFn1N9BaQemGMDICBhfG/8J37rcOATXik4bkeeAiEA5ha2RRlz0cHKlxyK6N8F6Vf0lFhXylZvpk0YqGghJr4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87445},"type":"module","gitHead":"3302e96071be5f8a134af4742b9c23077dc5a6b6","scripts":{"test":"cd extensions && npx mocha","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-fff"},"_npmVersion":"10.9.8","description":"Pi extension: FFF-powered fuzzy file and content search.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@ff-labs/fff-node":"^0.9.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^10.8.2","typescript":"^5.0.0","@types/chai":"^4.3.20","@types/node":"^22.0.0","@types/mocha":"^10.0.10","@sinclair/typebox":"^0.34.41"},"peerDependencies":{"@sinclair/typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-fff_0.7.7_1785044998751_0.8821373921590008","host":"s3://npm-registry-packages-npm-production"}},"0.7.8":{"name":"@bacnh85/pi-fff","version":"0.7.8","keywords":["pi-package","pi-extension","fff","search","grep","fuzzy-search","ai-agent"],"license":"MIT","_id":"@bacnh85/pi-fff@0.7.8","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions#readme","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"71c7bf40f3f31b8502fcd08625bf52d47a72a529","tarball":"https://registry.npmjs.org/@bacnh85/pi-fff/-/pi-fff-0.7.8.tgz","fileCount":6,"integrity":"sha512-C5vzVDiRAR0xAVbeNVXmMTkiMqnMOtOZaNRSKajpU/K4eVg7oiYWXuL4+R3ynKbOshnAWBqxb1QECi40SdF66Q==","signatures":[{"sig":"MEYCIQDEuSNDDIOxmKUwFbADWhk4vj+n6cU98TojKXWeBAE9dgIhAM19rmbqF/2hzNDvNtr+QbnbPwaf0CGsAeJ/26+yE6i2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88057},"type":"module","gitHead":"92c3ed2b01c74685201a903655a39a7c7ddff2dc","scripts":{"test":"cd extensions && npx mocha","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-fff"},"_npmVersion":"10.9.8","description":"Pi extension: FFF-powered fuzzy file and content search.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@ff-labs/fff-node":"^0.9.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^10.8.2","typescript":"^5.0.0","@types/chai":"^4.3.20","@types/node":"^22.0.0","@types/mocha":"^10.0.10","@sinclair/typebox":"^0.34.41"},"peerDependencies":{"@sinclair/typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-fff_0.7.8_1785378888421_0.021145418907565716","host":"s3://npm-registry-packages-npm-production"}},"0.7.9":{"name":"@bacnh85/pi-fff","version":"0.7.9","keywords":["pi-package","pi-extension","fff","search","grep","fuzzy-search","ai-agent"],"license":"MIT","_id":"@bacnh85/pi-fff@0.7.9","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions/tree/main/pi-fff","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"f23667f53780279fa9d668617f02cedfc7808fb3","tarball":"https://registry.npmjs.org/@bacnh85/pi-fff/-/pi-fff-0.7.9.tgz","fileCount":6,"integrity":"sha512-8zA5i+SOsTuLvtEfuQw9mcgIgsv1gcJLo0LuXN+UK032BWHgf3ke7JUwvR02K081/GurXKBTJotws1ovdhfIWw==","signatures":[{"sig":"MEQCIAe93ivwlXJQ3YbAoEVZZBKEWzdkRgmZyuoQGqnSvDZRAiB4wT5LfclegEQxps4DrZBV/o6YSj+Wba9VVTx96rgQPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88258},"type":"module","gitHead":"b6dc2aa08224976862793b502d6ec946c2b9b2d4","scripts":{"test":"cd extensions && npx mocha","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-fff"},"_npmVersion":"10.9.8","description":"Pi extension: FFF-powered fuzzy file and content search.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@ff-labs/fff-node":"^0.9.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^10.8.2","typescript":"^5.0.0","@types/chai":"^4.3.20","@types/node":"^22.0.0","@types/mocha":"^10.0.10","@sinclair/typebox":"^0.34.41"},"peerDependencies":{"@sinclair/typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"@yuuang/ffi-rs-linux-x64-gnu":"1.3.2"},"_npmOperationalInternal":{"tmp":"tmp/pi-fff_0.7.9_1785926423256_0.7778549005494917","host":"s3://npm-registry-packages-npm-production"}},"0.7.10":{"name":"@bacnh85/pi-fff","version":"0.7.10","keywords":["pi-package","pi-extension","fff","search","grep","fuzzy-search","ai-agent"],"license":"MIT","_id":"@bacnh85/pi-fff@0.7.10","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions/tree/main/pi-fff","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"e2b0bf851ad812d2447ac64f5fe68802143660ca","tarball":"https://registry.npmjs.org/@bacnh85/pi-fff/-/pi-fff-0.7.10.tgz","fileCount":6,"integrity":"sha512-IPRs2j5Cupf3XJ+Iy/sxn5Gn/RU84kqwYG0+KSWIA8YmQFojyp3i6q+nib3XqvMfiiuC4p1qIC24mrwIFZ6H/g==","signatures":[{"sig":"MEUCIHcXfw0LX4btns7Otdh6BOFHGLYkxEy4we2ePYp+q3SRAiEArm5qcctdtZQP0Uf0aBIoYKF4InzswrMWzL1J1jGszac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88796},"type":"module","gitHead":"fb130ee80571d4a6ec161fe7d7736085f32eff74","scripts":{"test":"cd extensions && npx mocha","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"overrides":{"diff":"^8.0.3","js-yaml@>=4.0.0 <4.3.1":"^4.3.1","brace-expansion@>=2.0.0 <2.1.4":"^2.1.4","serialize-javascript@>=5.0.0 <7.0.5":"^7.0.5"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-fff"},"_npmVersion":"10.9.8","description":"Pi extension: FFF-powered fuzzy file and content search.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@ff-labs/fff-node":"^0.9.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^11.8.0","typescript":"^5.0.0","@types/chai":"^4.3.20","@types/node":"^22.0.0","@types/mocha":"^10.0.10","@sinclair/typebox":"^0.34.41"},"peerDependencies":{"@sinclair/typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"@yuuang/ffi-rs-linux-x64-gnu":"1.3.2"},"_npmOperationalInternal":{"tmp":"tmp/pi-fff_0.7.10_1788013475825_0.4398063500055891","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@bacnh85/pi-fff","version":"0.8.0","keywords":["pi-package","pi-extension","fff","search","grep","fuzzy-search","ai-agent"],"license":"MIT","_id":"@bacnh85/pi-fff@0.8.0","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions/tree/main/pi-fff","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"48de2154d57dc3653fa836cc939f8f43cd9cf027","tarball":"https://registry.npmjs.org/@bacnh85/pi-fff/-/pi-fff-0.8.0.tgz","fileCount":6,"integrity":"sha512-E5oHakstqQpKCVtg2ImT0vCaGIPKHSOS9HMdUOOCsh6VCggel3KWAx9TzTtZ4D0LzC6M8WV0FWm7o7FeAKQpwA==","signatures":[{"sig":"MEUCIBd4CXD2upAXZQG70+KWiQ1kC/HRhpCLhPa6So8B18roAiEA8JAPHsWocJo93UIhjVStAWvPNCG5aB2dwI+/OubXW9U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90756},"type":"module","gitHead":"02c70afdc0279f9e5f2d14edabfd3b9c63d1264d","scripts":{"test":"cd extensions && npx mocha","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"overrides":{"diff":"^8.0.3","js-yaml@>=4.0.0 <4.3.1":"^4.3.1","brace-expansion@>=2.0.0 <2.1.4":"^2.1.4","serialize-javascript@>=5.0.0 <7.0.5":"^7.0.5"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-fff"},"_npmVersion":"10.9.8","description":"Pi extension: FFF-powered fuzzy file and content search.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@ff-labs/fff-node":"^0.10.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^11.8.0","typescript":"^5.0.0","@types/chai":"^4.3.20","@types/node":"^22.0.0","@types/mocha":"^10.0.10","@sinclair/typebox":"^0.34.41"},"peerDependencies":{"@sinclair/typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"@yuuang/ffi-rs-linux-x64-gnu":"1.3.2"},"_npmOperationalInternal":{"tmp":"tmp/pi-fff_0.8.0_1788184186653_0.42376379881737014","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@bacnh85/pi-fff","version":"0.8.1","keywords":["pi-package","pi-extension","fff","search","grep","fuzzy-search","ai-agent"],"license":"MIT","_id":"@bacnh85/pi-fff@0.8.1","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions/tree/main/pi-fff","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"1c92d219bd400b4399a7678662a9e69641fba08b","tarball":"https://registry.npmjs.org/@bacnh85/pi-fff/-/pi-fff-0.8.1.tgz","fileCount":6,"integrity":"sha512-DIqY8Z9RQhlIbiUGZXxFIZWgJbe9MDQB+irTqFS6/YLw3LiHFmcZAWMZeTK2lniV+caM2W+RqJIRchQkBuiteA==","signatures":[{"sig":"MEUCIEykTKRoXrlfduUPpmjCbgGm3VrI4Hf1VRPIpW8rNB+FAiEA99QBYfizAp/69WRO33oZPsMHb0Gzjx+l/Km8heuEN/4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCl19UvStUWncfTpL5x5GkV1ClrRnVQ/hwQrzOhhkIryAIhAJGCaLnBVbB9FMi0o5nce8dw25ccbyXS0l4N+SQp12we","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91113},"type":"module","engines":{"node":">=22"},"gitHead":"d00c3deaa5f3423b44adc2e160397b2feaf8465f","scripts":{"test":"cd extensions && npx mocha","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"overrides":{"diff":"^8.0.3","js-yaml@>=4.0.0 <4.3.1":"^4.3.1","brace-expansion@>=2.0.0 <2.1.4":"^2.1.4","serialize-javascript@>=5.0.0 <7.0.5":"^7.0.5"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-fff"},"_npmVersion":"10.9.8","description":"Pi extension: FFF-powered fuzzy file and content search.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@ff-labs/fff-node":"^0.10.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^11.8.0","typescript":"^5.0.0","@types/chai":"^4.3.20","@types/node":"^22.0.0","@types/mocha":"^10.0.10","@sinclair/typebox":"^0.34.41"},"peerDependencies":{"@sinclair/typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"@yuuang/ffi-rs-linux-x64-gnu":"1.3.2"},"_npmOperationalInternal":{"tmp":"tmp/pi-fff_0.8.1_1789881014584_0.021799275798968232","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@bacnh85/pi-fff","version":"0.8.2","keywords":["pi-package","pi-extension","fff","search","grep","fuzzy-search","ai-agent"],"license":"MIT","_id":"@bacnh85/pi-fff@0.8.2","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions/tree/main/pi-fff","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"a1c06ec718ba3911388eca4099fb2e4f114192b0","tarball":"https://registry.npmjs.org/@bacnh85/pi-fff/-/pi-fff-0.8.2.tgz","fileCount":6,"integrity":"sha512-O6vypC+pu3L9i9mnu0a5VHtF9id/QR6SxURAlAPjfmOp4BIIXcrPxRYJhl3YgAbcm2u1wKOSZ7g9o8Hn8WiOhw==","signatures":[{"sig":"MEQCICXvjXrIKr0K9/kld695W2rkGaWkiVWa0ZhwKK8ecl6xAiBidl42dwaGwRRaQBdsj4aG9FDvGPMWNTxfxDYtWWrXaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGaJk3oxJBwmDz5pYu3Lkc7j/u9TmdO0HMlbCLMrXta+AiBxD5WAplw85IAn1umFZZWTfS6GpVm8VoP7Wvnkbpiu4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91537},"type":"module","engines":{"node":">=22"},"gitHead":"b5330ac3d014f92dff97a2b90cd9ebdbf0de22fd","scripts":{"test":"cd extensions && npx mocha","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"overrides":{"diff":"^8.0.3","js-yaml@>=4.0.0 <4.3.1":"^4.3.1","brace-expansion@>=2.0.0 <2.1.4":"^2.1.4","serialize-javascript@>=5.0.0 <7.0.5":"^7.0.5"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-fff"},"_npmVersion":"10.9.8","description":"Pi extension: FFF-powered fuzzy file and content search.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@ff-labs/fff-node":"^0.10.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^11.8.0","typescript":"^5.0.0","@types/chai":"^4.3.20","@types/node":"^22.0.0","@types/mocha":"^10.0.10","@sinclair/typebox":"^0.34.41"},"peerDependencies":{"@sinclair/typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"@yuuang/ffi-rs-linux-x64-gnu":"1.3.2"},"_npmOperationalInternal":{"tmp":"tmp/pi-fff_0.8.2_1789962636745_0.7705183445957604","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@bacnh85/pi-fff","version":"0.8.3","keywords":["pi-package","pi-extension","fff","search","grep","fuzzy-search","ai-agent"],"license":"MIT","_id":"@bacnh85/pi-fff@0.8.3","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions/tree/main/pi-fff","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"b4d7a9529839425e184d1f38acea32202b0ef3b1","tarball":"https://registry.npmjs.org/@bacnh85/pi-fff/-/pi-fff-0.8.3.tgz","fileCount":6,"integrity":"sha512-wnflQznUk0gc8eZmUFuSm7wpELhbpTeuebt03zT+4S08Qf8G/K38AQ2nI2+qNqRx8kfOBCyRHYj9QN9CiW9NGg==","signatures":[{"sig":"MEUCIADRU5IU/HziQGsSQ0u/4kgGBEDkAQawcANdp9FWddgvAiEA0FjX3IXcqUgr3sFCYB4MpKGYjPvqo9u6MxTap0lVp2s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD9+SDU3g6BWcqsWdJfCqHNT2kOKVYSYcjWKukUqDQdxQIhANZLz9p/dJHb0o59mQ9Zfo2EEMYs+7Nbi4gsC+pHc83h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92643},"type":"module","engines":{"node":">=22"},"gitHead":"e0ab9215e2df54e5fa42f1c6cc6f616124fdea95","scripts":{"test":"cd extensions && npx mocha","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"overrides":{"diff":"^8.0.3","js-yaml@>=4.0.0 <4.3.1":"^4.3.1","brace-expansion@>=2.0.0 <2.1.4":"^2.1.4","serialize-javascript@>=5.0.0 <7.0.5":"^7.0.5"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-fff"},"_npmVersion":"10.9.8","description":"Pi extension: FFF-powered fuzzy file and content search.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@ff-labs/fff-node":"^0.10.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^11.8.0","typescript":"^5.0.0","@types/chai":"^4.3.20","@types/node":"^22.0.0","@types/mocha":"^10.0.10","@sinclair/typebox":"^0.34.41"},"peerDependencies":{"@sinclair/typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"@yuuang/ffi-rs-linux-x64-gnu":"1.3.2"},"_npmOperationalInternal":{"tmp":"tmp/pi-fff_0.8.3_1790123382959_0.17247317271851426","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"pi":{"extensions":["./extensions/index.ts"]},"_id":"@bacnh85/pi-fff@0.8.4","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"dist":{"shasum":"deb2b76c32ff621daae5d47495744bdfbaae66aa","tarball":"https://registry.npmjs.org/@bacnh85/pi-fff/-/pi-fff-0.8.4.tgz","fileCount":6,"integrity":"sha512-EU6aUV7jDzFoDwnxnNAymP1Ykgb2jk2TbnkDzs1GozmhD4LSLBeRblZcp1RPNS721D09FjJ6qotDzn5Cj1Grlg==","signatures":[{"sig":"MEQCIFfR5ejcOaNGLM5csR1CTL7nWoFIjgvzSbIDAAGgng6PAiBFU8j/X4wuqO9VxHJTNtAcOU9MOMhDU17++Hc8OZDULQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD2bxKuZMURPc1NEOBks8TqFy6lXH3kQ5nJ0+RibYrEGAIgVqVcpuuAIvwX/wDv8yeLiex5gtn/gFLMNpZ0ur3xko8="}],"unpackedSize":92762},"name":"@bacnh85/pi-fff","type":"module","engines":{"node":">=22"},"gitHead":"90930b50f5fc0a4491a748ee1692db40f7ec358a","license":"MIT","scripts":{"test":"cd extensions && npx mocha","typecheck":"tsc --noEmit"},"version":"0.8.4","_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"homepage":"https://github.com/bacnh85/pi-extensions/tree/main/pi-fff","keywords":["pi-package","pi-extension","fff","search","grep","fuzzy-search","ai-agent"],"overrides":{"diff":"^8.0.3","js-yaml@>=4.0.0 <4.3.1":"^4.3.1","brace-expansion@>=2.0.0 <2.1.4":"^2.1.4","serialize-javascript@>=5.0.0 <7.0.5":"^7.0.5"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-fff"},"_npmVersion":"10.9.8","description":"Pi extension: FFF-powered fuzzy file and content search.","directories":{},"maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"_nodeVersion":"22.23.2","dependencies":{"@ff-labs/fff-node":"^0.10.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^11.8.0","typescript":"^5.0.0","@types/chai":"^4.3.20","@types/node":"^22.0.0","@types/mocha":"^10.0.10"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"optionalDependencies":{"@yuuang/ffi-rs-linux-x64-gnu":"1.3.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-fff_0.8.4_1790555380843_0.6524286949681541"}}},"time":{"created":"2026-07-06T01:54:16.668Z","modified":"2026-09-28T00:29:41.086Z","0.6.0":"2026-07-06T01:54:16.918Z","0.7.0":"2026-07-06T04:46:57.325Z","0.7.1":"2026-07-08T13:27:46.150Z","0.7.2":"2026-07-08T13:36:24.207Z","0.7.3":"2026-07-10T03:48:38.423Z","0.7.4":"2026-07-11T09:04:57.811Z","0.7.5":"2026-07-13T02:58:12.079Z","0.7.6":"2026-07-16T01:46:40.560Z","0.7.7":"2026-07-26T05:49:58.876Z","0.7.8":"2026-07-30T02:34:48.565Z","0.7.9":"2026-08-05T10:40:23.390Z","0.7.10":"2026-08-29T14:24:35.965Z","0.8.0":"2026-08-31T13:49:46.793Z","0.8.1":"2026-09-20T05:10:14.667Z","0.8.2":"2026-09-21T03:50:36.847Z","0.8.3":"2026-09-23T00:29:43.041Z","0.8.4":"2026-09-28T00:29:40.924Z"},"bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"license":"MIT","homepage":"https://github.com/bacnh85/pi-extensions/tree/main/pi-fff","keywords":["pi-package","pi-extension","fff","search","grep","fuzzy-search","ai-agent"],"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-fff"},"description":"Pi extension: FFF-powered fuzzy file and content search.","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"readme":"# @bacnh85/pi-fff\n\nA maintained Pi package based on upstream [`@ff-labs/pi-fff`](https://github.com/dmtrKovalenko/fff/tree/main/packages/pi-fff). It adds FFF-powered search tools by default and can optionally replace Pi's built-in `find` and `grep` tools with [FFF](https://github.com/dmtrKovalenko/fff.nvim), a Rust-native SIMD-accelerated file finder.\n\nRequires Node.js ≥ 22 (uses `path.matchesGlob`).\n\n## What it does\n\n| Built-in tool | pi-fff replacement | Improvement |\n|---|---|---|\n| `find` (spawns `fd`) | `fffind` (FFF `fileSearch`) | Fuzzy matching, frecency ranking, git-aware, pre-indexed |\n| `grep` (spawns `rg`) | `ffgrep` (FFF `grep`) | SIMD-accelerated, frecency-ordered, mmap-cached, no subprocess |\n| `@` file autocomplete (fd-backed) | `@` file autocomplete (FFF-backed, default) | Fuzzy ranking from FFF index/frecency |\n\n### Key advantages over built-in tools\n\n- **No subprocess spawning** — FFF is a Rust native library called through the Node binding. No `fd`/`rg` process per call.\n- **Pre-indexed** — files are indexed in the background at session start. Searches are instant.\n- **Frecency ranking** — files you access often rank higher; cross-session learning is enabled when a frecency database path is configured.\n- **Query history** — query-to-file selection history and combo boost are enabled when a history database path is configured.\n- **Git-aware** — modified/staged/untracked files are boosted in results.\n- **Smart case** — case-insensitive when query is all lowercase, case-sensitive otherwise.\n- **Fuzzy file search** — `find` uses fuzzy matching, not glob-only. Typo-tolerant.\n- **Cursor pagination** — grep results include a query-bound cursor for fetching the next page; invalid, expired, and cross-tool cursors are rejected.\n\n## Install\n\n```bash\npi install npm:@bacnh85/pi-fff\n```\n\n## Tools\n\n### `ffgrep`\n\nSearch file contents. Smart-case, auto-detects regex vs literal, git-aware. Results ranked by frecency (most-accessed files first).\n\nParameters:\n- `pattern` — search text or regex\n- `path` — directory/file constraint (e.g. `src/`, `*.ts`)\n- `exclude` — exclude paths (e.g. `test/,*.min.js`)\n- `caseSensitive` — force case-sensitive (default: smart-case)\n- `context` — context lines around matches\n- `limit` — global max matches per page (default: 20)\n- `outputMode` — `\"content\"` (default), `\"files_with_matches\"` (one preview per file), or `\"count\"` (file match counts)\n- `cursor` — pagination cursor from previous result\n\nDefinition lines (function/class/interface/enum declarations) are auto-expanded with 3 lines of context for scannability.\n\n### `fffind`\n\nFuzzy file name search. Frecency-ranked, git-aware, multi-word AND narrowing.\n\nParameters:\n- `pattern` — fuzzy query (e.g. `main.ts`, `src/ config`)\n- `path` — directory constraint\n- `exclude` — exclude paths\n- `limit` — max results (default: 30)\n- `cursor` — pagination cursor from previous result\n\nWhen the top result strongly dominates (exact match or score > 2x runner-up), a `→ Read` hint is shown.\n\n### `resolve_file`\n\nResolve a vague file reference to an exact path. Auto-resolves when the top FFF candidate strongly dominates; returns ranked candidates when ambiguous.\n\nParameters:\n- `pattern` — fuzzy file query (e.g. `\"auth middleware\"`, `\"Chart component\"`)\n- `limit` — max candidates when ambiguous (default: 8)\n\n### `fff_multi_grep`\n\nSearch file contents for any of multiple literal patterns in one pass. Uses FFF multi-grep. Useful for renamed symbols, aliases, or spelling variants.\n\nParameters:\n- `patterns` — array of literal patterns (1-10)\n- `path` — directory/file constraint\n- `exclude` — exclude paths\n- `context` — context lines around matches\n- `limit` — global max matches per page (default: 20)\n- `outputMode` — `\"content\"`, `\"files_with_matches\"`, or `\"count\"` (default: `\"content\"`)\n- `caseSensitive` — `true` for exact case (smart-case by default)\n- `cursor` — pagination cursor from previous result\n\n### `related_files`\n\nFind companion files sharing the same base name stem. Discovers test files, type definitions, styles, stories, and other companions.\n\nParameters:\n- `path` — reference file path (fuzzy or exact)\n- `limit` — max related files (default: 8)\n\nExample: `related_files({ path: \"src/Chart.tsx\" })` → `Chart.test.tsx`, `Chart.module.css`, `Chart.types.ts`\n\n## Hidden files and directories\n\nHidden paths are skipped by default, but you can scope searches to them\nexplicitly via `path`:\n\n- `path: \".env\"` — search a single hidden file\n- `path: \".agents/**/*.md\"` — search inside a hidden directory\n- `path: \".github\"` — search an entire hidden directory\n\nExplicit hidden scoping works with `ffgrep`, `fff_multi_grep`, and the\noverride-mode `grep`/`find`. Patterns without a hidden `path` prefix never\nmatch hidden files.\n\n## Commands\n\n- `/fff-health` — show FFF status (indexed files, git info, frecency/history DB status)\n- `/fff-rescan` — trigger a file rescan\n- `/fff-mode <mode>` — switch mode; transitions into or out of `override` automatically reload Pi\n\n## Modes\n\n- `tools-and-ui` (default): registers `fffind`, `ffgrep` as additional tools + FFF-backed `@` autocomplete\n- `tools-only`: additional tools only; keep pi's default `@` autocomplete\n- `override`: replaces pi's built-in `find` and `grep` + FFF-backed `@` autocomplete. The overrides retain Pi's built-in schemas: `find` accepts `pattern`, `path`, and `limit`; `grep` accepts `pattern`, `path`, `glob`, `ignoreCase`, `literal`, `context`, and `limit`.\n\nMode precedence:\n1. `--fff-mode <mode>` CLI flag\n2. `PI_FFF_MODE=<mode>` environment variable\n3. default (`tools-and-ui`)\n\n## Flags\n\n- `--fff-mode <mode>` — set mode (see above)\n- `--fff-frecency-db <path>` — path to frecency database (also: `FFF_FRECENCY_DB` env)\n- `--fff-history-db <path>` — path to query history database (also: `FFF_HISTORY_DB` env)\n- `--fff-enable-root-scan` — allow indexing when launched from `/` (also: `FFF_ENABLE_ROOT_SCAN=1` env). FFF refuses to init at the filesystem root by default. Home directory scanning is always enabled for pi.\n\n## Data\n\nDatabase persistence is opt-in. Without `--fff-frecency-db`/`FFF_FRECENCY_DB` and `--fff-history-db`/`FFF_HISTORY_DB`, FFF 0.10.6 disables frecency and query-history persistence. When paths are provided, FFF stores file access frequency/recency and query-to-file selection history at those paths.\n\nNo project files are uploaded anywhere by this extension. It runs locally and only uses the configured LLM through pi itself.\n\n## Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md) for release history.\n\n## Security\n\n- No shell execution\n- No network calls in the extension code\n- No telemetry\n- No credential handling beyond whatever pi and your configured model provider already do\n- Persistent search state is created only at explicitly configured database paths\n","readmeFilename":"README.md"}