{"_id":"@grasplabs/grasp","_rev":"52-70a04838b3a66ae4e9e004085aefbd44","name":"@grasplabs/grasp","dist-tags":{"latest":"0.4.16"},"versions":{"0.0.5":{"name":"@grasplabs/grasp","version":"0.0.5","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.0.5","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"dist":{"shasum":"d94efc29283c537de93ce42a7c35a2d5e5498a71","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.0.5.tgz","fileCount":38,"integrity":"sha512-w50k5CWdNETwHChp4JCK5FfI6rCyOjAFMyiA1lSPJgRUbq03e4j1HkQVt5mjlyG1bx/I5kCwNCG93XFbH2fxig==","signatures":[{"sig":"MEUCIFn5YA0DDPNGGensRXZ1XfNpoKlL5pTTTUAedULiUDOCAiEAwaHXAWHaq8CPPkpOgYDThXGpHk+zeeHnnWU4dPpAJvE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":167775},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.0.5.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","test:coverage":"jest --coverage","build:template":"e2b template build --dockerfile e2b.Dockerfile --name playwright-pnpm-template"},"_npmUser":{"name":"akira-cn","actor":{"name":"akira-cn","type":"user","email":"19511344@qq.com"},"email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/fc878958bd2b32305cf544b691bb74aa/grasplabs-grasp-0.0.5.tgz","_integrity":"sha512-w50k5CWdNETwHChp4JCK5FfI6rCyOjAFMyiA1lSPJgRUbq03e4j1HkQVt5mjlyG1bx/I5kCwNCG93XFbH2fxig==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"dotenv":"^16.5.0","http-proxy":"^1.18.1","@e2b/code-interpreter":"^1.5.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","eslint":"^9.29.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","playwright":"^1.53.1","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","@typescript-eslint/parser":"^8.34.1","@typescript-eslint/eslint-plugin":"^8.34.1"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.0.5_1750768842214_0.5410916285693328","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@grasplabs/grasp","version":"0.0.6","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.0.6","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"dist":{"shasum":"3c4385fd2890df966900c35dc8ad6f20b9e56265","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.0.6.tgz","fileCount":38,"integrity":"sha512-gII+QJZ/DGRIDrnQUe8sD9kHGHWBcZMqugQf7UhRCNe0rka5lupHFw8zBrHu0GcnauYpKmWpl09iGZWMPZM9Qw==","signatures":[{"sig":"MEUCIQCZjRi7S+y1Otl8Y3qGflAuk0WAe0tjKBRCJElZtAmhOwIgAK/Aesn7Vv7Kwi1T83IAOM88UfgWx1IzQPMEEvxRhiY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":152059},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.0.6.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","test:coverage":"jest --coverage","build:template":"e2b template build --dockerfile e2b.Dockerfile --name playwright-pnpm-template"},"_npmUser":{"name":"akira-cn","actor":{"name":"akira-cn","type":"user","email":"19511344@qq.com"},"email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/0ddc00936bb39da8c5ed404f83b469eb/grasplabs-grasp-0.0.6.tgz","_integrity":"sha512-gII+QJZ/DGRIDrnQUe8sD9kHGHWBcZMqugQf7UhRCNe0rka5lupHFw8zBrHu0GcnauYpKmWpl09iGZWMPZM9Qw==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"dotenv":"^16.5.0","http-proxy":"^1.18.1","@e2b/code-interpreter":"^1.5.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","eslint":"^9.29.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","playwright":"^1.53.1","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","@typescript-eslint/parser":"^8.34.1","@typescript-eslint/eslint-plugin":"^8.34.1"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.0.6_1750776560980_0.8582699861484615","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@grasplabs/grasp","version":"0.0.7","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.0.7","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"dist":{"shasum":"ee8e04559a8f782c1fe4a792fa5797a407ca3e86","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.0.7.tgz","fileCount":41,"integrity":"sha512-7oh5jUvXvs1g6xxOO2DnAN6leGVLZvrvNa7aA4xlh/J1IivooAc385cbRKjKDEg4FtP/uR+C5ZSMKHFA+IrIvg==","signatures":[{"sig":"MEQCIArrAbwARGfjQIQcLSQ+kAEYATFNI+x2IsA7Zjnbx23xAiACJaagbOk+KmwwYPV5KG5qV8eKd9bhsu4FeiW62CQ7wQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":156527},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.0.7.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc && cp -r src/sandbox dist/sandbox","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","test:coverage":"jest --coverage","build:template":"e2b template build --dockerfile e2b.Dockerfile --name playwright-pnpm-template"},"_npmUser":{"name":"akira-cn","actor":{"name":"akira-cn","type":"user","email":"19511344@qq.com"},"email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/a42e518d73dc9290807784c89f148360/grasplabs-grasp-0.0.7.tgz","_integrity":"sha512-7oh5jUvXvs1g6xxOO2DnAN6leGVLZvrvNa7aA4xlh/J1IivooAc385cbRKjKDEg4FtP/uR+C5ZSMKHFA+IrIvg==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"dotenv":"^16.5.0","http-proxy":"^1.18.1","@e2b/code-interpreter":"^1.5.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","eslint":"^9.29.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","playwright":"^1.53.1","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","playwright-extra":"^4.3.6","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","@typescript-eslint/parser":"^8.34.1","puppeteer-extra-plugin-stealth":"^2.11.2","@typescript-eslint/eslint-plugin":"^8.34.1"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.0.7_1750824731269_0.6053898704821221","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@grasplabs/grasp","version":"0.0.8","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.0.8","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js"},"dist":{"shasum":"70de88734668673e6b18a14cb1900b6602ca7dfd","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.0.8.tgz","fileCount":49,"integrity":"sha512-7kg3mBxwZSsH+OvJ71PxQlo+TAJLIikNI5HwKJQQeF6Lf78X2l2V3KiZqPjGDR4zw1sO3t09E+/y83auk3M9AQ==","signatures":[{"sig":"MEYCIQDzdwFB32yMkfC3oJEEeklJrBICt8a7Y75AJ20gwqRiYgIhAKi3n2ZaPzZBIpaLKI9DqRRQjbbOMBDOvJx+/Hawivpi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163057},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.0.8.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc && cp -r src/sandbox dist/sandbox && chmod +x dist/cli/grasp-keygen.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","test:coverage":"jest --coverage","build:template":"e2b template build --dockerfile e2b.Dockerfile --name playwright-pnpm-template"},"_npmUser":{"name":"akira-cn","actor":{"name":"akira-cn","type":"user","email":"19511344@qq.com"},"email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/67f297075af83553c07170ba3df649b4/grasplabs-grasp-0.0.8.tgz","_integrity":"sha512-7kg3mBxwZSsH+OvJ71PxQlo+TAJLIikNI5HwKJQQeF6Lf78X2l2V3KiZqPjGDR4zw1sO3t09E+/y83auk3M9AQ==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"dotenv":"^16.5.0","http-proxy":"^1.18.1","@e2b/code-interpreter":"^1.5.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","eslint":"^9.29.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","commander":"^14.0.0","playwright":"^1.53.1","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","playwright-extra":"^4.3.6","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","@typescript-eslint/parser":"^8.34.1","puppeteer-extra-plugin-stealth":"^2.11.2","@typescript-eslint/eslint-plugin":"^8.34.1"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.0.8_1750841392621_0.38001162789990794","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@grasplabs/grasp","version":"0.0.9","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.0.9","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js"},"dist":{"shasum":"d2467a2a449c4c9e0b2d03e5b14031220d5e2539","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.0.9.tgz","fileCount":49,"integrity":"sha512-4VCIW61QEBOQYQNwOv0A+EpxNdiUFm9n63HENuoh2TpWQrtZJ4f2NjwmAMXfnz3GSzjE1CQXdp8Up4+5KOy4zw==","signatures":[{"sig":"MEYCIQC3NONbY5BZN9pOY0oM1HffQqUhdkPw3/FxFHsyqsB4uAIhAImi/fQnwolbWSIG1xzVW2+tGRWk6HmQ/GLrx6VXB8kM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163173},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.0.9.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc && cp -r src/sandbox dist/sandbox && chmod +x dist/cli/grasp-keygen.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","test:coverage":"jest --coverage","build:template":"e2b template build --dockerfile e2b.Dockerfile --name playwright-pnpm-template"},"_npmUser":{"name":"akira-cn","actor":{"name":"akira-cn","type":"user","email":"19511344@qq.com"},"email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/d797bcb0f619071189b7884c2be7efc6/grasplabs-grasp-0.0.9.tgz","_integrity":"sha512-4VCIW61QEBOQYQNwOv0A+EpxNdiUFm9n63HENuoh2TpWQrtZJ4f2NjwmAMXfnz3GSzjE1CQXdp8Up4+5KOy4zw==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"dotenv":"^16.5.0","http-proxy":"^1.18.1","@e2b/code-interpreter":"^1.5.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","eslint":"^9.29.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","commander":"^14.0.0","playwright":"^1.53.1","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","playwright-extra":"^4.3.6","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","@typescript-eslint/parser":"^8.34.1","puppeteer-extra-plugin-stealth":"^2.11.2","@typescript-eslint/eslint-plugin":"^8.34.1"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.0.9_1750843577193_0.9120457074794288","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@grasplabs/grasp","version":"0.0.10","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.0.10","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js"},"dist":{"shasum":"5f71094295fe6e1d6937c66b6ab0d122bf668cac","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.0.10.tgz","fileCount":50,"integrity":"sha512-hrY4YHK9glbtf0Z7/2jxGP5ZnyFPfQq5310pJknpcDwG5xTeSu9bSlK2B80zHVkVrscNnGVWO1RjSjug3GkJ6g==","signatures":[{"sig":"MEUCIDXMjX80TRsKgNm4oztsEWpo5vXgNR3hTRcKEdFFMfFrAiEAnuIa+mns3GaPcBU3ZW0wesLbKYxsF9FxRaLvvfS4Kh4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":167871},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.0.10.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc && cp -r src/sandbox dist/sandbox && chmod +x dist/cli/grasp-keygen.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","test:coverage":"jest --coverage","build:template":"e2b template build --dockerfile e2b.Dockerfile --name playwright-pnpm-template"},"_npmUser":{"name":"akira-cn","actor":{"name":"akira-cn","type":"user","email":"19511344@qq.com"},"email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/047b822226450f4f8ea8343bc1eb0563/grasplabs-grasp-0.0.10.tgz","_integrity":"sha512-hrY4YHK9glbtf0Z7/2jxGP5ZnyFPfQq5310pJknpcDwG5xTeSu9bSlK2B80zHVkVrscNnGVWO1RjSjug3GkJ6g==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"dotenv":"^16.5.0","http-proxy":"^1.18.1","@e2b/code-interpreter":"^1.5.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","eslint":"^9.29.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","commander":"^14.0.0","playwright":"^1.53.1","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","playwright-extra":"^4.3.6","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","@typescript-eslint/parser":"^8.34.1","@ghostery/adblocker-playwright":"^2.8.0","puppeteer-extra-plugin-stealth":"^2.11.2","@typescript-eslint/eslint-plugin":"^8.34.1"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.0.10_1750937454092_0.5234218016178305","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@grasplabs/grasp","version":"0.0.11","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.0.11","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js"},"dist":{"shasum":"58ab8ee50509a8698efd78b67d57b134ad3ed0b3","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.0.11.tgz","fileCount":50,"integrity":"sha512-Per9MAWAR1YH6Y9ZMcL5WPWs3SZrttiMmJU75AsgvFQjWftYbyqz35QUH4qol7xSxL5W9zzhvvna+WlEn+38og==","signatures":[{"sig":"MEUCIQCt/XUYGbn0UUu6GoqplfDuHdgFSWL/7ELXAelIIztfBgIgLXyAMkN1sttDRfdp3w5V+Va4A1QsdkUm07EuL9oe0pU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":167594},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.0.11.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc && cp -r src/sandbox dist/sandbox && chmod +x dist/cli/grasp-keygen.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","test:coverage":"jest --coverage","build:template":"e2b template build --dockerfile e2b.Dockerfile --name playwright-pnpm-template"},"_npmUser":{"name":"akira-cn","actor":{"name":"akira-cn","type":"user","email":"19511344@qq.com"},"email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/c4a7d6ea4017f2fd62d9ce6a79a95bf4/grasplabs-grasp-0.0.11.tgz","_integrity":"sha512-Per9MAWAR1YH6Y9ZMcL5WPWs3SZrttiMmJU75AsgvFQjWftYbyqz35QUH4qol7xSxL5W9zzhvvna+WlEn+38og==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"dotenv":"^16.5.0","http-proxy":"^1.18.1","@e2b/code-interpreter":"^1.5.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","eslint":"^9.29.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","commander":"^14.0.0","playwright":"^1.53.1","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","playwright-extra":"^4.3.6","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","@typescript-eslint/parser":"^8.34.1","@ghostery/adblocker-playwright":"^2.8.0","puppeteer-extra-plugin-stealth":"^2.11.2","@typescript-eslint/eslint-plugin":"^8.34.1"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.0.11_1751021341821_0.13802498858375412","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@grasplabs/grasp","version":"0.1.0","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.1.0","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js"},"dist":{"shasum":"c4761847d715a3e6948603396c43ae9f80fb93aa","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.1.0.tgz","fileCount":38,"integrity":"sha512-HNJOiNrcnw4B0qtncfXarzkfWArsxsw02Y7oUWWVpopEaMktuhpWraYGqkkgevdkg8Hf1L30mCZMYDX35geq1A==","signatures":[{"sig":"MEQCIAYNdd29pM8dERYI8xetmHYyxddTDYRECVHSvATg7LU8AiAGy4c3yeQe0t1mDGYq8tctnGHf40UmCZxlpWSU/NqFyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141469},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.1.0.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc && cp -r src/sandbox/*.mjs dist/sandbox && chmod +x dist/cli/grasp-keygen.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","test:coverage":"jest --coverage","build:template":"e2b template build --dockerfile e2b.Dockerfile --name playwright-pnpm-template"},"_npmUser":{"name":"akira-cn","actor":{"name":"akira-cn","type":"user","email":"19511344@qq.com"},"email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/0d756a348f9864abace9b94c85256a30/grasplabs-grasp-0.1.0.tgz","_integrity":"sha512-HNJOiNrcnw4B0qtncfXarzkfWArsxsw02Y7oUWWVpopEaMktuhpWraYGqkkgevdkg8Hf1L30mCZMYDX35geq1A==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"dotenv":"^16.5.0","http-proxy":"^1.18.1","@sentry/node":"^9.33.0","@e2b/code-interpreter":"^1.5.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","eslint":"^9.29.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","commander":"^14.0.0","playwright":"^1.53.1","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@logtail/node":"^0.5.5","playwright-extra":"^4.3.6","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","@typescript-eslint/parser":"^8.34.1","@ghostery/adblocker-playwright":"^2.8.0","puppeteer-extra-plugin-stealth":"^2.11.2","@typescript-eslint/eslint-plugin":"^8.34.1"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.1.0_1751281751524_0.03735538323288767","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@grasplabs/grasp","version":"0.1.1","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.1.1","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js"},"dist":{"shasum":"2a8a8a87dad28fdd5464c3324291e6d6888ddaec","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.1.1.tgz","fileCount":38,"integrity":"sha512-3j3bGQW1EqnyBcz6LhM7pwSA5JHOzzdnyYgG1xoOiieREJYSbtrWvaP/9Hm5XnHJd9nT98obqx+/XKfG/iUFxg==","signatures":[{"sig":"MEQCIGcBcF3GJp1b6hSDBDO2jROS39riSPbyfmyO8HcLnZ1vAiBTRZKHaL2PlMqMqcTJ1TuD3J7tjFqsCtn7nebBLI7YoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141736},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.1.1.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc && cp -r src/sandbox/*.mjs dist/sandbox && chmod +x dist/cli/grasp-keygen.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","test:coverage":"jest --coverage","build:template":"e2b template build --dockerfile e2b.Dockerfile --name playwright-pnpm-template"},"_npmUser":{"name":"akira-cn","actor":{"name":"akira-cn","type":"user","email":"19511344@qq.com"},"email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/5499029e261770ee2301ec472365337d/grasplabs-grasp-0.1.1.tgz","_integrity":"sha512-3j3bGQW1EqnyBcz6LhM7pwSA5JHOzzdnyYgG1xoOiieREJYSbtrWvaP/9Hm5XnHJd9nT98obqx+/XKfG/iUFxg==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"dotenv":"^16.5.0","http-proxy":"^1.18.1","@sentry/node":"^9.33.0","@e2b/code-interpreter":"^1.5.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","eslint":"^9.29.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","commander":"^14.0.0","playwright":"^1.53.1","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@logtail/node":"^0.5.5","playwright-extra":"^4.3.6","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","@typescript-eslint/parser":"^8.34.1","@ghostery/adblocker-playwright":"^2.8.0","puppeteer-extra-plugin-stealth":"^2.11.2","@typescript-eslint/eslint-plugin":"^8.34.1"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.1.1_1751342212277_0.7938050211166907","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@grasplabs/grasp","version":"0.1.2","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.1.2","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js","grasp-run-mcp":"dist/mcp/server.js"},"dist":{"shasum":"b65faef24cfcca390d5796133508ca5388db0881","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.1.2.tgz","fileCount":46,"integrity":"sha512-X9s96x6rZPPGk4Lx17erx7Oc+bLCQ0EdAoR8lPOdbgrFxXSdfv3j0N/8ax5N/7KpYSc8xhPffTDTAQmdUKwj/Q==","signatures":[{"sig":"MEYCIQDnZulTHC1bUyqNhlnf9lVVrZz1k9Tprr3mj/L5QmtTdgIhANRo0QGmGBNDk0EfAyfLQG4itu5gFMBa1CORXeMDvC8Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177074},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.1.2.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc && cp -r src/sandbox/*.mjs dist/sandbox && chmod +x dist/cli/grasp-keygen.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","test:coverage":"jest --coverage","build:template":"e2b template build --dockerfile e2b.Dockerfile --name playwright-pnpm-template"},"_npmUser":{"name":"akira-cn","actor":{"name":"akira-cn","type":"user","email":"19511344@qq.com"},"email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/f827b8d87321a9d5eeb182f15916e3a1/grasplabs-grasp-0.1.2.tgz","_integrity":"sha512-X9s96x6rZPPGk4Lx17erx7Oc+bLCQ0EdAoR8lPOdbgrFxXSdfv3j0N/8ax5N/7KpYSc8xhPffTDTAQmdUKwj/Q==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"zod":"^3.25.67","dotenv":"^16.5.0","playwright-core":"^1.53.2","@e2b/code-interpreter":"^1.5.1","@modelcontextprotocol/sdk":"^1.13.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","eslint":"^9.29.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","commander":"^14.0.0","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","@typescript-eslint/parser":"^8.34.1","@typescript-eslint/eslint-plugin":"^8.34.1"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.1.2_1751521548152_0.9320144554341112","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@grasplabs/grasp","version":"0.1.3","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.1.3","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js","grasp-run-mcp":"dist/mcp/server.js"},"dist":{"shasum":"7bb7e5adcdbde2df2e122b35a0b891de5564a120","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.1.3.tgz","fileCount":54,"integrity":"sha512-ZO1sUO6ki0BwFSBFKmBnnhgA7K+oL2e17zrde5cAzKN8WFrVSEFenPjYIL0QpPfgQ8uOrbkMV9mx+BabUzJ+MA==","signatures":[{"sig":"MEUCIQDrfm/Q4Cp36Zlj/gQlgKK3P/bJXV/QoKsItjrWtpOTHQIgAq3+xM5LAHL92Z4KIx7GgefkUISwWtZBacESWUHHceI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185687},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.1.3.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc && cp -r src/sandbox/*.mjs dist/sandbox && chmod +x dist/cli/grasp-keygen.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","test:coverage":"jest --coverage","build:template":"e2b template build --dockerfile e2b.Dockerfile --name playwright-pnpm-template"},"_npmUser":{"name":"akira-cn","actor":{"name":"akira-cn","type":"user","email":"19511344@qq.com"},"email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/ea2285d452107b926c06684e8c92ea84/grasplabs-grasp-0.1.3.tgz","_integrity":"sha512-ZO1sUO6ki0BwFSBFKmBnnhgA7K+oL2e17zrde5cAzKN8WFrVSEFenPjYIL0QpPfgQ8uOrbkMV9mx+BabUzJ+MA==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"zod":"^3.25.67","dotenv":"^16.5.0","@bearbobo/ling":"^1.0.4","playwright-core":"^1.53.2","@e2b/code-interpreter":"^1.5.1","@modelcontextprotocol/sdk":"^1.13.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","eslint":"^9.29.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","commander":"^14.0.0","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","@typescript-eslint/parser":"^8.34.1","@typescript-eslint/eslint-plugin":"^8.34.1"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.1.3_1751854994982_0.37665512190850303","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@grasplabs/grasp","version":"0.1.4","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.1.4","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js","grasp-run-mcp":"dist/mcp/server.js"},"dist":{"shasum":"4cd56df389373687dd2a11cdc390dd2c9cbfddfc","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.1.4.tgz","fileCount":54,"integrity":"sha512-NRd/pOPq21DjgG5wIW8xqxqWhjPerbXoyIVKoe9SheWn7tXnDT6TQ/nC+epxV0qevup84OQpnbgCkd0pXnoBTg==","signatures":[{"sig":"MEQCIH1vZ09vzz+uFuYtxi15bszqi2QxiGJRNBzf3MULeuPBAiA9FgKQYnPOTKamYAIVf2qs984SNLFwvR2IXRr97LXV7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186287},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.1.4.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc && cp -r src/sandbox/*.mjs dist/sandbox && chmod +x dist/cli/grasp-keygen.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","test:coverage":"jest --coverage","build:template":"e2b template build --dockerfile e2b.Dockerfile --name playwright-pnpm-template"},"_npmUser":{"name":"akira-cn","actor":{"name":"akira-cn","type":"user","email":"19511344@qq.com"},"email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/d16d2e8f846eec8cfb32543ecdf893c9/grasplabs-grasp-0.1.4.tgz","_integrity":"sha512-NRd/pOPq21DjgG5wIW8xqxqWhjPerbXoyIVKoe9SheWn7tXnDT6TQ/nC+epxV0qevup84OQpnbgCkd0pXnoBTg==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"zod":"^3.25.67","dotenv":"^16.5.0","@bearbobo/ling":"^1.0.4","playwright-core":"^1.53.2","@e2b/code-interpreter":"^1.5.1","@modelcontextprotocol/sdk":"^1.13.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","eslint":"^9.29.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","commander":"^14.0.0","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","@typescript-eslint/parser":"^8.34.1","@typescript-eslint/eslint-plugin":"^8.34.1"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.1.4_1751856382422_0.055568713928621394","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@grasplabs/grasp","version":"0.1.5","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.1.5","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js","grasp-run-mcp":"dist/mcp/server.js"},"dist":{"shasum":"3982d27e9655f4a1fcf9fa388044a7a69a2dfcc1","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.1.5.tgz","fileCount":58,"integrity":"sha512-3e38I9IeRrgmxQhY4ZbH5ESnR8IAiRGHQbETTkPoBeLKD6H0TZ7ukmd5ut3J35RE9GFZ58vbEb6WjG6SkCKrEw==","signatures":[{"sig":"MEYCIQDYsTtJcjqMpe5+evCDXGDMuEvSv+1Jt/xbDJaMr/KzOQIhAMAvvAIG1fQWwCXKMJsMgGIQhd2P8LhDb5jXoJ1Zdswl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199690},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.1.5.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc && cp -r src/sandbox/*.mjs dist/sandbox && chmod +x dist/cli/grasp-keygen.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","build:example":"cp ./example.e2b.toml ./e2b.toml && e2b template build -c \"/root/.jupyter/start-up.sh\" --dockerfile example.Dockerfile --name playwright-pnpm-template","test:coverage":"jest --coverage","build:grasp:chrome":"cp ./chrome-stable.e2b.toml ./e2b.toml && e2b template build -c \"node /home/user/index.mjs\" --dockerfile chrome-stable.Dockerfile --name grasp-run-chrome-stable","build:grasp:chromium":"cp ./chromium.e2b.toml ./e2b.toml && e2b template build -c \"PLAYWRIGHT_BROWSERS_PATH=0 node /home/user/index.mjs\" --dockerfile chromium.Dockerfile --name grasp-run-chromium"},"_npmUser":{"name":"akira-cn","actor":{"name":"akira-cn","type":"user","email":"19511344@qq.com"},"email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/cdfb9df377fbefc7c6453e6463ad2b07/grasplabs-grasp-0.1.5.tgz","_integrity":"sha512-3e38I9IeRrgmxQhY4ZbH5ESnR8IAiRGHQbETTkPoBeLKD6H0TZ7ukmd5ut3J35RE9GFZ58vbEb6WjG6SkCKrEw==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"zod":"^3.25.67","dotenv":"^16.5.0","@bearbobo/ling":"^1.0.4","playwright-core":"^1.53.2","@e2b/code-interpreter":"^1.5.1","@modelcontextprotocol/sdk":"^1.13.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","eslint":"^9.29.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","commander":"^14.0.0","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","playwright-extra":"^4.3.6","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","@typescript-eslint/parser":"^8.34.1","puppeteer-extra-plugin-stealth":"^2.11.2","@typescript-eslint/eslint-plugin":"^8.34.1"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.1.5_1752063197040_0.23509293886692428","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@grasplabs/grasp","version":"0.1.6","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.1.6","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js","grasp-run-mcp":"dist/mcp/server.js"},"dist":{"shasum":"f68beaa57fb4cbd01540650d67ef025e75f29535","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.1.6.tgz","fileCount":58,"integrity":"sha512-Mu9wOlwrrFaxWv4oyzGuKyFeA3m/JeEh2V/sCMmNkWT1MQHAUprqmMc46bP4pSoRAxxoLoK0P+CAsRkZMFVY8w==","signatures":[{"sig":"MEUCICQKGR01ii2AXwxmeFDuy9uC2Q6k3EtOBwflwgf7yRimAiEA/u+/E+E4wbP+HRvcKxgCFKoPSYHmX/kSelSctCmZU+g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199702},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.1.6.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc && cp -r src/sandbox/*.mjs dist/sandbox && chmod +x dist/cli/grasp-keygen.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","build:example":"cp ./example.e2b.toml ./e2b.toml && e2b template build -c \"/root/.jupyter/start-up.sh\" --dockerfile example.Dockerfile --name playwright-pnpm-template","test:coverage":"jest --coverage","build:grasp:chrome":"cp ./chrome-stable.e2b.toml ./e2b.toml && e2b template build -c \"xvfb-run -a node /home/user/index.js\" --dockerfile chrome-stable.Dockerfile --name grasp-run-chrome-stable","build:grasp:chromium":"cp ./chromium.e2b.toml ./e2b.toml && e2b template build -c \"PLAYWRIGHT_BROWSERS_PATH=0 xvfb-run -a node /home/user/index.js\" --dockerfile chromium.Dockerfile --name grasp-run-chromium"},"_npmUser":{"name":"akira-cn","actor":{"name":"akira-cn","type":"user","email":"19511344@qq.com"},"email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/26576c09c263841ecfb8cf3930fad2c0/grasplabs-grasp-0.1.6.tgz","_integrity":"sha512-Mu9wOlwrrFaxWv4oyzGuKyFeA3m/JeEh2V/sCMmNkWT1MQHAUprqmMc46bP4pSoRAxxoLoK0P+CAsRkZMFVY8w==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"e2b":"^1.7.1","zod":"^3.25.67","dotenv":"^16.5.0","@bearbobo/ling":"^1.0.4","playwright-core":"^1.53.2","@modelcontextprotocol/sdk":"^1.13.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","eslint":"^9.29.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","commander":"^14.0.0","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","playwright-extra":"^4.3.6","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","@typescript-eslint/parser":"^8.34.1","puppeteer-extra-plugin-stealth":"^2.11.2","@typescript-eslint/eslint-plugin":"^8.34.1"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.1.6_1752117614882_0.6934335041342012","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@grasplabs/grasp","version":"0.1.7","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.1.7","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js","grasp-run-mcp":"dist/mcp/server.js"},"dist":{"shasum":"e3a61a9b4e384a8f12546a00fbda78b86f4a1f4a","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.1.7.tgz","fileCount":46,"integrity":"sha512-GogU3yDMHzvuit0Sp+0zRsolHSryZIbAn4dE2Or0iOuIbdLlnFHTElzhwZFmPlwmu88igES8tMArJZLX00rNdw==","signatures":[{"sig":"MEQCICtQe1a3X441gv+b/2/0vLc97a9jU/SybYQCnM6QCt72AiA3TXYVTb8aCLg8lyhsZGDz/gDYOCqOB5ZqWlKFHFd2Xw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140381},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.1.7.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"tsc","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","test:watch":"jest --watch","build:proxy":"esbuild src/sandbox/http-proxy.mjs --bundle --platform=node --outfile=src/sandbox/http-proxy.js","test:coverage":"jest --coverage","build:grasp:chrome":"pnpm run build:proxy && cp ./chrome-stable.e2b.toml ./e2b.toml && e2b template build -c \"xvfb-run -a node /home/user/index.js\" --dockerfile chrome-stable.Dockerfile --name grasp-run-chrome-stable","build:grasp:chromium":"pnpm run build:proxy && cp ./chromium.e2b.toml ./e2b.toml && e2b template build -c \"PLAYWRIGHT_BROWSERS_PATH=0 xvfb-run -a node /home/user/index.js\" --dockerfile chromium.Dockerfile --name grasp-run-chromium"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/dbc0f7314f1dbc1133adac54b1187a71/grasplabs-grasp-0.1.7.tgz","_integrity":"sha512-GogU3yDMHzvuit0Sp+0zRsolHSryZIbAn4dE2Or0iOuIbdLlnFHTElzhwZFmPlwmu88igES8tMArJZLX00rNdw==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"e2b":"^1.7.1","zod":"^3.25.67","dotenv":"^16.5.0","@bearbobo/ling":"^1.0.4","playwright-core":"^1.53.2","@modelcontextprotocol/sdk":"^1.13.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","eslint":"^9.29.0","esbuild":"^0.25.6","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","commander":"^14.0.0","@eslint/js":"^9.31.0","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.1.7_1752588161158_0.42219892216689825","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@grasplabs/grasp","version":"0.1.8","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.1.8","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js","grasp-run-mcp":"dist/mcp/server.js"},"dist":{"shasum":"f65a92dfcdb3c481cc3d0b6e52314257cb75ad73","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.1.8.tgz","fileCount":54,"integrity":"sha512-BP1Oo/23zWY7kDAL7rLyqFR1laDcYvW/T75GDd97UFuCQtcrLS5EOxARIUdOqjPWyljYL0OLgjP3wVvaJKy8og==","signatures":[{"sig":"MEUCIQCEj9viWQhZf2nI7Yt6b2ufMfOcIgg7rxnLygaJqoOzYwIge2OmvXzyZXHaNC+6CzuPnlW2Twembe6yVdCHohm/vJ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153526},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.1.8.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"tsc","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","test:watch":"jest --watch","build:proxy":"esbuild src/sandbox/http-proxy.mjs --bundle --platform=node --outfile=src/sandbox/http-proxy.js","test:coverage":"jest --coverage","build:grasp:chrome":"pnpm run build:proxy && cp ./chrome-stable.e2b.toml ./e2b.toml && e2b template build -c \"xvfb-run -a node /home/user/index.js\" --dockerfile chrome-stable.Dockerfile --name grasp-run-chrome-stable","build:grasp:chromium":"pnpm run build:proxy && cp ./chromium.e2b.toml ./e2b.toml && e2b template build -c \"PLAYWRIGHT_BROWSERS_PATH=0 xvfb-run -a node /home/user/index.js\" --dockerfile chromium.Dockerfile --name grasp-run-chromium"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/5f94aa9255c167cdaba087090c521ec6/grasplabs-grasp-0.1.8.tgz","_integrity":"sha512-BP1Oo/23zWY7kDAL7rLyqFR1laDcYvW/T75GDd97UFuCQtcrLS5EOxARIUdOqjPWyljYL0OLgjP3wVvaJKy8og==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","zod":"^3.25.67","uuid":"^11.1.0","dotenv":"^16.5.0","@bearbobo/ling":"^1.0.4","playwright-core":"^1.53.2","@modelcontextprotocol/sdk":"^1.13.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","eslint":"^9.29.0","esbuild":"^0.25.6","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.1.8_1752647161079_0.44520646601531166","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@grasplabs/grasp","version":"0.2.0","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.2.0","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js"},"dist":{"shasum":"2837f7557dd2675a5201b12657766995dc08659e","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.2.0.tgz","fileCount":42,"integrity":"sha512-7bbwSSpIbx0VL0w5iJeIs3ISrCn0mbumABZM3Uio3THVaSPhpxsmSyEraYOhInYiqlVM+lnK/bxua3gUhNZJHA==","signatures":[{"sig":"MEUCIQCC/wZSx0r/RL1KWb1QrJmzovnEuhi3fD65kuY/3PJ4ewIgKMBHsLH/5I7NEI5qRLcObeGI84exFK9Ge8qAvFu23UA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149905},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.2.0.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"pnpm run build:sandbox && cp ./chrome-stable.e2b.toml ./e2b.toml && e2b template build -c \"xvfb-run -a node /home/user/index.js\" --dockerfile chrome-stable.Dockerfile --name grasp-run-chrome-stable-v2 --cpu-count 8 --memory-mb 8192","deploy:grasp:chromium":"pnpm run build:sandbox && cp ./chromium.e2b.toml ./e2b.toml && e2b template build -c \"PLAYWRIGHT_BROWSERS_PATH=0 xvfb-run -a node /home/user/index.js\" --dockerfile chromium.Dockerfile --name grasp-run-chromium-v2 --cpu-count 8 --memory-mb 8192"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/2d58022f397971d0816729a467b753fe/grasplabs-grasp-0.2.0.tgz","_integrity":"sha512-7bbwSSpIbx0VL0w5iJeIs3ISrCn0mbumABZM3Uio3THVaSPhpxsmSyEraYOhInYiqlVM+lnK/bxua3gUhNZJHA==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","uuid":"^11.1.0","dotenv":"^16.5.0","playwright-core":"^1.53.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","esbuild":"^0.25.6","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.2.0_1753146410147_0.5502513266541327","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@grasplabs/grasp","version":"0.3.0","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.3.0","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js"},"dist":{"shasum":"2772756cf90c0ee4574302d68a64a42050838699","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.3.0.tgz","fileCount":46,"integrity":"sha512-muJx2YJS91ZzqMslYXCeajqEB12PrZhM4t8NA2D2/wf6fcntly2CXYqRoh0vKrxFuxYPLZ+dJ53oqS3VMREjig==","signatures":[{"sig":"MEQCIFnyirmCjMJ/vpK/9H2vgIJpOOrKhPP8e9s/6ZohZ7jWAiBu6yufiWZFX+4VoI+8v8N5SI5Q1NJJE06+Cwo13rWFEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163417},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.3.0.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"pnpm run build:sandbox && cp ./chrome-stable.e2b.toml ./e2b.toml && e2b template build -c \"xvfb-run -a node /home/user/index.js\" --dockerfile chrome-stable.Dockerfile --name grasp-run-chrome-stable-v2 --cpu-count 8 --memory-mb 8192","deploy:grasp:chromium":"pnpm run build:sandbox && cp ./chromium.e2b.toml ./e2b.toml && e2b template build -c \"PLAYWRIGHT_BROWSERS_PATH=0 xvfb-run -a node /home/user/index.js\" --dockerfile chromium.Dockerfile --name grasp-run-chromium-v2 --cpu-count 8 --memory-mb 8192"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/6faf75544cbec7747b205e809e50ee72/grasplabs-grasp-0.3.0.tgz","_integrity":"sha512-muJx2YJS91ZzqMslYXCeajqEB12PrZhM4t8NA2D2/wf6fcntly2CXYqRoh0vKrxFuxYPLZ+dJ53oqS3VMREjig==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","uuid":"^11.1.0","dotenv":"^16.5.0","playwright-core":"^1.53.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","esbuild":"^0.25.6","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.3.0_1753207489998_0.22161745283870027","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@grasplabs/grasp","version":"0.3.1","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.3.1","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js"},"dist":{"shasum":"d8782a2b2b037c8b124deb650e8dce0fff556616","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.3.1.tgz","fileCount":46,"integrity":"sha512-1g9bnztWcQa1oXhhxL6SgnF+4cYPv4svJ5OjxAL0FymKBcim5de0cwGWwIw7fNKAMHsq2zuX5Vj09GRYVnjAAw==","signatures":[{"sig":"MEQCIB01mHjPAeIBjdPyNQQZ/ALZqsVggNNn1KWqyPTZc/ToAiBeZHUCTlezd1SDZCd5gtbiMnXs29HC3T7LdUB2vlIQ1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163895},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.3.1.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"pnpm run build:sandbox && cp ./chrome-stable.e2b.toml ./e2b.toml && e2b template build -c \"xvfb-run -a node /home/user/index.js\" --dockerfile chrome-stable.Dockerfile --name grasp-run-chrome-stable-v2 --cpu-count 8 --memory-mb 8192","deploy:grasp:chromium":"pnpm run build:sandbox && cp ./chromium.e2b.toml ./e2b.toml && e2b template build -c \"PLAYWRIGHT_BROWSERS_PATH=0 xvfb-run -a node /home/user/index.js\" --dockerfile chromium.Dockerfile --name grasp-run-chromium-v2 --cpu-count 8 --memory-mb 8192"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/9aed6c8d69c674232f38b3f2164c5f8a/grasplabs-grasp-0.3.1.tgz","_integrity":"sha512-1g9bnztWcQa1oXhhxL6SgnF+4cYPv4svJ5OjxAL0FymKBcim5de0cwGWwIw7fNKAMHsq2zuX5Vj09GRYVnjAAw==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","uuid":"^11.1.0","dotenv":"^16.5.0","playwright-core":"^1.53.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","esbuild":"^0.25.6","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.3.1_1753235717133_0.772145740019764","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@grasplabs/grasp","version":"0.3.2","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.3.2","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js"},"dist":{"shasum":"1d7148b28719ab8cd7a9a07b41469d9d6d3fbab2","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.3.2.tgz","fileCount":46,"integrity":"sha512-3sONr2aVv/z6b+1m+uIG9/oNNgBiXbf8TpKGMhvRgS2jTa0Eqv8UnR2DUDUE4NKdhl3km6Iq8pGoKY8yda9ttw==","signatures":[{"sig":"MEYCIQDmRuHuY7rLZd1DYS/MO6KUYNTxOgp4HRqW6qECybhA4gIhAL08ek5i7sQwSbzlMinOew+keP11u6rPo+xP59XHPLv9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163608},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.3.2.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/f177ade92874311c8a63a025df11ab07/grasplabs-grasp-0.3.2.tgz","_integrity":"sha512-3sONr2aVv/z6b+1m+uIG9/oNNgBiXbf8TpKGMhvRgS2jTa0Eqv8UnR2DUDUE4NKdhl3km6Iq8pGoKY8yda9ttw==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","uuid":"^11.1.0","dotenv":"^16.5.0","playwright-core":"^1.53.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","esbuild":"^0.25.6","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.3.2_1753240532985_0.49558201770424115","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@grasplabs/grasp","version":"0.3.3","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.3.3","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js"},"dist":{"shasum":"ff83f33c0e6bf1c85210b36a7d1be53a282197b3","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.3.3.tgz","fileCount":46,"integrity":"sha512-NqPHp7YSKzW0mbLNn4TnVSnVE0ZKOn9FQ8Sw15p3m6aaSW+PgvMsAKaiLOtnooJOGujNz/GuzBAXvBDb8NWZWw==","signatures":[{"sig":"MEUCIAvSl2K6hwYv3MhVTiZ66YU7pvWr5Lc2LbJRX9rQGXbyAiEAvyXOdiYgORJn7hLh+ug/i4Bk7Qocy8qcqb150nW8T4E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163487},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.3.3.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/4bda03ad6cdc5f8ce5c0385c3a529eb8/grasplabs-grasp-0.3.3.tgz","_integrity":"sha512-NqPHp7YSKzW0mbLNn4TnVSnVE0ZKOn9FQ8Sw15p3m6aaSW+PgvMsAKaiLOtnooJOGujNz/GuzBAXvBDb8NWZWw==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","uuid":"^11.1.0","dotenv":"^16.5.0","playwright-core":"^1.53.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","esbuild":"^0.25.6","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.3.3_1753244996038_0.618617149722144","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@grasplabs/grasp","version":"0.3.4","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.3.4","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js"},"dist":{"shasum":"5c27e52741151a1ddfaa6aee4bc029fdc149d766","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.3.4.tgz","fileCount":46,"integrity":"sha512-OuzoeakbmBloLYj7zChstPu8skwyW57hFcL9J3rIWXa9Ag2M13TMRJF+I69suZ4o2pB5MlTL34WJPrRDCfMQHA==","signatures":[{"sig":"MEUCIFqcA5KjDPW/wircMV6XrdyJ7u+hDW0b6Wljs20DduKBAiEAx3LQcdyWCMHVvDEX+PrQIzgRhL+VCQWptOAs/6N86iY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162616},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.3.4.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/026adee7896c9d7eeb4a6771afc0460f/grasplabs-grasp-0.3.4.tgz","_integrity":"sha512-OuzoeakbmBloLYj7zChstPu8skwyW57hFcL9J3rIWXa9Ag2M13TMRJF+I69suZ4o2pB5MlTL34WJPrRDCfMQHA==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","uuid":"^11.1.0","dotenv":"^16.5.0","playwright-core":"^1.53.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","esbuild":"^0.25.6","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.3.4_1753254913532_0.03128639004682765","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@grasplabs/grasp","version":"0.3.5","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.3.5","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js"},"dist":{"shasum":"3044406f16371b1b0ac5c0565a82ac6bf308e964","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.3.5.tgz","fileCount":46,"integrity":"sha512-2Hgl3zNAx+R4FTCIkDg1uzfxcuAp/6t4JST79wlnP2UHaL3yHLRWL6I+VteSVynSNTnhLB64JttPLEzQLDBWFA==","signatures":[{"sig":"MEUCIQDB0a5N/5vQqmGOVKGgD5hmEcs9u5rPcNMEu0emMti9pwIgHV6/yKbGU7IPuM4HVNMY+4WY2cTLwn8bkcrAjuveIes=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163228},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.3.5.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/d65e178e5311c7b7180f6b9b965bf958/grasplabs-grasp-0.3.5.tgz","_integrity":"sha512-2Hgl3zNAx+R4FTCIkDg1uzfxcuAp/6t4JST79wlnP2UHaL3yHLRWL6I+VteSVynSNTnhLB64JttPLEzQLDBWFA==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","uuid":"^11.1.0","dotenv":"^16.5.0","playwright-core":"^1.53.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","esbuild":"^0.25.6","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.3.5_1753256824203_0.25743909776474205","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@grasplabs/grasp","version":"0.3.6","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.3.6","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js"},"dist":{"shasum":"78d43f4419c3a278d693d5fdafedaf60e3582ae1","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.3.6.tgz","fileCount":70,"integrity":"sha512-orSe0dPNJWmzqNElu8TuU1ki8nraVP317HS+ksRbMuifXVDjo5cAqgPJe1UwRSQvMAjIjmb2M2UwGAotwfYziw==","signatures":[{"sig":"MEYCIQCv0Jr6KwvtM+uW3HMPj6fdraRMN5g463R1bDoAUL3GSAIhAIasxMAQSdYDzALVDFeFX6KBAh0tjee1OcuGbl36LNAc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171085},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.3.6.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/604f489d3f69ed49ab592c272606fb1f/grasplabs-grasp-0.3.6.tgz","_integrity":"sha512-orSe0dPNJWmzqNElu8TuU1ki8nraVP317HS+ksRbMuifXVDjo5cAqgPJe1UwRSQvMAjIjmb2M2UwGAotwfYziw==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","uuid":"^11.1.0","dotenv":"^16.5.0","playwright-core":"^1.53.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","esbuild":"^0.25.6","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.3.6_1753263030501_0.9271797459417064","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@grasplabs/grasp","version":"0.3.7","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.3.7","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"dist":{"shasum":"3768e291cdd513efb1603064f1d1cdc5ad4cf71b","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.3.7.tgz","fileCount":70,"integrity":"sha512-XjGULYDB5VPdFwKIm889smOSwTa+IjOtG/vPnHtK149IpZ//yI8Xwz2uNp7iJfDP7Bicn7dnxYCOiuU+T6kzkg==","signatures":[{"sig":"MEUCIQC2IBa5v254xKOe+my/V62SvnDLXvJUGjqoI3XRKO/YjwIgMtqCDBES8P9mQ3gE4cV4XVYOHJZKUrElnYcfBd/z3Co=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171447},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.3.7.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/6bab3d24a749b709964cda1f3ad6d0c6/grasplabs-grasp-0.3.7.tgz","_integrity":"sha512-XjGULYDB5VPdFwKIm889smOSwTa+IjOtG/vPnHtK149IpZ//yI8Xwz2uNp7iJfDP7Bicn7dnxYCOiuU+T6kzkg==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","uuid":"^11.1.0","dotenv":"^16.5.0","playwright-core":"^1.53.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","esbuild":"^0.25.6","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.3.7_1753343355903_0.4489417425291853","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"@grasplabs/grasp","version":"0.3.8","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.3.8","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"dist":{"shasum":"11ffa1f38ef36eaaef76d1339ec7dfd64be685d5","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.3.8.tgz","fileCount":70,"integrity":"sha512-kCRwd1pTOxWim0cWK0dcCP/lYph527SPlWXSg4uxQS0qO7vIgT2J4Puwhk7whOYzx2LE/PwtIO5hA+o92tn5kg==","signatures":[{"sig":"MEYCIQCftFFEkzpzabyZO6h+z2vNCCNilq7cCcRa+dl6iaDyqgIhALAN1Cps+bqr6vnt75YsqsV3B14nGdwsnAKVsU04k4oo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171678},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.3.8.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/7891ea931f25e906dd8f86099affd03c/grasplabs-grasp-0.3.8.tgz","_integrity":"sha512-kCRwd1pTOxWim0cWK0dcCP/lYph527SPlWXSg4uxQS0qO7vIgT2J4Puwhk7whOYzx2LE/PwtIO5hA+o92tn5kg==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","uuid":"^11.1.0","dotenv":"^16.5.0","playwright-core":"^1.53.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","esbuild":"^0.25.6","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.3.8_1753347708382_0.8215453706065121","host":"s3://npm-registry-packages-npm-production"}},"0.3.9":{"name":"@grasplabs/grasp","version":"0.3.9","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.3.9","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"dist":{"shasum":"1b3965cd64abb572c8866cb25eca6ce6c9c57a4e","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.3.9.tgz","fileCount":70,"integrity":"sha512-0NAnXvfDFR8n2sFSEvIAyqQ4IvUjfZ/Kr2jeRKTHy0TKlvs3v8Jsc/v6VtOdOLs+836Fs3HOKh59Ys5aJUd6oQ==","signatures":[{"sig":"MEYCIQDJG8mjUYM1EGq706Pj3O25qTsP3eZwFEMl7vSuue6rFwIhAMhrFm+KPQIGzAqNqxuZGCdwXnEiJvARGsyUzuRULIXM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171872},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.3.9.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/aaa86d016a05d4799cc2eb3d3951a2f8/grasplabs-grasp-0.3.9.tgz","_integrity":"sha512-0NAnXvfDFR8n2sFSEvIAyqQ4IvUjfZ/Kr2jeRKTHy0TKlvs3v8Jsc/v6VtOdOLs+836Fs3HOKh59Ys5aJUd6oQ==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","uuid":"^11.1.0","dotenv":"^16.5.0","playwright-core":"^1.53.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","esbuild":"^0.25.6","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.3.9_1753353929574_0.5111721170806562","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@grasplabs/grasp","version":"0.4.0","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.4.0","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"dist":{"shasum":"805136a11e5e43ae1ee1f5b3787f1978b8ea11a2","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.4.0.tgz","fileCount":70,"integrity":"sha512-QCD3csJkdzZXRNZnpIgBm+cmVjq4/PKbmRf2tqGgbh/HZ/hp6LnBEx5NSosyYWyWvQw9xPi3oEfE1UnKBCoKyQ==","signatures":[{"sig":"MEYCIQCdYGkcQr5ZwbNTXS77N77D6QG6PgqqthaL8cjyli5XkgIhAKeQfFWUfvfQkf2Kv/7Gl9+YJz520uDRYWzvad3ThGwh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":178090},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.4.0.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/624bb0baa8c8788fdb4c9661bf126d31/grasplabs-grasp-0.4.0.tgz","_integrity":"sha512-QCD3csJkdzZXRNZnpIgBm+cmVjq4/PKbmRf2tqGgbh/HZ/hp6LnBEx5NSosyYWyWvQw9xPi3oEfE1UnKBCoKyQ==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","uuid":"^11.1.0","dotenv":"^16.5.0","playwright-core":"^1.53.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","open":"^10.2.0","sharp":"^0.34.3","eslint":"^9.29.0","esbuild":"^0.25.6","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.4.0_1753413599222_0.005974150640083886","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@grasplabs/grasp","version":"0.4.1","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.4.1","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"dist":{"shasum":"211fec2a94dbfbad1ab2394cf43cc8d43e96bc29","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.4.1.tgz","fileCount":70,"integrity":"sha512-PGp2CDGmvosb6D8qTHd8XS459kVGesKAtZCSlfTsygpsVxZhtJGLYKik8l4uttAR3+IlrL1kPDVZLbCNbfdp5w==","signatures":[{"sig":"MEUCIQCoMz5VmgApE5o2AuCpE8LG2XOZq/Ey292D2jpFoyl/vQIgavirlW59TVTUdIhaXMZjNq0rujjEc+EoT2DXHktWkRc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177382},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.4.1.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/9a96b18b31fd57fa923ccfe37ff7949a/grasplabs-grasp-0.4.1.tgz","_integrity":"sha512-PGp2CDGmvosb6D8qTHd8XS459kVGesKAtZCSlfTsygpsVxZhtJGLYKik8l4uttAR3+IlrL1kPDVZLbCNbfdp5w==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","uuid":"^11.1.0","dotenv":"^16.5.0","playwright-core":"^1.53.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","open":"^10.2.0","sharp":"^0.34.3","eslint":"^9.29.0","esbuild":"^0.25.6","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.4.1_1753444911010_0.8971413169187037","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@grasplabs/grasp","version":"0.4.2","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.4.2","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js","grasp-mcp-server":"dist/cli/mcp-server.js"},"dist":{"shasum":"37d0badfdb61155404742e5629ff6dff9bed2a67","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.4.2.tgz","fileCount":78,"integrity":"sha512-jifEBBrA/qV4pa/qXmm+jB/YQPNmeJbQUJ6l415XgE8delrELz94KAt/PRlCVQ2P8FgohGssPWIbV/7ziBxB9w==","signatures":[{"sig":"MEYCIQD6g7zpcc5bFSCfdPstgLMsucTKKrLPGcq8hg4HXUNdFQIhAMOmFXXYT/uz6qzrAOgjzyIqFbabHAflQNma468bqU2z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":192632},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.4.2.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/5ebc0eb114d72415fd215025439061f5/grasplabs-grasp-0.4.2.tgz","_integrity":"sha512-jifEBBrA/qV4pa/qXmm+jB/YQPNmeJbQUJ6l415XgE8delrELz94KAt/PRlCVQ2P8FgohGssPWIbV/7ziBxB9w==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","zod":"^3.25.76","open":"^8.4.2","uuid":"^11.1.0","dotenv":"^16.5.0","playwright-core":"^1.53.2","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","esbuild":"^0.25.6","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.4.2_1753501113411_0.3164705317780945","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@grasplabs/grasp","version":"0.4.3","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.4.3","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js","grasp-mcp-server":"dist/cli/mcp-server.js"},"dist":{"shasum":"4fd803d52ea3008f4c075d0c840a3a9b0b7c1df2","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.4.3.tgz","fileCount":74,"integrity":"sha512-6aOwn260pwEN6URKkcXXYym4mGcoh2gemjS+s3FBL/SnUhqKLmtMD1Qc9HJOPeNRGgLueB0M4j0AlUnsfcfgTg==","signatures":[{"sig":"MEYCIQDSvmpMJPeuQRSQO7TslvVi7vxmPt/vPlJ7/5RmyyKZOAIhAMH+X+M2tk/HKrGXj+GC4bRSGedzk7G4wxJqOtTrL1ob","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191922},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.4.3.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/7ea206bee61b9587e1858ce9603a717a/grasplabs-grasp-0.4.3.tgz","_integrity":"sha512-6aOwn260pwEN6URKkcXXYym4mGcoh2gemjS+s3FBL/SnUhqKLmtMD1Qc9HJOPeNRGgLueB0M4j0AlUnsfcfgTg==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","zod":"^3.25.76","open":"^8.4.2","uuid":"^11.1.0","dotenv":"^16.5.0","playwright-core":"^1.53.2","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","esbuild":"^0.25.6","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.4.3_1753521201994_0.8802377981525549","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@grasplabs/grasp","version":"0.4.4","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.4.4","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-keygen":"dist/cli/grasp-keygen.js","grasp-mcp-server":"dist/cli/mcp-server.js"},"dist":{"shasum":"460d4fe5febc8944c880d4b9e47a17b9c8484e08","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.4.4.tgz","fileCount":74,"integrity":"sha512-AK6PRpS6M3eRSDGLknTuAmYVqAQ/+4ev9w94WBFpqfixZwWBATBsxGuTrIYyaqyHZDKDAEfckHkxunXKItvoiw==","signatures":[{"sig":"MEUCIHq/xXErMK/vt1E2567mcZM5WoUgKgTVdfCCIAq/V4lbAiEA4srN6IMhbCh58K/6dWuac/cNppLyBE9tvbMUd5ZG6DY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202491},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.4.4.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/1e125205d48e919d9762448e7dbc783b/grasplabs-grasp-0.4.4.tgz","_integrity":"sha512-AK6PRpS6M3eRSDGLknTuAmYVqAQ/+4ev9w94WBFpqfixZwWBATBsxGuTrIYyaqyHZDKDAEfckHkxunXKItvoiw==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","zod":"^3.25.76","open":"^8.4.2","uuid":"^11.1.0","dotenv":"^16.5.0","playwright-core":"^1.53.2","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","esbuild":"^0.25.6","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.4.4_1753594922421_0.21553407697752758","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@grasplabs/grasp","version":"0.4.5","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.4.5","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-run":"dist/cli/grasp-run.js","grasp-keygen":"dist/cli/grasp-keygen.js","grasp-mcp-server":"dist/cli/mcp-server.js"},"dist":{"shasum":"18d1b717a286ce35139ac402256095f82ec1bb69","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.4.5.tgz","fileCount":78,"integrity":"sha512-Tfh+tCYXwuej9HlEb2eyrVnuaX3+5E+/wySsDho3+FzBiTX3N3O7vCciIMw7vwTMVG2wy7uZ+4cORhdgUVRgjQ==","signatures":[{"sig":"MEUCICRT3/191LbUp/h6PlmPyd/c/BrqC//iTKGyIvzdNAfnAiEArCc/9XyXqE7zPu07O0YxEK/XQtyvYi3iyB0K7OvvwDE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219522},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.4.5.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/e4987b2c50218e6ec814a1af92c454ae/grasplabs-grasp-0.4.5.tgz","_integrity":"sha512-Tfh+tCYXwuej9HlEb2eyrVnuaX3+5E+/wySsDho3+FzBiTX3N3O7vCciIMw7vwTMVG2wy7uZ+4cORhdgUVRgjQ==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","zod":"^3.25.76","open":"^8.4.2","uuid":"^11.1.0","dotenv":"^16.5.0","esbuild":"^0.25.8","playwright-core":"^1.53.2","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.4.5_1753610098219_0.27900442704972317","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@grasplabs/grasp","version":"0.4.6","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.4.6","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-run":"dist/cli/grasp-run.js","grasp-keygen":"dist/cli/grasp-keygen.js","grasp-mcp-server":"dist/cli/mcp-server.js"},"dist":{"shasum":"90c38571f1df21f1acc7ad5f54ee38e8ddd31583","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.4.6.tgz","fileCount":78,"integrity":"sha512-z4yhqpy/UHI8YeO5ETVe+xqsilkCMF+sSq0Sb2sWaV4nNtedRmzsah6sx7wVkTS4f6r3YDQLQ1kapkPUzvW2ZQ==","signatures":[{"sig":"MEUCIQCiZFAolyc31eXwYZQ8NSzgFNPY9JSJyHuiah+Um7j/fAIgATgTRo7O8+0NfUW8uF+pwMYUO7Inh19OlARVJSieakw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219571},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.4.6.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/6e173068de2dae8cbba53dcab3e01673/grasplabs-grasp-0.4.6.tgz","_integrity":"sha512-z4yhqpy/UHI8YeO5ETVe+xqsilkCMF+sSq0Sb2sWaV4nNtedRmzsah6sx7wVkTS4f6r3YDQLQ1kapkPUzvW2ZQ==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","zod":"^3.25.76","open":"^8.4.2","uuid":"^11.1.0","dotenv":"^16.5.0","esbuild":"^0.25.8","playwright-core":"^1.53.2","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.4.6_1753611336500_0.00951346099454442","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@grasplabs/grasp","version":"0.4.7","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.4.7","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-run":"dist/cli/grasp-run.js","grasp-keygen":"dist/cli/grasp-keygen.js","grasp-mcp-server":"dist/cli/mcp-server.js"},"dist":{"shasum":"2e5975ac4a4d7db0c1d301156b481dfcf98cbfe7","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.4.7.tgz","fileCount":78,"integrity":"sha512-Cs8fAsxcJniI7hx/MQA6/3AVa7lHclQA80wOB51KPiPp9OuW/yyJpOwDyH9bCq/0Mtj2BcsUTGS1vp2rWYVnjQ==","signatures":[{"sig":"MEUCIQCmQYnaNsXeiywFl9PNt432Ve1fPJeygYmLauRJMp3RswIgSq8mWM8gXYhYNS2tl+Bi4X61msbqb3Tmy8rIVCxAn84=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219571},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.4.7.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/c4dfdf825ca6536372ca997aa1adaf88/grasplabs-grasp-0.4.7.tgz","_integrity":"sha512-Cs8fAsxcJniI7hx/MQA6/3AVa7lHclQA80wOB51KPiPp9OuW/yyJpOwDyH9bCq/0Mtj2BcsUTGS1vp2rWYVnjQ==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","zod":"^3.25.76","open":"^8.4.2","uuid":"^11.1.0","dotenv":"^16.5.0","esbuild":"^0.25.8","playwright-core":"^1.53.2","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.4.7_1753611983549_0.29296888352442063","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"@grasplabs/grasp","version":"0.4.8","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.4.8","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-run":"dist/cli/grasp-run.js","grasp-keygen":"dist/cli/grasp-keygen.js","grasp-mcp-server":"dist/cli/mcp-server.js"},"dist":{"shasum":"f72ae2768276374a43d60fbc8cdf3e981a7cb44a","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.4.8.tgz","fileCount":78,"integrity":"sha512-VbHrFZtLtIkcjBihjy2ZTnWGD5WRDZExlElvhAKKgYWxeQF/3my9fSM2mMbHaXpzYkmjdiFSBYdOKBsGhIf41w==","signatures":[{"sig":"MEUCIQDCPQw/I6pSwH7eqm1OAg3YoO3XOaepYWg9GjxTgz7wkgIgV/oAh1Iyco0Ud2S+X/2p5rEy5zkANTEuOVO/UsN/t6M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219824},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.4.8.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/4c98942e944c2f867895300ee5c81e4c/grasplabs-grasp-0.4.8.tgz","_integrity":"sha512-VbHrFZtLtIkcjBihjy2ZTnWGD5WRDZExlElvhAKKgYWxeQF/3my9fSM2mMbHaXpzYkmjdiFSBYdOKBsGhIf41w==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","zod":"^3.25.76","open":"^8.4.2","uuid":"^11.1.0","dotenv":"^16.5.0","esbuild":"^0.25.8","playwright-core":"^1.53.2","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","commander":"^14.0.0","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.4.8_1753612240363_0.9868072166702504","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"@grasplabs/grasp","version":"0.4.9","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.4.9","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-run":"dist/cli/grasp-run.js","grasp-keygen":"dist/cli/grasp-keygen.js","grasp-mcp-server":"dist/cli/mcp-server.js"},"dist":{"shasum":"c50b050fc720cfa310abe9e34d5e10a354229fcd","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.4.9.tgz","fileCount":78,"integrity":"sha512-rVhYrcVZBES/2olB0A4swiTuHkSRF8BUHBKJ/9sg5/dbn5tBeiSogXmdHqdtgJThMAWGFTaYvJmKubtvbfS2DQ==","signatures":[{"sig":"MEUCIGtXqeZ6PpkwhaSmN4X4+rkMXlbwierRG+VD+FyJl61gAiEAwb2ATbkrvb212iusa/FSKqptcKyWs5HVE8YJu1WYjng=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219878},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.4.9.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/7973fad1929027efae79aa38636482fe/grasplabs-grasp-0.4.9.tgz","_integrity":"sha512-rVhYrcVZBES/2olB0A4swiTuHkSRF8BUHBKJ/9sg5/dbn5tBeiSogXmdHqdtgJThMAWGFTaYvJmKubtvbfS2DQ==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","zod":"^3.25.76","open":"^8.4.2","uuid":"^11.1.0","dotenv":"^16.5.0","esbuild":"^0.25.8","commander":"^14.0.0","typescript":"^5.8.3","playwright-core":"^1.53.2","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.4.9_1753612555563_0.3932582012759218","host":"s3://npm-registry-packages-npm-production"}},"0.4.10":{"name":"@grasplabs/grasp","version":"0.4.10","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.4.10","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-run":"dist/cli/grasp-run.js","grasp-keygen":"dist/cli/grasp-keygen.js","grasp-mcp-server":"dist/cli/mcp-server.js"},"dist":{"shasum":"9c2742442d5896d38e451de28e508bba363b5b83","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.4.10.tgz","fileCount":78,"integrity":"sha512-EdbrL2xI3RVKdAulP6pvd9DKas9Ol+6Mj9cWqD4JofWjunWLaYPIWsyTRL+wp8VgHdJrLJWeR31hdoPOl5cxug==","signatures":[{"sig":"MEYCIQCIE4q/9MEc1sRLZW9TwxyZ8CVDlvsXn9flXr/Y3GerFgIhAIk/ywKjh1PaPqlSBQCY78RsZZBTLrle48agOMl06K+N","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":221660},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.4.10.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/b8d783c12195924bc75fca6180915623/grasplabs-grasp-0.4.10.tgz","_integrity":"sha512-EdbrL2xI3RVKdAulP6pvd9DKas9Ol+6Mj9cWqD4JofWjunWLaYPIWsyTRL+wp8VgHdJrLJWeR31hdoPOl5cxug==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","zod":"^3.25.76","open":"^8.4.2","uuid":"^11.1.0","dotenv":"^16.5.0","esbuild":"^0.25.8","commander":"^14.0.0","typescript":"^5.8.3","playwright-core":"^1.53.2","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.4.10_1753620599444_0.48089531586823564","host":"s3://npm-registry-packages-npm-production"}},"0.4.11":{"name":"@grasplabs/grasp","version":"0.4.11","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.4.11","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-run":"dist/cli/grasp-run.js","grasp-keygen":"dist/cli/grasp-keygen.js","grasp-mcp-server":"dist/cli/mcp-server.js"},"dist":{"shasum":"fa97e5c075b0aaae997f04094bc317ef791421e9","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.4.11.tgz","fileCount":78,"integrity":"sha512-9jjGE2mVGMtTfYnFZizZeIjV5qbBQtx2rp/CthBJAX6fQxzB1zytFPeZBHuoTqvc2+Oe0oob40WadY/GXLDt2g==","signatures":[{"sig":"MEYCIQD7B8JbIr8TFEs2tHhSugnfXeqKqOM99LHmfzf53fArYAIhAIxltr2s69A1GuN0VOL79B5U22gBx2Xejc5p01ZTFTOo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":221725},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.4.11.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/30a01f193e3a94ad220d90f68a34ee89/grasplabs-grasp-0.4.11.tgz","_integrity":"sha512-9jjGE2mVGMtTfYnFZizZeIjV5qbBQtx2rp/CthBJAX6fQxzB1zytFPeZBHuoTqvc2+Oe0oob40WadY/GXLDt2g==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","zod":"^3.25.76","open":"^8.4.2","uuid":"^11.1.0","dotenv":"^16.5.0","esbuild":"^0.25.8","commander":"^14.0.0","typescript":"^5.8.3","playwright-core":"^1.53.2","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.4.11_1753712919550_0.4466446739119212","host":"s3://npm-registry-packages-npm-production"}},"0.4.12":{"name":"@grasplabs/grasp","version":"0.4.12","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.4.12","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-run":"dist/cli/grasp-run.js","grasp-keygen":"dist/cli/grasp-keygen.js","grasp-mcp-server":"dist/cli/mcp-server.js"},"dist":{"shasum":"8426d41e257d63655d4b2b79478fb4c33e700d77","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.4.12.tgz","fileCount":78,"integrity":"sha512-Wu6J80Vn7EWBuVbHdUljdao2Lz76Q6KUlIaoZ+5eCj48KaIadraNDVBC/eLwY/4wGygy5EEg10LbaddzLOluFg==","signatures":[{"sig":"MEYCIQCU6kvY30inXIsveRgj2760Omr6np8BgFlSE/SKZYy6cgIhAO4ZaD3P0ZLwOCJ95kYM6a4qEu2XQYjI6U/A0hLR92Q5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":221684},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.4.12.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/3593a418f967632f5e5b3fa28e119381/grasplabs-grasp-0.4.12.tgz","_integrity":"sha512-Wu6J80Vn7EWBuVbHdUljdao2Lz76Q6KUlIaoZ+5eCj48KaIadraNDVBC/eLwY/4wGygy5EEg10LbaddzLOluFg==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","zod":"^3.25.76","open":"^8.4.2","uuid":"^11.1.0","dotenv":"^16.5.0","esbuild":"^0.25.8","commander":"^14.0.0","typescript":"^5.8.3","playwright-core":"^1.53.2","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.4.12_1753757458038_0.21434577533201793","host":"s3://npm-registry-packages-npm-production"}},"0.4.13":{"name":"@grasplabs/grasp","version":"0.4.13","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.4.13","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-run":"dist/cli/grasp-run.js","grasp-keygen":"dist/cli/grasp-keygen.js","grasp-mcp-server":"dist/cli/mcp-server.js"},"dist":{"shasum":"532898afb16f1e7815181efefa791af438d7691d","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.4.13.tgz","fileCount":78,"integrity":"sha512-sT2u50uWFNg7dsaKDJERwCa7SrLZ8kuWjqV/P0B7+VeZyUdPp6lyDJkywxXswRzdhwRF6GQWp82qlSoV5NTpoA==","signatures":[{"sig":"MEUCIQDcX6qqTKD+OQBb/khmo62lwUD9/BJcmRFWyKQJb02TDgIgL2XSpIpEp4dMTx7xzo+4rgxIlMyr1XPgQC/u4YIlOCk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222493},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.4.13.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/5725fdc08936e23bee85311afc125330/grasplabs-grasp-0.4.13.tgz","_integrity":"sha512-sT2u50uWFNg7dsaKDJERwCa7SrLZ8kuWjqV/P0B7+VeZyUdPp6lyDJkywxXswRzdhwRF6GQWp82qlSoV5NTpoA==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","zod":"^3.25.76","open":"^8.4.2","uuid":"^11.1.0","dotenv":"^16.5.0","esbuild":"^0.25.8","commander":"^14.0.0","typescript":"^5.8.3","playwright-core":"^1.53.2","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.4.13_1753761678568_0.6745375174988493","host":"s3://npm-registry-packages-npm-production"}},"0.4.14":{"name":"@grasplabs/grasp","version":"0.4.14","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.4.14","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-run":"dist/cli/grasp-run.js","grasp-keygen":"dist/cli/grasp-keygen.js","grasp-mcp-server":"dist/cli/mcp-server.js"},"dist":{"shasum":"9904d9afe4f635ca30f287353f548f0746fd60b9","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.4.14.tgz","fileCount":78,"integrity":"sha512-RizkafrfWKO81ay92CvP+i5E5bykSP3aDA7rTWkVhQA4ZvltYXwFyHtMC2Lp/Y83wmrjvMa3RCR12cataVls/g==","signatures":[{"sig":"MEUCIDIcO9bxFdjusDuixjPp4+7RjMUKdf7s7JPqyiCgBAJdAiEA7Vnm4Dwx0BN8LX/RE3W3kmFYqeeSVZsNioxTNbRh2Jo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222981},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.4.14.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/85e098b9eefd11508a45b405e7ec40d3/grasplabs-grasp-0.4.14.tgz","_integrity":"sha512-RizkafrfWKO81ay92CvP+i5E5bykSP3aDA7rTWkVhQA4ZvltYXwFyHtMC2Lp/Y83wmrjvMa3RCR12cataVls/g==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","zod":"^3.25.76","open":"^8.4.2","uuid":"^11.1.0","dotenv":"^16.5.0","esbuild":"^0.25.8","commander":"^14.0.0","typescript":"^5.8.3","playwright-core":"^1.53.2","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.4.14_1753768893073_0.4507567949676847","host":"s3://npm-registry-packages-npm-production"}},"0.4.15":{"name":"@grasplabs/grasp","version":"0.4.15","keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","_id":"@grasplabs/grasp@0.4.15","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"bin":{"grasp-run":"dist/cli/grasp-run.js","grasp-keygen":"dist/cli/grasp-keygen.js","grasp-mcp-server":"dist/cli/mcp-server.js"},"dist":{"shasum":"cd139d7ea4b701355ad7414c71374a7a5ff04b30","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.4.15.tgz","fileCount":78,"integrity":"sha512-PUO3qppT74sl6TnuBC3K629PrQXfb07oJahjqKGs0sNjDiVsMJU11bC/rK2Imj3vkBl6J8a1ALSYvdNKvfKb5g==","signatures":[{"sig":"MEUCIQCKmBQA5pIcOy8f2pvZ4GqI4fSwTt+vE2XN2APYPD1V8QIgFS5LufqAFfiYHo8aFDJxhskUO7K5ipKsJDvP1EP+FQI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222984},"main":"dist/index.js","_from":"file:grasplabs-grasp-0.4.15.tgz","types":"dist/index.d.ts","scripts":{"dev":"ts-node src/index.ts","lint":"eslint src/**/*.{mjs,ts}","test":"jest","build":"pnpm build:sdk && pnpm build:sandbox","format":"prettier --write src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","build:sdk":"rm -rf ./dist && tsc","test:watch":"jest --watch","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","test:coverage":"jest --coverage","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml"},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/a9e6d5870dc007e0ce406f493428d099/grasplabs-grasp-0.4.15.tgz","_integrity":"sha512-PUO3qppT74sl6TnuBC3K629PrQXfb07oJahjqKGs0sNjDiVsMJU11bC/rK2Imj3vkBl6J8a1ALSYvdNKvfKb5g==","repository":{"url":"git+https://github.com/grasplabs/grasp-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.3","e2b":"^1.7.1","zod":"^3.25.76","open":"^8.4.2","uuid":"^11.1.0","dotenv":"^16.5.0","esbuild":"^0.25.8","commander":"^14.0.0","typescript":"^5.8.3","playwright-core":"^1.53.2","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","sharp":"^0.34.3","eslint":"^9.29.0","express":"^5.1.0","globals":"^16.3.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@e2b/cli":"^1.5.1","prettier":"^3.5.3","@types/ws":"^8.18.1","@eslint/js":"^9.31.0","http-proxy":"^1.18.1","playwright":"^1.53.2","@types/jest":"^30.0.0","@types/node":"^24.0.3","@sentry/node":"^9.40.0","@logtail/node":"^0.5.5","@types/express":"^5.0.3","playwright-extra":"^4.3.6","typescript-eslint":"^8.37.0","eslint-plugin-jest":"^29.0.1","why-is-node-running":"^3.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.0","puppeteer-extra-plugin-stealth":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/grasp_0.4.15_1753776952393_0.570833425494008","host":"s3://npm-registry-packages-npm-production"}},"0.4.16":{"name":"@grasplabs/grasp","version":"0.4.16","description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","main":"dist/index.js","types":"dist/index.d.ts","bin":{"grasp-keygen":"dist/cli/grasp-keygen.js","grasp-mcp-server":"dist/cli/mcp-server.js","grasp-run":"dist/cli/grasp-run.js"},"keywords":["e2b","sandbox","automation","command","execution","cloud"],"author":"","license":"ISC","repository":{"type":"git","url":"git+https://github.com/grasplabs/grasp-sdk.git"},"homepage":"https://github.com/grasplabs/grasp-sdk#readme","bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"devDependencies":{"@e2b/cli":"^1.5.1","@eslint/js":"^9.31.0","@logtail/node":"^0.5.5","@sentry/node":"^9.40.0","@types/express":"^5.0.3","@types/jest":"^30.0.0","@types/node":"^24.0.3","@types/ws":"^8.18.1","eslint":"^9.29.0","eslint-config-prettier":"^10.1.5","eslint-plugin-jest":"^29.0.1","eslint-plugin-prettier":"^5.5.0","express":"^5.1.0","globals":"^16.3.0","http-proxy":"^1.18.1","jest":"^30.0.2","playwright":"^1.53.2","playwright-extra":"^4.3.6","prettier":"^3.5.3","puppeteer-extra-plugin-stealth":"^2.11.2","sharp":"^0.34.3","ts-jest":"^29.4.0","ts-node":"^10.9.2","typescript-eslint":"^8.37.0","why-is-node-running":"^3.2.2"},"dependencies":{"@modelcontextprotocol/sdk":"^1.17.0","commander":"^14.0.0","dotenv":"^16.5.0","e2b":"^1.7.1","esbuild":"^0.25.8","open":"^8.4.2","playwright-core":"^1.53.2","typescript":"^5.8.3","uuid":"^11.1.0","ws":"^8.18.3","zod":"^3.25.76"},"scripts":{"build:sdk":"rm -rf ./dist && tsc","build:sandbox":"esbuild src/sandbox/http-proxy.ts --bundle --platform=node --outfile=src/sandbox/http-proxy.js --external:sharp","build":"pnpm build:sdk && pnpm build:sandbox","dev":"ts-node src/index.ts","test":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage","lint":"eslint src/**/*.{mjs,ts}","lint:fix":"eslint src/**/*.{mjs,ts} --fix","format":"prettier --write src/**/*.{mjs,ts}","deploy:grasp:chromium":"./scripts/deploy-template.sh grasp-run-chromium-v2 chromium.Dockerfile ./chromium.e2b.toml","deploy:grasp:chrome":"./scripts/deploy-template.sh grasp-run-chrome-stable-v2 chrome-stable.Dockerfile ./chrome-stable.e2b.toml"},"_id":"@grasplabs/grasp@0.4.16","_integrity":"sha512-KEDzrTCRDk6QwHLXt3ZKjsQF6oe8z959E1K8iZHGT2sjlOntqAJRpC3LhBQMbNJeLwDH9reZqEpMaNPqSEllvw==","_resolved":"/private/var/folders/ft/s65c7flj2xs_n9h47k6mzfpc0000gn/T/5fec0de45c799e83155110713faafd8c/grasplabs-grasp-0.4.16.tgz","_from":"file:grasplabs-grasp-0.4.16.tgz","_nodeVersion":"20.18.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-KEDzrTCRDk6QwHLXt3ZKjsQF6oe8z959E1K8iZHGT2sjlOntqAJRpC3LhBQMbNJeLwDH9reZqEpMaNPqSEllvw==","shasum":"0a8426156c1604f44ad4a24c39b1f87499a7c8b0","tarball":"https://registry.npmjs.org/@grasplabs/grasp/-/grasp-0.4.16.tgz","fileCount":78,"unpackedSize":223051,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDYNZl2w9c8hTR/4ffwm39Me+blYYlv0+/UrePUn32ClAIgOT8X5xiz1THUzxl85I8iFqf1PHPn7HES2XvUaSvQmOE="}]},"_npmUser":{"name":"akira-cn","email":"19511344@qq.com"},"directories":{},"maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/grasp_0.4.16_1753845674043_0.016844541566192417"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-24T01:49:31.132Z","modified":"2025-07-30T03:21:14.455Z","0.0.1":"2025-06-24T01:49:31.481Z","0.0.2":"2025-06-24T01:52:36.011Z","0.0.3":"2025-06-24T02:15:14.750Z","0.0.4":"2025-06-24T12:36:08.228Z","0.0.5":"2025-06-24T12:40:42.387Z","0.0.6":"2025-06-24T14:49:21.162Z","0.0.7":"2025-06-25T04:12:11.457Z","0.0.8":"2025-06-25T08:49:52.790Z","0.0.9":"2025-06-25T09:26:17.402Z","0.0.10":"2025-06-26T11:30:54.278Z","0.0.11":"2025-06-27T10:49:02.031Z","0.1.0":"2025-06-30T11:09:11.779Z","0.1.1":"2025-07-01T03:56:52.445Z","0.1.2":"2025-07-03T05:45:48.331Z","0.1.3":"2025-07-07T02:23:15.174Z","0.1.4":"2025-07-07T02:46:22.598Z","0.1.5":"2025-07-09T12:13:17.286Z","0.1.6":"2025-07-10T03:20:15.066Z","0.1.7":"2025-07-15T14:02:41.316Z","0.1.8":"2025-07-16T06:26:01.259Z","0.2.0":"2025-07-22T01:06:50.368Z","0.3.0":"2025-07-22T18:04:50.196Z","0.3.1":"2025-07-23T01:55:17.333Z","0.3.2":"2025-07-23T03:15:33.203Z","0.3.3":"2025-07-23T04:29:56.212Z","0.3.4":"2025-07-23T07:15:13.710Z","0.3.5":"2025-07-23T07:47:04.385Z","0.3.6":"2025-07-23T09:30:30.691Z","0.3.7":"2025-07-24T07:49:16.095Z","0.3.8":"2025-07-24T09:01:48.560Z","0.3.9":"2025-07-24T10:45:29.768Z","0.4.0":"2025-07-25T03:19:59.404Z","0.4.1":"2025-07-25T12:01:51.202Z","0.4.2":"2025-07-26T03:38:33.606Z","0.4.3":"2025-07-26T09:13:22.269Z","0.4.4":"2025-07-27T05:42:02.629Z","0.4.5":"2025-07-27T09:54:58.386Z","0.4.6":"2025-07-27T10:15:36.721Z","0.4.7":"2025-07-27T10:26:23.750Z","0.4.8":"2025-07-27T10:30:40.578Z","0.4.9":"2025-07-27T10:35:55.737Z","0.4.10":"2025-07-27T12:49:59.680Z","0.4.11":"2025-07-28T14:28:39.729Z","0.4.12":"2025-07-29T02:50:58.205Z","0.4.13":"2025-07-29T04:01:18.771Z","0.4.14":"2025-07-29T06:01:33.268Z","0.4.15":"2025-07-29T08:15:52.566Z","0.4.16":"2025-07-30T03:21:14.239Z"},"bugs":{"url":"https://github.com/grasplabs/grasp-sdk/issues"},"license":"ISC","homepage":"https://github.com/grasplabs/grasp-sdk#readme","keywords":["e2b","sandbox","automation","command","execution","cloud"],"repository":{"type":"git","url":"git+https://github.com/grasplabs/grasp-sdk.git"},"description":"TypeScript SDK for browser automation and secure command execution in highly available and scalable cloud browser environments","maintainers":[{"name":"akira-cn","email":"19511344@qq.com"}],"readme":"# 🚀 Grasp SDK\n\n[![npm version](https://badge.fury.io/js/%40grasplabs%2Fgrasp.svg)](https://www.npmjs.com/package/@grasplabs/grasp)\n[![PyPI version](https://badge.fury.io/py/grasp-sdk.svg)](https://pypi.org/project/grasp-sdk/)\n[![Python](https://img.shields.io/pypi/pyversions/grasp-sdk.svg)](https://pypi.org/project/grasp-sdk/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n**Multi-language SDK for browser automation and secure command execution in highly available and scalable cloud browser environments**\n\nGrasp SDK provides a type-safe, event-driven API for browser automation and command execution in isolated cloud environments. Available for both TypeScript/JavaScript and Python.\n\n## ✨ Features\n\n- 🌐 **Cloud Browser Automation**: Launch and control Chromium browsers in isolated cloud environments\n- 🔗 **CDP Integration**: Chrome DevTools Protocol support with optimized WebSocket frame parsing\n- ⚡ **Command Execution**: Execute shell commands with real-time monitoring and enhanced logging\n- 🔒 **Secure Execution**: Run code in isolated E2B cloud environments\n- 🧪 **TypeScript Support**: Full type safety and IntelliSense with improved development environment\n- 🛠️ **Developer Experience**: Enhanced debugging capabilities and error handling\n\n## 🚀 Quick Start\n\n### Installation\n\n```bash\n# Install the package\nnpm install @grasplabs/grasp\n# or\nyarn add @grasplabs/grasp\n# or\npnpm add @grasplabs/grasp\n```\n\n### Initialization\n\n```bash\n# Generate API key and initialize configuration\nnpx -y grasp-keygen <your-app-id>\n```\n\nThis will create a `.env.grasp` file with your credentials.\n\n### Configuration\n\nAfter running `grasp-keygen`, you'll have a `.env.grasp` file with your credentials:\n\n```env\nGRASP_APP_ID=your-app-id\nGRASP_APP_KEY=your-app-key\n```\n\n### Basic Usage\n\n```typescript\n// Import types if needed\nimport type { GraspOptions } from '@grasplabs/grasp';\n\nimport grasp from '@grasplabs/grasp';\nimport { chromium } from 'playwright';\n\nasync function main() {\n  // Launch browser in cloud environment with enhanced options\n  const connection = await grasp.launchBrowser({ \n    // API key is auto-loaded from .env.grasp\n    type: 'chromium',        // Browser type: 'chromium' or 'chrome-stable'\n    headless: true,          // Run in headless mode\n    adblock: false,          // Disable adblock extension\n    timeout: 150000,         // Connection timeout in milliseconds\n    keepAliveMS: 5000,       // Keep browser alive for 5 sec\n    logLevel: 'info',        // Set logging level\n    debug: false,            // Disable debug mode for production\n  });\n\n  // Connect to the browser using Playwright\n  const browser = await chromium.connectOverCDP(connection.wsUrl, {\n    timeout: 150000,\n  });\n\n  // Create a new page and navigate\n  const page = await browser.newPage();\n  await page.goto('https://getgrasp.ai/', { waitUntil: 'domcontentloaded' });\n  await page.screenshot({ path: 'grasp-ai.png' });\n  await page.close();\n   \n  // Create another page with custom content\n  const context = browser.contexts()[0] || await browser.newContext();\n  const page2 = await context.newPage();\n  await page2.setContent('<h1>Hello Grasp</h1>', { waitUntil: 'networkidle' });\n  await page2.screenshot({ path: 'hello-world.png', fullPage: true });\n  await page2.close();\n\n  // Clean up\n  await context.close();\n  await browser.close();\n}\n\nmain();\n```\n\n## 📚 API Reference\n\n### `grasp.launchBrowser(options)`\n\nLaunches a browser instance in the cloud environment.\n\n**Parameters:**\n- `options` (object, optional):\n  - `key` (string): Your Grasp API key (loaded from .env.grasp by default)\n  - `type` (string, optional): Browser type to launch. Default: 'chromium'. Available: 'chromium', 'chrome-stable'\n  - `headless` (boolean, optional): Whether to run browser in headless mode. Default: true\n  - `adblock` (boolean, optional): Whether to enable adblock extension. Default: false\n  - `timeout` (number, optional): Connection timeout in milliseconds. Default: 30000\n  - `keepAliveMS` (number, optional): Keep-alive duration in milliseconds. Default: 0\n  - `logLevel` (string, optional): Logging level. Available: 'debug', 'info', 'warn', 'error'. Default: 'info'\n  - `debug` (boolean, optional): Enable debug mode for detailed logging. Default: false\n  - `launchTimeout` (number, optional): Browser launch timeout in milliseconds. Default: 30000\n  - `envs` (object, optional): Environment variables for the browser process\n  - `slowMo` (number, optional): Slows down operations by specified milliseconds\n\n**Returns:**\n- `Promise<Connection>`: Connection object with:\n  - `id` (string): Unique browser instance ID\n  - `wsUrl` (string): WebSocket URL for CDP connection (recommended)\n  - `httpUrl` (string): HTTP URL for CDP connection (legacy)\n\n**Example:**\n```typescript\nconst connection = await grasp.launchBrowser({\n  // key: process.env.GRASP_APP_KEY, // Loaded from .env.grasp\n  type: 'chromium',           // Browser type: 'chromium' or 'chrome-stable'\n  headless: true,             // Run in headless mode\n  adblock: false,             // Enable adblock extension\n  timeout: 150000,            // Connection timeout\n  keepAliveMS: 3600000,       // Keep browser alive for 1 hour\n  logLevel: 'info',           // Logging level: 'debug', 'info', 'warn', 'error'\n  debug: false,               // Enable debug mode\n  launchTimeout: 30000,       // Browser launch timeout\n  envs: {                     // Environment variables\n    'CUSTOM_VAR': 'value'\n  }\n});\n```\n\n### Using with Playwright\n\nAfter launching a browser, connect to it using Playwright's `connectOverCDP` method:\n\n```typescript\nimport { chromium } from 'playwright';\n\nconst connection = await grasp.launchBrowser();\nconst browser = await chromium.connectOverCDP(connection.wsUrl, {\n  timeout: 150000\n});\n\n// Use browser as normal Playwright browser instance\nconst page = await browser.newPage();\n// ... your automation code\n\nawait browser.close();\n```\n\n## 🐍 Python SDK\n\nGrasp also provides a Python SDK with the same powerful features for browser automation and command execution.\n\n### Installation\n\n```bash\n# Install from PyPI (latest: v0.1.6)\npip install grasp_sdk\n\n# Install from source\npip install -e ./py-src\n\n# Install with development dependencies\npip install -e \"./py-src[dev]\"\n```\n\n### Environment Setup\n\nCreate a `.env.grasp` file or set environment variables:\n\n```bash\n# Required\nGRASP_KEY=your_grasp_api_key_here\n\n# Optional\nGRASP_LOG_LEVEL=info\nGRASP_TIMEOUT=3600000\n```\n\n### Basic Usage\n\n```python\nimport asyncio\nimport os\nfrom playwright.async_api import async_playwright\nfrom dotenv import load_dotenv\nfrom grasp_sdk import GraspServer\n\n# 加载环境变量\nload_dotenv(\".env.grasp\")\n\nasync def main():\n    \"\"\"演示 Grasp SDK 的基本用法\"\"\"\n    \n    # 检查 API key\n    api_key = os.getenv('GRASP_KEY')\n    if not api_key:\n        print(\"⚠️ 请设置 GRASP_KEY 环境变量\")\n        return\n\n    print(\"🚀 正在启动浏览器...\")\n\n    # 使用 GraspServer 上下文管理器\n    async with GraspServer({\n        'timeout': 3600000,  # 容器最长运行1小时\n    }) as connection:\n        \n        print(f\"WebSocket URL: {connection['ws_url']}\")\n        \n        # 使用 Playwright 连接到 CDP\n        async with async_playwright() as p:\n            browser = await p.chromium.connect_over_cdp(\n                connection['ws_url'],\n                timeout=150000\n            )\n            \n            # 创建页面并访问网站\n            page = await browser.new_page()\n            await page.goto('https://getgrasp.ai/', wait_until='domcontentloaded')\n            await page.screenshot(path='grasp-ai.png')\n            \n            # 创建自定义内容页面\n            page2 = await browser.new_page()\n            await page2.set_content('<h1>Hello Grasp</h1>', wait_until='networkidle')\n            await page2.screenshot(path='hello-world.png', full_page=True)\n            \n            # 清理资源\n            await page.close()\n            await page2.close()\n            await browser.close()\n            \n        print('✅ 任务完成，资源自动清理')\n\nif __name__ == \"__main__\":\n    asyncio.run(main())\n```\n\n### Python API Reference\n\n#### `GraspServer(sandbox_config=None)`\n\nMain class for browser automation and command execution.\n\n**Parameters:**\n- `sandbox_config` (dict, optional): Sandbox configuration overrides\n  - `template` (str): E2B template to use (default: 'python')\n  - `timeout` (int): Connection timeout in milliseconds (default: 30000)\n  - `api_key` (str): E2B API key (loaded from environment by default)\n\n**Methods:**\n- `async start()`: Start the sandbox environment\n- `async execute_command(command, options=None)`: Execute shell command\n- `async run_script(script_path, options=None)`: Run script file\n- `async create_browser_task()`: Create browser automation task\n- `async close()`: Clean up and close connections\n\n**Example with Browser Automation:**\n\n```python\nimport asyncio\nfrom grasp_sdk import GraspServer\n\nasync def browser_example():\n    server = GraspServer()\n    \n    try:\n        await server.start()\n        \n        # Launch browser\n        browser = await server.launch_browser({\n            \"headless\": True,\n            \"timeout\": 150000\n        })\n        \n        # Navigate and interact\n        await browser.navigate(\"https://getgrasp.ai/\")\n        await browser.screenshot(\"grasp-ai.png\")\n        \n        # Execute JavaScript\n        title = await browser.evaluate(\"document.title\")\n        print(f\"Page title: {title}\")\n        \n    finally:\n        await server.close()\n\nasyncio.run(browser_example())\n```\n\n### Features\n\n- 🔒 **Secure Execution**: Run commands in isolated E2B cloud environments\n- 🌐 **Browser Automation**: Control Chromium browsers with async/await\n- ⚡ **Real-time Communication**: WebSocket-based command execution\n- 🧪 **Type Safety**: Complete type hints with Pydantic models\n- 🔄 **Async/Await**: Full async support for modern Python development\n- 🛠️ **Developer Experience**: Enhanced debugging and error handling\n\n## 🔗 Language Support\n\nGrasp SDK is available in multiple languages:\n\n- **TypeScript/JavaScript**: `@grasplabs/grasp` (this package)\n- **Python**: `grasp_sdk` (see Python SDK section above)\n\nBoth SDKs provide the same core functionality with language-specific optimizations and idioms.\n\n## 📋 Release History\n\n### Python SDK (`grasp_sdk`)\n\n#### v0.1.8 (2025-01-27)\n- 🚀 Latest release with file path handling feature\n- 🔧 Added support for file paths starting with '/home/user/' in run_script\n- ⚡ Aligned Python SDK behavior with Node.js SDK runScript function\n- 📦 Enhanced backward compatibility and flexibility\n\n#### v0.1.7 (2025-01-27)\n- 🚀 Configuration simplification release\n- 🔧 Removed templateId configuration for simplified setup\n- ⚡ Code structure optimization and cleanup\n- 📦 Enhanced package stability and maintainability\n\n#### v0.1.6 (2025-01-27)\n- 🚀 Version synchronization release\n- 🔧 Continuous improvements and optimizations\n- ⚡ Enhanced stability and performance\n- 📦 Updated package metadata\n\n#### v0.1.5 (2025-01-27)\n- 🚀 Latest release with continuous improvements\n- 📚 Enhanced documentation and examples\n- 🔧 Stability improvements and optimizations\n- 📦 Updated package metadata\n\n#### v0.1.4 (2025-01-27)\n- ✅ Version synchronization with project metadata\n- 📦 Updated package metadata and documentation\n- 🔧 Enhanced build and publishing workflow\n- 📚 Improved README with version badges and installation instructions\n\n#### v0.1.0 (2025-01-27)\n- 🎉 Initial release of Python SDK\n- 🌐 Core browser automation functionality\n- 🔒 Secure command execution in E2B environments\n- 🧪 Full async/await support with type hints\n- 📖 Complete API compatibility with TypeScript version\n\n### TypeScript/JavaScript SDK (`@grasplabs/grasp`)\n\n#### v0.1.3 (2025-01-27)\n- 🚀 Latest release with enhanced stability\n- 📦 Updated package metadata and build process\n- 🔧 Improved configuration and error handling\n- 📚 Enhanced documentation and examples\n\n#### Latest Updates (v0.1.1+)\n- 🚀 Enhanced browser automation capabilities with new configuration options\n- ⚡ Improved CDP integration and WebSocket frame parsing\n- 🛠️ Better developer experience with enhanced debugging and logging\n- 🔧 Added new parameters:\n  - `keepAliveMS`: Configure browser keep-alive duration\n  - `logLevel`: Granular logging control ('debug', 'info', 'warn', 'error')\n  - `adblock`: Built-in adblock extension support\n  - `launchTimeout`: Configurable browser launch timeout\n  - `envs`: Environment variables for browser process\n- 🎯 Optimized performance and error handling\n- 📚 Updated documentation with comprehensive parameter examples\n- 🔄 Enhanced graceful shutdown and resource cleanup\n","readmeFilename":"README.md"}