{"_id":"memory-git","_rev":"44-16a061a0372a33dcb14b0063967605a5","name":"memory-git","dist-tags":{"latest":"3.17.3"},"versions":{"1.0.0":{"name":"memory-git","version":"1.0.0","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript"],"author":"","license":"MIT","_id":"memory-git@1.0.0","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"1c0dbbddde7d49f7d71529f7b8be1ed0a3ee3923","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-1.0.0.tgz","fileCount":7,"integrity":"sha512-ZcndCtBGZgijqsoUD+quUk98nTGba9J5BLXcIGX67oD10i/ODFH7HceyHb6smon2JnIaXa7AAtXbWisI7qgdiQ==","signatures":[{"sig":"MEUCIF5x+QKmdJU6U02kimGzA4GIyINrlbh1Q1Ct3Nk0Uy17AiEAqXVSpPQw+Y32zpvlrbCZRNJ3Jbn0mDR/07dQBZUmcIM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90391},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"01528a824a7941184fdec1152f6badbdebee3c4d","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node example.js","benchmark":"node benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.6.3","description":"In-memory Git implementation with disk flush support. All git operations run in memory, minimizing IO, and sync to disk only when needed.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"memfs":"^4.56.10","isomorphic-git":"^1.36.3"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.25.0","devDependencies":{"vitest":"^4.0.18","typescript":"^5.7.0","@types/node":"^25.0.10","@vitest/coverage-v8":"4.0.18"},"_npmOperationalInternal":{"tmp":"tmp/memory-git_1.0.0_1769608455815_0.03892886277782992","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"memory-git","version":"1.0.1","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript"],"author":"","license":"MIT","_id":"memory-git@1.0.1","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"6ca450c19f0d63d26fa7ad32397b1c4304898e52","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-1.0.1.tgz","fileCount":7,"integrity":"sha512-TDlQZef/HIhtkJBzSW+7Sg3uXuS3pLSzmR+zRpzDXLFIKiUblOcBQQk+zta5OKNEgrJ2M61JrJAYtPzDgNaRXQ==","signatures":[{"sig":"MEUCIGlrmJTYBaRQqh8Ru8E8nDbXa6Y7fbZrWN/Pn+yqyTSwAiEAuspGek17B1RiKI2l3/tLjRPaRW1EO+pojZjXIxOKC54=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90392},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"a9af17b757733b4e32356c0e56b290bda71fa3f4","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node example.js","benchmark":"node benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.5.1","description":"In-memory Git implementation with disk flush support. All git operations run in memory, minimizing IO, and sync to disk only when needed.","directories":{},"_nodeVersion":"24.5.0","dependencies":{"memfs":"^4.56.10","isomorphic-git":"^1.37.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.25.0","devDependencies":{"vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^22.19.13","@vitest/coverage-v8":"4.0.18"},"_npmOperationalInternal":{"tmp":"tmp/memory-git_1.0.1_1772545905054_0.9283355057296767","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"memory-git","version":"2.0.0","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript"],"author":"","license":"MIT","_id":"memory-git@2.0.0","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"02637b09d8d1cb3dc812c771653ca8acaaa91d4a","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-2.0.0.tgz","fileCount":7,"integrity":"sha512-kb9Ut/XzsVC3qekjFsHv7IRttG2LExhIYChMKPxF5Xtr7QPk7gDQ+pV/gjYIZNYpaiif7GGqFLmnRjDqOj8xTA==","signatures":[{"sig":"MEYCIQDEehD9ZxQQsVGhy56LuHw1Us2ESImh7JeNYhznGTtHYgIhAK7O9J2+a6rBP+5/yh/GLYgmNItOdBPTtNcWJs45YZQE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117483},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"f6a1abd327226d8cd981d5742121b43d6dc28804","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node example.js","benchmark":"node benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.5.1","description":"In-memory Git implementation with disk flush support. All git operations run in memory, minimizing IO, and sync to disk only when needed.","directories":{},"_nodeVersion":"24.5.0","dependencies":{"memfs":"^4.56.10","isomorphic-git":"^1.37.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.25.0","devDependencies":{"vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^22.19.13","@vitest/coverage-v8":"4.0.18"},"_npmOperationalInternal":{"tmp":"tmp/memory-git_2.0.0_1772548790770_0.8130579790577472","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"memory-git","version":"2.1.0","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript"],"author":"","license":"MIT","_id":"memory-git@2.1.0","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"d0d8f49bec1aca92d29188fde7a30500a5d4e6e1","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-2.1.0.tgz","fileCount":7,"integrity":"sha512-oYV0jFjQbNmVa5vCxeBLv1xMIG6z8f4Sudblm27fSLqGOx6J2c5U7B49eSIKPoThFedqZIB4/J3b9gu9zqKChA==","signatures":[{"sig":"MEUCIBlNpgWpwKsJhdR03Lwp3lksKnWRXSdzJWZ4ENDEQvM9AiEAt4+799x88fm7CPMR7tpyukm8wAnFul+6wOLAS8lD5Q0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117478},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"c476c2c4e39bf7ff8f2bcdb78791879d1b4aeb38","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node example.js","benchmark":"node benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.9.0","description":"In-memory Git implementation with disk flush support. All git operations run in memory, minimizing IO, and sync to disk only when needed.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"memfs":"^4.57.1","isomorphic-git":"^1.37.4"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.25.0","devDependencies":{"vitest":"^4.1.0","typescript":"^5.9.3","@types/node":"^25.5.0","@vitest/coverage-v8":"4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/memory-git_2.1.0_1774216389327_0.2795941025542945","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"memory-git","version":"2.2.0","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript"],"author":"","license":"MIT","_id":"memory-git@2.2.0","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"031e8b7109823a012437522abd14509f816558da","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-2.2.0.tgz","fileCount":7,"integrity":"sha512-DE4DX8C/jvVC2qQzebbyLNQyalMZfymwAOmRPzvVzmhF6qWcQCnatHa0+MWpfPDaOLyduu3p20M5V0V+m/aO3g==","signatures":[{"sig":"MEYCIQDoZBHE9vUQzBvxseaB1sXPZiotTjJdiDnNsqISLRkYzwIhAK4oL0H6p6Pcj5dZjB2EhZRJAVI58nMN44cF7tp1YjBq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117497},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"ac7ba654f962b657837c6d4903e06695a4fc8005","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git implementation with disk flush support. All git operations run in memory, minimizing IO, and sync to disk only when needed.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"memfs":"^4.57.2","isomorphic-git":"^1.37.6"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.6","typescript":"^6.0.3","@types/node":"^25.7.0","@vitest/coverage-v8":"4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/memory-git_2.2.0_1778668819125_0.4264444331036117","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"memory-git","version":"3.0.0","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.0.0","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"e4193d50577f806b6716ce8f8997e061c9e49c39","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.0.0.tgz","fileCount":7,"integrity":"sha512-iEgq3RafMDRUykXVLE1tfJSmRY9oudhsHyTOosXnk0YuhGwchw7tS9el9ToxTGEh3CHtbMQYoXYZStYRP8BqAA==","signatures":[{"sig":"MEUCIFRIEblDeeuxg8u03DjLiCJfv1VcpnaZFYrTNrNj3QIRAiEAoDuu4M4if21Nn7VHxvZzZ8OR5LKkTVqmZs2Bb2XoTBs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":226197},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"99bd658d56a78632a2c977b5b741c725bd15d12f","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.9.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.37.6"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.6","typescript":"^6.0.3","@types/node":"^25.7.0","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.0.0_1778674783784_0.02718639114884458","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"memory-git","version":"3.1.1","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.1.1","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"955a096db33171c6927d94f13338ad11aef37270","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.1.1.tgz","fileCount":127,"integrity":"sha512-AHbkHp5ngrxkGJel1Ds7oUbvyXr+K+95uyvNCDok4xOufSYtKLVWUQi4dvxqEjQRDH5hVDbHBULNzsgaIOioNw==","signatures":[{"sig":"MEUCIGcIjpFUIHt7hAf1r2SKq/pC4VZhf1hvvgS6SsLRSEdFAiEA9NcqKew/F6ylHl37bE0Z9GP4Ucm3rUfX3zLBOm8doqA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301904},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"e2556e821871dac5c778906eec0165f5a2823009","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.37.6"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.6","just-bash":"^3.0.0","typescript":"^6.0.3","@types/node":"^25.7.0","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"4.1.6"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.1.1_1778780639091_0.16410401073179282","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"memory-git","version":"3.2.0","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.2.0","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"d553b425d506c1d8c395b56d2af902d7926ceba5","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.2.0.tgz","fileCount":127,"integrity":"sha512-kc+OmRLJwF0xIdAQZ93khWKwpxEw4YaKekpgwKCNPKFy2pH+6nzz1Q+TnVAMheNUD5+b19cW1RyKYGai9dHQGg==","signatures":[{"sig":"MEQCIBlJ39HAxzr8PmsY0XkHg5s1IKNwrGiSU3v77vYU1SVOAiBUK1Nlg+82Sr8dYfGCw+4FX5O5KekdrZjrLFwrqwK4Uw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325320},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"9624f29fbb334e1e9ca35762113ec777720e4167","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.37.6"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.6","just-bash":"^3.0.0","typescript":"^6.0.3","@types/node":"^25.7.0","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"4.1.6"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.2.0_1778818250356_0.44238339846120334","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"memory-git","version":"3.3.0","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.3.0","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"e65de525443771b493385a99f42cbe7795eaebfc","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.3.0.tgz","fileCount":127,"integrity":"sha512-NCiH+3R5erCJ8HKurP/TWatGbcuSqqOGjgDQxaqprH9mPEeA+9e58DjvL+nVzAtNorZcbSu8MKwgfOyexQdMhg==","signatures":[{"sig":"MEYCIQC1jFWXBK3cXpmljXXXij2NRmvgCo6svakrp6wF8/eL2wIhALjepjr/rtjkFodJ3IHpSCyWkQnDqsLnYussgy4yKe2/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336498},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"57520974e03812c9f0c692654612c2beb152db43","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.37.6"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.6","just-bash":"^3.0.0","typescript":"^6.0.3","@types/node":"^25.7.0","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"4.1.6"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.3.0_1778873975999_0.7266623817772857","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"memory-git","version":"3.4.0","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.4.0","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"6862364188fcddfcf08dcc3dda231a81baaa02d9","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.4.0.tgz","fileCount":127,"integrity":"sha512-plsI5B1nwqxp32STj2AMVnIxAwJBUw0hao8PhlMpbbHQHmUk9c0vq/JRBVop1zInoEzPdK/v4VsXimZvwy0orw==","signatures":[{"sig":"MEUCIQDm+aoBc+CjGxEyzH3NEV3FD00n4ndAoilMrnPQ5GSZbgIgOGOIjwt2N4He5wYi4OD96X21V9+0/2q7xalA+CeWAjY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":343690},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"d6ec52dd15f4f32b7d273585dfe253df28684d91","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.37.6"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.6","just-bash":"^3.0.0","typescript":"^6.0.3","@types/node":"^25.7.0","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"4.1.6"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.4.0_1779246231116_0.0566926915612771","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"memory-git","version":"3.5.0","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.5.0","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"26c3c3ed806b2ccf405b57ae2221f042d8ccdcce","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.5.0.tgz","fileCount":135,"integrity":"sha512-ncjMZvADnIgG6Iw17775yuXAzHgXf7XyO1Sn8kmy4abccDgGi5DuzWLEPzBIX3ZaOF7YNUf6ZpnAalnbQIKpXw==","signatures":[{"sig":"MEQCIG26HTf6j1Eefnr8tdclMyIdt490soPg/L0eX08BvaOKAiBkcDcA0GrZiCY5NW7GA01TgN962iEGfb3+9BRW19J4dA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":348108},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"6bfd3e9a03e0ce7d7c1921eb270b230f50131f0d","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.37.6"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.6","just-bash":"^3.0.0","typescript":"^6.0.3","@types/node":"^25.7.0","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"4.1.6"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.5.0_1779326426301_0.06388611793120602","host":"s3://npm-registry-packages-npm-production"}},"3.5.1":{"name":"memory-git","version":"3.5.1","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.5.1","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"bfb635b8347124028a0e3a2c805c9d774443f060","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.5.1.tgz","fileCount":135,"integrity":"sha512-xZd63AWCIOTyrNqoBiCH5Opc1k/NDFCa5ZAHj40G3JmsBaG6lUYon8XvA2Elj2tJNYmg53cvgxmZRUla7Dz51w==","signatures":[{"sig":"MEUCIFwpWYPlcHHBoyz/ZxhGEwTwIALGg+SL+GwtEJR1ajC4AiEAl7ms6N7eoXxpijfhz0KPqUqHa1FzBzzhXJBNuZOxefY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":350856},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"1764b7930a869a7b5e6360ff3a260bd478b370a1","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.37.6"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.6","just-bash":"^3.0.0","typescript":"^6.0.3","@types/node":"^25.7.0","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"4.1.6"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.5.1_1779331820656_0.9146059377863489","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"memory-git","version":"3.6.0","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.6.0","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"14a8541effae243a2cb74fc752b9a4dfe1e48f5d","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.6.0.tgz","fileCount":135,"integrity":"sha512-F+RDtd/p6lceCkyBd/kKJGAaGN1/tlpEpcavPfaSRLff0Iyrdw1KHEj0ieGcrgk4THzjpO06SW/avEL26Y5LCQ==","signatures":[{"sig":"MEYCIQCTBjFgzzLh04Yu/2v7WNImL+bqWrWuGN2dcZP+i9OrVgIhAJjJ0fEieGZo9NZi/sNqcytmp6pAjlYfrgfKVuz8/2zW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":352112},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"3da0ad1db177b8ec90e633c2979158c58a476231","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.37.6"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.6","just-bash":"^3.0.0","typescript":"^6.0.3","@types/node":"^25.7.0","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"4.1.6"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.6.0_1779393572894_0.42762556876897206","host":"s3://npm-registry-packages-npm-production"}},"3.6.1":{"name":"memory-git","version":"3.6.1","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.6.1","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"db85a8a7f5c5fa6866a76a4149877f33612f961c","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.6.1.tgz","fileCount":135,"integrity":"sha512-FZJc0fCjrO7hdEGiTsWHt36D/R0qTm27Y2WXr2Q6FRMjfFZvR84RVErMhZEBmckzmJ755W8fBIy8Wozu7hW/og==","signatures":[{"sig":"MEUCIQCUHr0Ap5TXv7oc2GmIzIv2GBVPL2wcmzgZP8k7OCLR9AIgday76WR0m1I3EZk1hnMRbWWZ2HxzC8FPVYw0ClQ61Fk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":352113},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"c290f55848c10fc922bfdc8af3210a3b261f4a3b","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.38.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.6.1_1779393913429_0.09778994714736688","host":"s3://npm-registry-packages-npm-production"}},"3.7.0":{"name":"memory-git","version":"3.7.0","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.7.0","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"dab0dea57b13f095eb576ff7c135fcc9cc26e741","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.7.0.tgz","fileCount":135,"integrity":"sha512-o+pHRhzNDERaBmzDzrDND03Nmwk1qZlaMgI0l7DFQWKzgCtvd0pjaDDPTtEvcINb/TTyqPXAbkdP+8eIiKfQ+A==","signatures":[{"sig":"MEUCIQDUNKriSE62sK8agPXyyr40WbNLSGUVutHMLU88BS6x+gIgEbC/4AM1aRVErRM02AXBi9ciOC487kBh5x2stLzLcY8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":371141},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"e5474bbb637e80ed5f4f5e2f192551f4869c7420","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.38.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.7.0_1779426958647_0.7283209093126002","host":"s3://npm-registry-packages-npm-production"}},"3.7.1":{"name":"memory-git","version":"3.7.1","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.7.1","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"c967c6061a7c5e33da763832619a09e9f082f2f9","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.7.1.tgz","fileCount":135,"integrity":"sha512-KSyGHpQ8xnIFsmdVTrdbNUddtqbaFnuxgEGHH6Zn9VxiJ8Ur85r2Mvo04vtIQzBm95BfKHBVEa1NVZZD5UGQHw==","signatures":[{"sig":"MEYCIQDRkg7B3V+2dSu3nPj/x5Gbv/Jw/iExRvRLZsCGSVNiuwIhAIvFVBPMqWaTfB9MfvvS2ZN8ItYY8Ywa9RxDKY8D2oRo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":376895},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"7bb4b38190775c609a378052e95eb7be07512f01","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.38.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.7.1_1779428654489_0.3524751781927431","host":"s3://npm-registry-packages-npm-production"}},"3.7.2":{"name":"memory-git","version":"3.7.2","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.7.2","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"6494e3aff2333ba49083d087d1167dae94b1b968","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.7.2.tgz","fileCount":135,"integrity":"sha512-0WHLmeR+aL7YLrhlkiz5Tuu5cV4TU/gIBz+PiyUBfWmPocIVUjqgisnTDs5+lTf6tWxTLKrJxxhMBn9M5YqW+g==","signatures":[{"sig":"MEUCIHWb79DF1CaV0KM1/HAk+Cva5pKZnSrsTEE/P6krXUgKAiEAmE8w4VeJkEorjQOd+v/h2uq8U+H023BxfpW2d8VOilM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":384501},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"d133605d28b57b70b6ef85c847e3840502416167","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.38.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.7.2_1779431780704_0.5622457248016202","host":"s3://npm-registry-packages-npm-production"}},"3.7.3":{"name":"memory-git","version":"3.7.3","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.7.3","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"aa5bae02414e995533ecf9447e2d2710ebe23190","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.7.3.tgz","fileCount":135,"integrity":"sha512-PK4mPUxJbYeEYD8JcNKR3zoJvAVKAnQzvSDbocM/ZaK0NslJ6leXMSXT21rdKOVTBEI9tH2j263dkYZsCFM+OQ==","signatures":[{"sig":"MEUCIBFjNCf+ze+z4xI0l8vMEwtTleErRujsv+3XuCRp+B4dAiEAirDzZeyUUesfv9fGxAAM26gTUMg+M7HEjj7QiP2vTug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":389228},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"9ec3cfd019df5d5f954854c12b8f957b65a81a67","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.38.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.7.3_1779433138241_0.42839299402183006","host":"s3://npm-registry-packages-npm-production"}},"3.7.4":{"name":"memory-git","version":"3.7.4","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.7.4","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"4770017e17d2206883d324bdac2880e64b0606c6","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.7.4.tgz","fileCount":135,"integrity":"sha512-a1UUZlhOiAruxVQvyScCq9PAmCPT1Yynx6DIZn1BPkwMIDMoJlHdiJMnwvGLR2K12SAmibeBut7KRls0CFFkFw==","signatures":[{"sig":"MEQCIAv989as8JCK13hpoWasz5/aGPqbomQbTWtGO8FqyzLXAiBjMULH3y2L7K8ONH7WAtlP4JJk/339/DkquQipfDcd0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":390521},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"96098dbd15d2c41c878d8d131cda6636c9d8f9a5","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.38.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.7.4_1779434043275_0.8567295894879914","host":"s3://npm-registry-packages-npm-production"}},"3.7.5":{"name":"memory-git","version":"3.7.5","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.7.5","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"f346f77984be0904c7b0ef77d60279c8cda9d678","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.7.5.tgz","fileCount":135,"integrity":"sha512-h9ucUfHUojJyfVe9VXJYblKOothSgchggV81dvR8brl9jut35SVA7LONFBolQB6FGTU4tf3KiqzXJArpBNIh8g==","signatures":[{"sig":"MEUCIQCXMsOfFbJdSXjHrJoyNepPCNI8SCwIedt8YhPd+r00nAIgLnf2WepbaCG71a6GIo24N8gNHpyEoXBPAasVtFwq0nY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":394812},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"815509e74eab30f4bd4ee854c050e74f6fc33d9c","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.38.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.7.5_1779510149076_0.9234484666008547","host":"s3://npm-registry-packages-npm-production"}},"3.8.0":{"name":"memory-git","version":"3.8.0","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.8.0","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"368857af1b76c54cb8cf394ca6c7dcc473683448","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.8.0.tgz","fileCount":139,"integrity":"sha512-AnQXmQLw7ONVH+Wo0Rdpmf1MywEMwrSdPDbOhNMb6p7kfGNfiQYiVdVi5+sSzUQrcRNW4eEpSo/rOIEniN0veA==","signatures":[{"sig":"MEUCICWhcxBYv9QxegUPY9VTHvtzC6HmpvidTJvEOVQY9BanAiEA9t+QUR2clH+fGcU8fFIQc3bjVT9sAjUZGwtk/u8CxjQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":423914},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"cd9c450e15976be7fb2f0ab8fd2ced5ef33b3763","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.38.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.8.0_1779603386839_0.7956491445018079","host":"s3://npm-registry-packages-npm-production"}},"3.9.0":{"name":"memory-git","version":"3.9.0","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.9.0","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"ba6d981e37fba7b616cc3531cc372fc62313a4be","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.9.0.tgz","fileCount":143,"integrity":"sha512-IeHyYKEKyLEh7QK1PVYu+jotrelMeX5NHdreCzfDuHsxURuqT9N04VWn+ptfqVzNpW60Ax42AfWK5pIH8YdKUQ==","signatures":[{"sig":"MEUCIQD34ia7GJHGyciWeahIVwRIiTvBu+HTi/nu9NUyX348ngIgERCxEHmdFuSSaaADcZLyGnPHgKA7l4Czb3BrqEe74TY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":485365},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"25276306318c099c9622aafdc8b42723ab7fceec","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.38.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.9.0_1779641573561_0.2811777228686325","host":"s3://npm-registry-packages-npm-production"}},"3.10.0":{"name":"memory-git","version":"3.10.0","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.10.0","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"dc0bcaf9a00aa8029a5ea20e6633bf5a1bb8726b","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.10.0.tgz","fileCount":143,"integrity":"sha512-wiaEwCKEAlnvIbjPmhYgUYP3sK8DPiKf9CgdUTytsx5ZU+aTZCuKC5z7+q6hqay6KxT3x2J2IJNw/Crbasy6lw==","signatures":[{"sig":"MEYCIQCZB1kxh5dQD3EA4XZMZf64KtRdekduoHO1uat4f+6ogAIhAPIoIVG33oIAXX3GQigaRTd20EgZ8XFP8BPjUhpUDbQs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":527663},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"b3b541e854eb1905d4a21fce4055c061ced5dfc8","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.38.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.10.0_1779740114575_0.006286978168244195","host":"s3://npm-registry-packages-npm-production"}},"3.10.1":{"name":"memory-git","version":"3.10.1","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.10.1","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"d6297c980b985da708a10680302d15e4406d39ac","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.10.1.tgz","fileCount":147,"integrity":"sha512-icBGOAEtOmFaCk844Tuo5AGg8dSEs8Q8vSTD9e0RcMX1qpuPNEtwAfR3sJ3XppSIFplNRwOihI6ndLpLARo82w==","signatures":[{"sig":"MEYCIQD46vExuHFUuJlGpTk5vb7B1h0p6n4hcjlxdFbsUfK8kQIhAIhsEzFPdbxviinFad90Yaiv3b51kzL5glU2nBH/nWlK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":530583},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"4c522975e14b9129d95cc8745485dc649a90eeb2","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.38.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.10.1_1779740845088_0.15398776695201422","host":"s3://npm-registry-packages-npm-production"}},"3.10.2":{"name":"memory-git","version":"3.10.2","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.10.2","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"7e2811c6dfd9685d37c70dfce1d3b58349591a51","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.10.2.tgz","fileCount":151,"integrity":"sha512-jYvdBZC42oWuXUCSjSSYMW4V5LgRITxQZciHDemhdM0OPPXdgdZlKQdtza48e2WGej+y6r+tNLMA7M0JnpjeqQ==","signatures":[{"sig":"MEYCIQCQa4e0QAzaDEvkJTTDT3jPmQSTvvDXuLWhx3TgNYiKzgIhAPENNKCCSNFR0YCtjhfE/SVEabiaXIB5HBscylRjWiZQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":539211},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"79a36e98ab058396052e82ecaacb37f1e983efcb","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.38.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.10.2_1779742013759_0.8253398583951601","host":"s3://npm-registry-packages-npm-production"}},"3.10.3":{"name":"memory-git","version":"3.10.3","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.10.3","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"4d202e1fc7c8f981e3349d5dd6873a5e18ff987d","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.10.3.tgz","fileCount":155,"integrity":"sha512-YHopkttaxZx3+H3VTlEOVRCaSsA9vPALkhoRxwt+cWeHa5LHoal+v97Rtx7YYwivMD78JvDCCGOR8f+N6NSjJg==","signatures":[{"sig":"MEUCIBpBWIjd9FMiZooz5QfJLagxt4e/zRxDyrVswU8zH3/yAiEAlRyDf59WmXmj23bk/tbI8PoG9Ov7H2kCLRtl86uy6kY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":549778},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"d75689d0cb67d84df1be60034d8afb24d1549c1c","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.3","isomorphic-git":"^1.38.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.10.3_1779746506962_0.15891971085888956","host":"s3://npm-registry-packages-npm-production"}},"3.10.4":{"name":"memory-git","version":"3.10.4","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.10.4","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"8a11545561354b1a31992abd922ac0adb4b92d82","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.10.4.tgz","fileCount":159,"integrity":"sha512-It+QjEH6LSc3A3VcxSwuar/FBmE98+fxWNI1iaE2VgT6ek3BiY7WzZ+U+y8/R8HwHc9peW9x2cQgbqrQT9DY4Q==","signatures":[{"sig":"MEYCIQCA50RiM/yA+6w0LJpH4Z5jcAYR8LSwX+4yaruIzI4JJwIhAIvO4pGQbQ6JiQpeL0ftXG6OxGw5A8Su1RmdRuGx6ezu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":565545},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"710330ec2a309d5249bce62a814f781951460e1e","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.4","isomorphic-git":"^1.38.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.10.4_1779757289490_0.6972622264548698","host":"s3://npm-registry-packages-npm-production"}},"3.10.5":{"name":"memory-git","version":"3.10.5","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.10.5","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"d21c13c091717f1530611a04a28730b4fb77c0db","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.10.5.tgz","fileCount":159,"integrity":"sha512-n+52+CaHSA2bsUFCrA13DzGFERsRqz1OFoB8hBjyTAtpQa0G0kvVbxxmBl012aoeBkC07Vujbilh+m9+NR0QOw==","signatures":[{"sig":"MEQCICz18O4mySGxQKtVSmnHHzuadYJwwEfRNnlnFx3FZpaLAiBCIU/ughxhPl9+T00YlovMhkbGlEmfopy2HaSMcrd0Tw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":566699},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"4b92bbbb28677ac65f9e080d0360f019e5be8d9b","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.4","isomorphic-git":"^1.38.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.10.5_1779820910204_0.381615694969512","host":"s3://npm-registry-packages-npm-production"}},"3.10.6":{"name":"memory-git","version":"3.10.6","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.10.6","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"b28dea45b37a0e8a804b1b1673b8f946fb9a505c","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.10.6.tgz","fileCount":159,"integrity":"sha512-lqPkWY2Hsg5JJ1l8teOqN/JUZJsqgXwJ9Ar5O5DNw2qzv3pjs+P8UtczSshcMkmWWrrcNoC3XCiWVmgPCdLO4A==","signatures":[{"sig":"MEQCIC7c9LqhS12CDgBCUmc9SFCC1qH4GMqOM3NCqzRfTbPfAiB4OxAlqWFrMzkscH5nWUkY1XRvzpkN2AYyGW0PqDAiXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":570574},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"f856f9eff7f66610608c03261bf268f866024cbb","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.4","isomorphic-git":"^1.38.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.10.6_1779831545440_0.9244173996631144","host":"s3://npm-registry-packages-npm-production"}},"3.10.7":{"name":"memory-git","version":"3.10.7","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.10.7","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"bddc529ad7198978616e7f3c87f27fbc91d539ff","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.10.7.tgz","fileCount":159,"integrity":"sha512-Zm022OXxeHhdqQAKdA0lS89ZZSdWhWpUriuAWGeH0jE/To+wcqhwINjKMCXdoQMCbznd2z5JiYs8HQ0innfjhA==","signatures":[{"sig":"MEQCIFyXyREJGoEwucVQeg1u2aKxbm1qM6yn55t9GAYwomttAiByD8oT9LGQorD88GBP73JT5h1ejAblt75bdKAXr5sbqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":577674},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"0ec5f9c3d25f26885a11127baf86b588a1b3ec63","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.4","isomorphic-git":"^1.38.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.10.7_1779850332827_0.48124186336533614","host":"s3://npm-registry-packages-npm-production"}},"3.10.8":{"name":"memory-git","version":"3.10.8","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.10.8","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"df4c60bc5120b87ee7f322210c61618a566358fa","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.10.8.tgz","fileCount":159,"integrity":"sha512-ZfWjye9eWVa2lxZaFUnQQ+nUz9+dN5+pmSOnZISRqmxPSAgnVH3ETe2VkvbsZrmKLhSsKkSZ8WZTNJgUiiCFKA==","signatures":[{"sig":"MEUCIQDPJXFTtymRcTTPNTmaXx6z0jz+Q1HXvz816nLr55dIkwIgSFUIOTbhD0L3OvAX+2FjrVWyTJyxSC3UwS2L5W0tVEI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":591918},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"bd50162529a7659ee542b3be46079860304741c2","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.4","isomorphic-git":"^1.38.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.10.8_1779912801769_0.02576027271192949","host":"s3://npm-registry-packages-npm-production"}},"3.11.0":{"name":"memory-git","version":"3.11.0","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.11.0","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"424917bb39e80eae22693fc2fdf3e2369df06421","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.11.0.tgz","fileCount":167,"integrity":"sha512-hxmYecpKSIQ8dmmrybKO+4qNA/WHF33+McG+d0cGRln9T/qKIfvwSOsPL4vudqhwHFPPlkBC+//6nROO3dSX+A==","signatures":[{"sig":"MEUCIQD8YwTCW8USgJ6LafIB7J0kEIt5X+lSLL0v0zUbi31YQwIgSlgYBxSxzdBAlEmtJUUs4G494niuDCIkb1fCEUk+atQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609556},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"a31ac69a29c49b42a935f970a3c0513113dc8fbd","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.4","isomorphic-git":"^1.38.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.11.0_1779914278274_0.8951037879132926","host":"s3://npm-registry-packages-npm-production"}},"3.12.0":{"name":"memory-git","version":"3.12.0","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.12.0","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"74f4bedb336d4f4d53852655dcc6796b766a445c","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.12.0.tgz","fileCount":167,"integrity":"sha512-OL3ENZkUGcuNQSmA02UoKyKAWCyFG4OMQzHLw22S6WZG/0jq6ZJ9IsFzIO8Vp+zD9rTNVeToln4vdbh6RQodXQ==","signatures":[{"sig":"MEUCIQDTraoVIFJCgfsD08FIcqTzScn9FlaeWNXRDA/EH/VrYwIgMune80PQLkMy/TIB08qkShIHnTtjuqS6GfNxlDMvhY0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":620451},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"3102cc70d2c7ea1b53a15775d0a17268a1066f0f","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.4","isomorphic-git":"^1.38.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.12.0_1779921899495_0.23272919076625032","host":"s3://npm-registry-packages-npm-production"}},"3.13.0":{"name":"memory-git","version":"3.13.0","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.13.0","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"30732d2eb46dfd8a1d167597eb26132bd41eb1d2","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.13.0.tgz","fileCount":175,"integrity":"sha512-/wt1TyDI0133b/+UYQ+WO0rs/+qTsAPaZfEVsSG0kSWebTQ1qVR5fI7M6H6cvinXzugKVYvoxZ4dWbXVQP1zkQ==","signatures":[{"sig":"MEUCIQDghmYOCrjM+N1vsYqKvdFYWZFJZXg5ntPRNL/Y2pBmcwIgbDc72tvTAqtXM+B4NEFezyj9D14Ckoe8U2B87aAQ90s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":639794},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"09bcd47d8d799cd46384afe410b379a2f3c32b4f","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.4","isomorphic-git":"^1.38.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.13.0_1780007514104_0.6666630087963874","host":"s3://npm-registry-packages-npm-production"}},"3.13.1":{"name":"memory-git","version":"3.13.1","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.13.1","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"86db7c1605a768e402aea26f726c7b2550c1915a","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.13.1.tgz","fileCount":171,"integrity":"sha512-IYxkOHlMMhqKkHTo60tAArXC7Cn5Q0G34PP6yD4aBgcws/uO0BuWg/g6INprNVuYc/o3TaTOYUbJPSUbTrBEWw==","signatures":[{"sig":"MEUCIQC4HHm8rkB1V3Po9nAhSPTB12aa6oM8SX898WGjOwLkXgIgdHB9RWlmQ2TEcOZ5M0IFWyUFkzdg4cAS923Fj3QNim4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":645555},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"ec042b617e06d8d0b8fc69721019d4a39bb7b348","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.4","isomorphic-git":"^1.38.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.13.1_1780015146386_0.7144604743687879","host":"s3://npm-registry-packages-npm-production"}},"3.13.2":{"name":"memory-git","version":"3.13.2","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.13.2","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"3ad1a41db878e9f7565c84d2c616894edb254e22","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.13.2.tgz","fileCount":171,"integrity":"sha512-+2lgcgnE89DcWpv+n07h8A6fAWIUp+84RDA1/1yPNHkZGwVAdGxKONBRHBs9aS8Eeq7af8MRLz+Z9uBWaKY4oQ==","signatures":[{"sig":"MEQCIBpdReu8sjJOw1nWOwvWLN3gq2HlRn/3JRTuQ3DhMgpRAiBuiDA43htqqIupigus76RkkSz2HWZD74azGEaUq5WUmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":655062},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"6d8b87ff678b24eb24f197b48a640bcd0dab3c99","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.4","isomorphic-git":"^1.38.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.13.2_1780017206037_0.9691618591062381","host":"s3://npm-registry-packages-npm-production"}},"3.14.0":{"name":"memory-git","version":"3.14.0","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.14.0","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"5c0eb27dc73a3fd0f406cdce975d8e1e0bb7a268","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.14.0.tgz","fileCount":171,"integrity":"sha512-S0puWp53D4ljzKHQ3xKT7MVljkQkJYpi01dSrqHBBBwGRGjgmdHb41Dra8agYVSvZMfWf4GE0K4rvM+2GdytTw==","signatures":[{"sig":"MEYCIQD6j6HaZ6/BgqaLjjsowpYuQ402KqmRE9+VWKcoy+wDcQIhAPqf1sJlk+ID036cvc7GqvE3vvi4uInGuSWgsnOFPhK7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":719131},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"b4246d3c726d95066a9ff6051cc1ca4bd2ec2961","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","diff":"^9.0.0","memfs":"^4.57.2","ignore":"^7.0.5","shell-quote":"^1.8.4","isomorphic-git":"^1.38.3"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.7","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.7"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.14.0_1780022865247_0.8361663109935906","host":"s3://npm-registry-packages-npm-production"}},"3.14.1":{"name":"memory-git","version":"3.14.1","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.14.1","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"aa8e4914cfbabace5333882de4487e2eed24a118","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.14.1.tgz","fileCount":171,"integrity":"sha512-4X7smloNhlagX0dyxga0n2vSkYOgjw0Ww3R7gTUhapcaw3WnTfdsygqdK9h5w8e1F5rFB7wRMqB85gGeWnUtEA==","signatures":[{"sig":"MEUCICKUa81d/bBtvU0P8c29zusDYcaD1mDcjfiR6ggB4ElKAiEA5JsSfd3YHeH7DlA3Dusg+bqYM7FT9JRl6ZQv17p5PJM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":726417},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"0233a20c922dd30265fc575da40fd8df52dc5341","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","diff":"^9.0.0","memfs":"^4.57.3","ignore":"^7.0.5","shell-quote":"^1.8.4","isomorphic-git":"^1.38.3"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.8","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.8"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.14.1_1780424514482_0.5901995524782018","host":"s3://npm-registry-packages-npm-production"}},"3.14.2":{"name":"memory-git","version":"3.14.2","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.14.2","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"d1de10f510ca06e707c849549e3e7bda43c642c9","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.14.2.tgz","fileCount":171,"integrity":"sha512-UyDE7olw8ezNXtJkHWRERd0t/6rRZ0/IMzOPGGe0baJtbih742nrR7zZ3/9v9djoLN3lejSkAuHzynOnvkIYkg==","signatures":[{"sig":"MEQCIH4vFsuTxHI5HLsftT2C0ewiWq33yWtb5ukKVZL+gMQRAiB7Uso2Uht+IJW5kMazuTrCBS1R2tWcRlinf6hPdKv8lg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":730582},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"3601e1149583c8a7019042df4bd2a4b4fe7c5058","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","diff":"^9.0.0","memfs":"^4.57.3","ignore":"^7.0.5","shell-quote":"^1.8.4","isomorphic-git":"^1.38.3"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.8","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.8"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.14.2_1780441951258_0.2596204475237214","host":"s3://npm-registry-packages-npm-production"}},"3.15.0":{"name":"memory-git","version":"3.15.0","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.15.0","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"a6b65b83c500ea356307501f8b87bd95555019c4","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.15.0.tgz","fileCount":171,"integrity":"sha512-/MBaHg2SPIQUEloNZG42hYcif8OnHmPVCXJSJJjMRu48szz/Wam2rrS/XujlpTrJJ0kRytJ2+XI2c5f7JBH1OA==","signatures":[{"sig":"MEYCIQCo4IU4mxM96mRPiLVMp84BZThaI5zLwhQu9AqwfLV6ygIhAKHfTB1KBv6lRlHqHFWIDAR3UgyGfyTDGFxaVhr3nA2b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":743007},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"cd5db93a9fce9ec72ecda8f50967ce169d196596","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","diff":"^9.0.0","memfs":"^4.57.3","ignore":"^7.0.5","shell-quote":"^1.8.4","isomorphic-git":"^1.38.3"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.8","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.8"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.15.0_1780539237957_0.2611327937596797","host":"s3://npm-registry-packages-npm-production"}},"3.16.0":{"name":"memory-git","version":"3.16.0","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.16.0","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"56eb46cdcfe7ac328c6df1d501673b745aea55c9","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.16.0.tgz","fileCount":175,"integrity":"sha512-G10GaxInpZFs76g2BIsgxrvGh9FkxgqwahGnvHcERYePdHTNPYKJrrVo/VMcRRlO5SjCShwFuRsqKaX3nkKRbQ==","signatures":[{"sig":"MEYCIQCVcf0H5Eqap3+bbJhkB1csc6M3fKTM4NKYQE4vagxv9QIhAJlCsduhsdurluKUX9H3P2RliIhj2ZIT7v0OOnmRUt9C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":757801},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"b4748e7e79aae19028f3ad3cc5a8a6831bf7001b","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.13.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.1.0","dependencies":{"mri":"^1.2.0","diff":"^9.0.0","memfs":"^4.57.7","ignore":"^7.0.5","shell-quote":"^1.8.4","isomorphic-git":"^1.38.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.9","just-bash":"^3.0.1","typescript":"^6.0.3","@types/node":"^25.9.3","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.16.0_1781824128153_0.7974886613784768","host":"s3://npm-registry-packages-npm-production"}},"3.17.1":{"name":"memory-git","version":"3.17.1","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.17.1","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"1e8a09c1d4f6763c22b65de6413f4e580569c8c7","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.17.1.tgz","fileCount":183,"integrity":"sha512-IjUs4Zbry5zl8C8KQwdM5PrmONaVCgpuz4dx2dDUj2LRSwfyssquCCxkUx/DnLBtKXeOh8FskrXIZBZFmvCEeg==","signatures":[{"sig":"MEYCIQCUi84chtNzTHDRPvBA7KT3mWZIHFEN38fsvlaR2JgZ7AIhAJ9zXGUYSkDUM47wokOoOfnPxkxaQtRTMmOZy1L7QtzR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":793919},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"bbf7eb58f09c8dd15c2026944f6f55d36471d823","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.16.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.3.1","dependencies":{"mri":"^1.2.0","diff":"^9.0.0","memfs":"^4.57.8","ignore":"^7.0.5","shell-quote":"^1.8.4","isomorphic-git":"^1.38.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.9","just-bash":"^3.0.2","typescript":"^6.0.3","@types/node":"^26.0.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.17.1_1782447555054_0.9528832528421283","host":"s3://npm-registry-packages-npm-production"}},"3.17.2":{"name":"memory-git","version":"3.17.2","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","_id":"memory-git@3.17.2","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"homepage":"https://github.com/m4n3z40/memory-git#readme","bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"dist":{"shasum":"57804f666851a96e2ab4e6c6fb9778039a864b72","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.17.2.tgz","fileCount":183,"integrity":"sha512-eGOC29PHnhMtJBAjuBijGKGkcOGJZEVKbPIa/nji+AjqyvV5UCLOpohLD85Z7Zs8zm4DEjdPGkdsQz63uk4CSA==","signatures":[{"sig":"MEQCIASYvsnF+g8Vry8i2tgThLTFti90I2yh80YCjAmijAYbAiBfyGijf5sKKcdLZtx95vrSddWbSWMOABJ43rNGMSFgEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":796558},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","default":"./dist/adapters/just-bash.js","require":"./dist/adapters/just-bash.js"}},"gitHead":"51005d0fa38d325c9d49fb0571cd8cf89d9f7367","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"repository":{"url":"git+https://github.com/m4n3z40/memory-git.git","type":"git"},"_npmVersion":"11.16.0","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","directories":{},"_nodeVersion":"26.3.1","dependencies":{"mri":"^1.2.0","diff":"^9.0.0","memfs":"^4.57.8","ignore":"^7.0.5","shell-quote":"^1.8.4","isomorphic-git":"^1.38.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1","devDependencies":{"vitest":"^4.1.9","just-bash":"^3.0.2","typescript":"^6.0.3","@types/node":"^26.0.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/memory-git_3.17.2_1782448980824_0.40321088175823205","host":"s3://npm-registry-packages-npm-production"}},"3.17.3":{"name":"memory-git","version":"3.17.3","description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","main":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.js","default":"./dist/index.js"},"./adapters/just-bash":{"types":"./dist/adapters/just-bash.d.ts","require":"./dist/adapters/just-bash.js","default":"./dist/adapters/just-bash.js"}},"types":"dist/index.d.ts","scripts":{"build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","example":"node examples/example.js","benchmark":"node benchmarks/benchmark.js","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && npm test"},"keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"author":"","license":"MIT","repository":{"type":"git","url":"git+https://github.com/m4n3z40/memory-git.git"},"bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"homepage":"https://github.com/m4n3z40/memory-git#readme","engines":{"node":">=18.0.0"},"packageManager":"pnpm@11.1.1","dependencies":{"diff":"^9.0.0","ignore":"^7.0.5","isomorphic-git":"^1.38.5","memfs":"^4.57.8","mri":"^1.2.0","shell-quote":"^1.8.4"},"devDependencies":{"@types/node":"^26.0.1","@types/shell-quote":"^1.7.5","@vitest/coverage-v8":"^4.1.9","just-bash":"^3.0.2","typescript":"^6.0.3","vitest":"^4.1.9"},"peerDependencies":{"just-bash":">=3.0.0"},"peerDependenciesMeta":{"just-bash":{"optional":true}},"gitHead":"db8ed1f9d4557861eceef8f99f5dd5cd824a8b20","_id":"memory-git@3.17.3","_nodeVersion":"26.4.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-RPt0+Jc9CiMZCWhOpkTFTcea80ZqTAqDx0gYjWZFeo6eQDqD+yk/S089LZpE8m0LqPsYEdxvIBhL/VkxuhlYCw==","shasum":"c1afbe825ce0ede441524636b63354e19d5f7b74","tarball":"https://registry.npmjs.org/memory-git/-/memory-git-3.17.3.tgz","fileCount":183,"unpackedSize":799380,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFPo5A8A3/8UtC4jt4l/+ijrGBXzanwsSMGZr9aRYuogAiAVJw0nLQaL2DQdwsmV6hKUz3abAflA4MjbmeCdKWN9hw=="}]},"_npmUser":{"name":"m4n3z40","email":"allan.marques@ymail.com"},"directories":{},"maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/memory-git_3.17.3_1783975406726_0.6387251287224189"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-28T13:54:15.814Z","modified":"2026-07-13T20:43:27.047Z","1.0.0":"2026-01-28T13:54:15.994Z","1.0.1":"2026-03-03T13:51:45.201Z","2.0.0":"2026-03-03T14:39:50.933Z","2.1.0":"2026-03-22T21:53:09.466Z","2.2.0":"2026-05-13T10:40:19.386Z","3.0.0":"2026-05-13T12:19:44.025Z","3.1.1":"2026-05-14T17:43:59.242Z","3.2.0":"2026-05-15T04:10:50.514Z","3.3.0":"2026-05-15T19:39:36.199Z","3.4.0":"2026-05-20T03:03:51.260Z","3.5.0":"2026-05-21T01:20:26.452Z","3.5.1":"2026-05-21T02:50:20.861Z","3.6.0":"2026-05-21T19:59:33.044Z","3.6.1":"2026-05-21T20:05:13.658Z","3.7.0":"2026-05-22T05:15:58.843Z","3.7.1":"2026-05-22T05:44:14.659Z","3.7.2":"2026-05-22T06:36:20.859Z","3.7.3":"2026-05-22T06:58:58.372Z","3.7.4":"2026-05-22T07:14:03.417Z","3.7.5":"2026-05-23T04:22:29.235Z","3.8.0":"2026-05-24T06:16:26.968Z","3.9.0":"2026-05-24T16:52:53.742Z","3.10.0":"2026-05-25T20:15:14.798Z","3.10.1":"2026-05-25T20:27:25.222Z","3.10.2":"2026-05-25T20:46:53.906Z","3.10.3":"2026-05-25T22:01:47.121Z","3.10.4":"2026-05-26T01:01:29.644Z","3.10.5":"2026-05-26T18:41:50.387Z","3.10.6":"2026-05-26T21:39:05.625Z","3.10.7":"2026-05-27T02:52:13.016Z","3.10.8":"2026-05-27T20:13:22.004Z","3.11.0":"2026-05-27T20:37:58.474Z","3.12.0":"2026-05-27T22:44:59.708Z","3.13.0":"2026-05-28T22:31:54.381Z","3.13.1":"2026-05-29T00:39:06.589Z","3.13.2":"2026-05-29T01:13:26.323Z","3.14.0":"2026-05-29T02:47:45.534Z","3.14.1":"2026-06-02T18:21:54.673Z","3.14.2":"2026-06-02T23:12:31.452Z","3.15.0":"2026-06-04T02:13:58.169Z","3.16.0":"2026-06-18T23:08:48.395Z","3.17.1":"2026-06-26T04:19:15.254Z","3.17.2":"2026-06-26T04:43:00.961Z","3.17.3":"2026-07-13T20:43:26.921Z"},"bugs":{"url":"https://github.com/m4n3z40/memory-git/issues"},"license":"MIT","homepage":"https://github.com/m4n3z40/memory-git#readme","keywords":["git","memory","in-memory","isomorphic-git","memfs","vfs","virtual-filesystem","git-in-memory","flush","non-blocking","typescript","ai-agents","agent","llm","claude","git-cli","exec","gitignore","efs","nfs"],"repository":{"type":"git","url":"git+https://github.com/m4n3z40/memory-git.git"},"description":"In-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Bash-like exec() dispatcher, no subprocess, isolated per-instance volumes, .gitignore-aware loading, explicit flush.","maintainers":[{"name":"m4n3z40","email":"allan.marques@ymail.com"}],"readme":"# MemoryGit\n\nIn-memory Git for AI agents, slow filesystems (EFS/NFS), and test harnesses. Run `git status`, `git commit -m \"...\"`, and every other common git command **as bash-like strings**, against an in-memory repo — no subprocess, no disk side effects until you call `flush()`.\n\n```typescript\nconst mg = new MemoryGit();\nawait mg.init();\nawait mg.writeFile('README.md', '# hello');\nawait mg.exec('git add .');\nawait mg.exec('git commit -m \"first\"');\nawait mg.exec('git log --oneline');  // → \"a1b2c3d first\"\n```\n\n## Why this exists\n\nAI coding agents and CI pipelines constantly call `git`. The standard path — `child_process.exec('git status')` against a `.git/` directory on disk — has real costs:\n\n- **~3-4ms of subprocess overhead per call**, dominating runtime for fast operations.\n- **`.git/` is a worst-case workload for slow filesystems.** A repo's `.git/objects/` has thousands of tiny files; every operation does many small reads/writes. EFS, NFS, networked dev-container volumes, and other high-latency storage amortize that poorly — a `git status` that takes 10ms locally can take seconds on EFS.\n- **Real filesystem side effects** — every experimental commit is permanent until rolled back.\n- **No isolation between parallel agents** — they fight over the working tree.\n- **Opaque to the orchestrator** — you can't easily inspect what the agent ran.\n\nMemoryGit solves these by running git purely in memory via [isomorphic-git](https://isomorphic-git.org/) on a per-instance [memfs](https://github.com/streamich/memfs) volume:\n\n- **`exec(cmd: string)` — bash-like dispatcher.** Feed agents the same git CLI strings they'd run in a terminal. Pre-existing prompts, RAG examples, and tool definitions transfer directly.\n- **No subprocess.** All ops resolve in-process. Overhead drops from ~3.6ms/call to ~0.03ms/call.\n- **`.git/` stays off the slow disk.** Load the working tree from EFS/NFS once, do all git work in RAM, flush only the files you care about back. The thousands of small-file ops that kill networked storage never happen on disk.\n- **Isolated per instance.** Spin up one MemoryGit per agent / task / branch attempt. Try, throw away, retry — no cleanup needed.\n- **Operation log = audit trail.** Every method call (including via `exec`) is recorded with params, success/failure, and timestamps. Replay or summarize what the agent did.\n- **Flush is explicit.** Memory state never touches disk until `flush()`. Agents can speculatively branch, commit, reset — and only persist the result you approve.\n\n## Installation\n\n```bash\nnpm install memory-git\n# or\npnpm add memory-git\n```\n\n## Quickstart for agents\n\n```typescript\nimport { MemoryGit } from 'memory-git';\n\nconst mg = new MemoryGit('agent-session-42');\nmg.setAuthor('Agent Smith', 'agent@example.com');\n\nawait mg.loadFromDisk('./repo', { ignore: ['node_modules', 'dist'] });\n\n// Hand `exec` straight to the agent — no parser, no shell escaping, no PTY.\nawait mg.exec('git checkout -b agent/fix-typo');\nawait mg.writeFile('src/util.ts', /* … */);\nawait mg.exec('git add src/util.ts');\nawait mg.exec('git commit -m \"fix: typo in helper\"');\n\n// Inspect what the agent did before persisting\nconsole.log(mg.exportOperationsLog());\n\n// Persist only if you're happy with the result\nawait mg.flush();\n```\n\n## The `exec()` dispatcher\n\n`exec(cmd)` accepts a bash-style git command string, strips a leading `git` if present, parses flags with `mri`, tokenizes with `shell-quote` (so `-m \"messages with spaces\"` work), and dispatches to the underlying TypeScript API.\n\n```typescript\nawait mg.exec('status --porcelain');\nawait mg.exec('git log -n 5 --oneline');\nawait mg.exec('git commit --amend -m \"reworded\"');\nawait mg.exec('git diff HEAD~1 HEAD --name-only');\nawait mg.exec('git tag -a v1.0 -m \"release\"');\nawait mg.exec('git config user.name \"Agent\"');\n```\n\n### Supported subcommands\n\n| Command | Notable flags |\n|---|---|\n| `init` | `-b/--initial-branch`, `--bare` |\n| `add` | `<path...>`, `.`, `-A/--all`, `-u/--update` |\n| `rm` | `<file>`, `--cached` |\n| `mv` | `<from> <to>`, `-f` |\n| `commit` | `-m <msg>`, `--amend`, `--allow-empty`, `-a/--all`, `--author=<n <e>>`, `--date=<iso>` |\n| `status` | (default human-readable), `--porcelain`, `-s/--short`, `-b/--branch` |\n| `log` | `-n <count>`, `--oneline`, `--author=<s>`, `--since=<iso>`, `--until=<iso>`, `--format=<fmt>`, `<ref>`. `--format` accepts the common placeholders (`%H`/`%h`/`%T`/`%t`/`%P`/`%p`/`%an`/`%ae`/`%ad`/`%ai`/`%at`/`%cn`/`%ce`/`%cd`/`%ci`/`%ct`/`%s`/`%b`/`%B`/`%n`/`%%`). Merge commits get a `Merge: <p1> <p2>` line in the default header. Date output matches git's `Thu Jan 1 00:00:00 2026 +0000` shape |\n| `show` | `<ref>` |\n| `diff` | `--cached/--staged`, `--name-only`, `--name-status`, `--stat`, `--diff-filter=ACMR`, `-q/--quiet`, `<ref>` (workdir vs ref), `<from> <to>`. Default output is the unified diff (`diff --git`, `index`, `---`/`+++`, `@@` hunks) matching `git diff --no-color` byte-for-byte on mode 100644 files; binary files get `Binary files differ` (NUL-byte heuristic). `--stat` emits `<file> | <total> ±±±±` rows + `<N> files changed, <X> insertions(+), <Y> deletions(-)` summary |\n| `branch` | (list), `<name>` (create), `-d/-D <name>`, `-m <old> <new>`, `--show-current` |\n| `checkout` | `<ref>`, `-b <new>`, `-f`, `-- <files...>` |\n| `merge` | `<branch>`, `--no-ff`, `--ff-only`, `-m <msg>`, `--abort`, `-X/--strategy-option=ours\\|theirs`, `--allow-unrelated-histories`, `--no-edit` |\n| `tag` | `<name>`, `-a -m <msg>`, `-d <name>`, `-f`, `-l`, `--points-at <ref>` |\n| `show-ref` | `[--heads] [--tags] [-d/--dereference]`. No flags = heads + tags + remotes (matches git default). `-d` adds the peeled `^{}` line for annotated tags |\n| `for-each-ref` | `[--count=<n>] [--sort=<key>]... [--format=<fmt>] [<pattern>...]`. Lists refs sorted, capped by `--count`, rendered through `--format` (`%(refname[:short\\|:strip=n])`, `%(objectname[:short[=n]])`, `%(objecttype)`, deref `%(*objectname)`/`%(*objecttype)`, `%%`). Sort keys: `refname` (default), `v:refname`/`version:refname` (git versioncmp). **Lazy**: names are sorted as strings and only the survivors after `--count` resolve oids/objects — `--sort=-v:refname --count=1 refs/tags/'v*'` reads exactly one ref regardless of tag count |\n| `describe` | `[--exact-match] [--tags] [--abbrev=<n>] [<ref>]`. Default emits `<tag>-<N>-g<short>` (or just `<tag>` when ref is the tagged commit). `--exact-match` only matches annotated tags by default (matches git); `--tags` opts in to lightweight too |\n| `pack-refs` | `--all` (default behavior), `--prune` (always on) |\n| `reset` | `--soft`, `--mixed`, `--hard`, `<ref>`, `-- <files...>` |\n| `clone` | `<url>`, `-b/--branch <ref>`, `--depth <n>`, `--single-branch`, `--no-checkout` |\n| `fetch` | `[<remote>]`, `--prune`, `--tags`, `--depth <n>` |\n| `pull` | `[<remote>] [<branch>]`, `--ff-only` |\n| `push` | `[<remote>] [<ref>]`, `--force`, `--delete` |\n| `remote` | `-v`, `add <name> <url>`, `remove <name>` |\n| `config` | `<key> [<value>]` |\n| `stash` | `push` (default), `pop`, `list` |\n| `rev-parse` | `<ref>`, `--short`, `--abbrev-ref` |\n| `rev-list` | `<ref>` or `<A>..<B>` (range: commits reachable from B not from A), `--all`, `--reverse`, `-n/--max-count <n>`, `--count` (print just the number) |\n| `merge-base` | `--is-ancestor <maybeAncestor> <descendant>` (only). Returns empty string on yes; on no, throws an `Error` with `.exitCode = 1` (same shape as `diff --quiet`) so a shell strategy can map to native git's exit-1-empty-stderr without parsing message strings. Bad refs / IO failures throw without `.exitCode`, distinguishing \"negative answer\" from \"real failure\" |\n| `ls-files` | — |\n| `ls-tree` | `[-r] [-t] [--name-only] [<tree-ish>] [<path>...]`. Reads commit/tree **objects**, never the index — immune to a stale `.git/index`. `<tree-ish>` accepts `HEAD`, branch/tag, commit SHA, or tree SHA (commits/tags peeled automatically). Throws on an unborn HEAD or bad ref |\n| `gc` | `--quiet`, `--aggressive` (no-op), `--prune=<date>` (always behaves as `--prune=now`) |\n\nUnsupported subcommands (`rebase`, `cherry-pick`, `bisect`, `reflog`, `submodule`, `worktree`, `blame`) throw a clear error rather than silently misbehaving.\n\n### Output format\n\n`exec()` returns a string mimicking real git CLI output:\n\n```\n> git commit -m \"msg\"\n[main 4a1b2c3] msg\n\n> git status --porcelain\n M src/index.ts\n?? new-file.txt\n\n> git log --oneline\n4a1b2c3 msg\n0f1e2d3 init\n```\n\nIf you need structured data instead, call the underlying methods directly: `await mg.commit('msg')` returns the SHA; `await mg.status()` returns `FileStatus[]`; etc.\n\n## Programmatic API\n\nThe class-based API is fully typed and remains the preferred entry point when you need structured results.\n\n### Setup\n\n| Method | Description |\n|--------|-------------|\n| `new MemoryGit(name?, options?)` | Creates instance with isolated volume. `{tracksDiskSnapshot, lazy, maxLogEntries}` — `lazy:true` defers reading file contents until first access (see [Lazy mode](#lazy-mode)); `maxLogEntries` caps the operation log (ring buffer, default unbounded — set a bound on long-lived/pooled instances) |\n| `setAuthor(name, email)` | Sets commit author |\n| `config(key, value?)` | Get/set git config (special-cases `user.name`/`user.email` to sync with author) |\n| `init(options?)` | Initializes empty repo. `{defaultBranch, bare}` |\n| `loadFromDisk(path, options?)` | Loads existing repo. `{respectGitignore, nestedGitignore, ignore, skipSnapshot, stageWorkingTree}` — builds a fingerprint snapshot by default so subsequent `flush` calls are incremental; pass `skipSnapshot:true` to skip the hash pass. Loading a **committed** checkout leaves `add('.')` a no-op until you write in memory (writes are tracked automatically, including via `toJustBashFs`); a fresh import (unborn HEAD) seeds the whole tree. Pass `stageWorkingTree:true` to force `add('.')` to stage a loaded worktree with pre-existing unstaged/untracked changes |\n| `clone(url, options?)` | Clones remote. `{branch, depth, singleBranch, noCheckout}` |\n| `clear()` | Resets memory state |\n| `flush(targetPath?, options?)` | Syncs memory to disk. `{clean, force}` — incremental by default; `force:true` does a full rewrite |\n| `isDirty()` | `true` if there is in-memory state not yet persisted to disk — working-tree writes **or** internal `.git/` writes (commits, tags, refs, index) from any operation. O(1). Use it to decide *when* to `flush()` under the write-behind model: it flips `true` the instant a commit or tag is created (even with no working-tree change) and back to `false` after `flush()`. Does **not** auto-flush |\n| `getDirtyPaths()` | The repo-relative paths behind `isDirty()` (e.g. `src/app.tsx`, `.git/refs/tags/v0.0.1`). Snapshot copy, for logging/observability |\n\n### Files\n\n| Method | Description |\n|--------|-------------|\n| `writeFile(filepath, content)` | Writes file |\n| `readFile(filepath, options?)` | Reads file. Default utf-8 → string; `{encoding: null}` → Buffer (binary-safe) |\n| `deleteFile(filepath)` | Deletes file |\n| `fileExists(filepath)` | Checks existence |\n| `listFiles(dir?, includeGit?)` | Lists files in working tree |\n| `rename(old, new, options?)` | `git mv`. `{force}` |\n\n### Staging and commits\n\n| Method | Description |\n|--------|-------------|\n| `add(filepath, options?)` | Stage. `filepath`: string \\| string[] \\| `'.'`. `{all, update}` |\n| `remove(filepath, options?)` | `git rm`. `{cached}` keeps the working file |\n| `commit(message, options?)` | Returns SHA. `{amend, allowEmpty, all, author, date}` |\n| `status()` | Returns `FileStatus[]` |\n| `statusText(options?)` | Porcelain/short/branch text format |\n| `diff(options?)` | `{cached, fromRef, toRef, paths, filter}` — `filter` accepts `'A'\\|'C'\\|'D'\\|'M'\\|'R'\\|'T'\\|'U'\\|'X'\\|'B'` codes (`git diff --diff-filter`) |\n| `diffText(options?)` | `{nameOnly, nameStatus}` |\n| `hasDiff(options?)` | Boolean shape of `git diff --quiet` — `true` iff `diff(options)` would return any entries |\n\n### History\n\n| Method | Description |\n|--------|-------------|\n| `log(options?)` | `{depth, ref, author, since, until}`. Returns `CommitInfo[]` (now also carries `parents`, `tree`, `committer`, and tz offsets so log/show can emit byte-identical git-style dates and `Merge:` lines) |\n| `logText(options?)` | `{oneline, format}`. `format` expands `git log --format=<fmt>` placeholders (`%H`/`%h`/`%s`/`%an`/`%ae`/`%ad`/`%ai`/`%at`/`%cn`/`%ce`/`%cd`/`%ct`/`%T`/`%t`/`%P`/`%p`/`%b`/`%B`/`%n`/`%%`) one line per commit |\n| `showRefs(options?)` | `{heads, tags, remotes}` (any unset ⇒ all). Returns `{oid, ref, peeled?}` per ref. Backs `git show-ref` |\n| `forEachRef(options?)` | `{patterns, sort, count, format}`. Returns one formatted line per selected ref. Backs `git for-each-ref`. Sorts ref *names* (strings) and resolves oids/objects only for the survivors after `count` — `{sort:['-v:refname'], count:1, patterns:['refs/tags/v*']}` reads exactly one ref on a repo with thousands of tags |\n| `describe(ref?, options?)` | `{tags, abbrev}`. Walks parents from `ref` to the nearest tag, emits `<tag>-<N>-g<short>`. `N` is computed via `revListCount(tag..ref)` for merge-DAG accuracy. `--tags` includes lightweight tags |\n| `show(ref?)` | Commit metadata + changed files |\n| `resolveRef(ref?, options?)` | `git rev-parse`. `{short, abbrevRef}`. Accepts short OIDs |\n| `revList(options?)` | `{all, reverse, maxCount, ref, range}` — `range:{from,to}` lists commits reachable from `to` but not from `from` (mirrors `git rev-list A..B`) |\n| `revListCount(options?)` | Just the count of `revList(options)`. Pair with `range` for \"how many commits is FETCH_HEAD ahead of HEAD?\" in one call |\n| `isAncestor(maybeAncestor, descendant)` | `true` iff `maybeAncestor` is reachable from `descendant` (reflexive). Mirrors `git merge-base --is-ancestor` |\n| `readFileAtRef(filepath, ref?, options?)` | `{encoding: 'utf8' \\| 'buffer'}` |\n| `listTrackedFiles(ref?)` | `git ls-tree -r` — returns just the paths at `ref` |\n| `lsTree(options?)` | `{treeish, recursive, nameOnly, showTrees, pathspecs}`. Reads commit/tree **objects** (never the index), so it's immune to a stale `.git/index`. Returns `LsTreeEntry[]` (`{mode, type, oid, path}`) in native-git order. Throws on unborn HEAD / bad ref. Backs `git ls-tree` |\n| `getChangedFiles(fromRef, toRef?, options?)` | Diff two refs. `{filter}` |\n| `reset(ref?, options?)` | `{mode: 'soft' \\| 'mixed' \\| 'hard', paths}` |\n| `resetFile(filepath)` | Resets single file to HEAD |\n\n### Branches\n\n| Method | Description |\n|--------|-------------|\n| `createBranch(name)` | Create |\n| `deleteBranch(name, options?)` | `{force}` — without force, refuses to delete unmerged branches |\n| `renameBranch(old, new)` | `git branch -m` |\n| `checkout(ref, options?)` | `{createBranch, force, files}` |\n| `listBranches()` | Returns `BranchInfo[]`. Cached per instance with in-flight dedup (see [Concurrency](#concurrency-and-caching)); invalidated on any branch create/delete/rename/checkout |\n| `branchText()` | `git branch` text format (current branch prefixed with `*`) |\n| `currentBranch()` | Returns current branch name. Cached per instance with in-flight dedup; invalidated when HEAD moves to another branch |\n| `merge(branch, options?)` | `{noFastForward, fastForwardOnly, message, strategy, allowUnrelatedHistories, author, committer, date}`. `strategy: 'ours'\\|'theirs'` resolves every conflict by keeping that side wholesale (mirrors `git merge -X ours\\|theirs`). `{author, committer, date}` pin the merge commit's identity for byte-identical OID reproduction vs `git merge` under fixed `GIT_*_DATE` |\n| `abortMerge()` | `git merge --abort`. Restores the working tree to its pre-merge state and clears `MERGE_HEAD`/`MERGE_MSG`/`MERGE_MODE`. Throws if no merge is in progress |\n\n### Tags\n\n| Method | Description |\n|--------|-------------|\n| `createTag(name, refOrOptions?, options?)` | Lightweight or annotated. `{ref, annotated, message, force, tagger, date}`. For annotated tags, `{tagger, date}` pin the tag-object OID — pass `tagger.timezoneOffset` explicitly (commonly `0`) for byte-identical reproduction vs `git tag -a` under fixed `GIT_COMMITTER_DATE`; lightweight tags carry no tagger and are unaffected |\n| `listTags(options?)` | Tag names. `{limit, offset, reverse}` for pagination |\n| `deleteTag(name)` | `git tag -d` |\n| `describeExact(ref?, options?)` | `git describe --exact-match --tags`. `{skipPeel}` skips the per-loose-tag `readTag` peel for ~5× faster cold path on lightweight-only repos |\n| `tagsPointingAt(ref?, options?)` | `git tag --points-at`. `{limit, skipPeel}` |\n| `showTagRefs(options?)` | Returns `{tagName, refOid, commitOid}` per tag. `refOid` is what the ref *itself* stores (tag-object OID for annotated, commit OID for lightweight — what `git show-ref` emits by default); `commitOid` is the peeled commit. `{limit, reverse, skipPeel}` — paginated listings short-circuit and only resolve the N tags requested instead of scanning every tag |\n| `packRefs()` | `git pack-refs --all`. Coalesces every loose `refs/{heads,tags,remotes}/*` into a single `.git/packed-refs` (annotated tags get peeled `^<commit>` lines inline). On a repo with thousands of loose tags this turns the cold path of any tag-iterating call from O(N) file reads into a single ~80 KB read. Call from `flush` (use `flush({clean:true})` so the loose files actually disappear from disk) or a periodic maintenance job — packing on every write rebuilds the whole file |\n\n### Remotes\n\n| Method | Description |\n|--------|-------------|\n| `addRemote(name, url)` | Add |\n| `deleteRemote(name)` | Remove |\n| `listRemotes()` | `RemoteInfo[]` |\n| `fetch(options?)` | `{remote, prune, tags, depth, singleBranch, ref}` |\n| `pull(options?, branch?)` | `{remote, branch, fastForward, fastForwardOnly}` |\n| `push(options?, ref?)` | `{remote, ref, remoteRef, force, delete}` |\n\n### Stash\n\n| Method | Description |\n|--------|-------------|\n| `stash()` | Saves workdir changes, restores to HEAD |\n| `stashPop()` | Restores most recent stash |\n| `stashList()` | Stash count |\n\n### Maintenance\n\n| Method | Description |\n|--------|-------------|\n| `gc(options?)` | In-memory `git gc`: repacks every reachable object into a single new pack and prunes loose copies. `{consolidatePacks, includeRemoteRefs, includeTags}` — `consolidatePacks` (default `true`) rolls existing packs into the new one too. Returns `GcResult` with reachable/loose/pack counts. Run before `flush({clean: true})` to propagate the cleanup to disk. See [Garbage collection](#garbage-collection) for the workflow and limitations |\n\n### Observability — the audit trail\n\nEvery method records an entry in the operation log. This is what makes MemoryGit useful as an agent harness: you always know exactly what the agent did.\n\n| Method | Description |\n|--------|-------------|\n| `getOperationsLog()` | All recorded operations with timestamps, params, results |\n| `getOperationsStats()` | Aggregated counts by operation, success/failure |\n| `exportOperationsLog()` | JSON string suitable for storing or feeding back to a model |\n| `clearOperationsLog()` | Reset the log |\n| `onOperation(cb)` | Subscribe to log entries as they're recorded; returns an unsubscribe function |\n| `getMemoryUsage()` | Resident bytes / file count via a cheap stat walk (no Volume clone). Includes a `breakdown` of working tree vs `.git`, and pack / loose / `looseObjects` within `.git` — use it to see where an instance's memory goes and when to `gc()` |\n| `getRepoInfo()` | Repo summary |\n\n```typescript\nconst unsub = mg.onOperation(op => {\n    tracing.record(op.operation, { ok: op.success, ms: 0, err: op.error });\n});\n// ...later\nunsub();\n```\n\nListener errors are swallowed (set `MEMORY_GIT_DEBUG=1` to log them); they will never break a git op.\n\n### Streaming output\n\nLong results (a 1000-commit log, every tracked path) don't have to be buffered.\n`execStream()` yields one logical line at a time, lets you break early, and\nrespects an `AbortSignal`.\n\n```typescript\nfor await (const line of mg.execStream('git log --oneline')) {\n    if (shouldStop()) break;\n    process.stdout.write(line + '\\n');\n}\n```\n\n`log`, `ls-files`, `ls-tree`, and `rev-list` yield item-by-item; other\nsubcommands compute the full output then yield line-by-line.\n\n### Cancellation\n\n`exec()`, `execStream()`, `clone()`, `fetch()`, `pull()`, and `push()` accept a\nstandard `AbortSignal`. On abort, the awaited promise rejects with a Web-standard\n`AbortError` (`DOMException`).\n\n```typescript\nconst ctrl = new AbortController();\nsetTimeout(() => ctrl.abort(), 5000);\ntry {\n    await mg.clone(url, { signal: ctrl.signal });\n} catch (e) {\n    if ((e as DOMException).name === 'AbortError') {\n        // request was cancelled; mutation, if any, is left as-is\n    }\n}\n```\n\nAny state mutated before abort stays mutated — rollback (e.g. `mg.clear()` and\nretry) is the caller's responsibility.\n\n### Integration with just-bash\n\nThe `memory-git/adapters/just-bash` sub-export wraps a `MemoryGit` instance in\n[just-bash](https://www.npmjs.com/package/just-bash)'s `IFileSystem` interface,\nso a single in-memory Volume can serve both git ops and shell ops. Install\n`just-bash` only if you use this sub-export.\n\n```typescript\nimport { MemoryGit } from 'memory-git';\nimport { toJustBashFs } from 'memory-git/adapters/just-bash';\nimport { Bash } from 'just-bash';\n\nconst mg = new MemoryGit();\nawait mg.init();\n\nconst bash = new Bash({ fs: toJustBashFs(mg) });\nawait bash.run('echo \"hello\" > /repo/greet.txt');\n\nawait mg.add('greet.txt');\nawait mg.commit('add greeting');\n```\n\nPass `onWrite` to be notified after every mutating call — useful for tracking\ndirty paths for write-behind flushing:\n\n```typescript\nimport { MemfsBackedFs } from 'memory-git/adapters/just-bash';\n\nconst dirty = new Set<string>();\nconst fs = new MemfsBackedFs(mg.volume, {\n    onWrite: (path, op) => { dirty.add(path); }\n});\n```\n\nIf you need the raw Node-fs-compatible interface for other libraries, use\n`mg.volume` directly — it returns the same in-memory `IFs` object.\n\n## Patterns for agent workflows\n\n### Speculative work, conditional persist\n\n```typescript\nconst mg = new MemoryGit();\nawait mg.loadFromDisk('./repo');\n\nawait mg.exec('git checkout -b speculative');\nawait agent.makeChanges(mg);          // agent reads/writes via mg\nawait mg.exec('git add .');\nawait mg.exec('git commit -m \"agent attempt\"');\n\nconst ok = await verify(mg);          // run tests, lint, whatever\nif (ok) await mg.flush();             // only NOW does it touch real disk\n```\n\n### Parallel attempts in isolation\n\n```typescript\nconst attempts = await Promise.all(\n    ['claude', 'gpt', 'haiku'].map(async name => {\n        const mg = new MemoryGit(name);\n        await mg.loadFromDisk('./repo');\n        await agent[name].run(mg);\n        return { name, log: mg.getOperationsLog(), passed: await verify(mg) };\n    })\n);\n// Pick the winner, flush only that one.\n```\n\n### Bypass slow storage (EFS / NFS / network mounts)\n\n```typescript\n// Repo lives on EFS. Cloning or running git there would be glacial.\nconst mg = new MemoryGit();\nawait mg.loadFromDisk('/mnt/efs/repo', { ignore: ['node_modules'] });\n\n// All git ops happen in RAM — no per-object round-trip to EFS\nawait mg.exec('git checkout -b release/2026.05');\nawait mg.exec('git log --oneline -n 50');\nawait mg.exec('git diff main --name-only');\n\n// Flush only the working tree changes back; .git/ never touches EFS again\nawait mg.flush('/mnt/efs/repo');\n```\n\nA typical `.git/` on a real project has 5k-50k tiny object files. On EFS that's 5k-50k × ~10ms = unusable. In memory it's a `for` loop.\n\n### Replay / summarize the agent's session\n\n```typescript\nconst summary = mg.getOperationsStats();\n// { total: 47, successful: 45, failed: 2, byOperation: { commit: { ... } } }\n\nconst fullLog = mg.exportOperationsLog();  // JSON\n```\n\n## Loading and persisting\n\n```typescript\nconst mg = new MemoryGit();\n\n// By default, loadFromDisk respects every .gitignore in the tree (root + nested).\n// The repo's own .git/ is always loaded regardless of any pattern.\nawait mg.loadFromDisk('./existing-repo');\n\n// You can still add explicit patterns on top, or opt out entirely:\nawait mg.loadFromDisk('./existing-repo', {\n    ignore: ['*.pem', 'secrets/'],   // added to whatever .gitignore says\n    nestedGitignore: false,          // only honor the root .gitignore\n    // respectGitignore: false,      // disable gitignore entirely\n});\n\n// ... do work ...\n\nawait mg.flush();                       // back to original path\nawait mg.flush('./output-dir');         // or somewhere else\n```\n\n### Lazy mode\n\nDefault `loadFromDisk` reads every working-tree file and the entire `.git/` into memory up front. For repos where you only need a tiny slice — an agent that reads HEAD plus one or two paths, a CI probe that runs `git log` once and exits — that's a lot of pointless I/O.\n\nPass `{ lazy: true }` to the constructor and `loadFromDisk` only walks the tree to learn what exists (one `stat` per file, no `read`). File bytes are pulled in the first time anything reads them through the wrapped fs — `readFile`, `git.log`, `git.checkout`, etc. Anything you never touch stays on disk.\n\n```typescript\nconst mg = new MemoryGit('agent', { lazy: true });\nawait mg.loadFromDisk('./big-repo');   // stat-only walk, near-zero bytes in RAM\nawait mg.log({ depth: 1 });            // faults in only the refs + packs it needs\nawait mg.readFile('src/util.ts');      // faults this one file\nawait mg.flush();                       // writes only what changed in memory\n```\n\nMaterialized files participate in the normal disk snapshot, so `flush()` stays incremental — untouched lazy files are never re-written. Deleting a still-lazy file in memory (`mg.deleteFile('x')`) produces a tombstone that `flush()` propagates as a disk-side delete.\n\n**Trade-offs, explicitly:**\n\n- **Pack files are all-or-nothing.** A `pack-*.pack` is loaded whole the first time any object inside is read — there's no seek inside memfs. You save on packs you never touch; you don't save *within* a pack.\n- **Operations that iterate the working tree force-materialize everything they visit.** `add('.')`, `status`, `statusMatrix` walk every tracked file. If your workflow ends with one of those, lazy doesn't help you. Lazy shines on random-access reads.\n- **`flush({ force: true })` does not refault.** A force-flush rewrites only what's currently in memory — lazy files stay where they are on disk. If you need a true bit-for-bit rewrite of the destination, don't use lazy mode.\n- **External mutation between load and read.** Lazy holds onto the `realPath` it captured at load time. If something else deletes or replaces that file on disk before you fault it in, the read surfaces `ENOENT`. Call `loadFromDisk()` again to reconcile.\n\nLazy and `tracksDiskSnapshot` compose: the wrapper feeds the snapshot a fingerprint for each file as it materializes, so the next `flush({ clean: true })` only writes what actually changed.\n\n### Incremental sync\n\n**Since 3.4, incremental sync is the default.** `loadFromDisk` builds a per-file fingerprint (size + mtime + sha1) during the load, and `flush` uses it to write only files whose content actually changed.\n\n```typescript\nconst mg = new MemoryGit();\n\n// First call: full read, plus build the fingerprint snapshot.\nawait mg.loadFromDisk('./repo');\n\n// Later — pick up only the files that changed on disk (size/mtime pre-filter):\nawait mg.loadFromDisk('./repo');\n\n// ...mutate a few files in memory...\nawait mg.writeFile('src/a.ts', '// edited');\n\n// Only files whose content hash differs from the snapshot are written.\n// Use clean:true to also delete files removed from memory.\nawait mg.flush('./repo', { clean: true });\n```\n\nThe snapshot is treated as authoritative for the destination — we don't stat disk on every file. External writes between flushes are invisible until you `loadFromDisk()` again. This is the trade-off that makes it cheap on EFS/NFS, where one stat per file dominates the cost.\n\n#### Opting out\n\nYou almost never want to opt out — the foot-gun this default is meant to prevent is asymmetric: forgetting `skipSnapshot` on load and then calling `flush` means flushing against an empty baseline, which silently rewrites every file (including `.git/objects/*`, which git leaves mode `0444` → `EACCES`). Three escape hatches, in order of granularity:\n\n```typescript\n// Per-call, on load: skip the hash pass for this load.\nawait mg.loadFromDisk('./repo', { skipSnapshot: true });\n\n// Per-call, on flush: force a full rewrite (also invalidates the snapshot).\nawait mg.flush('./repo', { force: true });\n\n// Per-instance: disable snapshot bookkeeping entirely (no warning on flush).\nconst mg = new MemoryGit('agent', { tracksDiskSnapshot: false });\n```\n\nIf `loadFromDisk` runs with `skipSnapshot:true` and `flush` is then called without `force:true`, MemoryGit logs a warning and falls back to a full rewrite — surfacing the foot-gun instead of silently doing expensive (and often failing) writes.\n\nThe legacy `{incremental: true}` flag on both methods is accepted as a no-op alias of the new default so existing callers keep working.\n\n## Garbage collection\n\nAgent sessions that churn through speculative commits, branches, and resets pile up loose objects in `.git/objects/`. `mg.gc()` repacks every reachable object into a single packfile *in memory* and deletes the loose copies; `flush({clean: true})` propagates the cleanup to disk.\n\n**The reason this exists is slow filesystems.** Native `git gc` does thousands of metadata ops in place against `.git/objects/` — fast on local SSD, brutal on EFS/NFS/networked dev-container volumes where every loose-object unlink is a round-trip. The MemoryGit pipeline (`loadFromDisk → gc → flush({clean:true})`) collapses that into one bulk read of small files, an in-RAM repack, and one batched write of the new pack plus a delete sweep. On local SSD native `git gc` is faster end-to-end (~3×); on EFS/NFS the equation inverts.\n\n```typescript\nconst mg = new MemoryGit();\nawait mg.loadFromDisk('./repo');\n\n// ... agent does work, accumulates loose objects ...\n\nconst result = await mg.gc();\n// { reachableObjects: 1500, looseDeleted: 1500, packsRemoved: 0,\n//   packFilename: 'pack-<sha>.pack', packSizeBytes: 3091382 }\n\nawait mg.flush(null, { clean: true });\n// The `clean: true` is required: gc is a deletion event, and incremental\n// flush only writes — it doesn't remove disk files unless asked to.\n```\n\nReachability is computed from local branches, remote-tracking branches, tags, and HEAD. Unreachable objects (e.g. commits orphaned by `reset --hard`) are dropped — there is no reflog grace period, so the effective behavior is `git gc --prune=now`.\n\n`{consolidatePacks: true}` (the default) rolls existing packs into the new one and deletes the old `.pack`/`.idx`/`.rev`/`.mtimes`/`.bitmap` files. The new pack remains content-addressed, so re-flushing it over an already-packed disk repo is a no-op for any pack that hasn't changed.\n\n**Limitations:**\n- `packObjects` buffers the entire new pack in memory before writing. Peak RAM during `gc()` is roughly the packed size of the repo.\n- No custom delta compression — the resulting pack may be larger than what `git gc` produces natively. Re-running `git gc` on disk after a flush re-packs with deltas if size matters.\n- Submodule pointers are not followed (their history lives in another repo).\n\n## Concurrency and caching\n\nA MemoryGit instance is typically shared by everything working on one repo — a route handler firing `Promise.all([mg.status(), mg.diff(), mg.currentBranch(), mg.listBranches()])`, a worker servicing concurrent requests, an agent fanning out reads. Several read paths resolve the same underlying state (HEAD, the branch list, the tag→commit map), and on lazy mode / slow filesystems each resolution is a disk round-trip. To keep that cheap, those resolvers are memoized per instance with **in-flight deduplication**: concurrent callers share one load instead of each starting their own, and the result is reused for the instance lifetime until a write invalidates it.\n\n| Cached resolver | Backs | Invalidated by |\n|---|---|---|\n| current branch (`HEAD`) | `currentBranch()`, `resolveRef('HEAD', {abbrevRef})`, `reset`, `statusText --branch`, `listBranches` | `checkout`, `createBranch`/`deleteBranch`/`renameBranch`, `init`, `clone`, `clear`, `loadFromDisk` |\n| local branch name list | `listBranches()` | same as above |\n| tag → commit OID map | `describeExact`, `tagsPointingAt`, `showTagRefs` | `createTag`/`deleteTag`, `init`, `clone`, `clear`, `loadFromDisk` |\n\nRef *moves* that don't change names or where HEAD points — `commit`, `reset`, `merge` — deliberately don't invalidate the branch caches: the branch you're on and the set of branch names are unchanged, only the commit a ref points at moves.\n\nThe **status matrix** — the whole-tree walk + blob hashing behind `status()`, `diff()`, `statusText()`, the empty-commit guard, and `reset --mixed` — uses a different policy. Its result tracks the working tree, which changes on every write, so it is never retained: only callers that overlap *in flight* (the same `Promise.all` burst) share one walk; the next call after settlement always rebuilds. So a concurrent `[status, diff, statusText]` does one tree walk instead of three, while a read issued after an awaited write still sees fresh state.\n\nThis is transparent — there's no API to opt in or out, and correctness is preserved because every mutating method drops the affected caches (and the status matrix is never cached past the in-flight window). The only caveat: if you bypass the public API and mutate refs directly through `mg.fs` / `mg.volume`, call the relevant operation through MemoryGit instead so the caches stay coherent.\n\n```typescript\n// One Promise.all burst → one .git/HEAD read + one branch-list read,\n// not one per call. Subsequent reads are served from memory until a\n// branch/HEAD write.\nconst [status, branch, branches] = await Promise.all([\n  mg.status(),\n  mg.currentBranch(),\n  mg.listBranches(),\n]);\n```\n\n## Memory footprint on Node 26+\n\nNode v26 introduced a regression where `new Blob([buffer]).stream()` pins its\ninput buffer in V8 *eternal handles* and never releases it. isomorphic-git uses\nexactly that call to compress every object it writes (`add` / `commit` / `merge`\n/ `clone`), so on Node 26 a long-lived process leaks roughly one object-sized\nbuffer per write. The symptom is **multi-GB RSS while the V8 heap and\n`getMemoryUsage()` stay tiny** — the retained memory is native (off-heap) and\ninvisible to the volume accounting. Node 20/22/24/25 are unaffected, and reads\nnever trigger it (the inflate path always uses pako).\n\nMemoryGit works around this automatically: on the affected Node versions it\nmakes isomorphic-git fall back to [pako](https://github.com/nodeca/pako)\n(pure-JS, no leak) for compression. The workaround primes isomorphic-git's\nfeature detection once at startup (`init` / `loadFromDisk` / `clone` await it)\nand leaves `globalThis.CompressionStream` untouched for the rest of your process.\n\nOverride via the `MEMORY_GIT_COMPRESSION` env var:\n\n| Value | Effect |\n|---|---|\n| _unset_ (default) | Auto: force pako only on Node major ≥ 26 |\n| `pako` | Force pako on any Node version |\n| `native` | Never touch compression (opt out — keeps native `CompressionStream`) |\n\n`primeSafeCompression()` and `shouldForcePako()` are exported if you need to\nprime manually (e.g. before bypassing the standard entry points) or to inspect\nthe decision.\n\n## TypeScript\n\nAll option and result types are exported:\n\n```typescript\nimport {\n    MemoryGit,\n    // Options\n    InitOptions, AddOptions, CommitOptions, RemoveOptions,\n    DeleteBranchOptions, CheckoutOptions, MergeOptions,\n    CreateTagOptions, ResetOptions, RenameOptions,\n    CloneOptions, FetchOptions, PullOptions, PushOptions,\n    LogOptions, ResolveRefOptions, DiffOptions, GcOptions,\n    // Results\n    CommitInfo, FileStatus, BranchInfo, RemoteInfo,\n    TagRef, ChangedFile, DiffEntry, MergeResult,\n    ShowResult, RevListOptions, ResetMode, GcResult,\n    MemoryUsage, RepoInfo, Author, OperationLogEntry, OperationStats\n} from 'memory-git';\n```\n\n## Migration from v1 to v2\n\n**Breaking change in v2:** each instance now has its own isolated filesystem volume. In v1, all instances shared a global memfs volume, causing interference.\n\n```typescript\n// v2 — instances are fully isolated\nconst g1 = new MemoryGit('a');\nconst g2 = new MemoryGit('b'); // independent volume, no interference\n```\n\n## Performance\n\nRun `pnpm run benchmark` to reproduce.\n\n| Workload | Git CLI (`execSync`) | MemoryGit | Result |\n|---|---|---|---|\n| Process spawn overhead | ~12-13ms / call | none | — |\n| `exec()` parsing overhead (tokenize + flag-parse) | — | ~3-6µs / call | negligible |\n| 500 small commands (status / log / rev-parse / branch --show-current / diff --quiet) | 6196ms | 68ms | **90× faster** |\n| 100 sequential commits | 3542ms | 181ms | **19.5× faster** |\n| 200 status / write / add / commit / log cycles | 15107ms | 1013ms | **14.9× faster** |\n| 50× repeated `git log` | 711ms | 39ms | **18.2× faster** |\n| Init + 50 files + commit + branch + merge | 965ms | 104ms | **9.2× faster** |\n| End-to-end `gc` on 500-commit repo (1500 loose objects): native `git gc` in place vs `loadFromDisk + mg.gc() + flush({clean:true})` | 393ms | 1159ms (116 load + 793 gc + 250 flush) | Native wins ~3× on local SSD. Ratio inverts on EFS/NFS — see below |\n| `loadFromDisk` on 500-file repo (~1MB workdir + `.git/`) | eager: 45.5ms / ~1.77 MB in RAM | lazy: 11.0ms / near-zero in RAM (dir skeleton only) | **~4× faster load** + memory scales with what you actually read, not repo size. First read of any path pays its disk cost — see [Lazy mode](#lazy-mode) |\n| Concurrent ref reads — one `Promise.all` of 8× `currentBranch` + 8× `listBranches` | — | 16 logical reads → **2** disk-eligible reads | **8× fewer round-trips**; a 500-read warm session collapses to **0** reads — see [Concurrency](#concurrency-and-caching) |\n\nFive takeaways:\n\n1. **`exec()` parsing is free.** It adds 3-6µs to a call that previously cost ~12ms via subprocess. The string-API ergonomics carry no real cost.\n2. **The agent-loop pattern is the killer use case.** Many small read-style calls amortize JS-level overhead and skip the per-call spawn tax — **>100× faster end-to-end**.\n3. **Multi-file commits are also faster.** A dirty-set tracker (writeFile marks files as needing re-stage; `add('.')` only touches those) means write-heavy workloads beat the C binary on local SSD too.\n4. **Lazy mode decouples startup cost from repo size.** When you only need a slice of the repo (HEAD + one path, one `git log`), `{ lazy: true }` skips the full-tree read and faults files in on first access.\n5. **Concurrent ref reads coalesce.** `currentBranch()` / `listBranches()` (and the tag lookups behind `describeExact` / `tagsPointingAt`) share per-instance caches with in-flight dedup, so a route handler's `Promise.all([...])` burst issues one `.git/HEAD` + one ref read instead of N, and stays cached until the next branch/HEAD write.\n\n**The gap widens dramatically on slow filesystems.** Git's `.git/objects/` is small-file-heavy by design (one file per blob, tree, and commit), which is the worst-case access pattern for EFS, NFS, and overlay/networked dev-container volumes. A `git log` over a large history that runs in 50ms on local SSD can take tens of seconds on EFS — every object is a round-trip. MemoryGit keeps all that in RAM and only flushes the actual working-tree files back when you ask it to.\n\n<details>\n<summary>Benchmark machine</summary>\n\n- Apple M4 Pro · 12 cores · 24 GB RAM\n- macOS 26.3.1\n- APFS on internal NVMe SSD\n- Node.js v26.1.0\n- memory-git v3.10, isomorphic-git v1.38.2, memfs v4.57\n\nNumbers vary per machine; the ratios are what matter, and they grow on slower disks.\n\n</details>\n\n## Dependencies\n\n- [isomorphic-git](https://isomorphic-git.org/) — pure-JS Git implementation\n- [memfs](https://github.com/streamich/memfs) — in-memory filesystem\n- [shell-quote](https://github.com/ljharb/shell-quote) — bash-style tokenization for `exec()`\n- [mri](https://github.com/lukeed/mri) — minimal CLI flag parser for `exec()`\n- [ignore](https://github.com/kaelzhang/node-ignore) — `.gitignore`-style pattern matching for `loadFromDisk`\n\n## License\n\nMIT\n","readmeFilename":"README.md"}