{"bugs":{"url":"https://github.com/openclaw/fs-safe/issues"},"dist":{"shasum":"fb9d3d3d4659e6bc2ca535fc05699f6a1bad5f5e","tarball":"https://registry.npmjs.org/@openclaw/fs-safe/-/fs-safe-0.2.7.tgz","fileCount":293,"integrity":"sha512-l/Yj3K2ChR/gI+bZo1wIe7rjKyTFwGOAw120cTCMRT8LZbVhJhTbiZLGIRBMv0Gc9GQjYE8EjPBza3RdrSSbyQ==","signatures":[{"sig":"MEUCIEAcHCnL5LWiyxq8fWotBQzGP6JdxjpfgzLsVJqH1RE8AiEAtSG4/v4XdlFkFldxHlkE3rcNk9zTLfJrtGelz4NqTRg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":806370},"name":"@openclaw/fs-safe","type":"module","engines":{"node":">=20.11"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./json":{"types":"./dist/json.d.ts","default":"./dist/json.js"},"./path":{"types":"./dist/path.d.ts","default":"./dist/path.js"},"./root":{"types":"./dist/root.d.ts","default":"./dist/root.js"},"./temp":{"types":"./dist/temp.d.ts","default":"./dist/temp.js"},"./walk":{"types":"./dist/walk.d.ts","default":"./dist/walk.js"},"./store":{"types":"./dist/store.d.ts","default":"./dist/store.js"},"./types":{"types":"./dist/types.d.ts","default":"./dist/types.js"},"./atomic":{"types":"./dist/atomic.d.ts","default":"./dist/atomic.js"},"./config":{"types":"./dist/config.d.ts","default":"./dist/config.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"},"./output":{"types":"./dist/output.d.ts","default":"./dist/output.js"},"./secret":{"types":"./dist/secret.d.ts","default":"./dist/secret.js"},"./archive":{"types":"./dist/archive.d.ts","default":"./dist/archive.js"},"./advanced":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.js"},"./file-lock":{"types":"./dist/file-lock.d.ts","default":"./dist/file-lock.js"},"./test-hooks":{"types":"./dist/test-hooks.d.ts","default":"./dist/test-hooks.js"},"./permissions":{"types":"./dist/permissions-public.d.ts","default":"./dist/permissions-public.js"},"./secure-file":{"types":"./dist/secure-file.d.ts","default":"./dist/secure-file.js"}},"gitHead":"d649786af91d3385f068cadce0b2b59bbcd4ed0b","license":"MIT","scripts":{"test":"vitest run","build":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"pnpm lint:file-size && pnpm lint:fs-boundary && pnpm build && pnpm test","prepack":"node scripts/prepack-build.mjs","benchmark":"node scripts/benchmark.mjs","docs:site":"node scripts/build-docs-site.mjs","test:coverage":"vitest run --coverage","test:security":"vitest run test/fs-safe.test.ts test/read-boundary-bypass.test.ts test/write-boundary-bypass.test.ts test/additional-boundary-bypass.test.ts test/adversarial-boundary-payloads.test.ts","lint:file-size":"node scripts/check-file-size.mjs","lint:fs-boundary":"node scripts/check-fs-boundary-primitives.mjs"},"_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"homepage":"https://github.com/openclaw/fs-safe#readme","repository":{"url":"git+https://github.com/openclaw/fs-safe.git","type":"git"},"_npmVersion":"11.14.1","description":"Capability-style filesystem roots for Node.js apps that handle untrusted relative paths.","directories":{},"maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"vincentkoc","email":"vincentkoc@ieee.org"}],"sideEffects":false,"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.6","typescript":"^5.8.3","@types/node":"^22.15.19","@vitest/coverage-v8":"4.1.6"},"optionalDependencies":{"tar":"7.5.13","jszip":"^3.10.1"},"_npmOperationalInternal":{"tmp":"tmp/fs-safe_0.2.7_1779300963938_0.846633694025009","host":"s3://npm-registry-packages-npm-production"},"_id":"@openclaw/fs-safe@0.2.7","version":"0.2.7"}