{"_id":"@agent-relay/sandbox","_rev":"16-6b1daa70f9b93f3224472a7a6736580c","name":"@agent-relay/sandbox","dist-tags":{"latest":"0.1.16"},"versions":{"0.0.0":{"name":"@agent-relay/sandbox","version":"0.0.0","license":"Apache-2.0","_id":"@agent-relay/sandbox@0.0.0","maintainers":[{"name":"willwashburn","email":"will@agentrelay.com"},{"name":"khaliqgant","email":"khaliqgant@gmail.com"}],"homepage":"https://github.com/AgentWorkforce/sandbox#readme","bugs":{"url":"https://github.com/AgentWorkforce/sandbox/issues"},"dist":{"shasum":"731fde57aeb067a4f8492a8892d870eb4b1aa63d","tarball":"https://registry.npmjs.org/@agent-relay/sandbox/-/sandbox-0.0.0.tgz","fileCount":7,"integrity":"sha512-sxRg3D/byKsx1aFmVqGNQNuO82NjZuly1VydXD+jD/sIHPReth065orX3FF4WOpf+90neZoEe55/VlbEh6bXfA==","signatures":[{"sig":"MEYCIQDBRtpDx1u5gWKw1SjhagLhUwBQ2WNoxxbmHBBtO18RmwIhAOMs8oHBfpP+O3kOdd2T1mUGi/s/g91Hp8oC6xEh8gGy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15717},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6c090d618ed1ee4c685d1f55ff209b692f06e1a8","scripts":{"test":"node --test --import tsx \"src/**/*.test.ts\"","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"khaliqgant","email":"khaliqgant@gmail.com"},"repository":{"url":"git+https://github.com/AgentWorkforce/sandbox.git","type":"git"},"_npmVersion":"10.9.7","description":"Provider-agnostic sandbox runtimes and orchestration for agent workloads.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^22"},"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.0.0_1784374715764_0.4634515487440449","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@agent-relay/sandbox","version":"0.1.0","license":"Apache-2.0","_id":"@agent-relay/sandbox@0.1.0","maintainers":[{"name":"willwashburn","email":"will@agentrelay.com"},{"name":"khaliqgant","email":"khaliqgant@gmail.com"}],"homepage":"https://github.com/AgentWorkforce/sandbox#readme","bugs":{"url":"https://github.com/AgentWorkforce/sandbox/issues"},"dist":{"shasum":"ceaaa2676c74c59bded7395788f16a944f296658","tarball":"https://registry.npmjs.org/@agent-relay/sandbox/-/sandbox-0.1.0.tgz","fileCount":35,"integrity":"sha512-TNopxH3sxJwQprpUrjMd9FyCa07fHY/eUv7zouNdYSbUZXvvTUmWpXbYwM5Xb4eKuAS0K6NHfMoSV4BuDuB3/A==","signatures":[{"sig":"MEUCIQCE7AljYfPmgCQthKDVsupJ3kHm/bHKgKsGGPAaOUeAwwIgXEYPxwoR1ETHJDu6gWp0evCSCQkE86m7/sDzEqZY0J0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-relay%2fsandbox@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":273403},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5d053b66f20629f6b4d4eb639a7081078dde94cd","scripts":{"test":"node --test --import tsx \"src/**/*.test.ts\"","build":"tsc -p tsconfig.json","prepare":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dc4ec1a9-f66c-48ca-98ad-a84e44544075"}},"repository":{"url":"git+https://github.com/AgentWorkforce/sandbox.git","type":"git"},"_npmVersion":"11.18.0","description":"Provider-agnostic sandbox runtimes and orchestration for agent workloads.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"e2b":"^2.35.0","tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^22","@daytonaio/sdk":"^0.180.0"},"peerDependencies":{"e2b":"^2","@daytonaio/sdk":">=0.180.0 <0.181.0"},"peerDependenciesMeta":{"e2b":{"optional":true},"@daytonaio/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.1.0_1784380903955_0.984367674322155","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@agent-relay/sandbox","version":"0.1.1","license":"Apache-2.0","_id":"@agent-relay/sandbox@0.1.1","maintainers":[{"name":"willwashburn","email":"will@agentrelay.com"},{"name":"khaliqgant","email":"khaliqgant@gmail.com"}],"homepage":"https://github.com/AgentWorkforce/sandbox#readme","bugs":{"url":"https://github.com/AgentWorkforce/sandbox/issues"},"dist":{"shasum":"41cec647a3a3d0691e5415128a60baaac268ca01","tarball":"https://registry.npmjs.org/@agent-relay/sandbox/-/sandbox-0.1.1.tgz","fileCount":35,"integrity":"sha512-1g8vUwzJ/aCPM956AQG2XoFbv7osb0KV7B1ofY8opnfNtE4d/IX9j3Q4PpuXsgK5XSGKV7mcuFmTv/xjbTJOAg==","signatures":[{"sig":"MEYCIQCW3H7MlCJtkfe44HmBCIyy2DcEDkdzJMwnqIFXrN61/gIhAOch0dTjpkUEwxgRAbbG9Gb7hvqaKf/elIdIL8kxitS9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-relay%2fsandbox@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":277108},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a340af3edf811f0859e070353b0c86e86484ff5c","scripts":{"test":"node --test --import tsx \"src/**/*.test.ts\"","build":"tsc -p tsconfig.json","prepare":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dc4ec1a9-f66c-48ca-98ad-a84e44544075"}},"repository":{"url":"git+https://github.com/AgentWorkforce/sandbox.git","type":"git"},"_npmVersion":"11.18.0","description":"Provider-agnostic sandbox runtimes and orchestration for agent workloads.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"e2b":"^2.35.0","tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^22","@daytonaio/sdk":"^0.180.0"},"peerDependencies":{"e2b":"^2","@daytonaio/sdk":">=0.180.0 <0.181.0"},"peerDependenciesMeta":{"e2b":{"optional":true},"@daytonaio/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.1.1_1784426278982_0.7319722614219286","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@agent-relay/sandbox","version":"0.1.2","license":"Apache-2.0","_id":"@agent-relay/sandbox@0.1.2","maintainers":[{"name":"willwashburn","email":"will@agentrelay.com"},{"name":"khaliqgant","email":"khaliqgant@gmail.com"}],"homepage":"https://github.com/AgentWorkforce/sandbox#readme","bugs":{"url":"https://github.com/AgentWorkforce/sandbox/issues"},"dist":{"shasum":"0d69abfc2eabe757e6a59bb7239aa3e9c03730a8","tarball":"https://registry.npmjs.org/@agent-relay/sandbox/-/sandbox-0.1.2.tgz","fileCount":35,"integrity":"sha512-3oOEYg9pPj1m3EsOn6AjyNoiVDuQULqm8z4wOc2Zo26JmtdKqbWQmYH6IO4eaJZLRJyO4AAiHhXhTIq6M+/txA==","signatures":[{"sig":"MEYCIQCLwdDzkjlDK5poRkq9dAKtNAwZFtXxWIbrJJSaI90WFAIhAM+LtyRdhXDsLuZcZSJEBeTr6L0rI0Ui5xp9G15u/R8h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-relay%2fsandbox@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":286965},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8b13454f6a6f140471193c4b92600ca06afc2162","scripts":{"test":"node --test --import tsx \"src/**/*.test.ts\"","build":"tsc -p tsconfig.json","prepare":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dc4ec1a9-f66c-48ca-98ad-a84e44544075"}},"repository":{"url":"git+https://github.com/AgentWorkforce/sandbox.git","type":"git"},"_npmVersion":"11.18.0","description":"Provider-agnostic sandbox runtimes and orchestration for agent workloads.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"e2b":"^2.35.0","tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^22","@daytonaio/sdk":"^0.180.0"},"peerDependencies":{"e2b":"^2","@daytonaio/sdk":">=0.180.0 <0.181.0"},"peerDependenciesMeta":{"e2b":{"optional":true},"@daytonaio/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.1.2_1785228230095_0.8499637925131684","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@agent-relay/sandbox","version":"0.1.3","license":"Apache-2.0","_id":"@agent-relay/sandbox@0.1.3","maintainers":[{"name":"willwashburn","email":"will@agentrelay.com"},{"name":"khaliqgant","email":"khaliqgant@gmail.com"}],"homepage":"https://github.com/AgentWorkforce/sandbox#readme","bugs":{"url":"https://github.com/AgentWorkforce/sandbox/issues"},"dist":{"shasum":"d813be1af0894fc4df4bab43f11c8f8e8fa681f1","tarball":"https://registry.npmjs.org/@agent-relay/sandbox/-/sandbox-0.1.3.tgz","fileCount":128,"integrity":"sha512-c4MmBvIOjldJBC1E0eOt/Uo0R+CAllUk5/n+3n69LWB+9DorVxmIIFLECIsfLWOK2bYAwwaR6Jql1+AH9IBS9g==","signatures":[{"sig":"MEUCIH/fltRwIaaDhe1vefG+grf3wrMMdSNwhU7h+uClyDsiAiEAsmc205hckfnjnTXzGgdqaHt/BaMt0krtlqBpeEuWNBc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC6ZdAE2g2xS+EwVnvwwDumU6DV4y4iYuz4u2BQ0lBz8QIhAJCnm8lBU6mGjsngSlCy2qTpBOt5ZMJ3b+PV5z6oTVc0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-relay%2fsandbox@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1307539},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0b0118729fbd568d09d7b4b76677e525a8f78755","scripts":{"test":"node --test --import tsx \"src/**/*.test.ts\"","build":"tsc -p tsconfig.json","prepare":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dc4ec1a9-f66c-48ca-98ad-a84e44544075"}},"repository":{"url":"git+https://github.com/AgentWorkforce/sandbox.git","type":"git"},"_npmVersion":"11.19.0","description":"Provider-agnostic sandbox runtimes and orchestration for agent workloads.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"e2b":"^2.35.0","tsx":"^4.20.6","modal":"^0.9.0","freestyle":"0.1.63","typescript":"^5.9.3","@types/node":"^22","microsandbox":"^0.6.11","@daytonaio/sdk":"^0.205.1","@vercel/sandbox":"3.0.1","@aws-sdk/client-bedrock-agentcore":"^3.1115.0","@aws-sdk/client-bedrock-agentcore-control":"^3.1115.0"},"peerDependencies":{"e2b":">=2.35.0 <3.0.0","modal":">=0.9.0 <0.10.0","freestyle":"0.1.63","microsandbox":">=0.6.11 <0.7.0","@daytonaio/sdk":">=0.205.0 <0.206.0","@vercel/sandbox":">=3.0.1 <4.0.0","@aws-sdk/client-bedrock-agentcore":">=3.1115.0 <4.0.0","@aws-sdk/client-bedrock-agentcore-control":">=3.1115.0 <4.0.0"},"peerDependenciesMeta":{"e2b":{"optional":true},"modal":{"optional":true},"freestyle":{"optional":true},"microsandbox":{"optional":true},"@daytonaio/sdk":{"optional":true},"@vercel/sandbox":{"optional":true},"@aws-sdk/client-bedrock-agentcore":{"optional":true},"@aws-sdk/client-bedrock-agentcore-control":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.1.3_1787486269574_0.4775167850460531","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@agent-relay/sandbox","version":"0.1.5","license":"Apache-2.0","_id":"@agent-relay/sandbox@0.1.5","maintainers":[{"name":"willwashburn","email":"will@agentrelay.com"},{"name":"khaliqgant","email":"khaliqgant@gmail.com"}],"homepage":"https://github.com/AgentWorkforce/sandbox#readme","bugs":{"url":"https://github.com/AgentWorkforce/sandbox/issues"},"dist":{"shasum":"c405a0ba86cc967730cf874a3c656f774de3a910","tarball":"https://registry.npmjs.org/@agent-relay/sandbox/-/sandbox-0.1.5.tgz","fileCount":168,"integrity":"sha512-Ro6NIOd7WamvdGiuvolRE47+zG+q22oOeNBPDrMD56K9dA1/d/rJRTm+ZHuBrNwAVllptNuDx1T7D72ztx/Fpg==","signatures":[{"sig":"MEYCIQCqmCmrhjqVfpssl3GKK9iv29gJC2NCWE9HnEpwHsBCQAIhAOmgcxVQOBMTN6pYzJh8Y9O5EYxz0RhswhIjp4kD1ufx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBLyP8Pau/VTwgyR6av5kNFwGqgG70Da9dFuc7sMiN/OAiEA/5F4R6cS9rqQ2in8FWwFtjO+++kSp6YWmYu1n47bUr4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-relay%2fsandbox@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1326247},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./*":{"types":"./dist/*/index.d.ts","import":"./dist/*/index.js"}},"gitHead":"1a2ec422218c29736b1292e21a33f91d7c3584fe","scripts":{"test":"node --test --import tsx \"src/**/*.test.ts\"","build":"tsc -p tsconfig.json","prepare":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","test:package":"npm run build && node scripts/package-smoke.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dc4ec1a9-f66c-48ca-98ad-a84e44544075"}},"repository":{"url":"git+https://github.com/AgentWorkforce/sandbox.git","type":"git"},"_npmVersion":"11.19.0","description":"Provider-agnostic sandbox runtimes and orchestration for agent workloads.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"e2b":"^2.35.0","tsx":"^4.20.6","modal":"^0.9.0","freestyle":"0.1.63","typescript":"^5.9.3","@types/node":"^22","microsandbox":"^0.6.11","@daytonaio/sdk":"^0.205.1","@vercel/sandbox":"3.0.1","@aws-sdk/client-bedrock-agentcore":"^3.1115.0","@aws-sdk/client-bedrock-agentcore-control":"^3.1115.0"},"peerDependencies":{"e2b":">=2.35.0 <3.0.0","modal":">=0.9.0 <0.10.0","freestyle":"0.1.63","microsandbox":">=0.6.11 <0.7.0","@daytonaio/sdk":">=0.180.0 <0.206.0","@vercel/sandbox":">=3.0.1 <4.0.0","@aws-sdk/client-bedrock-agentcore":">=3.1115.0 <4.0.0","@aws-sdk/client-bedrock-agentcore-control":">=3.1115.0 <4.0.0"},"peerDependenciesMeta":{"e2b":{"optional":true},"modal":{"optional":true},"freestyle":{"optional":true},"microsandbox":{"optional":true},"@daytonaio/sdk":{"optional":true},"@vercel/sandbox":{"optional":true},"@aws-sdk/client-bedrock-agentcore":{"optional":true},"@aws-sdk/client-bedrock-agentcore-control":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.1.5_1787508670467_0.1300481728441849","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@agent-relay/sandbox","version":"0.1.6","license":"Apache-2.0","_id":"@agent-relay/sandbox@0.1.6","maintainers":[{"name":"willwashburn","email":"will@agentrelay.com"},{"name":"khaliqgant","email":"khaliqgant@gmail.com"}],"homepage":"https://github.com/AgentWorkforce/sandbox#readme","bugs":{"url":"https://github.com/AgentWorkforce/sandbox/issues"},"dist":{"shasum":"c35368251703c69a8aef965e42df2d6852e92685","tarball":"https://registry.npmjs.org/@agent-relay/sandbox/-/sandbox-0.1.6.tgz","fileCount":168,"integrity":"sha512-gCJ6mOMBJ/tM6ZqhxtgKCT6KokvnlyonMdTNFUN3ponYkwC5uqDBskh5LIHTwKB3VJyUPewpXwjnzvd1/F7weA==","signatures":[{"sig":"MEUCIQD16p6zCH9mFmUOT3emux8PCb7AJh4gPgmvo5PzyglP9AIgYL1yWhzcCQnE9Xic1OBn3XlGjT1oLcIoBHVmzAw0eJE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDG3D/oEWoixzFjEQbCi09ihdQsFraGLvs6t8ruU9bIuwIhAL+g1MK5l1VQ+2dcAAuiWdzBFiwIeCwFernueBvX+WjF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-relay%2fsandbox@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1339389},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./*":{"types":"./dist/*/index.d.ts","import":"./dist/*/index.js"}},"gitHead":"f216b4706a0bfa5c90cc9b2c09898197ae8a4793","scripts":{"test":"node --test --import tsx \"src/**/*.test.ts\"","build":"tsc -p tsconfig.json","prepare":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","test:package":"npm run build && node scripts/package-smoke.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dc4ec1a9-f66c-48ca-98ad-a84e44544075"}},"repository":{"url":"git+https://github.com/AgentWorkforce/sandbox.git","type":"git"},"_npmVersion":"11.19.0","description":"Provider-agnostic sandbox runtimes and orchestration for agent workloads.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"e2b":"^2.35.0","tsx":"^4.20.6","modal":"^0.9.0","freestyle":"0.1.63","typescript":"^5.9.3","@types/node":"^22","microsandbox":"^0.6.11","@daytonaio/sdk":"^0.205.1","@vercel/sandbox":"3.0.1","@aws-sdk/client-bedrock-agentcore":"^3.1115.0","@aws-sdk/client-bedrock-agentcore-control":"^3.1115.0"},"peerDependencies":{"e2b":">=2.35.0 <3.0.0","modal":">=0.9.0 <0.10.0","freestyle":"0.1.63","microsandbox":">=0.6.11 <0.7.0","@daytonaio/sdk":">=0.180.0 <0.206.0","@vercel/sandbox":">=3.0.1 <4.0.0","@aws-sdk/client-bedrock-agentcore":">=3.1115.0 <4.0.0","@aws-sdk/client-bedrock-agentcore-control":">=3.1115.0 <4.0.0"},"peerDependenciesMeta":{"e2b":{"optional":true},"modal":{"optional":true},"freestyle":{"optional":true},"microsandbox":{"optional":true},"@daytonaio/sdk":{"optional":true},"@vercel/sandbox":{"optional":true},"@aws-sdk/client-bedrock-agentcore":{"optional":true},"@aws-sdk/client-bedrock-agentcore-control":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.1.6_1787520374166_0.6253137115474028","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@agent-relay/sandbox","version":"0.1.7","license":"Apache-2.0","_id":"@agent-relay/sandbox@0.1.7","maintainers":[{"name":"willwashburn","email":"will@agentrelay.com"},{"name":"khaliqgant","email":"khaliqgant@gmail.com"}],"homepage":"https://github.com/AgentWorkforce/sandbox#readme","bugs":{"url":"https://github.com/AgentWorkforce/sandbox/issues"},"dist":{"shasum":"b7e51ef2748f18314adfa16378eb0041bb239ae3","tarball":"https://registry.npmjs.org/@agent-relay/sandbox/-/sandbox-0.1.7.tgz","fileCount":168,"integrity":"sha512-ruV+GjLnLtzlP28pEU1pOcYC0pxCJQDPqwBSEJTjzD3YkIbWG82/Djfz88bZMJeT+RqIrcLt3F9QHB35o+AEGg==","signatures":[{"sig":"MEYCIQD5dAUIaojR63feIc5Ebzhs6FkKYxbm2DFFKktsL6E4qAIhAI/eaAtjFm0FqsJxi2T7Oi6M0LPqVTtDxSYIKuTgfrhG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCZDmWcEA6EXoKMjsb3uATvEU/tD1k2eWzYq8Vr2toADQIgLtxryEA5zjlPwagKtsBm32WAV3f5hUOqK9cOoYC1txA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-relay%2fsandbox@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1339566},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./*":{"types":"./dist/*/index.d.ts","import":"./dist/*/index.js"}},"gitHead":"a58012a6cee2e7ea248d5a5df27ac45500e12cdb","scripts":{"test":"node --test --import tsx \"src/**/*.test.ts\"","build":"tsc -p tsconfig.json","prepare":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","test:package":"npm run build && node scripts/package-smoke.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dc4ec1a9-f66c-48ca-98ad-a84e44544075"}},"repository":{"url":"git+https://github.com/AgentWorkforce/sandbox.git","type":"git"},"_npmVersion":"11.19.0","description":"Provider-agnostic sandbox runtimes and orchestration for agent workloads.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"e2b":"^2.35.0","tsx":"^4.20.6","modal":"^0.9.0","freestyle":"0.1.63","typescript":"^5.9.3","@types/node":"^22","microsandbox":"^0.6.11","@daytonaio/sdk":"^0.205.1","@vercel/sandbox":"3.0.1","@aws-sdk/client-bedrock-agentcore":"^3.1115.0","@aws-sdk/client-bedrock-agentcore-control":"^3.1115.0"},"peerDependencies":{"e2b":">=2.35.0 <3.0.0","modal":">=0.9.0 <0.10.0","freestyle":"0.1.63","microsandbox":">=0.6.11 <0.7.0","@daytonaio/sdk":">=0.180.0 <0.206.0","@vercel/sandbox":">=3.0.1 <4.0.0","@aws-sdk/client-bedrock-agentcore":">=3.1115.0 <4.0.0","@aws-sdk/client-bedrock-agentcore-control":">=3.1115.0 <4.0.0"},"peerDependenciesMeta":{"e2b":{"optional":true},"modal":{"optional":true},"freestyle":{"optional":true},"microsandbox":{"optional":true},"@daytonaio/sdk":{"optional":true},"@vercel/sandbox":{"optional":true},"@aws-sdk/client-bedrock-agentcore":{"optional":true},"@aws-sdk/client-bedrock-agentcore-control":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.1.7_1787520874390_0.15064584517166346","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@agent-relay/sandbox","version":"0.1.8","license":"Apache-2.0","_id":"@agent-relay/sandbox@0.1.8","maintainers":[{"name":"willwashburn","email":"will@agentrelay.com"},{"name":"khaliqgant","email":"khaliqgant@gmail.com"}],"homepage":"https://github.com/AgentWorkforce/sandbox#readme","bugs":{"url":"https://github.com/AgentWorkforce/sandbox/issues"},"dist":{"shasum":"ce0fc1d1877f963f6cd066f592a72e993dfb26bb","tarball":"https://registry.npmjs.org/@agent-relay/sandbox/-/sandbox-0.1.8.tgz","fileCount":168,"integrity":"sha512-o2XI7Svcg2VtfOWsdjCdDOARR6Z0kDwy1BKRyhoQMMrEYDTNP+RuXgVGDMCSKR3PrptWWrmnUUQZsEc17rAalw==","signatures":[{"sig":"MEUCIAkVO1xU+XxeO+np+4S79Y2X8PCiC5WdGNAdIeSFdDGPAiEA/29RaWUdQJoXV6iZN6EX4MvXRPEYyB7mojm6RNlB86k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGTLFDjMFZZbfvDNOx2RyQs7itsdiaQbpq/HJqbVCuySAiA6ORwk3ZPzJtCFThG2XiAR7nmQhpQ8Bfsl7JeqlmWLnw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-relay%2fsandbox@0.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1340403},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./*":{"types":"./dist/*/index.d.ts","import":"./dist/*/index.js"}},"gitHead":"8a7db8e89cbb7da1b1b97863ca901b1b3d370218","scripts":{"test":"node --test --import tsx \"src/**/*.test.ts\"","build":"tsc -p tsconfig.json","prepare":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","test:package":"npm run build && node scripts/package-smoke.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dc4ec1a9-f66c-48ca-98ad-a84e44544075"}},"repository":{"url":"git+https://github.com/AgentWorkforce/sandbox.git","type":"git"},"_npmVersion":"11.19.0","description":"Provider-agnostic sandbox runtimes and orchestration for agent workloads.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"e2b":"^2.35.0","tsx":"^4.20.6","modal":"^0.9.0","freestyle":"0.1.63","typescript":"^5.9.3","@types/node":"^22","microsandbox":"^0.6.11","@daytonaio/sdk":"^0.205.1","@vercel/sandbox":"3.0.1","@aws-sdk/client-bedrock-agentcore":"^3.1115.0","@aws-sdk/client-bedrock-agentcore-control":"^3.1115.0"},"peerDependencies":{"e2b":">=2.35.0 <3.0.0","modal":">=0.9.0 <0.10.0","freestyle":"0.1.63","microsandbox":">=0.6.11 <0.7.0","@daytonaio/sdk":">=0.180.0 <0.206.0","@vercel/sandbox":">=3.0.1 <4.0.0","@aws-sdk/client-bedrock-agentcore":">=3.1115.0 <4.0.0","@aws-sdk/client-bedrock-agentcore-control":">=3.1115.0 <4.0.0"},"peerDependenciesMeta":{"e2b":{"optional":true},"modal":{"optional":true},"freestyle":{"optional":true},"microsandbox":{"optional":true},"@daytonaio/sdk":{"optional":true},"@vercel/sandbox":{"optional":true},"@aws-sdk/client-bedrock-agentcore":{"optional":true},"@aws-sdk/client-bedrock-agentcore-control":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.1.8_1787523536281_0.3007154776738443","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@agent-relay/sandbox","version":"0.1.9","license":"Apache-2.0","_id":"@agent-relay/sandbox@0.1.9","maintainers":[{"name":"willwashburn","email":"will@agentrelay.com"},{"name":"khaliqgant","email":"khaliqgant@gmail.com"}],"homepage":"https://github.com/AgentWorkforce/sandbox#readme","bugs":{"url":"https://github.com/AgentWorkforce/sandbox/issues"},"dist":{"shasum":"834c1cbc4693e22ea790f05052d21ee11ca6fc88","tarball":"https://registry.npmjs.org/@agent-relay/sandbox/-/sandbox-0.1.9.tgz","fileCount":168,"integrity":"sha512-YMgUvA5AwU30OlUuN13+5g7qjZV1xjKcqePtMATF5ET47IBadFWsEyuE0r8OWuAmaJ9jVRIts014QXLf8MbHYg==","signatures":[{"sig":"MEUCIQCIAokfFPNiPCi4jTYST46zD1bw2zH/qAF5xPFoZd9rKwIgUVma5Z7+Ih36W6cLS51L3OY1nXDYyTN+52oo8u1ONyI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD/8c1CdkeJlRi96JcAJIjp9f+smrW8Z9O1IHhg5C/Q9AIgXt/zNhwxPJsutFWJV/yj+mtzvesD0lodfOzYT2hi31Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-relay%2fsandbox@0.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1340912},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./*":{"types":"./dist/*/index.d.ts","import":"./dist/*/index.js"}},"gitHead":"a8a9d1e0cb66ee8077bb8ef06f04fe9493ec463f","scripts":{"test":"node --test --import tsx \"src/**/*.test.ts\"","build":"tsc -p tsconfig.json","prepare":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","test:package":"npm run build && node scripts/package-smoke.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dc4ec1a9-f66c-48ca-98ad-a84e44544075"}},"repository":{"url":"git+https://github.com/AgentWorkforce/sandbox.git","type":"git"},"_npmVersion":"11.19.0","description":"Provider-agnostic sandbox runtimes and orchestration for agent workloads.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"e2b":"^2.35.0","tsx":"^4.20.6","modal":"^0.9.0","freestyle":"0.1.63","typescript":"^5.9.3","@types/node":"^22","microsandbox":"^0.6.11","@daytonaio/sdk":"^0.205.1","@vercel/sandbox":"3.0.1","@aws-sdk/client-bedrock-agentcore":"^3.1115.0","@aws-sdk/client-bedrock-agentcore-control":"^3.1115.0"},"peerDependencies":{"e2b":">=2.35.0 <3.0.0","modal":">=0.9.0 <0.10.0","freestyle":"0.1.63","microsandbox":">=0.6.11 <0.7.0","@daytonaio/sdk":">=0.180.0 <0.206.0","@vercel/sandbox":">=3.0.1 <4.0.0","@aws-sdk/client-bedrock-agentcore":">=3.1115.0 <4.0.0","@aws-sdk/client-bedrock-agentcore-control":">=3.1115.0 <4.0.0"},"peerDependenciesMeta":{"e2b":{"optional":true},"modal":{"optional":true},"freestyle":{"optional":true},"microsandbox":{"optional":true},"@daytonaio/sdk":{"optional":true},"@vercel/sandbox":{"optional":true},"@aws-sdk/client-bedrock-agentcore":{"optional":true},"@aws-sdk/client-bedrock-agentcore-control":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.1.9_1787524687968_0.3871588144186442","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@agent-relay/sandbox","version":"0.1.10","license":"Apache-2.0","_id":"@agent-relay/sandbox@0.1.10","maintainers":[{"name":"willwashburn","email":"will@agentrelay.com"},{"name":"khaliqgant","email":"khaliqgant@gmail.com"}],"homepage":"https://github.com/AgentWorkforce/sandbox#readme","bugs":{"url":"https://github.com/AgentWorkforce/sandbox/issues"},"dist":{"shasum":"951c970bfbb360b98c1d6354fe69cd20fe714e1d","tarball":"https://registry.npmjs.org/@agent-relay/sandbox/-/sandbox-0.1.10.tgz","fileCount":168,"integrity":"sha512-MyQ4I6T2MU/c0jNigldsMDFO1h1YKLPA2KLJHmXkZ++6Xpd/fb4q6M4t0kBHmVbB+bleSZ8u9bzORcQyy4pmgw==","signatures":[{"sig":"MEUCIQDirGpYsCj17CfqqrYvxG0r+edT579zSA6fpar+cgg8YAIgC8icWAfTSlxlZzPx3RSwtiLVag5w68ain2zdj5bm48g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDNfBJwbEWIpCBoMV6bq47SwMyTyVHZTi0AI2O3gwAjCgIhAMxqEUkWQTCGSIrzueH6KdtmOjZHgvr4HKNW5jgUVOWz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-relay%2fsandbox@0.1.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1341182},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./*":{"types":"./dist/*/index.d.ts","import":"./dist/*/index.js"}},"gitHead":"5f67803a8538c7e5371fc508d112058d411a13e0","scripts":{"test":"node --test --import tsx \"src/**/*.test.ts\"","build":"tsc -p tsconfig.json","prepare":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","test:package":"npm run build && node scripts/package-smoke.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dc4ec1a9-f66c-48ca-98ad-a84e44544075"}},"repository":{"url":"git+https://github.com/AgentWorkforce/sandbox.git","type":"git"},"_npmVersion":"11.19.0","description":"Provider-agnostic sandbox runtimes and orchestration for agent workloads.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"e2b":"^2.35.0","tsx":"^4.20.6","modal":"^0.9.0","freestyle":"0.1.63","typescript":"^5.9.3","@types/node":"^22","microsandbox":"^0.6.11","@daytonaio/sdk":"^0.205.1","@vercel/sandbox":"3.0.1","@aws-sdk/client-bedrock-agentcore":"^3.1115.0","@aws-sdk/client-bedrock-agentcore-control":"^3.1115.0"},"peerDependencies":{"e2b":">=2.35.0 <3.0.0","modal":">=0.9.0 <0.10.0","freestyle":"0.1.63","microsandbox":">=0.6.11 <0.7.0","@daytonaio/sdk":">=0.180.0 <0.206.0","@vercel/sandbox":">=3.0.1 <4.0.0","@aws-sdk/client-bedrock-agentcore":">=3.1115.0 <4.0.0","@aws-sdk/client-bedrock-agentcore-control":">=3.1115.0 <4.0.0"},"peerDependenciesMeta":{"e2b":{"optional":true},"modal":{"optional":true},"freestyle":{"optional":true},"microsandbox":{"optional":true},"@daytonaio/sdk":{"optional":true},"@vercel/sandbox":{"optional":true},"@aws-sdk/client-bedrock-agentcore":{"optional":true},"@aws-sdk/client-bedrock-agentcore-control":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.1.10_1787598830078_0.13716767119727713","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@agent-relay/sandbox","version":"0.1.11","license":"Apache-2.0","_id":"@agent-relay/sandbox@0.1.11","maintainers":[{"name":"willwashburn","email":"will@agentrelay.com"},{"name":"khaliqgant","email":"khaliqgant@gmail.com"}],"homepage":"https://github.com/AgentWorkforce/sandbox#readme","bugs":{"url":"https://github.com/AgentWorkforce/sandbox/issues"},"dist":{"shasum":"46634bc4806c2cc4299d8783100a34bd7670b964","tarball":"https://registry.npmjs.org/@agent-relay/sandbox/-/sandbox-0.1.11.tgz","fileCount":173,"integrity":"sha512-e26aLD09C7XY25TxXp+1OSYMj4IHOJum7/rDj2OQGtVTa+U9LQVi/SqVK7Bi170AsseFjQAKs+9GeXqvtnrTfg==","signatures":[{"sig":"MEUCIQCR5JYdVpmqNNbD1rrOhKLoOIjMDIfLl68cd6pWcwo7RgIgEERBwtwQo7bA7aFP7E+Rlc6uj4GHyNzhM+x3o8tP8z0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC6O0aP7pJBtY26GvGw7LMNtkvNEgqHgX+UbFDKnOiA+AIgS7Qoljp67PcU9RcXRExS2epHGRnqQh000UG4S5y+7b4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-relay%2fsandbox@0.1.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1407771},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./*":{"types":"./dist/*/index.d.ts","import":"./dist/*/index.js"}},"gitHead":"27b4249cb663bcdb97b01763f854e3c20353df59","scripts":{"test":"node --test --import tsx \"src/**/*.test.ts\"","build":"tsc -p tsconfig.json","prepare":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","test:package":"npm run build && node scripts/package-smoke.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dc4ec1a9-f66c-48ca-98ad-a84e44544075"}},"repository":{"url":"git+https://github.com/AgentWorkforce/sandbox.git","type":"git"},"_npmVersion":"11.19.1","description":"Provider-agnostic sandbox runtimes and orchestration for agent workloads.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"e2b":"^2.35.0","tsx":"^4.20.6","modal":"^0.9.0","freestyle":"0.1.63","typescript":"^5.9.3","@types/node":"^22","microsandbox":"^0.6.11","@daytonaio/sdk":"^0.205.1","@vercel/sandbox":"3.0.1","@aws-sdk/client-bedrock-agentcore":"^3.1115.0","@aws-sdk/client-bedrock-agentcore-control":"^3.1115.0"},"peerDependencies":{"e2b":">=2.35.0 <3.0.0","modal":">=0.9.0 <0.10.0","freestyle":"0.1.63","microsandbox":">=0.6.11 <0.7.0","@daytonaio/sdk":">=0.180.0 <0.206.0","@vercel/sandbox":">=3.0.1 <4.0.0","@aws-sdk/client-bedrock-agentcore":">=3.1115.0 <4.0.0","@aws-sdk/client-bedrock-agentcore-control":">=3.1115.0 <4.0.0"},"peerDependenciesMeta":{"e2b":{"optional":true},"modal":{"optional":true},"freestyle":{"optional":true},"microsandbox":{"optional":true},"@daytonaio/sdk":{"optional":true},"@vercel/sandbox":{"optional":true},"@aws-sdk/client-bedrock-agentcore":{"optional":true},"@aws-sdk/client-bedrock-agentcore-control":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.1.11_1788119265502_0.6224306048414279","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@agent-relay/sandbox","version":"0.1.12","license":"Apache-2.0","_id":"@agent-relay/sandbox@0.1.12","maintainers":[{"name":"willwashburn","email":"will@agentrelay.com"},{"name":"khaliqgant","email":"khaliqgant@gmail.com"}],"homepage":"https://github.com/AgentWorkforce/sandbox#readme","bugs":{"url":"https://github.com/AgentWorkforce/sandbox/issues"},"dist":{"shasum":"8f4ef07f1d50ae34fb7cc545f4c0e0580b8ac4ec","tarball":"https://registry.npmjs.org/@agent-relay/sandbox/-/sandbox-0.1.12.tgz","fileCount":173,"integrity":"sha512-je1LholPg+fK5Evl0SDHXjQ5PrFfosiEn2Y3NLxdQlM0UdjcoCMUPaekDXm2K66mFY0SMSuDAHc1eaiHYyCrIQ==","signatures":[{"sig":"MEQCIFaCHU0njaptV7ARlFcY36pV2smJ452AV6/1pAbT9P2rAiATbU0mI3YfRt3K2JfSWVxSkvlPRlJv5Zc9hytILPkgvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBqu7BS8VTJt1nBijFGcrmqGPQeicAAS0hth1D84Xz4MAiBZ+CtlN4dgVXjXwQne8bOzz0D4ce1+KVl8NM3qch3kmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-relay%2fsandbox@0.1.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1409268},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./*":{"types":"./dist/*/index.d.ts","import":"./dist/*/index.js"}},"gitHead":"d68a71b4facbc688d4b06e867993928491b0f283","scripts":{"test":"node --test --import tsx \"src/**/*.test.ts\"","build":"tsc -p tsconfig.json","prepare":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","test:package":"npm run build && node scripts/package-smoke.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dc4ec1a9-f66c-48ca-98ad-a84e44544075"}},"repository":{"url":"git+https://github.com/AgentWorkforce/sandbox.git","type":"git"},"_npmVersion":"11.19.1","description":"Provider-agnostic sandbox runtimes and orchestration for agent workloads.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"e2b":"^2.35.0","tsx":"^4.20.6","modal":"^0.9.0","freestyle":"0.1.63","typescript":"^5.9.3","@types/node":"^22","microsandbox":"^0.6.11","@daytonaio/sdk":"^0.205.1","@vercel/sandbox":"3.0.1","@aws-sdk/client-bedrock-agentcore":"^3.1115.0","@aws-sdk/client-bedrock-agentcore-control":"^3.1115.0"},"peerDependencies":{"e2b":">=2.35.0 <3.0.0","modal":">=0.9.0 <0.10.0","freestyle":"0.1.63","microsandbox":">=0.6.11 <0.7.0","@daytonaio/sdk":">=0.180.0 <0.206.0","@vercel/sandbox":">=3.0.1 <4.0.0","@aws-sdk/client-bedrock-agentcore":">=3.1115.0 <4.0.0","@aws-sdk/client-bedrock-agentcore-control":">=3.1115.0 <4.0.0"},"peerDependenciesMeta":{"e2b":{"optional":true},"modal":{"optional":true},"freestyle":{"optional":true},"microsandbox":{"optional":true},"@daytonaio/sdk":{"optional":true},"@vercel/sandbox":{"optional":true},"@aws-sdk/client-bedrock-agentcore":{"optional":true},"@aws-sdk/client-bedrock-agentcore-control":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.1.12_1788254729445_0.008971409752666748","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@agent-relay/sandbox","version":"0.1.14","license":"Apache-2.0","_id":"@agent-relay/sandbox@0.1.14","maintainers":[{"name":"willwashburn","email":"will@agentrelay.com"},{"name":"khaliqgant","email":"khaliqgant@gmail.com"}],"homepage":"https://github.com/AgentWorkforce/sandbox#readme","bugs":{"url":"https://github.com/AgentWorkforce/sandbox/issues"},"dist":{"shasum":"e75d97ad0d160d239be6ef0e51de100ea5d96415","tarball":"https://registry.npmjs.org/@agent-relay/sandbox/-/sandbox-0.1.14.tgz","fileCount":173,"integrity":"sha512-phZTt7DoVrYua+oljzJ6xR5J9rV7uvL37HKxgg4fpsjmN/V7kA+6rZqOaQ/unDyZK4vyy0EtVW4jS/QsdtVyuA==","signatures":[{"sig":"MEUCIEgshbDgqyETm+0/8tcBZcVSFWl5VN1grkw3OvxUjt+2AiEAsiMS0VfYN1AXOskAEqBFKPVq1SCuVN+CqBekdS0yrxM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCiZFqWw5Jp0woKBsCXZbHYjrYnJsvXwRmwx160Pn9A2gIhAPiZhHOHySLk0EKYjRaOsV1Xyd5RGJ3H7i0gEaRlJla8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-relay%2fsandbox@0.1.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1415099},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./*":{"types":"./dist/*/index.d.ts","import":"./dist/*/index.js"}},"gitHead":"cfdf801c8df743f0a230e4981ac659910c3773a3","scripts":{"test":"node --test --import tsx \"src/**/*.test.ts\"","build":"tsc -p tsconfig.json","prepare":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","test:package":"npm run build && node scripts/package-smoke.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dc4ec1a9-f66c-48ca-98ad-a84e44544075"}},"repository":{"url":"git+https://github.com/AgentWorkforce/sandbox.git","type":"git"},"_npmVersion":"11.19.1","description":"Provider-agnostic sandbox runtimes and orchestration for agent workloads.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"e2b":"^2.35.0","tsx":"^4.20.6","modal":"^0.9.0","freestyle":"0.1.63","typescript":"^5.9.3","@types/node":"^22","microsandbox":"^0.6.11","@daytonaio/sdk":"^0.205.1","@vercel/sandbox":"3.0.1","@aws-sdk/client-bedrock-agentcore":"^3.1115.0","@aws-sdk/client-bedrock-agentcore-control":"^3.1115.0"},"peerDependencies":{"e2b":">=2.35.0 <3.0.0","modal":">=0.9.0 <0.10.0","freestyle":"0.1.63","microsandbox":">=0.6.11 <0.7.0","@daytonaio/sdk":">=0.180.0 <0.206.0","@vercel/sandbox":">=3.0.1 <4.0.0","@aws-sdk/client-bedrock-agentcore":">=3.1115.0 <4.0.0","@aws-sdk/client-bedrock-agentcore-control":">=3.1115.0 <4.0.0"},"peerDependenciesMeta":{"e2b":{"optional":true},"modal":{"optional":true},"freestyle":{"optional":true},"microsandbox":{"optional":true},"@daytonaio/sdk":{"optional":true},"@vercel/sandbox":{"optional":true},"@aws-sdk/client-bedrock-agentcore":{"optional":true},"@aws-sdk/client-bedrock-agentcore-control":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.1.14_1788273303213_0.3265928748561804","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@agent-relay/sandbox","version":"0.1.15","license":"Apache-2.0","_id":"@agent-relay/sandbox@0.1.15","maintainers":[{"name":"willwashburn","email":"will@agentrelay.com"},{"name":"khaliqgant","email":"khaliqgant@gmail.com"}],"homepage":"https://github.com/AgentWorkforce/sandbox#readme","bugs":{"url":"https://github.com/AgentWorkforce/sandbox/issues"},"dist":{"shasum":"9b8e477927247926584a881ef65b79bbc31b5470","tarball":"https://registry.npmjs.org/@agent-relay/sandbox/-/sandbox-0.1.15.tgz","fileCount":187,"integrity":"sha512-eXOcNS6PXPi+RNM0eR3l1a3k+8b/03MBQlW8hovhDMI4RdqpMnNd/GCcZse5QfOj+AfepLthq2iUM9JqEpQFyw==","signatures":[{"sig":"MEYCIQC1bD1Hibl1OTfu7qCvqDpX/o9MSc7Pvaya+92ekTDKJAIhANFC7vhzjSvLHJmOWsSWduwL6KC2ZVZdqwe7UrZ4L9qb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCID9ErhXArTja1qsIE/Vd2eqaKv43xvXCpY3SXeNY7WfxAiEAnZLZCqX32pkKPd9A0tMSadwwXAYO5vHMqp9yJq0irhQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-relay%2fsandbox@0.1.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1473367},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./*":{"types":"./dist/*/index.d.ts","import":"./dist/*/index.js"}},"gitHead":"6c26e948748f4f0caedcc3366bc839e507acedfd","scripts":{"test":"node --test --import tsx \"src/**/*.test.ts\"","build":"tsc -p tsconfig.json","prepare":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","test:package":"npm run build && node scripts/package-smoke.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dc4ec1a9-f66c-48ca-98ad-a84e44544075"}},"repository":{"url":"git+https://github.com/AgentWorkforce/sandbox.git","type":"git"},"_npmVersion":"11.19.1","description":"Provider-agnostic sandbox runtimes and orchestration for agent workloads.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"e2b":"^2.35.0","tsx":"^4.20.6","modal":"^0.9.0","freestyle":"0.1.63","typescript":"^5.9.3","@types/node":"^22","microsandbox":"^0.6.11","@daytonaio/sdk":"^0.205.1","@vercel/sandbox":"3.0.1","@aws-sdk/client-bedrock-agentcore":"^3.1115.0","@aws-sdk/client-bedrock-agentcore-control":"^3.1115.0"},"peerDependencies":{"e2b":">=2.35.0 <3.0.0","modal":">=0.9.0 <0.10.0","freestyle":"0.1.63","microsandbox":">=0.6.11 <0.7.0","@daytonaio/sdk":">=0.180.0 <0.206.0","@vercel/sandbox":">=3.0.1 <4.0.0","@aws-sdk/client-bedrock-agentcore":">=3.1115.0 <4.0.0","@aws-sdk/client-bedrock-agentcore-control":">=3.1115.0 <4.0.0"},"peerDependenciesMeta":{"e2b":{"optional":true},"modal":{"optional":true},"freestyle":{"optional":true},"microsandbox":{"optional":true},"@daytonaio/sdk":{"optional":true},"@vercel/sandbox":{"optional":true},"@aws-sdk/client-bedrock-agentcore":{"optional":true},"@aws-sdk/client-bedrock-agentcore-control":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.1.15_1788893427323_0.0028638184785363396","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"_id":"@agent-relay/sandbox@0.1.16","bugs":{"url":"https://github.com/AgentWorkforce/sandbox/issues"},"dist":{"shasum":"e7d74fff5372ccceff3503819618b1d0936dcf8d","tarball":"https://registry.npmjs.org/@agent-relay/sandbox/-/sandbox-0.1.16.tgz","fileCount":187,"integrity":"sha512-vp7CF7B3QsSi827lMGAK8pSmf6CrZ2DOdraVXk69lYVxL1dIxElj2PNOPTkW9PHLHtx3xsHhJdKavfsebXFyJQ==","signatures":[{"sig":"MEUCIQD/TL9anBRAoMhZLQV2Uv5k5K/FA0GGp186yCpVioFX0QIgdhhfQ1FpKe7MfIOEfBaN16uRg9OxgjTL4TsKkkWrmHg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD4lAKxRu+jSo5ffxKDM1U+XKIm7W1Rq5mHMxmBM7bIUgIhAOvFszmtBb4oRmwsaXhjNZGojOFLqndaLJ3MVRl4tvQj"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-relay%2fsandbox@0.1.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1476002},"main":"dist/index.js","name":"@agent-relay/sandbox","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./*":{"types":"./dist/*/index.d.ts","import":"./dist/*/index.js"}},"gitHead":"2b78ac7575817fd48a04360c2316af16cc9a11d7","license":"Apache-2.0","scripts":{"test":"node --test --import tsx \"src/**/*.test.ts\"","build":"tsc -p tsconfig.json","prepare":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","test:package":"npm run build && node scripts/package-smoke.mjs"},"version":"0.1.16","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dc4ec1a9-f66c-48ca-98ad-a84e44544075"}},"homepage":"https://github.com/AgentWorkforce/sandbox#readme","repository":{"url":"git+https://github.com/AgentWorkforce/sandbox.git","type":"git"},"_npmVersion":"11.19.1","description":"Provider-agnostic sandbox runtimes and orchestration for agent workloads.","directories":{},"maintainers":[{"name":"willwashburn","email":"will@agentrelay.com"},{"name":"khaliqgant","email":"khaliqgant@gmail.com"}],"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"e2b":"^2.35.0","tsx":"^4.20.6","modal":"^0.9.0","freestyle":"0.1.63","typescript":"^5.9.3","@types/node":"^22","microsandbox":"^0.6.11","@daytonaio/sdk":"^0.205.1","@vercel/sandbox":"3.0.1","@aws-sdk/client-bedrock-agentcore":"^3.1115.0","@aws-sdk/client-bedrock-agentcore-control":"^3.1115.0"},"peerDependencies":{"e2b":">=2.35.0 <3.0.0","modal":">=0.9.0 <0.10.0","freestyle":"0.1.63","microsandbox":">=0.6.11 <0.7.0","@daytonaio/sdk":">=0.180.0 <0.206.0","@vercel/sandbox":">=3.0.1 <4.0.0","@aws-sdk/client-bedrock-agentcore":">=3.1115.0 <4.0.0","@aws-sdk/client-bedrock-agentcore-control":">=3.1115.0 <4.0.0"},"peerDependenciesMeta":{"e2b":{"optional":true},"modal":{"optional":true},"freestyle":{"optional":true},"microsandbox":{"optional":true},"@daytonaio/sdk":{"optional":true},"@vercel/sandbox":{"optional":true},"@aws-sdk/client-bedrock-agentcore":{"optional":true},"@aws-sdk/client-bedrock-agentcore-control":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sandbox_0.1.16_1789569920427_0.6919351540700545"}}},"time":{"created":"2026-07-18T11:38:35.643Z","modified":"2026-09-16T14:45:20.947Z","0.0.0":"2026-07-18T11:38:35.925Z","0.1.0":"2026-07-18T13:21:44.082Z","0.1.1":"2026-07-19T01:57:59.122Z","0.1.2":"2026-07-28T08:43:50.238Z","0.1.3":"2026-08-23T11:57:49.658Z","0.1.5":"2026-08-23T18:11:10.558Z","0.1.6":"2026-08-23T21:26:14.310Z","0.1.7":"2026-08-23T21:34:34.507Z","0.1.8":"2026-08-23T22:18:56.428Z","0.1.9":"2026-08-23T22:38:08.094Z","0.1.10":"2026-08-24T19:13:50.188Z","0.1.11":"2026-08-30T19:47:45.601Z","0.1.12":"2026-09-01T09:25:29.533Z","0.1.14":"2026-09-01T14:35:03.318Z","0.1.15":"2026-09-08T18:50:27.412Z","0.1.16":"2026-09-16T14:45:20.570Z"},"bugs":{"url":"https://github.com/AgentWorkforce/sandbox/issues"},"license":"Apache-2.0","homepage":"https://github.com/AgentWorkforce/sandbox#readme","repository":{"url":"git+https://github.com/AgentWorkforce/sandbox.git","type":"git"},"description":"Provider-agnostic sandbox runtimes and orchestration for agent workloads.","maintainers":[{"name":"willwashburn","email":"will@agentrelay.com"},{"name":"khaliqgant","email":"khaliqgant@gmail.com"}],"readme":"# @agent-relay/sandbox\n\nProvider-agnostic sandbox runtimes and orchestration for agent workloads.\n\nAgents that write code need somewhere to run it. This package provides a single\nruntime port that several sandbox providers implement, plus the orchestration\nlayer that drives a sandbox through a workload: launch it, put files into it,\nrun commands, stream results back, and tear it down.\n\nThe point of the port is that the orchestration layer holds no provider\nknowledge. Swapping providers is a change of adapter, not a change of caller.\n\n> **Status: pre-1.0.** The public API may still change before a `1.0.0`\n> release.\n\n## Install\n\n```bash\nnpm install @agent-relay/sandbox\n```\n\n## Run your first workload\n\nFor an E2B sandbox, also install `e2b`, set `E2B_API_KEY` in your application's\nenvironment, and save this as `hello.mjs`:\n\n```js\nimport { withSandbox } from \"@agent-relay/sandbox/core\";\nimport { E2BSandboxRuntime } from \"@agent-relay/sandbox/e2b\";\n\nconst apiKey = process.env.E2B_API_KEY;\nif (!apiKey) throw new Error(\"Set E2B_API_KEY before running this example\");\n\nconst result = await withSandbox({\n  runtime: new E2BSandboxRuntime({ apiKey, template: \"base\" }),\n}, (sandbox) => sandbox.run(\"echo hello\", { timeoutMs: 10_000 }));\n\nconsole.log(result.output);\nif (result.exitCode !== 0) process.exitCode = 1;\n```\n\nRun `node hello.mjs`. `withSandbox` creates a sandbox, runs your callback, and\nattempts cleanup whether the callback succeeds or throws. It preserves both\nerrors if the workload and cleanup fail. Use `createSandbox` from the same\nentrypoint when you need explicit `run` / `destroy` control. Both accept the\nsame provider runtimes; changing providers changes the adapter configuration.\nThese helpers do not retry uncertain creates or provide recovery after process\ndeath. Provider charges and limits still apply.\n\n### From one sandbox to a software factory\n\nUse this package when you want to build the execution layer yourself. When you\nneed issue discovery, multiple coding agents, reviews, PR publication and a\nmerge gate, [Software Garden](https://github.com/AgentWorkforce/software-garden)\nprovides that workflow. Its starting point is `npm install @agent-relay/factory`\nfollowed by `factory init` in the target repository; Garden checks its Relay and\nrepository-access prerequisites during setup.\n\nHosted AgentWorkforce integrations can own account onboarding and operation of\nthat factory. The SDK remains usable with your own provider account and does\nnot require an AgentWorkforce login. See the [setup integration contract](docs/setup.md)\nfor the boundary a hosted \"Connect with AgentWorkforce\" experience can implement.\n\n### Provider account setup\n\n`@agent-relay/sandbox/setup` supplies `createProviderSetup(backend)` for trusted\napplication backends. Setup is explicit (`prewarm`); `status` and\n`hasAvailableCredentials` only read readiness. Pass the latter to a router or\nto `createSandbox` / `withSandbox` as an optional readiness gate. It does not\nreturn account credentials or automatically create provider accounts during a\nsandbox launch. The backend implementation and its onboarding UI are supplied\nby the application; this package does not claim a live hosted connection.\n\n### Hosted AgentWorkforce sandbox (private preview)\n\nThe `@agent-relay/sandbox/hosted` entrypoint is a provider-neutral facade for\nthe companion cloud session endpoints. It is private-preview only and is not\ndeployed or generally available yet. See the [hosted guide](docs/hosted.md)\nfor the eventual five-line usage and its explicit deployment requirements.\n\n## Provider adapters\n\nProvider SDKs are peer dependencies: install the one you intend to use. A\nconsumer that only runs local sandboxes does not need a remote provider SDK.\nAdapters for providers that publish no JavaScript SDK speak their HTTP API\ndirectly and add no dependency at all; they take an injectable `fetch` instead.\n\nImport provider-neutral APIs and the selected adapter from separate entrypoints:\n\n```ts\nimport { SandboxOrchestrator } from \"@agent-relay/sandbox/core\";\nimport { DaytonaRuntime } from \"@agent-relay/sandbox/daytona\";\n```\n\nThe provider entrypoints are `agent37`, `agentcore`, `daytona`, `e2b`,\n`freestyle`, `local`, `microsandbox`, `modal`, and `vercel`. Each points at its\nown barrel, so a bundler does not have to resolve the other optional provider SDKs.\nThe root `@agent-relay/sandbox` barrel still exports the complete historical\nsurface for compatibility, but new runtime imports should use `core` plus one\nprovider subpath.\n\nThe export map uses `./* -> ./dist/*/index.js` rather than enumerating today’s\nproviders. To add another provider safely, add `src/<provider>/index.ts` as its\nisolated public barrel and declare its SDK as an optional peer. The package\ncontract test requires every runtime directory (and every optional peer owner)\nto have such a barrel, and the packed-package smoke test verifies those barrels\nship and import without installing any optional peers.\n\n### Provider constraints\n\nEach adapter inherits its provider SDK's requirements, and they are not all the\nsame as this package's:\n\n| Adapter | Peer dependency | Requirements beyond this package's |\n| --- | --- | --- |\n| `DaytonaRuntime` | `@daytonaio/sdk` 0.180–0.205 | — |\n| `E2BSandboxRuntime` | `e2b` | — |\n| `MicrosandboxRuntime` | `microsandbox` | **Node.js 22+**, a platform-specific native addon (macOS arm64, Linux x64/arm64, Windows x64/arm64), and — for its `local` backend — hardware virtualization: KVM on Linux, Apple Silicon on macOS, or WHP on Windows 10+ |\n| `LocalSandboxRuntime` | — | A reachable local sandbox service |\n\nThe package itself keeps a Node 20 floor, because a consumer that never touches\nthe microsandbox adapter never loads that SDK: it is imported lazily, at first\nuse, and a load failure is reported with the constraint that most often\nexplains it.\n\n### Microsandbox capabilities are backend-sensitive\n\n`MicrosandboxRuntime.capabilities` is derived from the backend the instance is\nbound to, not reported as a single process-wide constant:\n\n| Capability | `local` | `cloud` | Why |\n| --- | --- | --- | --- |\n| `snapshots` | `true` | `false` | A snapshot is a host-local artifact: the installed SDK's typings describe `Snapshot` as an artifact on disk and resolve one under `~/.microsandbox/snapshots/<name>/`. This adapter consumes such an artifact from the calling host and never transfers it, so a create issued against a remote backend has nothing to resolve. Configuring `snapshot` with a cloud backend is refused in the constructor, before any SDK call. |\n| `isolation` | `'strong'` | `'unknown'` | Locally the SDK boots a microVM with its own guest kernel on a virtualization-capable host, and the installed package states that requirement itself, so `'strong'` rests on something checkable here. This adapter observes and measures nothing about the cloud backend's isolation. |\n\nBoth values describe what this package has **established**, not what any\nprovider documents. `'unknown'` is not a synonym for weak and is not a claim\nthat the guarantee is missing — it means this package has not established one,\nso a caller that requires a specific guarantee must decide for itself rather\nthan read an unverified `'strong'`.\n\nCloud region placement and resource enforcement are likewise not represented as\nmeasured facts. Custom or published **ports are not supported**: the SDK builder\nexposes `port()`/`portBind()`, but the ports this package targets have no\npublic-port surface, so the adapter never calls them and never implies a\nreachable port.\n\n## Design\n\nTwo pieces, deliberately kept apart:\n\n- **Runtime adapters** implement a small port — launch, exec, file transfer,\n  teardown — against one provider apiece.\n- **The orchestrator** drives a workload through whichever runtime it is given.\n  It is generic over the provider's handle type and knows nothing about any\n  specific provider.\n\nConfiguration is injected, never baked in. The package ships no default\ntemplates, endpoints, hostnames, or credentials: anything environment-specific\nis a required argument supplied by the caller. This keeps the package usable\noutside the environment it was extracted from, and keeps credential handling in\nthe caller where it belongs.\n\nEach adapter also declares what it genuinely supports rather than what its\nmethod names imply. `resolveSandboxRuntimeCapabilities` reads that declaration,\nso a caller learns up front whether a provider can reattach to a sandbox by id,\npoll a background command, hand back a still-booting sandbox, or search by\nlabel — instead of discovering the answer from a failure at run time.\n\n### Daytona restart recovery\n\n`DaytonaRuntime.start()` does not trust the provider state transition alone. It\nrehydrates the SDK sandbox and runs a bounded `true` readiness probe after `start`,\nbecause Daytona can report `STARTED` while its Toolbox exec daemon remains\nunavailable. A healthy restart keeps the same sandbox ID. A failure during that\nrehydration itself (auth, rate limit, or network) is not proof the exec daemon\nis dead, so it is propagated as-is and never triggers a replacement.\n\nWhen the post-start readiness probe fails, the runtime defaults to creating and proving\na replacement before deleting the unusable sandbox. The returned handle is\nupdated in place and can therefore have a new `id`; callers must persist that\nreturned ID. The replacement preserves the configured snapshot plus provider\nlabels, environment, lifecycle, volume, and network settings, but non-volume\nfilesystem changes in the old sandbox are not copied. Stateful callers that\nprefer a hard failure to that trade-off can set `recreateOnFailedStart: false`.\n\n### E2B runtime contract\n\n`E2BSandboxRuntime` implements both the outer orchestration port and the live\n`WorkflowRuntime` surface: metadata/state lookup, reattachment, synchronous and\ndurable asynchronous execution, upload/download, home-directory resolution,\npause/resume, and owned-resource teardown. It deliberately does not expose a\ndetached-launch method because E2B's public create call waits for a running\nsandbox. Its live capability descriptor likewise reports PTY and streaming logs\nas unsupported because this adapter exposes neither behavior, even though the\nprovider SDK has lower-level APIs for them.\n\nThe adapter applies an explicit sandbox lifetime on create, reconnect, and\nsynchronous use; `sandboxLifetimeMs` defaults to the configured asynchronous\nrun budget.\n\nSynchronous runs always carry an explicit command lifetime cap, because E2B —\nalone among the providers here — applies a 60-second default when the field is\nomitted, while the orchestrator omits `timeoutMs` on most execs. A run without a\ncaller timeout therefore uses `syncRunBudgetMs`, which defaults to the\nconfigured `runBudgetMs` (30 minutes unless set). An explicit caller timeout\nalways wins, and is the only thing that extends the sandbox past\n`sandboxLifetimeMs`; the implicit budget never does.\n\nAsynchronous session IDs are immutable idempotency keys. A retry\nreconciles the durable admission record with E2B's process list and will not\nerase the session directory or submit another copy. Status is pending only\nwhile the matching provider process is present. If that process disappears\nwithout publishing its exit sidecar, status becomes terminal with\n`E2B_ASYNC_PROCESS_LOST_EXIT_CODE` (`255`).\n\n### Daytona wire-supplement\n\nDaytona's Sandbox wire response carries two fields — `sandboxClass` (the\nsandbox's class/tier) and `warmPoolId` (set while a sandbox is an unclaimed\nwarm-pool member) — that exist on the low-level `@daytona/api-client` DTOs but\nthat the vendored `@daytonaio/sdk`'s `Sandbox` class does not copy onto\nitself. `DaytonaRuntime.getWireSupplement(handle)` fetches both directly via\nthe SDK's low-level `sandboxApi`, the same reach pattern `runtime.ts` already\nuses for detached create.\n\nThis is a narrow, deliberately temporary gap, not a fork of the SDK: the\nother fields once suspected missing (`autoDestroyAt`, `autoPauseInterval`,\n`spot`) already ship on the public `Sandbox` class as of `@daytonaio/sdk`\n0.200.0–0.205.0 — a dependency bump alone covers those. Tracked upstream at\n[daytona/clients#207](https://github.com/daytona/clients/issues/207)\n(precedent: [#192](https://github.com/daytona/clients/pull/192), which added\n`spot` the same way). Retire `src/daytona/wire-supplement.ts` once\n`processSandboxDto()` copies `sandboxClass`/`warmPoolId` and a subsequent SDK\nbump picks that up — `runtime.test.ts`'s `DaytonaRuntime smoke` suite has a\nload-bearing regression test that fails once that happens.\n### Freestyle runtime contract\n\n`FreestyleRuntime` uses an explicit API key, home directory, ownership-name\nprefix, and persistence policy. It never reads ambient credentials. Freestyle\ndoes not expose labels on VM creation, so label lookup and warm leasing remain\nunsupported; ownership and cleanup are scoped to collision-safe names under the\nconfigured prefix. Deleted list rows are treated as gone only when the provider\nsets `deleted: true`.\n\nThe adapter exposes buffered exec, file transfer, reattachment, owned-resource\nlisting, and verified deletion. Stop/start methods exist as a conservative\nprobe surface, but lifecycle remains undeclared because the live validation\naccount could not create a persistent VM. PTY, snapshots, streaming logs, fork,\nand never-idle behavior are likewise not advertised without the required live\nproof through this package's public port.\n\nThe official SDK is isolated under `src/freestyle/internal/`; public\nconfiguration and capability metadata do not import vendor types. All create,\nlookup, exec, lifecycle, and deletion operations have explicit deadlines. See\n[the Freestyle adapter notes](./docs/freestyle.md) for dependency provenance,\nprovider constraints, and capability evidence.\n\n### Vercel Sandbox runtime contract\n\n`VercelSandboxRuntime` takes an explicit token, team id, project id, ownership\nname prefix, and home directory, and passes credentials on every SDK call so the\nvendor's own environment and on-disk OAuth fallbacks can never supply an\noperator's identity.\n\nA Vercel sandbox is addressed by its **name**, not an opaque id, so\n`RuntimeHandle.id` carries the name and the configured prefix is a real\nownership boundary: stop, start, and delete refuse any name outside it.\n`Sandbox.list` supports server-side `namePrefix` and `tags` filters, so label\nlookup is a real search here — but every row is re-checked against the requested\ntags in process, because a server filter that were ever ignored would hand back\nsomeone else's sandbox as a warm lease. `getById` is implemented over `list`\nrather than `Sandbox.get`, which resumes and bills the sandbox as a side effect.\n\nDeletion is verified by absence, and a row that reappears under the same name\nwith a different `createdAt` counts as proof our sandbox is gone rather than as\na survivor. Failed verification retains the registration so cleanup stays\nretryable. `acquire()` returns an `AsyncDisposable` for `await using` scopes.\n\nCommands run as `sh -c` with `cwd` and `env` passed through provider fields, so\nno caller value is spliced into a command string. Every operation carries its\nown deadline, under an absolute `retryDeadlineMs` ceiling that spans the SDK's\ninternal retries.\n\nWarm leasing, lifecycle, PTY, snapshots, streaming logs, fork, and verified\ncleanup are all declared `false` pending live evidence; never-idle is settled\nfalse, because every Vercel sandbox carries a termination deadline. The official\nSDK is isolated under `src/vercel/internal/`. See\n[the Vercel adapter notes](./docs/vercel.md) for dependency provenance,\ncapability evidence, and the active-CPU-versus-wall-clock pricing analysis.\n\nCapabilities are also declared structurally. PTY and snapshots resolve to\n`\"not-exposed\"` — real in the SDK, unreachable through this port, and so not\nsomething a live probe may promote — while `lifetime` resolves to `\"deadline\"`,\nthe settled reason a Vercel sandbox has no never-idle tier. `filesystem` is\ndeliberately left `\"unknown\"`: durability is per-instance configuration\n(`persistent`), and surviving a stop/resume is the same round trip `lifecycle`\nis still awaiting live proof of.\n\n### Modal runtime contract\n\n`ModalRuntime` takes an explicit Modal **token pair** (`tokenId` and\n`tokenSecret` — Modal does not use a single bearer key), an App name, an image\ntag, a home directory, and an ownership-name prefix. It never reads ambient\ncredentials or a local Modal profile.\n\nA Modal Sandbox is a child of an App, built from an Image, and it has a\n**maximum lifetime after which the provider terminates it** — the SDK's own\ndefault is five minutes. `maxLifetimeMs` is therefore required configuration and\nis always sent explicitly. `createTimeoutSeconds` on `launch` is a deadline on\nthe create call and is deliberately not forwarded to that lifetime.\n\nModal exposes no stop/start for a Sandbox; `terminate` is the only lifecycle\ntransition and it is terminal. `start` and `stop` are absent rather than\nno-ops, and `lifecycle` is declared false permanently. Async exec is likewise\nnot implemented: Modal cannot re-resolve a running exec by id, so the\n`startScript`/`getScriptStatus`/`getScriptLogs` trio is omitted entirely instead\nof being half-supported.\n\nOwnership rides on Modal's native server-side tags rather than on a naming\nconvention. Every sandbox carries an ownership tag, every lookup filters on it\nserver-side, and reattachment and deletion both re-check it. Warm leasing is\nimplemented against that real tag filter but remains undeclared until a live\nprobe confirms it. Snapshots, volumes, PTY, and tunnels exist in the provider\nand are documented, but are not advertised because this package's port exposes\nno operation for them.\n\nThat last distinction is now stated structurally rather than in prose. The\nadapter declares `declaredCapabilityModes`, so PTY and snapshots resolve to\n`\"not-exposed\"` — a fact about this package's port, which `isPendingEvidence()`\nreports as unmovable — rather than to a bare `false` a later canary might read\nas merely unverified. `lifetime` resolves to `\"deadline\"`, which is the\nstructural reason a Modal sandbox can never be never-idle. Output is\n`\"buffered\"`: Modal streams, the adapter drains. Warm leasing deliberately gets\nno mode, because modes describe a capability's shape and not its verification\nstate.\n\nThe official SDK is isolated under `src/modal/internal/`, and because that SDK\nspeaks gRPC rather than HTTP there is no injectable transport seam; the boundary\nis a structural mirror that is checked at build time instead. All create,\nlookup, exec, upload, and deletion operations have explicit deadlines. See\n[the Modal adapter notes](./docs/modal.md) for dependency provenance, provider\nconstraints, cost model, and capability evidence.\n\n## Development\n\n```bash\nnpm ci\nnpm run build      # tsc → dist/\nnpm run typecheck\nnpm test           # node:test\n```\n\nRequires Node.js 20 or newer. The microsandbox adapter's own tests need Node 22+\nto load the real SDK; without it, its SDK-contract checks skip rather than fail.\n\n## Releasing\n\nPublishing is manual-dispatch only, via the `Publish` workflow, and defaults to\na dry run. Nothing publishes automatically on push or merge.\n\nAuthentication is npm OIDC trusted publishing — there is no publish token to\nstore. A real publish requires the repository owner to register this repository\nand workflow as a trusted publisher for the package on npmjs.org; releases carry\n[provenance](https://docs.npmjs.com/generating-provenance-statements) attesting\nthe commit and workflow they were built from.\n\n## License\n\nApache-2.0. See [LICENSE](./LICENSE).\n","readmeFilename":"README.md"}