{"_id":"bash-gres","_rev":"29-e1da71d5f512fbc9a347d91f9cbd1f13","name":"bash-gres","dist-tags":{"latest":"3.0.0"},"versions":{"0.1.0":{"name":"bash-gres","version":"0.1.0","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@0.1.0","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"12f0c6f310f85ef5f7dbf7a162d5ed03d9182f5a","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-0.1.0.tgz","fileCount":167,"integrity":"sha512-OSWD2KZpusFarR7ZfS7e0sjug4IRLUsKSFdYfPCc5Y9NtVxDYKNrmQoC6Ef35ICyqCzPjofOlPn7vsAsxJYw0A==","signatures":[{"sig":"MEYCIQDn2rVC28e698uTcRI+L1xmXn1qMy9gNpUzpobwpgMBFAIhAOFWkaXf2mDIVTTIPJiWuKMfl7qqHJc2Q1QAMJmDjWQu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":384234},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./bash":{"types":"./dist/core/bash/interpreter.d.ts","import":"./dist/core/bash/interpreter.js","default":"./dist/core/bash/interpreter.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./just-bash":{"types":"./dist/adapters/just-bash/index.d.ts","import":"./dist/adapters/just-bash/index.js","default":"./dist/adapters/just-bash/index.js"},"./package.json":"./package.json"},"gitHead":"492d1745d91f05ce91efdaa06e5a5bd8c58fd204","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"tsc"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","dependencies":{"yargs-parser":"^22.0.0","@types/yargs-parser":"^21.0.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","postgres":"^3.4.8","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.40.0","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_0.1.0_1775334853009_0.6777623493156999","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"bash-gres","version":"1.0.0","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@1.0.0","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"c1ad93c054e3b5a82aaeb5d7378df290f208cd22","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-1.0.0.tgz","fileCount":167,"integrity":"sha512-790+hwYru9QDE2uKrShl4buDeuLFC0kMIM3MZuSKRqU2BwzlId5lG0Fb9dDJxnD+BPA9VRXGDTcPWJSuSazDbg==","signatures":[{"sig":"MEUCIBVayMG3ClO/lbOJiGZunqHqZfkPuMxRArqHh87BovqYAiEAm9AHObXt8Kws6Ihex4YKxDVB4NXkPk3Vi6cNeJWHoh0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":375452},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json"},"gitHead":"7bd42d60d8cfb7e2b72dfde05684a3517edb3d16","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"tsc"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","postgres":"^3.4.8","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.40.0","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_1.0.0_1775592743884_0.086846401665305","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"bash-gres","version":"1.1.0","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@1.1.0","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"9b8fa708bcf0df7157a561c349414949f0aedf30","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-1.1.0.tgz","fileCount":171,"integrity":"sha512-SRi8NgOVKHTJduqamjz/Vn9uLoR5Ngyxo6r/rDgj7wDrV6RJ9gC2i52y3KXMuXig9elbUlHFph+AU+XBNWguqw==","signatures":[{"sig":"MEUCIQD73kDmYor9VfvDx/QIdhwD2C/G0GWG/629u/jLfifb/QIgPD/7GTEijTgjcBTEx4DYgUp6f3h6Lk+xZSQFad9tOQM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":386628},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"a1cd389e6dee594e132e9bb4a5fcf598ca8bb4a4","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"tsc"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.40.0","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_1.1.0_1775638754292_0.5571599952394091","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"bash-gres","version":"1.2.0","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@1.2.0","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"7d6ed042e151e3789143f90b37da974c546d4059","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-1.2.0.tgz","fileCount":171,"integrity":"sha512-CxofRS7KIwOd2P8L8g9kCWX8ZFj52tsnHP3KwjsU1pKZsmJxe6sXoUq5VtUJhvpWiEPTsQfFP6VDf+Tgbpljeg==","signatures":[{"sig":"MEUCIQCm5IfRwt1sTF6zEceG3Mcv5sZ4d19Q2P7QwtECVQtXTgIgB1/r4j/82Cz+77Zh20goF0LhDLm0AO7lxDdCag5E+XY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":399411},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"34fcbb0fa2baa840d3a9fe1696fa5f7db202bd56","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"tsc"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.40.0","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_1.2.0_1776773482222_0.4906247280629452","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"bash-gres","version":"1.2.1","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@1.2.1","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"21072db7d37af0284e6013bee0f760b907954d68","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-1.2.1.tgz","fileCount":175,"integrity":"sha512-GrPRTA7ESSz7UvwMKWJFUrO9RZruiT57Mn5yuTJ0JMMOS9eUMJXceubgF7UZvyldtXCdCQn2dTXN6Gxtojgxow==","signatures":[{"sig":"MEUCIQDC7N0JZyuxOaMeawSnRpZbM+mJFHO7DI8zmYRnmbeV/QIgVHveIZlgJ8SIeYNuzIRB06I/jsI6chUm6zOVjuWJNKU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":405308},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"058f5216bd4b5f4e6f42279cfee22fed7098f06a","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"tsc"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.40.0","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_1.2.1_1777044895247_0.997322406678423","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"bash-gres","version":"1.2.2","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@1.2.2","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"8136d3c0aef054a76066e0f7071abd09dcb5435d","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-1.2.2.tgz","fileCount":175,"integrity":"sha512-rPBwSbT5mZ2osYvhtB2Gvt3R7HuBLx9Z1LY3fdEAdyE5G9ycfU/UrPuCjjWhZRdhhMvOVmTsgrqz0pObnuuoFg==","signatures":[{"sig":"MEQCIH4/Fi5zjFiHyDqtELOQaYtb5xQsmDJfygVTQs0l83lhAiAVEo/ShDcRRUJfPIgn0UOK1+h45yhO0+mOJLWbXnp2eg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":404886},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"75c993c69aaf92c58a269b67dc04cd903478f749","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"tsc"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.40.0","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_1.2.2_1777046393049_0.3225257608914984","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"bash-gres","version":"1.2.3","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@1.2.3","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"e5321f6f7b5daf709897b3464ea23e6b092663b3","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-1.2.3.tgz","fileCount":175,"integrity":"sha512-g+bF0i/Nw+lsaBvRmRVBQgfgRCZmeW+eMXGOUBbGxjVie0k7Mbu99mDLnwzdUuDjPe4hTOp3HSZUdLxG5f8NHw==","signatures":[{"sig":"MEYCIQD288X59iSOjlTIhF0QPvjYq/9OZ3+kUwy6fCIaP3OkJgIhAIuCnzLQMcIKVV0q/94mA6FBxmDynDbu+9ci2CvMv+ZZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":410418},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"bf2aee0f57af9cf61b68dc4eda8da6220f6541e4","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"tsc"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.40.0","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_1.2.3_1777287550578_0.7947129352463762","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"bash-gres","version":"2.0.0","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.0.0","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"12e9c05e2aeff6da84d7570ce4817fcf060a803d","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.0.0.tgz","fileCount":175,"integrity":"sha512-qZQVppVASyLoOWATKpGacV1aEWDMjw6AYyihrQyn36fjbUpKoaPxs/YJCW7LX2sf5D1vraOITMNkVDuMLpdcvw==","signatures":[{"sig":"MEUCIQC/gmw909dQiUxS1U+DKm6SReBQTkifnK2RSAJcA2b3SgIgDbousscHNEgZIlvNrFx10TAGf/YMbuiLGQ2SsTRwDx0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":438510},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"63b064ed5dc4734eb7151655f37ea9b40e658416","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"tsc"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.40.0","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.0.0_1777370567050_0.7754992444614979","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"bash-gres","version":"2.0.1","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.0.1","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"e25ebfb8925340330a35fd651d48ee68e713ec0b","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.0.1.tgz","fileCount":175,"integrity":"sha512-JqfH5l1SgBapSYJkOi/5DukuAUU29Ho81YhvtLeAZgyhsMfOuWiAo1ACwF9YtHVczHuiZvQ0w61+c3JSdEThsQ==","signatures":[{"sig":"MEUCIQCQbOqBuFNI1fTFExHDAf+YPn9ZGPmb/w7EwJHowgQguwIgfhEWsUGwjo/C88KYC6cuAmxrj6InT80PWhz3w8tq/3Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":439716},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"4da9dfac91e7db56c7d9f66a200dcc8f1635331b","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"tsc"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.40.0","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.0.1_1777373256374_0.47188288037333725","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"bash-gres","version":"2.0.2","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.0.2","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"3a25ac6d12376ec1adb71e551c4a3a7465441c5e","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.0.2.tgz","fileCount":175,"integrity":"sha512-Ixg7Uovp9SktCQtBmX0xX+aTYLn1Elk4J52eTsxo3eZIl1LMM/fWwpPEvqHyRmeic0Jh5mHWLV3oa4SZPpq6RA==","signatures":[{"sig":"MEQCIAMiHYWvqyF1q/jgudzAvZe1V4If0+Dex2dZw0DPdMiRAiAtBGa6nHnoLuUs/RxRZtG65ahr6mMcfldIEifc+FtApg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":544552},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"e8fc10525d51eb7fc65fe78c09f0c549643bd566","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"tsc"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.40.0","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.0.2_1777383075202_0.06422528120232096","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"bash-gres","version":"2.1.0","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.1.0","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"1597b02d23af103036b4b01d08b2a3d28482f02a","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.1.0.tgz","fileCount":175,"integrity":"sha512-Um0pqPj6cdHUto6uG66G7j3wbhO5E0TRwalxTHctP3c+3krVI4YBuIQgvwnbDNHXtF2D8FPnCkDMJp2ly9+8hQ==","signatures":[{"sig":"MEUCIQCleH7CgdpibKX1Ac/I5MRlysmWv5d7Cf0KH1Ur1c96rQIgZMox7zU3ZByhkISkofyAlbmyRfP9dbb1UnVioWtlC8Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":557362},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"f8806fc6c6632dfd7bdc50bf62935a68f6200211","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"tsc"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.40.0","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.1.0_1777451065048_0.49789325804846163","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"bash-gres","version":"2.1.1","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.1.1","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"13a6e9b4374bf3a6f609282ebf256921bdc77265","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.1.1.tgz","fileCount":183,"integrity":"sha512-+OfoAHxh3gSoPogemsM6rQdJuvv63nz7bQzo2eaKJaLMUTHF5dXjFrjAIm3fV6s0axQZzw9pYbSQ0tBGwwimcg==","signatures":[{"sig":"MEUCIE4JV4K94MtmuseiNordFrVBdWtl1eR/xkAN9qPjzklrAiEA9l73VEHw3Wn6l1t72JPljaKKErIo9sQ9iL9E/ivEAG4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":568120},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"f5a9b4dda77d37e751253c8ed1e121a462141895","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"tsc"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.44.6","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.1.1_1777457350824_0.8025651010701267","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"bash-gres","version":"2.2.0","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.2.0","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"f61d96f26e4cff6daa1f31bc684cc12a8b5d3292","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.2.0.tgz","fileCount":183,"integrity":"sha512-KjUIcbWk4Vj+hje+4mNHeauR+5v+wzHyjYwPVrpDDTUr/kny8GzDLLIPVYjxpbtGRWRCGbRbFmOjM5m9ClaEgg==","signatures":[{"sig":"MEUCIGeG0IVxP6EKwu7UBbR+V26rfpnEv+OPzDwlsrH+KGKSAiEA7Iz9pKO6DDKMnpf+lpli/DoXSXgIpQJZAyLydZ2vPJc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":590618},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"f7d862fa8b0dd4a65e96aebe9c7eae7289cbf7ea","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"tsc"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.44.6","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.2.0_1777464514440_0.7187529045786707","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"bash-gres","version":"2.3.0","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.3.0","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"7cb99039af5a1fd6f702def824c023cb194fd678","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.3.0.tgz","fileCount":187,"integrity":"sha512-kEkJoC0BMXzQ51ybGJ8M6Q9nHE7WwqZRSQk6LeZkvYucBSg71QK9OIFHxTQzij4LLdHqC3zTV/59qbEYLk32Iw==","signatures":[{"sig":"MEUCIA4xyjB1jAxO8zqdzpGp+1IQNc8WD1Q63oopeV593fIsAiEAhfGsKG6ihmAnOJ4ZZLBFxHorwT67wfLYm8o9oCEA3VI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628230},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"467ecb28dbc127f71c240a65780da158bf1fb502","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"tsc"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.44.6","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.3.0_1777544948680_0.799855150230051","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"bash-gres","version":"2.4.0","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.4.0","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"6e4a1b13265733625abada7b84001f2743286344","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.4.0.tgz","fileCount":311,"integrity":"sha512-DB6MZrmV1t+287HYHUe1z+hWkY+h1zaBwncsEgdlqZ+FSjALIeeYg3/jaxUqGI5Oxsp8X3GbDVrNFIuVpepyug==","signatures":[{"sig":"MEQCICmGsX2o+djMUDSarIYN51Zkw3rc7Y0ZTBIVZaSJPnb8AiASR62Qbq1w2VB1W/M69flrVA8iX+3525SWcr1ViFs2oA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":864245},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"a109aff25e8be3022010ea332001cafb2af29cef","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","bench:adapters":"tsc -p tsconfig.bench.json && node dist-bench/bench/adapter-perf.js","prepublishOnly":"tsc","bench:writefile":"tsc -p tsconfig.bench.json && node dist-bench/bench/writefile-profile.js"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.44.6","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.4.0_1778234482907_0.32895890451887544","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"bash-gres","version":"2.5.0","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.5.0","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"29b105633abf9509209795c4d58455ec80ce9bf0","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.5.0.tgz","fileCount":347,"integrity":"sha512-DG6OfmU8bqMam2S571WO9pFGKDb2FiCbdnGwWYP9TUog4oHeNcBuExKgz8nJG2vYoibeIgr7Jv3+CcXSkKiaIQ==","signatures":[{"sig":"MEQCIHRscvA7gPPYcj7erE8Hew5FowC3OwgPVMgmdj2r3+CtAiBlZa7MZBrn8BrMVtAj8X1JxW762c96YJG4UJTnBp565w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1159207},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"6a3924fa948b153184acf3d24e3c74952be913da","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","bench:adapters":"tsc -p tsconfig.bench.json && node dist-bench/bench/adapter-perf.js","prepublishOnly":"tsc","bench:writefile":"tsc -p tsconfig.bench.json && node dist-bench/bench/writefile-profile.js"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.44.6","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.5.0_1778253246137_0.1600713355152068","host":"s3://npm-registry-packages-npm-production"}},"2.5.2":{"name":"bash-gres","version":"2.5.2","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.5.2","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"db290fd92f11edfb0ab3823b0a107ed881b3abb5","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.5.2.tgz","fileCount":347,"integrity":"sha512-zwVdpPJTbR1Pt5Oxgi5GlcL4iRg/B9kD6SaJFJWhz7lc7Ob1Jye3ojMt3tM5iJ/IUpV3W+zxhPSmT+wkeFFung==","signatures":[{"sig":"MEUCIDU54pTBcdvjCTzySROzlYoGUuMRXYeZ6DrEDybEukE8AiEA2YEUjL+w9LOZhJYAcQjTLYekjd5r7hVKbMub9PEmR+8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1162204},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"e720bb52ca92cff6e938242d356e6e4eac9e0c7a","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","bench:adapters":"tsc -p tsconfig.bench.json && node dist-bench/bench/adapter-perf.js","prepublishOnly":"tsc","bench:writefile":"tsc -p tsconfig.bench.json && node dist-bench/bench/writefile-profile.js"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.44.6","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.5.2_1778259076619_0.49959543159612774","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"bash-gres","version":"2.6.0","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.6.0","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"5563109ea22942618e92720046a498c2b66818dd","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.6.0.tgz","fileCount":371,"integrity":"sha512-TgGxQ5TFgMFY/0U0vDYjwen5CIJyfCHq4RhYr88NT90MA+Jg325rUViFIH/d2NdKN26JcAW7hBrWb48/gtxw/w==","signatures":[{"sig":"MEUCIQDRWsC1VU11u/xlw0cXKy85ltL46yzYIZoNmsxYpnD3ygIgS5DQLAYHMDbHxFAXN63O3rP4wVEHm++Ouj1GHMwDEwk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1221140},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"9cd4cd6b5ff04c22e6b6d14f2a81b2f0079ea152","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","bench:adapters":"tsc -p tsconfig.bench.json && node dist-bench/bench/adapter-perf.js","prepublishOnly":"tsc","bench:writefile":"tsc -p tsconfig.bench.json && node dist-bench/bench/writefile-profile.js"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.44.6","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.6.0_1778503292301_0.3147318075818033","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"bash-gres","version":"2.7.0","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.7.0","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"d3ad272e76225be2a85e5130cf4960e20b620249","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.7.0.tgz","fileCount":371,"integrity":"sha512-mZnQs2jmGdsfHpBw128xiBjtJamvIyryVj1TGRH/Ud6bXMjugcn2OOgfGvyjP8brujTjT3NvcxxmDr8UZOAJaQ==","signatures":[{"sig":"MEYCIQCVqE5FMSWEeut7K3DLBG+UVAkrzR3FmzmxRdk4DuMilwIhAJJGJWFVUoB3nrXeypA4Pi/KZJ8hwbCCsqDPhBk7G88p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1225207},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"4f9e09f021270e8885a56962e984100be7460dfe","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","bench:adapters":"tsc -p tsconfig.bench.json && node dist-bench/bench/adapter-perf.js","prepublishOnly":"tsc","bench:writefile":"tsc -p tsconfig.bench.json && node dist-bench/bench/writefile-profile.js"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.44.6","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.7.0_1778506224768_0.9253793063151357","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"bash-gres","version":"2.8.0","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.8.0","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"7bd6c0dcb5c240a0ee09ac24330bac9da934bb8f","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.8.0.tgz","fileCount":379,"integrity":"sha512-eW2Gen0qmBtlANE2D0qt+52GVSEY3pNpfjYdhhiZ1+H/Qqt+i5wgt3sdEEXTRPaIkXUnC+IUFagVO7FRetV1ig==","signatures":[{"sig":"MEUCIBOai4AtyjkqXrQMaah9Mmfy25G/Qj0wHFITpvqDQWjzAiEAvce22ZKaz0v4g7C9TL00A+B/R4lkFYMDkbNGNrwEriA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1238024},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"2b71582768aa3f0f56c9478738bd1a1c4148c148","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","bench:adapters":"tsc -p tsconfig.bench.json && node dist-bench/bench/adapter-perf.js","prepublishOnly":"tsc","bench:writefile":"tsc -p tsconfig.bench.json && node dist-bench/bench/writefile-profile.js"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.44.6","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.8.0_1778516732551_0.020216087776489422","host":"s3://npm-registry-packages-npm-production"}},"2.8.1":{"name":"bash-gres","version":"2.8.1","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.8.1","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"9cc2ca7703cfbd2d0f5d91958305c8566c5d43d8","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.8.1.tgz","fileCount":379,"integrity":"sha512-iKratE4Cx7qoJLK4XE4UGMSz2VBdcnCM+55ZI51pwY+ey9oZ4f+fx7vObUxgrVYmwQ3s6K45JHSL7XZnxjBq5Q==","signatures":[{"sig":"MEQCICl1LxcMDScsZUtMCSH2e4d4y0/hUtdg3S3RDaaDTGdEAiBLYMOci7s1bKzDnPV+ZosOL6yUmetR7IQfXdpy5+C7tw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1238125},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"2b34771ef4f30fc673a14a32e90295a7c0d2e4f0","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","bench:adapters":"tsc -p tsconfig.bench.json && node dist-bench/bench/adapter-perf.js","prepublishOnly":"tsc","bench:writefile":"tsc -p tsconfig.bench.json && node dist-bench/bench/writefile-profile.js"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.44.6","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.8.1_1778517665291_0.7862518141099186","host":"s3://npm-registry-packages-npm-production"}},"2.8.2":{"name":"bash-gres","version":"2.8.2","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.8.2","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"6caff1938afec9606e4d986580e2804d9a2851ed","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.8.2.tgz","fileCount":379,"integrity":"sha512-x5gudGzWDoARki1XxLJENt26akaUqh1jzRviP4YiIYdn8PZP9Q9ooxV/M8gRwKOZe+eBnN18InWwgC2SS4HD/w==","signatures":[{"sig":"MEQCIHky/aT3Jp6B9Ci3hpJGz0rOVKConl4IyRCK7aUiYOLVAiAPtPKnmQUf0aITsDOCa3h8dlsKolPbr0dAg4lcH4IR0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1242102},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"cd59c87c1f6b75971c9c5e2d31107584c46a557e","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","bench:adapters":"tsc -p tsconfig.bench.json && node dist-bench/bench/adapter-perf.js","prepublishOnly":"tsc","bench:writefile":"tsc -p tsconfig.bench.json && node dist-bench/bench/writefile-profile.js"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.44.6","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.8.2_1778665864119_0.41114740731559674","host":"s3://npm-registry-packages-npm-production"}},"2.8.3":{"name":"bash-gres","version":"2.8.3","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.8.3","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"a95f122964142aeb0f6b2d237658d8c63c4810df","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.8.3.tgz","fileCount":379,"integrity":"sha512-xR64wcP7N60tuIaIAGRlCXyu9521DEZPsWZBBzxOuAvnSK2gFNUbs0uJolr5QFVvmUKSZUNDISMK9JDfC26mIw==","signatures":[{"sig":"MEUCIQDtkXjemATuHwANSCRv/CkGrX2pRZQ15IjOPlVSZQT+EwIgHs2nUzt27/wvjgxIrsa7DNbHRI1xoF0Zl6nZqs5YmPU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1245162},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"426b03ee9610a0f5a65b66aeeef2794fc3d72de4","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","bench:adapters":"tsc -p tsconfig.bench.json && node dist-bench/bench/adapter-perf.js","prepublishOnly":"tsc","bench:writefile":"tsc -p tsconfig.bench.json && node dist-bench/bench/writefile-profile.js"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.44.6","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.8.3_1778670201829_0.5941288346937084","host":"s3://npm-registry-packages-npm-production"}},"2.8.4":{"name":"bash-gres","version":"2.8.4","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.8.4","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"e97fd21e96b6dc675a25e8eb904d15f17d4a4910","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.8.4.tgz","fileCount":383,"integrity":"sha512-htAAZKFzUIh9VawwEod3GdxEL0WsZiPTcvuSo68dS2kdiIPjPRneEZMLStpS6sROwgrA0ivQwXm3jgi6ZUYmJg==","signatures":[{"sig":"MEYCIQDgiFgsbXlnsN3zzqp99DD6AR4BhXcWqP9tI7wxqvSAoQIhANDUgDCuZHakDW2OuTC4a+FpV9yzXEw/s7uYmAfZae8C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1253987},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"525bcfb930fb970335d9e0f8c840f8334b9676b3","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","bench:adapters":"tsc -p tsconfig.bench.json && node dist-bench/bench/adapter-perf.js","prepublishOnly":"tsc","bench:writefile":"tsc -p tsconfig.bench.json && node dist-bench/bench/writefile-profile.js"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.44.6","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.8.4_1779115354607_0.8389395129966313","host":"s3://npm-registry-packages-npm-production"}},"2.8.5":{"name":"bash-gres","version":"2.8.5","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.8.5","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"a48d416acb37cc4a2cf888c5b2cae548288d5d26","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.8.5.tgz","fileCount":387,"integrity":"sha512-0yI8/9UYgGx6JJ2eOIgVZfx2Z0VNDwvfyXLbqQ5yhaWPpSWc0lPf7cTfspaD7fA7sfweY1Zo26PROUBTSUwY7g==","signatures":[{"sig":"MEYCIQCxYQPzKMVqGkYm8rdunPxmocpNjxxNgoj9Cj6mnGfzjQIhAO/ChqO0J/S+OuYXC/rp6D5aUu2xw6/LVRvgtEoV4Bhp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1296049},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./mount":{"types":"./dist/mount/mount-fs.d.ts","import":"./dist/mount/mount-fs.js","default":"./dist/mount/mount-fs.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"e1fb28de3e1f19f15da714f31542512d4b91f62a","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","bench:adapters":"tsc -p tsconfig.bench.json && node dist-bench/bench/adapter-perf.js","prepublishOnly":"tsc","bench:writefile":"tsc -p tsconfig.bench.json && node dist-bench/bench/writefile-profile.js"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.44.6","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.8.5_1781524427179_0.2971159706638702","host":"s3://npm-registry-packages-npm-production"}},"2.8.6":{"name":"bash-gres","version":"2.8.6","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.8.6","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"c7283345d305b801dc8f7a62814a802154f1a4aa","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.8.6.tgz","fileCount":387,"integrity":"sha512-ffJUzMGlE/zS19fJVAYctB1EF1mrKRDya72HgMhg8oi9OAkgcHhP51o54K/Gzw/rtruDEQ1UmDnYS4lkyy4u4Q==","signatures":[{"sig":"MEQCIEZ+tvNeNe7BCK2UuLsbfcW0QtOxylN3b23jjKxwiPQjAiBIfuOy7lvNhGP5SaC9tgKu530i7ojOJnFub+cbW+/zGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1278657},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"324e03b081aaf64b82cb6b363029d84a6f62edbc","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","bench:adapters":"tsc -p tsconfig.bench.json && node dist-bench/bench/adapter-perf.js","prepublishOnly":"tsc","bench:writefile":"tsc -p tsconfig.bench.json && node dist-bench/bench/writefile-profile.js"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.44.6","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.8.6_1781601919886_0.4709522173599885","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"bash-gres","version":"2.9.0","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.9.0","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"8c6d7306e5b366c4c3de165c04f6b3aa4afbf286","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.9.0.tgz","fileCount":387,"integrity":"sha512-2WHzp+4N1r6Yp5IJTDQDPjUMrt2uNDRK6cB6yfhthFWUPmdIN4ToMaWx5I68STIOc26AOsR46i0m4kJSf+JCrg==","signatures":[{"sig":"MEUCIBoe1Wg/Kqgr+kCgRAPfdFMQGtE5/+Iu6ygEdgT6Pw/OAiEA1xHs+5/tdnyuZP+9hvoHejOzqo0JVeaftbR0YNphzTY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1283274},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"f90fc5722ffe17ec347fe3a9b9c58081fd6e2c1f","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","bench:adapters":"tsc -p tsconfig.bench.json && node dist-bench/bench/adapter-perf.js","prepublishOnly":"tsc","bench:writefile":"tsc -p tsconfig.bench.json && node dist-bench/bench/writefile-profile.js"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.44.6","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.9.0_1784555263382_0.32990913560526214","host":"s3://npm-registry-packages-npm-production"}},"2.10.0":{"name":"bash-gres","version":"2.10.0","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","_id":"bash-gres@2.10.0","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"dist":{"shasum":"9df900ef05a5b8e11111f7efa0db19cecabfe62d","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-2.10.0.tgz","fileCount":391,"integrity":"sha512-NIpiNCRBDGFHAPRU1I5+c83+8ySRRDXw3gTz0KbWaEeDav8wcgabAeqwWWUQLLy/81IDnq8LU/LESYyvG43hQg==","signatures":[{"sig":"MEUCIQClLos4wsb4R5Ih4DiyP2XwKTXCzcoK+PHeX7vEdGGhcwIgAPM05gfafRDQF2zO/JA0YeDoc+0TyB3ErBC3riKOaPA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1296401},"type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./package.json":"./package.json","./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"}},"gitHead":"85ed2ac072de584c6cd9debeec866ea31c2ff316","scripts":{"test":"vitest run","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","bench:adapters":"tsc -p tsconfig.bench.json && node dist-bench/bench/adapter-perf.js","prepublishOnly":"tsc","bench:writefile":"tsc -p tsconfig.bench.json && node dist-bench/bench/writefile-profile.js"},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"_npmVersion":"11.6.2","description":"PostgreSQL-backed virtual filesystem with bash command interface","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","vitest":"^3.0.0","postgres":"^3.4.8","@types/pg":"^8.20.0","just-bash":"^2.14.0","typescript":"^5.7.0","@types/node":"^25.5.2","drizzle-orm":"^0.44.6","testcontainers":"^10.0.0","@testcontainers/postgresql":"^10.0.0"},"peerDependencies":{"pg":">=8.0.0","postgres":">=3.0.0","just-bash":">=2.0.0","drizzle-orm":">=0.30.0"},"peerDependenciesMeta":{"pg":{"optional":true},"postgres":{"optional":true},"just-bash":{"optional":true},"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bash-gres_2.10.0_1784641182340_0.20143756055814155","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"bash-gres","version":"3.0.0","description":"PostgreSQL-backed virtual filesystem with bash command interface","type":"module","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./drizzle":{"types":"./dist/adapters/drizzle/index.d.ts","import":"./dist/adapters/drizzle/index.js","default":"./dist/adapters/drizzle/index.js"},"./postgres":{"types":"./dist/adapters/postgres/index.d.ts","import":"./dist/adapters/postgres/index.js","default":"./dist/adapters/postgres/index.js"},"./node-postgres":{"types":"./dist/adapters/node-postgres/index.d.ts","import":"./dist/adapters/node-postgres/index.js","default":"./dist/adapters/node-postgres/index.js"},"./just-bash":{"types":"./dist/adapters/just-bash/index.d.ts","import":"./dist/adapters/just-bash/index.js","default":"./dist/adapters/just-bash/index.js"},"./package.json":"./package.json"},"scripts":{"build":"tsc","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit","bench":"tsc -p tsconfig.bench.json && node dist-bench/bench/perf.js","bench:adapters":"tsc -p tsconfig.bench.json && node dist-bench/bench/adapter-perf.js","bench:writefile":"tsc -p tsconfig.bench.json && node dist-bench/bench/writefile-profile.js","prepublishOnly":"tsc"},"keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"license":"MIT","peerDependencies":{"drizzle-orm":">=0.30.0","just-bash":">=2.0.0","pg":">=8.0.0","postgres":">=3.0.0"},"peerDependenciesMeta":{"postgres":{"optional":true},"drizzle-orm":{"optional":true},"pg":{"optional":true},"just-bash":{"optional":true}},"devDependencies":{"@testcontainers/postgresql":"^10.0.0","@types/node":"^25.5.2","@types/pg":"^8.20.0","drizzle-orm":"^0.44.6","just-bash":"^2.14.0","pg":"^8.20.0","postgres":"^3.4.8","testcontainers":"^10.0.0","typescript":"^5.7.0","vitest":"^3.0.0"},"gitHead":"7f478ea2d7f7861a40ac7404eadaa8a03cf1e75f","_id":"bash-gres@3.0.0","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-+mNFlB3qg64moN05FhksK+LM60JJ1HUsUdvAE2RfjCPneA3yt9LjBsNb/LMbqDAiV9VD7cGpKlcDogSfIuFIwQ==","shasum":"d394f9dc6dc5d846281165aac21839903440be44","tarball":"https://registry.npmjs.org/bash-gres/-/bash-gres-3.0.0.tgz","fileCount":395,"unpackedSize":1365715,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEU5hpHETeyRm6BX0ZjotuRIiZpwVtykrVgwpuedsoLFAiEA8wg+NP0nPUCJSXT/SmdOooNajlt26r+FjYfDbKef/SI="}]},"_npmUser":{"name":"mr96","email":"marco.ripa.96@gmail.com"},"directories":{},"maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bash-gres_3.0.0_1786543434772_0.1147054806376453"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-04T20:34:13.008Z","modified":"2026-08-12T14:03:55.276Z","0.1.0":"2026-04-04T20:34:13.155Z","1.0.0":"2026-04-07T20:12:24.116Z","1.1.0":"2026-04-08T08:59:14.463Z","1.2.0":"2026-04-21T12:11:22.359Z","1.2.1":"2026-04-24T15:34:55.398Z","1.2.2":"2026-04-24T15:59:53.184Z","1.2.3":"2026-04-27T10:59:10.724Z","2.0.0":"2026-04-28T10:02:47.179Z","2.0.1":"2026-04-28T10:47:36.549Z","2.0.2":"2026-04-28T13:31:15.380Z","2.1.0":"2026-04-29T08:24:25.199Z","2.1.1":"2026-04-29T10:09:10.989Z","2.2.0":"2026-04-29T12:08:34.603Z","2.3.0":"2026-04-30T10:29:08.839Z","2.4.0":"2026-05-08T10:01:23.086Z","2.5.0":"2026-05-08T15:14:06.351Z","2.5.2":"2026-05-08T16:51:16.807Z","2.6.0":"2026-05-11T12:41:32.484Z","2.7.0":"2026-05-11T13:30:24.984Z","2.8.0":"2026-05-11T16:25:32.824Z","2.8.1":"2026-05-11T16:41:05.450Z","2.8.2":"2026-05-13T09:51:04.351Z","2.8.3":"2026-05-13T11:03:21.996Z","2.8.4":"2026-05-18T14:42:34.746Z","2.8.5":"2026-06-15T11:53:47.336Z","2.8.6":"2026-06-16T09:25:20.071Z","2.9.0":"2026-07-20T13:47:43.573Z","2.10.0":"2026-07-21T13:39:42.547Z","3.0.0":"2026-08-12T14:03:54.948Z"},"license":"MIT","keywords":["postgresql","filesystem","bash","drizzle","ltree","pg_textsearch","bm25","virtual-filesystem","ai-agent"],"description":"PostgreSQL-backed virtual filesystem with bash command interface","maintainers":[{"name":"mr96","email":"marco.ripa.96@gmail.com"}],"readme":"# bash-gres\n\nPostgreSQL-backed virtual filesystem for AI agents. Implements the [just-bash](https://github.com/vercel-labs/just-bash) `IFileSystem` interface, so you can pass it directly to `new Bash({ fs })` and get a complete bash environment backed by PostgreSQL.\n\n## Features\n\n- Full bash environment via [just-bash](https://github.com/vercel-labs/just-bash): 60+ commands, pipes, redirects, variables, loops\n- Node.js `fs`-compatible API: readFile, writeFile, mkdir, cp, mv, rm, symlink, stat, walk, glob\n- Workspace isolation via PostgreSQL Row-Level Security\n- Copy-on-write versions per version root: fork, diff, merge, revert, promote, delete\n- Versioned directories via `mkdir(path, { versioned: true })` and scoped facades\n- BM25 full-text search via `pg_textsearch`\n- Optional pgvector semantic and hybrid search\n- Bring your own driver: `postgres.js`, `node-postgres (pg)`, or Drizzle ORM\n\n## Install\n\n```sh\nnpm install bash-gres\n```\n\nThen install your database driver and just-bash:\n\n```sh\n# postgres.js\nnpm install postgres just-bash\n\n# node-postgres (pg)\nnpm install pg just-bash\n\n# Drizzle ORM\nnpm install drizzle-orm just-bash\n```\n\n## Quick Start\n\n```ts\nimport postgres from \"postgres\"\nimport { Bash } from \"just-bash\"\nimport { setup, PgFileSystem } from \"bash-gres/postgres\"\n\nconst sql = postgres(\"postgres://localhost:5432/myapp\")\nawait setup(sql)\n\nconst fs = new PgFileSystem({ db: sql, workspaceId: \"workspace-1\" })\nconst bash = new Bash({ fs })\n\nawait bash.exec(\"mkdir -p /project/src\")\nawait bash.exec('echo \"hello world\" > /project/src/index.ts')\nawait bash.exec(\"cat /project/src/index.ts\")\n// { exitCode: 0, stdout: \"hello world\\n\", stderr: \"\" }\n```\n\n### With node-postgres (pg)\n\n```ts\nimport pg from \"pg\"\nimport { Bash } from \"just-bash\"\nimport { setup, PgFileSystem } from \"bash-gres/node-postgres\"\n\nconst pool = new pg.Pool({ connectionString: \"postgres://localhost:5432/myapp\" })\nawait setup(pool)\n\nconst fs = new PgFileSystem({ db: pool, workspaceId: \"workspace-1\" })\nconst bash = new Bash({ fs })\n```\n\n### With Drizzle ORM\n\n```ts\nimport postgres from \"postgres\"\nimport { drizzle } from \"drizzle-orm/postgres-js\"\nimport { setup, PgFileSystem } from \"bash-gres/drizzle\"\n\nconst sql = postgres(\"postgres://localhost:5432/myapp\")\nconst db = drizzle(sql)\n\nawait setup(db)\n\nconst fs = new PgFileSystem({ db, workspaceId: \"workspace-1\" })\n```\n\n## Filesystem API\n\n```ts\nawait fs.writeFile(\"/docs/guide.md\", \"# Getting Started\")\nawait fs.mkdir(\"/docs/images\", { recursive: true })\nconst content = await fs.readFile(\"/docs/guide.md\")\nconst entries = await fs.readdir(\"/docs\")\n\n// Slice large files server-side\nconst bytes = await fs.readFileRange(\"/log.txt\", { offset: 0, limit: 1024 })\nconst { content: head, total } = await fs.readFileLines(\"/log.txt\", { offset: 1, limit: 50 })\n\nawait fs.cp(\"/docs\", \"/backup\", { recursive: true })\nawait fs.mv(\"/backup/guide.md\", \"/archive/guide.md\")\nawait fs.rm(\"/archive\", { recursive: true, force: true })\n\nawait fs.symlink(\"/docs/guide.md\", \"/latest\")\nconst stat = await fs.stat(\"/docs/guide.md\")\nconst tree = await fs.walk(\"/docs\")\n```\n\n## Workspace Usage\n\n```ts\nconst usage = await fs.getUsage()\nconst projectUsage = await fs.getUsage({ path: \"/project\" })\n\nusage.logicalBytes     // visible file + symlink bytes in fs.version\nusage.referencedBlobBytes // deduplicated blob bytes referenced by visible files\nusage.storedBlobBytes  // deduplicated blob bytes stored for the workspace\nusage.blobCount        // stored blob rows\nusage.versions         // version labels in the active version root\nusage.entryRows        // fs_entries rows in the active version root, including tombstones\nusage.visibleNodes     // visible nodes in fs.version, including root\nusage.limits           // { maxFiles, maxFileSize, maxWorkspaceBytes? }\n```\n\nSet `maxWorkspaceBytes` to enforce a deduplicated blob-storage quota per workspace:\n\n```ts\nconst fs = new PgFileSystem({\n  db: sql,\n  workspaceId: \"tenant-a\",\n  maxWorkspaceBytes: 100 * 1024 * 1024,\n})\n\ntry {\n  await fs.writeFile(\"/large.bin\", bytes)\n} catch (e) {\n  if (e instanceof FsQuotaError) {\n    e.code            // \"ENOSPC\"\n    e.limit           // configured maxWorkspaceBytes\n    e.current         // current stored blob bytes\n    e.attemptedDelta  // bytes for the new unique blob\n  }\n}\n```\n\n## Versioning\n\nEach `PgFileSystem` instance is bound to a `version` (default `\"main\"`) inside an active **version root**. By default the version root is `/`, preserving workspace-wide versioning. You can also make any non-nested directory versionable and work through a scoped facade rooted at that directory.\n\nVersions are copy-on-write overlays: the same path can hold different contents, and `fork()` is O(1) because it links the new version to its parent through a closure table without copying entry rows. Reads walk that closure to the nearest ancestor with a row at the requested path.\n\nThis is a **live ancestor overlay**, not a historical snapshot. A write to a parent version after a child has been forked can still affect the child's visible view at any path the child has not shadowed. Once the child writes (or deletes) a path, that path is shielded from later parent writes. To freeze a checkpoint independent of its parents, fork and then `detach()`.\n\n```ts\nconst v1 = new PgFileSystem({ db: sql, workspaceId: \"app\", version: \"v1\" })\nawait v1.writeFile(\"/config.json\", '{\"env\":\"staging\"}')\n\nconst v2 = await v1.fork(\"v2\")                 // O(1) link, no row copy\nawait v2.writeFile(\"/config.json\", '{\"env\":\"prod\"}')\n\nawait v1.readFile(\"/config.json\") // '{\"env\":\"staging\"}' (untouched)\nawait v2.readFile(\"/config.json\") // '{\"env\":\"prod\"}'\n\nawait v1.listVersions()     // [\"v1\", \"v2\"]\nawait v1.deleteVersion(\"v2\") // drops every row in v2\n```\n\n### Versioned Directories\n\nUse `mkdir(path, { versioned: true })` to make a directory an independent version root, similar to running `git init` inside that directory. The directory remains a normal filesystem directory, but version operations on its scoped facade only affect that subtree.\n\n```ts\nconst fs = new PgFileSystem({ db: sql, workspaceId: \"app\" })\nawait fs.init()\n\nawait fs.mkdir(\"/database\", { versioned: true })\n\nconst dbMain = await fs.versioned(\"/database\")\nawait dbMain.writeFile(\"/schema.sql\", \"main\")\n\nconst dbDraft = await dbMain.fork(\"draft\")\nawait dbDraft.writeFile(\"/schema.sql\", \"draft\")\n\nawait dbMain.readFile(\"/schema.sql\")  // \"main\"\nawait dbDraft.readFile(\"/schema.sql\") // \"draft\"\nawait dbMain.listVersions()           // [\"draft\", \"main\"]\n```\n\nVersion labels are scoped to the versioned directory, so `/database` and `/user` can both have a `draft` version. Nested versioned directories are rejected.\n\nRemoving a versioned directory with `rm(path, { recursive: true })` only hides the mount point from the parent filesystem. To permanently delete the version root and all versions/history stored under it, opt in explicitly:\n\n```ts\nawait fs.rm(\"/database\", { recursive: true, deleteVersionRoot: true })\n```\n\nVersioning primitives include:\n\n- `diff(other, { path? })`, `diffCount(other, { path?, nodeType? })`, and `diffStream(other, { path?, batchSize? })` to compare visible trees.\n- `merge(source, { strategy?, paths?, pathScope?, dryRun? })` for LCA-based three-way merges.\n- `cherryPick(source, paths)` to source-win copy selected paths without LCA conflict checks.\n- `revert(target, { paths?, pathScope? })` to restore selected paths to another version.\n- `detach()` to materialize a version into a standalone snapshot independent of ancestors.\n- `renameVersion(label, { swap? })` and `promoteTo(label, { dropPrevious? })` for deploy labels.\n- `listHistory({ limit?, cursor?, includeChanges?, includeRoot?, path? })` to walk ancestor history with keyset pagination, plus `versionDiff(versionId, { path? })` and `versionDiffStream(versionId, { path?, batchSize? })` to fetch the diff for a single history entry.\n- `diffVersions(from, to, { path?, includeContent? })` to compare any two versions of the root by numeric `versionId` — both sides bypass the label resolver, so deleted-but-retained versions compare fine.\n- `sweepHistory()` to physically flatten retained history into self-contained snapshots and GC orphan blobs.\n\nThe \"live\" version is caller-side: BashGres exposes versions as data, your app decides which one the runtime reads from. A typical deploy flow is `fork()` a draft, edit it, optionally `merge()` or `revert()` changes, then `promoteTo(\"live\")`. See [bashgres.com/docs/versioning](https://bashgres.com/docs/versioning) for the full versioning guide.\n\n### Opening an exact historical version\n\nLabels such as `main` are movable references. For a stable snapshot, take the\nnumeric `versionId` returned by `listHistory()` and open it directly. Exact\nversions are read-only and remain available after their labels are deleted when\nhistory retention is enabled.\n\n```ts\nconst [{ versionId }] = (await fs.listHistory({ limit: 1 })).entries\n\nconst snapshot = new PgFileSystem({\n  db: sql,\n  workspaceId: \"app\",\n  versionId,\n  permissions: { read: true, write: false },\n})\n\nawait snapshot.readFile(\"/config.json\")\n```\n\n`version` and `versionId` are mutually exclusive. An ID is also checked against\nthe requested workspace and version root before any content is read.\n\n### Browsing history\n\n`listHistory()` returns ancestor versions paginated by depth from the current version backwards. `includeChanges` controls how much per-entry detail comes back: `false` (default, just metadata), `\"paths\"` (cheap path + change-kind summary), or `true` (full `before`/`after` shapes). All three modes share a single batched query, so paths-mode and full-changes mode are within ~5% of each other on large pages.\n\n```ts\nconst fs = new PgFileSystem({\n  db: sql,\n  workspaceId: \"app\",\n  version: \"main\",\n  historyRetention: \"retain\",   // keep deleted versions in history\n})\n\n// 1. List page metadata + per-row \"what changed\" summary.\nconst page = await fs.listHistory({ limit: 20, includeChanges: \"paths\" })\nfor (const entry of page.entries) {\n  console.log(entry.version, entry.createdAt, entry.changes.length, \"changes\")\n  // entry.changes: [{ path, change: \"added\"|\"removed\"|\"modified\"|\"type-changed\" }]\n}\nif (page.nextCursor) { /* fetch next page with { cursor: page.nextCursor } */ }\n\n// 2. Click an entry → full diff against its parent (works for root and\n//    deleted-but-retained entries too).\nconst detail = await fs.versionDiff(page.entries[0]!.versionId)\n// detail: VersionDiffEntry[] with full before/after shapes\n\n// 3. Or stream large diffs page-by-page.\nfor await (const change of fs.versionDiffStream(page.entries[0]!.versionId, { batchSize: 100 })) {\n  // ...\n}\n\n// 4. Compare any two versions directly (not just parent/child).\nconst between = await fs.diffVersions(\n  page.entries[3]!.versionId,\n  page.entries[0]!.versionId,\n  { includeContent: true },\n)\n```\n\n`historyRetention: \"retain\"` keeps deleted version rows visible in history (with `deletedAt !== null`); the default `\"discard\"` physically removes them. Run `sweepHistory()` to compact a retain-mode workspace back into self-contained snapshots and GC blobs no live entry references.\n\n## Search\n\nAll search is **chunk-granular**: text files are indexed as markdown-aware\n**section chunks** (table `fs_blob_chunks`) — heading-bounded slices with\n1-indexed line ranges, a heading breadcrumb (\"Title > Section\"), and a token\nbudget that fits embedding models. Hits are ranked sections, each addressable\nas `path:startLine-endLine` and hydratable via `readFileLines()`. Chunks are\nkeyed by the blob hash, so unchanged content is never re-chunked — across\nrewrites, copies, versions, and branches. At most `perFileCap` hits per file\n(default 3) keep one long page from monopolizing the top-k.\n\n**Enable** chunking per instance; it is off by default and existing databases\nare unaffected until you do:\n\n```ts\nconst fs = new PgFileSystem({ db, workspaceId, chunking: true })\n// or tune: chunking: { maxTokens: 480, estimateTokens: (s) => ... }\n\nawait fs.writeFile(\"/docs/page.md\", markdown) // chunks stored with the write\nconst chunks = await fs.readFileChunks(\"/docs/page.md\")\n// [{ chunkIndex, startLine, endLine, headingPath, content }, ...]\n```\n\n**Text search** with BM25 (needs the full-text-search setup —\n`enableFullTextSearch`, the default):\n\n```ts\nconst hits = await fs.textSearch(\"shipping costs\", { path: \"/docs\", limit: 10 })\n// [{ path, startLine, endLine, headingPath, content, rank }, ...]\nconst { content } = await fs.readFileLines(hits[0].path, {\n  offset: hits[0].startLine,\n  limit: hits[0].endLine - hits[0].startLine + 1,\n})\n```\n\n**Embed** chunks with the injected batch embedder — the one `embed` option\nserves the indexing pass and (as single-item batches) query embedding.\nVectors live in a per-content cache (`fs_chunk_embeddings`, keyed by the\nchunk's content hash) that only an explicit pass fills — never the write\npath. The pass is **version-scoped** like every other operation on the\nhandle: it embeds what the instance's current version serves (honoring its\nexcludes/mounts), so branch → index → promote makes the new main fully\nindexed the moment it becomes visible, and stale or abandoned versions\nnever cost an embedding call:\n\n```ts\nconst fs = new PgFileSystem({\n  db, workspaceId,\n  chunking: { volatileFrontmatterKeys: [\"fetchedAt\"] }, // keep re-crawls cache-stable\n  embed: (texts) => myEmbeddingApi.batch(texts),        // one vector per text\n  embeddingDimensions: 1024,\n})\n\nconst branch = await fs.fork(\"crawl\")\n// ... writes (chunks ride along) ...\nawait branch.indexChunkEmbeddings()\n// { chunks: 120, cacheHits: 118, embedded: 2 } — only changed sections embed\nawait branch.promoteTo(\"main\")\n```\n\nRequires `setup()` with `enableVectorSearch: true` + `embeddingDimensions`.\nThe cache is content-addressed and has no FK to the chunk rows on purpose:\nidentical sections anywhere in the workspace share one vector, and content\nthat comes back after a sweep or revert still cache-hits. Keys listed in\n`volatileFrontmatterKeys` are stripped from the front-matter chunk's\n*indexed* content (line ranges and bodies stay exact), so a re-crawl that\nonly bumps a timestamp re-embeds nothing.\n\n**Semantic search** ranks the embedded chunks by cosine similarity.\nNearest-neighbor: it always ranks something, so irrelevant queries return\nlow-rank hits, not nothing — and chunks not yet embedded are invisible to it:\n\n```ts\nconst similar = await fs.semanticSearch(\"how do refunds work\", { limit: 10 })\n```\n\n**Hybrid search** fuses both signals (needs the full-text-search *and*\nvector setups): the BM25 and embedding rankings are combined with\nreciprocal-rank fusion — rank-based, not score-based, because BM25 scores\nand cosine similarities aren't on comparable scales — so an exact rare\ntoken and a synonym-only paraphrase each still surface, and chunks without\na cached embedding stay reachable through the lexical side:\n\n```ts\nconst hits = await fs.hybridSearch(\"delivery options\", { perFileCap: 2 })\n// same result shape as textSearch()/semanticSearch()\n```\n\n**`semgrep`** puts all of this inside a [just-bash](https://www.npmjs.com/package/just-bash)\nsession, so an agent's shell searches without leaving bash. The command\ndispatches on the handle: with an `embed` option it searches hybrid, without\none it is BM25-only — same usage either way, and the line ranges hydrate\nwith the session's own tools (`sed -n 12,34p file`):\n\n```ts\nimport { createSemgrepCommand } from \"bash-gres/just-bash\"\n\nconst bash = new Bash({ fs, customCommands: [createSemgrepCommand({ fs })] })\nawait bash.exec('semgrep -k 3 \"delivery options\" /docs')\n// /docs/shipping.md:12-34  [0.0323]  Shipping > Costs — Shipping is free over…\n// one hit per line; exit 1 when nothing matches, like grep\n```\n\n**Migrate** an existing deployment in two idempotent steps:\n\n1. Re-run `setup(client)` — it creates `fs_blob_chunks` (no new extensions).\n   Drizzle users: re-run `drizzle-kit generate` (the table is in\n   `createSchema()`) plus `generateMigrationSQL()` for RLS and the blob FK.\n2. Index pre-existing content: `await fs.backfillChunks()` — chunks the\n   blobs visible at the handle's version; content-addressed, safe to re-run.\n\nEnabling `chunking` against a database that skipped step 1 fails fast with an\nerror explaining exactly this; older bash-gres versions keep working against\na migrated database (they simply never touch the table, and chunk rows are\ncleaned up by the FK cascade when blobs are deleted).\n\n## Requirements\n\n- PostgreSQL 15+ with the `ltree` extension\n- Node.js 18+\n- Optional: `pg_textsearch` for BM25 full-text search\n- Optional: `pgvector` for semantic/hybrid search\n\n## Subpath Exports\n\n```\nbash-gres                PgFileSystem, setup(), search, types\nbash-gres/postgres       postgres.js adapter (setup, PgFileSystem, createPostgresClient)\nbash-gres/node-postgres  node-postgres (pg) adapter (setup, PgFileSystem, createNodePgClient)\nbash-gres/drizzle        Drizzle adapter (setup, PgFileSystem, createDrizzleClient, createSchema)\nbash-gres/just-bash      createSemgrepCommand (semantic grep for just-bash sessions)\n```\n\n## Development\n\n```sh\ndocker compose up -d   # start postgres on localhost:5434\nTEST_DATABASE_URL=postgres://postgres:postgres@localhost:5434/bashgres_test npm test\nnpm run typecheck      # type check\nnpm run build          # compile to dist/\n```\n\n## Docs\n\nFull documentation at [bashgres.com/docs](https://bashgres.com/docs).\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}