{"_id":"run","_rev":"182-a0528a14137e328557dec0b2448100de","name":"run","dist-tags":{"latest":"2.1.10"},"versions":{"0.0.2":{"name":"run","version":"0.0.2","author":{"url":"http://dtrejo.com/","name":"David Trejo","email":"dtrejo@cs.brown.edu"},"_id":"run@0.0.2","bin":{"runjs":"./cli.js"},"dist":{"shasum":"6111d41b217268176d117df065e7aab3a5f22cb1","tarball":"https://registry.npmjs.org/run/-/run-0.0.2.tgz","integrity":"sha512-YrECF7YNoGCHxiTifQWgQfrJUxiNAeT73BSGVhyD5fzFkvjxAKHlZ2YchTJDsTMtPmuZzrmv3zkmJtvtiS4d4A==","signatures":[{"sig":"MEYCIQD9x4WqIVitBGBSfFP+JsUbPYxkdJrK6ExeewgF+EdC7QIhANaXmpmIfYcy0lSeUop0Xgpa0DoBozCeUcnpgnn0Bf4Z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"files":[""],"engines":{"node":"*"},"repository":{"url":"git://github.com/DTrejo/run.js.git","type":"git"},"_npmVersion":"0.3.15","description":"Reruns the given file whenever a file in the current working dir subtree is changed.","directories":{"lib":"."},"_nodeVersion":"v0.4.1","_defaultsLoaded":true,"_engineSupported":true},"0.0.3":{"name":"run","version":"0.0.3","author":{"url":"http://dtrejo.com/","name":"David Trejo","email":"dtrejo@cs.brown.edu"},"_id":"run@0.0.3","bin":{"runjs":"./cli.js"},"dist":{"shasum":"68e94ba959b84ebba92fc8ad562d738d42ecee51","tarball":"https://registry.npmjs.org/run/-/run-0.0.3.tgz","integrity":"sha512-h7YD7qNuzuEHs451WqvmKvivRHXUS8BpB9OKqmnDB1TGyx6ywrMYZ7IckEaXwm4AF8FBg4AoriDvX0WAMVLxGQ==","signatures":[{"sig":"MEUCIQDvQ+5e+pblzV9zM9n+Jk3hf+BYf+/VkakkTmCAXKI9dwIgYFiAyMEKZfxHkF4Wi1xEP4sa4sBz7LHcaPPncXHxQa4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"files":[""],"engines":{"node":"*"},"repository":{"url":"git://github.com/DTrejo/run.js.git","type":"git"},"_npmVersion":"0.3.18","description":"Reruns the given file whenever a file in the current working dir subtree is changed.","directories":{"lib":"."},"_nodeVersion":"v0.4.7","_defaultsLoaded":true,"_engineSupported":true},"0.1.0":{"name":"run","version":"0.1.0","author":{"url":"http://dtrejo.com/","name":"David Trejo","email":"dtrejo@cs.brown.edu"},"_id":"run@0.1.0","bin":{"runjs":"./cli.js"},"dist":{"shasum":"2c039a8504b8f17afc1aa12073d37f8320309cb1","tarball":"https://registry.npmjs.org/run/-/run-0.1.0.tgz","integrity":"sha512-YjG1nJS59yKV12MPp38uIy5Qwv1s9qR7/4FlWMAALs0XiXfkCUMPK8YwssCJr1wU8FwB58ki5NSSkGa2dUVHJQ==","signatures":[{"sig":"MEUCIQCL3s8rnNEKnhTQ8ZZb3YC/KG7jBV1C6n2RDcvCfZ6iIgIgV+OmHk6zikQPJjtB+JgbThRoBM24RdmLkBWltPKo4eg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"*"},"scripts":{},"repository":{"url":"git://github.com/DTrejo/run.js.git","type":"git"},"_npmVersion":"1.0.1","description":"Reruns the given file whenever a file in the current working dir subtree is changed.","directories":{"lib":"."},"_nodeVersion":"v0.4.7","dependencies":{},"_defaultsLoaded":true,"devDependencies":{},"_engineSupported":true},"0.1.1":{"name":"run","version":"0.1.1","author":{"url":"http://dtrejo.com/","name":"David Trejo","email":"dtrejo@cs.brown.edu"},"_id":"run@0.1.1","bin":{"runjs":"./cli.js"},"dist":{"shasum":"ddfee2c13544e11792660e9d76a7af02a474e8a1","tarball":"https://registry.npmjs.org/run/-/run-0.1.1.tgz","integrity":"sha512-3mP1GrjoUyM59HCl20wFbuQqdYGDkmzM55mG++1Cf6Y7+gAT6AbvtQnVsBBwh4CNFhA6mSezq071pJuNreKQJg==","signatures":[{"sig":"MEUCIQC3P11Jr4hSi+iclTye00S3lgVOPK/p6u5tl+aKKTSgQwIgc2mjJ4OOoYcgc7f9JBlttbFFD8QNB34vBJpvkJKJTzM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"*"},"scripts":{},"repository":{"url":"git://github.com/DTrejo/run.js.git","type":"git"},"_npmVersion":"1.0.1","description":"Reruns the given file whenever a file in the current working dir subtree is changed.","directories":{"lib":"."},"_nodeVersion":"v0.4.7","dependencies":{},"preferGlobal":true,"_defaultsLoaded":true,"devDependencies":{},"_engineSupported":true},"0.2.0":{"name":"run","version":"0.2.0","author":{"url":"http://dtrejo.com/","name":"David Trejo","email":"dtrejo@cs.brown.edu"},"_id":"run@0.2.0","maintainers":[{"name":"dtrejo","email":"dtrejo@cs.brown.edu"}],"bin":{"runjs":"./cli.js"},"dist":{"shasum":"e06ecaa38e3d0d8917caea9b5a35fa397f47a65a","tarball":"https://registry.npmjs.org/run/-/run-0.2.0.tgz","integrity":"sha512-WgMI3y0DL69Q5Bej7V5O9bF3ft9NNksee6tuLb9753KM9VMOVhx5w1RiqbrHhYcTfGbyyQpFRlse/5B/fRImSw==","signatures":[{"sig":"MEYCIQC3ZG6q8mLSbu3A8TVmiHvXPoppu5WcmO8Xfa20ZHpxXQIhAJYcPatLCgHFGaN1bFyTRkWWRaedn1zLKW4et6C9r2ZV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"*"},"_npmUser":{"name":"dtrejo","email":"dtrejo@cs.brown.edu"},"repository":{"url":"git://github.com/DTrejo/run.js.git","type":"git"},"_npmVersion":"1.0.105","description":"Reruns the given file whenever a file in the current working dir subtree is changed.","directories":{},"_nodeVersion":"v0.6.1","dependencies":{},"preferGlobal":true,"_defaultsLoaded":true,"devDependencies":{},"_engineSupported":true},"0.2.2":{"name":"run","version":"0.2.2","author":{"url":"http://dtrejo.com/","name":"David Trejo","email":"dtrejo@cs.brown.edu"},"_id":"run@0.2.2","maintainers":[{"name":"dtrejo","email":"dtrejo@cs.brown.edu"}],"homepage":"https://github.com/dtrejo/run.js","bin":{"runjs":"./cli.js"},"dist":{"shasum":"47fdb6010921adb8b46a0a0f191328ee32fc566c","tarball":"https://registry.npmjs.org/run/-/run-0.2.2.tgz","integrity":"sha512-B/BurCSzjQq0z6pJPXcglNZBFMgwGQsitwyERcVkwuIgLeK3MwbZy3Wj3cPhd6EU5M0srnrOBiT0GwO8zDs01Q==","signatures":[{"sig":"MEUCIAP+39o4FTGHxz582eTnk2CidDhJA0kEh2OlpTV/U8QpAiEA9IRyQBf4uVs7OficN0472Q643XP+8OPTKHr4xUbjdeQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"*"},"_npmUser":{"name":"dtrejo","email":"dtrejo@cs.brown.edu"},"repository":{"url":"git://github.com/DTrejo/run.js.git","type":"git"},"_npmVersion":"1.0.105","description":"Reruns the given file whenever a file in the current working dir subtree is changed.","directories":{},"_nodeVersion":"v0.6.1","dependencies":{"glob":"2.1.x"},"preferGlobal":true,"_defaultsLoaded":true,"devDependencies":{},"_engineSupported":true},"0.2.3":{"name":"run","version":"0.2.3","author":{"url":"http://dtrejo.com/","name":"David Trejo","email":"dtrejo@cs.brown.edu"},"_id":"run@0.2.3","maintainers":[{"name":"dtrejo","email":"dtrejo@cs.brown.edu"}],"homepage":"https://github.com/dtrejo/run.js","bin":{"runjs":"./cli.js"},"dist":{"shasum":"f7c7f5ec19aea78a02c9d1d1a4048ed6c8c36cd9","tarball":"https://registry.npmjs.org/run/-/run-0.2.3.tgz","integrity":"sha512-D+gXNAx3O9LDSPkR7GmqEDHCPwAyOiZ694c0+2b5Qegn4n22n9044hIZTugbg3aUSLwMjGObiqDRwjhVnJe7QA==","signatures":[{"sig":"MEUCIQCPW9ognodE2zjCedWs7QZj1RbunypfiitRVaa5qHuXzgIgSXJXUHQ4FG4iwqbgpBaSN6Srq37rUEihb0xTrLzNNaM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"*"},"_npmUser":{"name":"dtrejo","email":"dtrejo@cs.brown.edu"},"repository":{"url":"git://github.com/DTrejo/run.js.git","type":"git"},"_npmVersion":"1.0.106","description":"Reruns the given file whenever a file in the current working dir subtree is changed.","directories":{},"_nodeVersion":"v0.6.5","dependencies":{"minimatch":"*"},"preferGlobal":true,"_defaultsLoaded":true,"devDependencies":{},"_engineSupported":true},"0.2.4":{"name":"run","version":"0.2.4","author":{"url":"http://dtrejo.com/","name":"David Trejo","email":"dtrejo@cs.brown.edu"},"_id":"run@0.2.4","maintainers":[{"name":"dtrejo","email":"dtrejo@cs.brown.edu"}],"homepage":"https://github.com/dtrejo/run.js","bin":{"runjs":"./cli.js"},"dist":{"shasum":"89fbbba93db48cca87a78cb35d33ee1e6c404b2b","tarball":"https://registry.npmjs.org/run/-/run-0.2.4.tgz","integrity":"sha512-BxEfZf6sIPdCP/mnNXxhlQH5e+Z2kAgAe2e/+iUZ+fI6GGuvWEEZd4NTHAJh3uDIeHEtF/PsANuGBWewmrJGcw==","signatures":[{"sig":"MEYCIQDmKZbzeNfPAbGVPHCvztCrsldXEmCoewKHyNOgWmOyAgIhAPI+PSDueAEASoI12m+DhhQEBMH7Vynor4H2lSV4cE7y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"*"},"_npmUser":{"name":"dtrejo","email":"david.daniel.trejo@gmail.com"},"repository":{"url":"git://github.com/DTrejo/run.js.git","type":"git"},"_npmVersion":"1.1.16","description":"Reruns the given file whenever a file in the current working dir subtree is changed.","directories":{},"_nodeVersion":"v0.6.15","dependencies":{"minimatch":"*"},"preferGlobal":true,"_defaultsLoaded":true,"devDependencies":{},"_engineSupported":true,"optionalDependencies":{}},"1.0.0":{"name":"run","version":"1.0.0","author":{"url":"http://dtrejo.com/","name":"David Trejo","email":"dtrejo@cs.brown.edu"},"_id":"run@1.0.0","maintainers":[{"name":"dtrejo","email":"dtrejo@cs.brown.edu"}],"homepage":"https://github.com/dtrejo/run.js","bin":{"runjs":"./cli.js"},"dist":{"shasum":"929bec5a249cf3072ff133bbcfa8971a8b65becc","tarball":"https://registry.npmjs.org/run/-/run-1.0.0.tgz","integrity":"sha512-AIcKVMf9qECTRNvc7m1wXEORLNdJw3oto2tEjI5AIZmkizwRAPfDRMIn2ve2iwhfTZMek8z8m6QbHhpwv7vU1g==","signatures":[{"sig":"MEYCIQD7d3UBR9yO75Fd0MjFE+Kt0W6fHAcstsfRxcg1yMgFfgIhALBR6ILyr/0cIedoFDmRKw78+029mf9tG4owYrnt35vZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"v0.7.x"},"repository":{"url":"git://github.com/DTrejo/run.js.git","type":"git"},"description":"Reruns the given file whenever a file in the current working dir subtree is changed.","directories":{},"dependencies":{"minimatch":"*"},"preferGlobal":true,"devDependencies":{},"optionalDependencies":{}},"1.0.1":{"name":"run","version":"1.0.1","author":{"url":"http://dtrejo.com/","name":"David Trejo","email":"dtrejo@cs.brown.edu"},"_id":"run@1.0.1","maintainers":[{"name":"dtrejo","email":"dtrejo@cs.brown.edu"}],"homepage":"https://github.com/dtrejo/run.js","bin":{"runjs":"./cli.js"},"dist":{"shasum":"c519d1670e0087d7d58ef68a855fc142d6e64699","tarball":"https://registry.npmjs.org/run/-/run-1.0.1.tgz","integrity":"sha512-82CtYDiTKoq2YHiqjZigc3LeNuHC9IIgS7xWDz1b3QnvBsZEe0i9Uy8ldgAl9ojYPf5QGPrZpxBLkxUU7oxDpA==","signatures":[{"sig":"MEYCIQCDL+wjGf4rzkEkabTqc3AV0DfJlpfhczmTHpuw8mx/lAIhAJ4qMCOympL9z11R6slUOYH0a5dqErN0DlApvA4SxxBV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"v0.7.x"},"repository":{"url":"git://github.com/DTrejo/run.js.git","type":"git"},"description":"Reruns the given file whenever a file in the current working dir subtree is changed.","directories":{},"dependencies":{"minimatch":"*"},"preferGlobal":true,"devDependencies":{},"optionalDependencies":{}},"1.0.2":{"name":"run","version":"1.0.2","author":{"url":"http://dtrejo.com/","name":"David Trejo","email":"dtrejo@cs.brown.edu"},"_id":"run@1.0.2","maintainers":[{"name":"dtrejo","email":"dtrejo@cs.brown.edu"}],"homepage":"https://github.com/dtrejo/run.js","bin":{"runjs":"./cli.js"},"dist":{"shasum":"4beda3b5a69d0955e730816a86296fbdb9620e9a","tarball":"https://registry.npmjs.org/run/-/run-1.0.2.tgz","integrity":"sha512-GulFR/z8ZwEOg0kHPXX69Iee1NKXjS44QqNWjnkmdumw+06/SPWgS+H87fVvfnlhA86DMJkzCxKq92sTLnQ+Lg==","signatures":[{"sig":"MEQCIACJF0C2/NUX7IKjNIKIFDgr71c7q8GoiHDtN3O1MNTaAiApfKxB/l6Ez4fDmgd2+274SmOUfkyVUBVAyqxgsxS40g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"v0.7.x"},"_npmUser":{"name":"dtrejo","email":"david.daniel.trejo@gmail.com"},"repository":{"url":"git://github.com/DTrejo/run.js.git","type":"git"},"_npmVersion":"1.1.62","description":"Reruns the given file whenever a file in the current working dir subtree is changed.","directories":{},"dependencies":{"minimatch":"*"},"preferGlobal":true,"devDependencies":{},"optionalDependencies":{}},"1.1.0":{"name":"run","version":"1.1.0","author":{"url":"http://dtrejo.com/","name":"David Trejo","email":"dtrejo@cs.brown.edu"},"_id":"run@1.1.0","maintainers":[{"name":"dtrejo","email":"dtrejo@cs.brown.edu"}],"homepage":"https://github.com/dtrejo/run.js","bin":{"runjs":"./cli.js"},"dist":{"shasum":"b2d82f3f8fe5bb74794ac537242ff6bf8933701c","tarball":"https://registry.npmjs.org/run/-/run-1.1.0.tgz","integrity":"sha512-OWxVGHO0QyXXA1b27/NiniXIucfp6PlLHo5ISgyMayYBaLQaRUu+cghS5lg2NUqc3tTXC9QmToYwy6U4alTmdw==","signatures":[{"sig":"MEQCIBBThY5VtXuj3K8fgnIugZFXWYsZ+VPqmSZC2FEuemlxAiBFDII6usPa8qkRPQ7A8ysVuKq+s/i3vjxL8AMA9MV6vg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"v0.x"},"_npmUser":{"name":"dtrejo","email":"david.daniel.trejo@gmail.com"},"repository":{"url":"git://github.com/DTrejo/run.js.git","type":"git"},"_npmVersion":"1.1.66","description":"Reruns the given file whenever a file in the current working dir subtree is changed.","directories":{},"dependencies":{"minimatch":"*"},"preferGlobal":true,"devDependencies":{},"optionalDependencies":{}},"1.2.0":{"name":"run","version":"1.2.0","author":{"url":"http://dtrejo.com/","name":"David Trejo","email":"dtrejo@cs.brown.edu"},"_id":"run@1.2.0","maintainers":[{"name":"dtrejo","email":"dtrejo@cs.brown.edu"}],"homepage":"https://github.com/dtrejo/run.js","bin":{"runjs":"./cli.js"},"dist":{"shasum":"33ff278e32aa1ea0f013ee471107acb8ab9d2739","tarball":"https://registry.npmjs.org/run/-/run-1.2.0.tgz","integrity":"sha512-QiwwVbyfHJcimAZMfINCegEbqd/Z6I5KkP41rjgBdFTo+swu2ZgFEG3AhxzhkhucjNTVKc3QYok4mbYLuuvRwQ==","signatures":[{"sig":"MEYCIQDCxg2hhr7/53I9ZwdSzeEGAkhHoqiqasrmsoxiH7k1NgIhAJ3bac72oXEVLpR55AhJWPrb4tfk0o1OAUcKZdHwvlGJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","engines":{"node":">=v0.9.0"},"_npmUser":{"name":"dtrejo","email":"david.daniel.trejo@gmail.com"},"repository":{"url":"git://github.com/DTrejo/run.js.git","type":"git"},"_npmVersion":"1.2.15","description":"Reruns the given file whenever a file in the current working dir subtree is changed.","directories":{},"dependencies":{"minimatch":"*"},"preferGlobal":true,"devDependencies":{},"optionalDependencies":{}},"1.4.0":{"name":"run","version":"1.4.0","author":{"url":"http://dtrejo.com/","name":"David Trejo","email":"dtrejo@cs.brown.edu"},"_id":"run@1.4.0","maintainers":[{"name":"dtrejo","email":"dtrejo@cs.brown.edu"}],"homepage":"https://github.com/dtrejo/run.js","bugs":{"url":"https://github.com/DTrejo/run.js/issues"},"bin":{"runjs":"./cli.js"},"dist":{"shasum":"e17d9e9043ab2fe17776cb299e1237f38f0b4ffa","tarball":"https://registry.npmjs.org/run/-/run-1.4.0.tgz","integrity":"sha512-962oBW07IjQ9SizyMHdoteVbDKt/e2nEsnTRZ0WjK/zs+jfQQICqH0qj0D5lqZNuy0JkbzfA6IOqw0Sk7C3DlQ==","signatures":[{"sig":"MEQCIFHcj0BrEDGLEveUtnh2o5iNsPrSAnjQuS7r5ZNG+qHNAiAaQ6ocM76Vkv4dEKrqVfO+vTcJK9GdE5Qr96CcdLer7A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"e17d9e9043ab2fe17776cb299e1237f38f0b4ffa","engines":{"node":">=v0.9.0"},"gitHead":"1a8707d46105aa7ba1013c99ab6d2895ba3d4dc7","scripts":{},"_npmUser":{"name":"dtrejo","email":"david.daniel.trejo@gmail.com"},"repository":{"url":"git://github.com/DTrejo/run.js.git","type":"git"},"_npmVersion":"2.5.1","description":"Reruns the given file whenever a file in the current working dir subtree is changed.","directories":{},"_nodeVersion":"0.12.0","dependencies":{"minimatch":"*"},"preferGlobal":true,"devDependencies":{},"optionalDependencies":{}},"1.5.0":{"name":"run","version":"1.5.0","author":{"url":"http://dtrejo.com/","name":"David Trejo","email":"dtrejo@cs.brown.edu"},"_id":"run@1.5.0","maintainers":[{"name":"dtrejo","email":"david.daniel.trejo@gmail.com"}],"homepage":"https://github.com/dtrejo/run.js","bugs":{"url":"https://github.com/DTrejo/run.js/issues"},"bin":{"runjs":"cli.js"},"dist":{"shasum":"1933b3e9d4008836d800035f43e265ab8a83c5bf","tarball":"https://registry.npmjs.org/run/-/run-1.5.0.tgz","fileCount":7,"integrity":"sha512-CBPzeX6JQZUdhZpSFyNt2vUk44ivKMWZYCNBYoZYEE46mL9nf6WyMP3320WnzIrJuo89+njiUvlo83jUEXjXLg==","signatures":[{"sig":"MEUCIGScOqBBLLBauXWnDPgHTT55RozfAPIXE2QbsO5AsPm9AiEAjF7A+RLZQ2Xnq2xAqRVvXcPQiUS71J8Gqj2YORTfVr4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":101158},"engines":{"node":">=v0.9.0"},"gitHead":"fe44cd5a2ef543c0b70fefa97291d868b7602db4","_npmUser":{"name":"dtrejo","email":"david.daniel.trejo@gmail.com"},"repository":{"url":"git://github.com/DTrejo/run.js.git","type":"git"},"_npmVersion":"8.15.0","description":"Reruns the given file whenever a file in the current working dir subtree is changed.","directories":{},"_nodeVersion":"16.17.1","dependencies":{"minimatch":"*"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/run_1.5.0_1703633076988_0.527931824415107","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"run","version":"2.0.0","keywords":["javascript","quickjs","runtime","sandbox","workers"],"license":"Apache-2.0","_id":"run@2.0.0","maintainers":[{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"rauchg","email":"rauchg@gmail.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel-labs/run/tree/main/packages/run#readme","bugs":{"url":"https://github.com/vercel-labs/run/issues"},"dist":{"shasum":"dceb01392daf73f0bbe3f1b03fa4cad02a8f498a","tarball":"https://registry.npmjs.org/run/-/run-2.0.0.tgz","fileCount":72,"integrity":"sha512-7fO5AYmPotAiBBdCoQg9gfKBmA+mGKy3Yq5aW8nuRVkHcVOTD2eA96ISE5i5gNMgMqnt0oBTfUm0D3+rhHPn3g==","signatures":[{"sig":"MEQCIH1Do4qyLL9ulCyMYzulh3iHSlrjnghvJw1+Uo3HwhcbAiAi6j7HJ89MkNsw0wHIvV8BQG2L50fatoQE8ljVdj32fA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1893797},"main":"./dist/index.js","type":"module","_from":"file:run-2.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"fix":"ultracite fix","test":"pnpm build && pnpm test:node","build":"pnpm clean && tsup --tsconfig tsconfig.build.json && node scripts/embed-inline-worker.mjs","check":"ultracite check","clean":"del-cli dist *.tsbuildinfo","benchmark":"pnpm build && node scripts/benchmark.mjs","test:node":"vitest --config vitest.node.config.js --run","test:watch":"vitest --config vitest.node.config.js","type-check":"tsc -p tsconfig.build.json --noEmit && tsc -p src/tsconfig.json","build:watch":"node scripts/build-watch.mjs","hardening:fuzz":"pnpm build && node scripts/hardening-fuzz.mjs","hardening:soak":"pnpm build && node --expose-gc scripts/hardening-soak.mjs","test:hardening":"pnpm build && vitest --config vitest.node.config.js --run","verify:package":"pnpm build && pnpm type-check && node scripts/verify-embedded-worker.mjs && node scripts/verify-package.mjs","verify:dependencies":"node scripts/verify-dependencies.mjs","verify:embedded-worker":"node scripts/verify-embedded-worker.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1f2ab1e5-7309-470b-83ac-dad3cb591e34"}},"_resolved":"/tmp/b4896ee58041206440986df15f3fa619/run-2.0.0.tgz","_integrity":"sha512-7fO5AYmPotAiBBdCoQg9gfKBmA+mGKy3Yq5aW8nuRVkHcVOTD2eA96ISE5i5gNMgMqnt0oBTfUm0D3+rhHPn3g==","repository":{"url":"git+https://github.com/vercel-labs/run.git","type":"git","directory":"packages/run"},"_npmVersion":"11.16.0","description":"Secure QuickJS-backed JavaScript runtime with host functions and continuations","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","oxfmt":"^0.41.0","oxlint":"^1.56.0","vitest":"^4.1.6","del-cli":"^7.0.0","devalue":"5.8.2","esbuild":"^0.28.1","ultracite":"7.3.2","typescript":"5.8.3","@types/node":"22.19.19","quickjs-emscripten":"0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/run_2.0.0_1786632955424_0.3224962625980998","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"run","version":"2.0.1","keywords":["javascript","quickjs","runtime","sandbox","workers"],"license":"Apache-2.0","_id":"run@2.0.1","maintainers":[{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"rauchg","email":"rauchg@gmail.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel-labs/run/tree/main/packages/run#readme","bugs":{"url":"https://github.com/vercel-labs/run/issues"},"dist":{"shasum":"e6e3391b99e3d501c7a8cee19f47e4f3aede3ba0","tarball":"https://registry.npmjs.org/run/-/run-2.0.1.tgz","fileCount":72,"integrity":"sha512-ebhssGb+oix/zkvOCYZs/eT9cB3tS6PP08/Z00N20a3nbyrA9OeilBBZGfKKLGLhuQ8WL1X0F8Kbq5bAQzuTIQ==","signatures":[{"sig":"MEQCIDyJ6PUYgiguaiPpT6kePe3A6A/SX8g41WnU2dRDNuV/AiAniZGSrINkxq0p4YCtyh4Vme7LZu6zX5css1a8LE0ppQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/run@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1899324},"main":"./dist/index.js","type":"module","_from":"file:run-2.0.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"fix":"ultracite fix","test":"pnpm build && pnpm test:node","build":"pnpm clean && tsup --tsconfig tsconfig.build.json && node scripts/embed-inline-worker.mjs","check":"ultracite check","clean":"del-cli dist *.tsbuildinfo","test:bun":"pnpm build && bun scripts/bun-smoke.mjs && bun --bun vitest --config vitest.node.config.js --run","benchmark":"pnpm build && node scripts/benchmark.mjs","test:node":"vitest --config vitest.node.config.js --run","test:watch":"vitest --config vitest.node.config.js","type-check":"tsc -p tsconfig.build.json --noEmit && tsc -p src/tsconfig.json","build:watch":"node scripts/build-watch.mjs","hardening:fuzz":"pnpm build && node scripts/hardening-fuzz.mjs","hardening:soak":"pnpm build && node --expose-gc scripts/hardening-soak.mjs","test:hardening":"pnpm build && vitest --config vitest.node.config.js --run","verify:package":"pnpm build && pnpm type-check && node scripts/verify-embedded-worker.mjs && node scripts/verify-package.mjs","verify:dependencies":"node scripts/verify-dependencies.mjs","verify:embedded-worker":"node scripts/verify-embedded-worker.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1f2ab1e5-7309-470b-83ac-dad3cb591e34"}},"_resolved":"/tmp/ccc9233a6aa438bdeab47ac44a9d8389/run-2.0.1.tgz","_integrity":"sha512-ebhssGb+oix/zkvOCYZs/eT9cB3tS6PP08/Z00N20a3nbyrA9OeilBBZGfKKLGLhuQ8WL1X0F8Kbq5bAQzuTIQ==","repository":{"url":"git+https://github.com/vercel-labs/run.git","type":"git","directory":"packages/run"},"_npmVersion":"11.17.0","description":"Secure QuickJS-backed JavaScript runtime with host functions and continuations","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","oxfmt":"^0.41.0","oxlint":"^1.56.0","vitest":"^4.1.6","del-cli":"^7.0.0","devalue":"5.8.2","esbuild":"^0.28.1","ultracite":"7.3.2","typescript":"5.8.3","@types/node":"22.19.19","quickjs-emscripten":"0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/run_2.0.1_1787613911687_0.1915835458813313","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"run","version":"2.0.2","keywords":["javascript","quickjs","runtime","sandbox","workers"],"license":"Apache-2.0","_id":"run@2.0.2","maintainers":[{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"rauchg","email":"rauchg@gmail.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel-labs/run/tree/main/packages/run#readme","bugs":{"url":"https://github.com/vercel-labs/run/issues"},"dist":{"shasum":"6c829acfbce93c25bf8bfd236aeac6d17465c8eb","tarball":"https://registry.npmjs.org/run/-/run-2.0.2.tgz","fileCount":72,"integrity":"sha512-JDfk12Vlm2puNKsu6JZ+vMdnbggtBzkRrPDtQU+Xl4bQkEtnWOaHbGjnE5c1TbXTkAbl7uRhoRDxjoCwtLNR7Q==","signatures":[{"sig":"MEQCIGueJzW5ASHzLr69PxOth/SnVfEK2yWn9Y7PTpFIDZzMAiAnmNA2G6GHBxpjZwQCfqpww0kJ45JSu9Q7sbTjCn4VHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/run@2.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1361561},"main":"./dist/index.js","type":"module","_from":"file:run-2.0.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"fix":"ultracite fix","test":"pnpm build && pnpm test:node","build":"pnpm clean && tsup --tsconfig tsconfig.build.json && node scripts/embed-inline-worker.mjs","check":"ultracite check","clean":"del-cli dist *.tsbuildinfo","test:bun":"pnpm build && bun scripts/bun-smoke.mjs && bun --bun vitest --config vitest.node.config.js --run","benchmark":"pnpm build && node scripts/benchmark.mjs","test:node":"vitest --config vitest.node.config.js --run","test:watch":"vitest --config vitest.node.config.js","type-check":"tsc -p tsconfig.build.json --noEmit && tsc -p src/tsconfig.json","build:watch":"node scripts/build-watch.mjs","hardening:fuzz":"pnpm build && node scripts/hardening-fuzz.mjs","hardening:soak":"pnpm build && node --expose-gc scripts/hardening-soak.mjs","test:hardening":"pnpm build && vitest --config vitest.node.config.js --run","verify:package":"pnpm build && pnpm type-check && node scripts/verify-embedded-worker.mjs && node scripts/verify-package.mjs","verify:dependencies":"node scripts/verify-dependencies.mjs","verify:embedded-worker":"node scripts/verify-embedded-worker.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1f2ab1e5-7309-470b-83ac-dad3cb591e34"}},"_resolved":"/tmp/acf62b7477d1fb283e41033fd6bdbe0b/run-2.0.2.tgz","_integrity":"sha512-JDfk12Vlm2puNKsu6JZ+vMdnbggtBzkRrPDtQU+Xl4bQkEtnWOaHbGjnE5c1TbXTkAbl7uRhoRDxjoCwtLNR7Q==","repository":{"url":"git+https://github.com/vercel-labs/run.git","type":"git","directory":"packages/run"},"_npmVersion":"11.17.0","description":"Secure QuickJS-backed JavaScript runtime with host functions and continuations","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","oxfmt":"^0.41.0","oxlint":"^1.56.0","vitest":"^4.1.6","del-cli":"^7.0.0","devalue":"5.8.2","esbuild":"^0.28.1","ultracite":"7.3.2","typescript":"5.8.3","@types/node":"22.19.19","quickjs-wasi":"3.6.0"},"_npmOperationalInternal":{"tmp":"tmp/run_2.0.2_1787714218238_0.24829119457181403","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"run","version":"2.0.3","keywords":["javascript","quickjs","runtime","sandbox","workers"],"license":"Apache-2.0","_id":"run@2.0.3","maintainers":[{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"rauchg","email":"rauchg@gmail.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel-labs/run/tree/main/packages/run#readme","bugs":{"url":"https://github.com/vercel-labs/run/issues"},"dist":{"shasum":"ff9e635c68088453cc5d04e42bc22db9a8909226","tarball":"https://registry.npmjs.org/run/-/run-2.0.3.tgz","fileCount":72,"integrity":"sha512-3sVO2vX8VOtHfcnWN7Fd/7nBO1nKrZkIZd+bCF6nBA1muNN6lxYK/qbKLuUqKs3zry6e1SOA7Wrfrpp7Yn1RdQ==","signatures":[{"sig":"MEUCICJpRWFxb+l/nJglYv0CCF/UyANmffSr9lnPGFCFsIKfAiEA9MUaaGj7ww0NLtyfB5lI+ipzBYGHEQMphfRq04VelBA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/run@2.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1367687},"main":"./dist/index.js","type":"module","_from":"file:run-2.0.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"fix":"ultracite fix","test":"pnpm build && pnpm test:node","build":"pnpm clean && tsup --tsconfig tsconfig.build.json && node scripts/embed-inline-worker.mjs","check":"ultracite check","clean":"del-cli dist *.tsbuildinfo","test:bun":"pnpm build && bun scripts/bun-smoke.mjs && bun --bun vitest --config vitest.node.config.js --run","benchmark":"pnpm build && node scripts/benchmark.mjs","test:node":"vitest --config vitest.node.config.js --run","test:watch":"vitest --config vitest.node.config.js","type-check":"tsc -p tsconfig.build.json --noEmit && tsc -p src/tsconfig.json","build:watch":"node scripts/build-watch.mjs","hardening:fuzz":"pnpm build && node scripts/hardening-fuzz.mjs","hardening:soak":"pnpm build && node --expose-gc scripts/hardening-soak.mjs","test:hardening":"pnpm build && vitest --config vitest.node.config.js --run","verify:package":"pnpm build && pnpm type-check && node scripts/verify-embedded-worker.mjs && node scripts/verify-package.mjs","verify:dependencies":"node scripts/verify-dependencies.mjs","verify:embedded-worker":"node scripts/verify-embedded-worker.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1f2ab1e5-7309-470b-83ac-dad3cb591e34"}},"_resolved":"/tmp/a553f0aff3a1cf77c4e164bd6c34fafe/run-2.0.3.tgz","_integrity":"sha512-3sVO2vX8VOtHfcnWN7Fd/7nBO1nKrZkIZd+bCF6nBA1muNN6lxYK/qbKLuUqKs3zry6e1SOA7Wrfrpp7Yn1RdQ==","repository":{"url":"git+https://github.com/vercel-labs/run.git","type":"git","directory":"packages/run"},"_npmVersion":"11.17.0","description":"Secure QuickJS-backed JavaScript runtime with host functions and continuations","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","oxfmt":"^0.41.0","oxlint":"^1.56.0","vitest":"^4.1.6","del-cli":"^7.0.0","devalue":"5.8.2","esbuild":"^0.28.1","ultracite":"7.3.2","typescript":"5.8.3","@types/node":"22.19.19","quickjs-wasi":"3.6.0"},"_npmOperationalInternal":{"tmp":"tmp/run_2.0.3_1787776092376_0.7874203816196557","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"run","version":"2.1.0","keywords":["javascript","quickjs","runtime","sandbox","workers"],"license":"Apache-2.0","_id":"run@2.1.0","maintainers":[{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"rauchg","email":"rauchg@gmail.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel-labs/run/tree/main/packages/run#readme","bugs":{"url":"https://github.com/vercel-labs/run/issues"},"dist":{"shasum":"d2642e08a5a922e56e66424a6a8810c252b665fb","tarball":"https://registry.npmjs.org/run/-/run-2.1.0.tgz","fileCount":74,"integrity":"sha512-KufxowaIW0O/OYqYziW1wyR/0ES9PqQi6AoF/OPNC6M5LrX0lk6KVChceEhVJJ+19fEVCLwOvxaBzZxE5fOgKQ==","signatures":[{"sig":"MEQCIFua8ZXS5lixiZKfgojOW4X0J7QruSNpqkJrbSRxp45kAiBn9ijOiZBatVlPXeW6WaYDMgn25rj+Cqihg+CB5mvJ4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/run@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1447399},"main":"./dist/index.js","type":"module","_from":"file:run-2.1.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"fix":"ultracite fix","test":"pnpm build && pnpm test:node","build":"pnpm clean && tsup --tsconfig tsconfig.build.json && node scripts/embed-inline-worker.mjs","check":"ultracite check","clean":"del-cli dist *.tsbuildinfo","test:bun":"pnpm build && bun scripts/bun-smoke.mjs && bun --bun vitest --config vitest.node.config.js --run","benchmark":"pnpm build && node scripts/benchmark.mjs","test:node":"vitest --config vitest.node.config.js --run","test:watch":"vitest --config vitest.node.config.js","type-check":"tsc -p tsconfig.build.json --noEmit && tsc -p src/tsconfig.json","build:watch":"node scripts/build-watch.mjs","hardening:fuzz":"pnpm build && node scripts/hardening-fuzz.mjs","hardening:soak":"pnpm build && node --expose-gc scripts/hardening-soak.mjs","test:hardening":"pnpm build && vitest --config vitest.node.config.js --run","verify:package":"pnpm build && pnpm type-check && node scripts/verify-embedded-worker.mjs && node scripts/verify-package.mjs","verify:dependencies":"node scripts/verify-dependencies.mjs","verify:embedded-worker":"node scripts/verify-embedded-worker.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1f2ab1e5-7309-470b-83ac-dad3cb591e34"}},"_resolved":"/tmp/98ecabc1733f6d992793171c8f17c247/run-2.1.0.tgz","_integrity":"sha512-KufxowaIW0O/OYqYziW1wyR/0ES9PqQi6AoF/OPNC6M5LrX0lk6KVChceEhVJJ+19fEVCLwOvxaBzZxE5fOgKQ==","repository":{"url":"git+https://github.com/vercel-labs/run.git","type":"git","directory":"packages/run"},"_npmVersion":"11.17.0","description":"Secure QuickJS-backed JavaScript runtime with host functions and continuations","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","oxfmt":"^0.41.0","oxlint":"^1.56.0","vitest":"^4.1.6","del-cli":"^7.0.0","devalue":"5.8.2","esbuild":"^0.28.1","ultracite":"7.3.2","typescript":"5.8.3","@types/node":"22.19.19","quickjs-wasi":"3.6.0"},"peerDependencies":{"typescript":">=5.1.6 <7"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/run_2.1.0_1788019021165_0.6897247781235696","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"run","version":"2.1.1","keywords":["javascript","quickjs","runtime","sandbox","workers"],"license":"Apache-2.0","_id":"run@2.1.1","maintainers":[{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"rauchg","email":"rauchg@gmail.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel-labs/run/tree/main/packages/run#readme","bugs":{"url":"https://github.com/vercel-labs/run/issues"},"dist":{"shasum":"ef3f9d82a093086456bbbce0de8efc12b18c521f","tarball":"https://registry.npmjs.org/run/-/run-2.1.1.tgz","fileCount":74,"integrity":"sha512-954p4MJIp6m6DVcTLIlJP4/wvZFglJ9RMzcKvrwC1nLffLIJ0LNrsjXCLxkR0jHCG0PYQLKTcBDz/pV3mjWMSg==","signatures":[{"sig":"MEQCIEGlbi5QcguksebApdQAP99Grgrg4pmlSBATnuB/qQRcAiAI3BAFCDcE4AY0+D6/lFPeNngJjMP0+Eg85i5Afsw5Pw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/run@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1468931},"main":"./dist/index.js","type":"module","_from":"file:run-2.1.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"fix":"ultracite fix","test":"pnpm build && pnpm test:node","build":"pnpm clean && tsup --tsconfig tsconfig.build.json && node scripts/embed-inline-worker.mjs","check":"pnpm lint:banned && ultracite check","clean":"del-cli dist *.tsbuildinfo","test:bun":"pnpm build && bun scripts/bun-smoke.mjs && bun --bun vitest --config vitest.node.config.js --run","benchmark":"pnpm build && node scripts/benchmark.mjs","test:node":"vitest --config vitest.node.config.js --run","test:watch":"vitest --config vitest.node.config.js","type-check":"tsc -p tsconfig.build.json --noEmit && tsc -p src/tsconfig.json","build:watch":"node scripts/build-watch.mjs","lint:banned":"node scripts/check-banned-patterns.js","hardening:fuzz":"pnpm build && node scripts/hardening-fuzz.mjs","hardening:soak":"pnpm build && node --expose-gc scripts/hardening-soak.mjs","test:hardening":"pnpm build && vitest --config vitest.node.config.js --run","verify:package":"pnpm build && pnpm type-check && node scripts/verify-embedded-worker.mjs && node scripts/verify-package.mjs","verify:dependencies":"node scripts/verify-dependencies.mjs","verify:embedded-worker":"node scripts/verify-embedded-worker.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1f2ab1e5-7309-470b-83ac-dad3cb591e34"}},"_resolved":"/tmp/429deedc0b19bfede9468109025c5ae8/run-2.1.1.tgz","_integrity":"sha512-954p4MJIp6m6DVcTLIlJP4/wvZFglJ9RMzcKvrwC1nLffLIJ0LNrsjXCLxkR0jHCG0PYQLKTcBDz/pV3mjWMSg==","repository":{"url":"git+https://github.com/vercel-labs/run.git","type":"git","directory":"packages/run"},"_npmVersion":"11.17.0","description":"Secure QuickJS-backed JavaScript runtime with host functions and continuations","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","oxfmt":"^0.41.0","oxlint":"^1.56.0","vitest":"^4.1.6","del-cli":"^7.0.0","devalue":"5.8.2","esbuild":"^0.28.1","ultracite":"7.3.2","typescript":"5.8.3","@types/node":"22.19.19","quickjs-wasi":"3.6.0"},"peerDependencies":{"typescript":">=5.1.6 <7"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/run_2.1.1_1788187901148_0.7416831357978906","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"run","version":"2.1.2","keywords":["javascript","quickjs","runtime","sandbox","workers"],"license":"Apache-2.0","_id":"run@2.1.2","maintainers":[{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"rauchg","email":"rauchg@gmail.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel-labs/run/tree/main/packages/run#readme","bugs":{"url":"https://github.com/vercel-labs/run/issues"},"dist":{"shasum":"82619a96d5c2f74d278dc2f1a5aad56962985cdd","tarball":"https://registry.npmjs.org/run/-/run-2.1.2.tgz","fileCount":74,"integrity":"sha512-8c5Zs3WazGnBisfv0XWItQJxVHp04N6YnNgjsdprplvvFh4Kltfwh6duVkpro4hQ5uIUmUKTAIVfTTIa0uDpuw==","signatures":[{"sig":"MEUCIC1/8ed/GxXQXXvE4tfDSteecH5y6fslObBgnGKFJoUZAiEA1fz8HMmqyXxmFF5DdKr3ekHL5h/BeUYWNfZ+4NCnrvA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/run@2.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1469483},"main":"./dist/index.js","type":"module","_from":"file:run-2.1.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"fix":"ultracite fix","test":"pnpm build && pnpm test:node","build":"pnpm clean && tsup --tsconfig tsconfig.build.json && node scripts/embed-inline-worker.mjs","check":"pnpm lint:banned && ultracite check","clean":"del-cli dist *.tsbuildinfo","test:bun":"pnpm build && bun scripts/bun-smoke.mjs && bun --bun vitest --config vitest.node.config.js --run","benchmark":"pnpm build && node scripts/benchmark.mjs","test:node":"vitest --config vitest.node.config.js --run","test:watch":"vitest --config vitest.node.config.js","type-check":"tsc -p tsconfig.build.json --noEmit && tsc -p src/tsconfig.json","build:watch":"node scripts/build-watch.mjs","lint:banned":"node scripts/check-banned-patterns.js","hardening:fuzz":"pnpm build && node scripts/hardening-fuzz.mjs","hardening:soak":"pnpm build && node --expose-gc scripts/hardening-soak.mjs","test:hardening":"pnpm build && vitest --config vitest.node.config.js --run","verify:package":"pnpm build && pnpm type-check && node scripts/verify-embedded-worker.mjs && node scripts/verify-package.mjs","verify:dependencies":"node scripts/verify-dependencies.mjs","verify:embedded-worker":"node scripts/verify-embedded-worker.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1f2ab1e5-7309-470b-83ac-dad3cb591e34"}},"_resolved":"/tmp/0d1436b234fed884a616b30b52b06908/run-2.1.2.tgz","_integrity":"sha512-8c5Zs3WazGnBisfv0XWItQJxVHp04N6YnNgjsdprplvvFh4Kltfwh6duVkpro4hQ5uIUmUKTAIVfTTIa0uDpuw==","repository":{"url":"git+https://github.com/vercel-labs/run.git","type":"git","directory":"packages/run"},"_npmVersion":"11.17.0","description":"Secure QuickJS-backed JavaScript runtime with host functions and continuations","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","oxfmt":"^0.41.0","oxlint":"^1.56.0","vitest":"^4.1.6","del-cli":"^7.0.0","devalue":"5.8.2","esbuild":"^0.28.1","ultracite":"7.3.2","typescript":"5.8.3","@types/node":"22.19.19","quickjs-wasi":"3.6.0"},"peerDependencies":{"typescript":">=5.1.6 <7"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/run_2.1.2_1788198382123_0.6031122797375068","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"run","version":"2.1.3","keywords":["javascript","quickjs","runtime","sandbox","workers"],"license":"Apache-2.0","_id":"run@2.1.3","maintainers":[{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"rauchg","email":"rauchg@gmail.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel-labs/run/tree/main/packages/run#readme","bugs":{"url":"https://github.com/vercel-labs/run/issues"},"dist":{"shasum":"d6cf9caa029d096976c3e72ce4292adca89790b7","tarball":"https://registry.npmjs.org/run/-/run-2.1.3.tgz","fileCount":74,"integrity":"sha512-KUurW05zgjtZ2su0cBURC1q2RG/Uq0uzV3qURDsXqiKh03p9IXABQK4Qem56cFMqjT8TdQ2iTWsePrMprQWIRA==","signatures":[{"sig":"MEQCIBY6bhnCJFJztFPBDWUUu3qsZZVXpJQy7zzlKiIxhNr6AiBVEYXChrO07OPvn8KePfOdFVI4civxyBzjNP9ZNdaZ6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/run@2.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1472545},"main":"./dist/index.js","type":"module","_from":"file:run-2.1.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"fix":"ultracite fix","test":"pnpm build && pnpm test:node","build":"pnpm clean && tsup --tsconfig tsconfig.build.json && node scripts/embed-inline-worker.mjs","check":"pnpm lint:banned && ultracite check","clean":"del-cli dist *.tsbuildinfo","test:bun":"pnpm build && bun scripts/bun-smoke.mjs && bun --bun vitest --config vitest.node.config.js --run","benchmark":"pnpm build && node scripts/benchmark.mjs","test:node":"vitest --config vitest.node.config.js --run","test:watch":"vitest --config vitest.node.config.js","type-check":"tsc -p tsconfig.build.json --noEmit && tsc -p src/tsconfig.json","build:watch":"node scripts/build-watch.mjs","lint:banned":"node scripts/check-banned-patterns.js","hardening:fuzz":"pnpm build && node scripts/hardening-fuzz.mjs","hardening:soak":"pnpm build && node --expose-gc scripts/hardening-soak.mjs","test:hardening":"pnpm build && vitest --config vitest.node.config.js --run","verify:package":"pnpm build && pnpm type-check && node scripts/verify-embedded-worker.mjs && node scripts/verify-package.mjs","verify:dependencies":"node scripts/verify-dependencies.mjs","verify:embedded-worker":"node scripts/verify-embedded-worker.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1f2ab1e5-7309-470b-83ac-dad3cb591e34"}},"_resolved":"/tmp/9e876b3d8dc5605f4169d8baacd63482/run-2.1.3.tgz","_integrity":"sha512-KUurW05zgjtZ2su0cBURC1q2RG/Uq0uzV3qURDsXqiKh03p9IXABQK4Qem56cFMqjT8TdQ2iTWsePrMprQWIRA==","repository":{"url":"git+https://github.com/vercel-labs/run.git","type":"git","directory":"packages/run"},"_npmVersion":"11.19.0","description":"Secure QuickJS-backed JavaScript runtime with host functions and continuations","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","oxfmt":"^0.41.0","oxlint":"^1.56.0","vitest":"^4.1.6","del-cli":"^7.0.0","devalue":"5.8.2","esbuild":"^0.28.1","ultracite":"7.3.2","typescript":"5.8.3","@types/node":"22.19.19","quickjs-wasi":"3.6.0"},"peerDependencies":{"typescript":">=5.1.6 <7"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/run_2.1.3_1788616997987_0.41859118075152835","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"name":"run","version":"2.1.4","keywords":["javascript","quickjs","runtime","sandbox","workers"],"license":"Apache-2.0","_id":"run@2.1.4","maintainers":[{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"rauchg","email":"rauchg@gmail.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel-labs/run/tree/main/packages/run#readme","bugs":{"url":"https://github.com/vercel-labs/run/issues"},"dist":{"shasum":"e8b111188dd7b2407b414b7f3b765fe81c1df322","tarball":"https://registry.npmjs.org/run/-/run-2.1.4.tgz","fileCount":74,"integrity":"sha512-Rd8W2wO0LWdwlNbqKJm/o0WpQ/VQ42KRR6MUgnaujjjVOdS0o3bTMZ9dCjWCQAeuIj6jhG58WkqkeGz0cvOIrA==","signatures":[{"sig":"MEQCID5PdLNv33n1B7QXHeerlX8LphMaF5ydO2MxGFJokIyFAiBLUxOwf5xCZmX3oVVYQ2j65pOpqA2/Sbe/SRhHDV7sPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/run@2.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1472375},"main":"./dist/index.js","type":"module","_from":"file:run-2.1.4.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"fix":"ultracite fix","test":"pnpm build && pnpm test:node","build":"pnpm clean && tsup --tsconfig tsconfig.build.json && node scripts/embed-inline-worker.mjs","check":"pnpm lint:banned && ultracite check","clean":"del-cli dist *.tsbuildinfo","test:bun":"pnpm build && bun scripts/bun-smoke.mjs && bun --bun vitest --config vitest.node.config.js --run","benchmark":"pnpm build && node scripts/benchmark.mjs","test:node":"vitest --config vitest.node.config.js --run","test:watch":"vitest --config vitest.node.config.js","type-check":"tsc -p tsconfig.build.json --noEmit && tsc -p src/tsconfig.json","build:watch":"node scripts/build-watch.mjs","lint:banned":"node scripts/check-banned-patterns.js","hardening:fuzz":"pnpm build && node scripts/hardening-fuzz.mjs","hardening:soak":"pnpm build && node --expose-gc scripts/hardening-soak.mjs","test:hardening":"pnpm build && vitest --config vitest.node.config.js --run","verify:package":"pnpm build && pnpm type-check && node scripts/verify-embedded-worker.mjs && node scripts/verify-package.mjs","verify:dependencies":"node scripts/verify-dependencies.mjs","verify:embedded-worker":"node scripts/verify-embedded-worker.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1f2ab1e5-7309-470b-83ac-dad3cb591e34"}},"_resolved":"/tmp/8ccf04c91eb085c372631e29eb08d804/run-2.1.4.tgz","_integrity":"sha512-Rd8W2wO0LWdwlNbqKJm/o0WpQ/VQ42KRR6MUgnaujjjVOdS0o3bTMZ9dCjWCQAeuIj6jhG58WkqkeGz0cvOIrA==","repository":{"url":"git+https://github.com/vercel-labs/run.git","type":"git","directory":"packages/run"},"_npmVersion":"11.19.0","description":"Secure QuickJS-backed JavaScript runtime with host functions and continuations","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","oxfmt":"^0.41.0","oxlint":"^1.56.0","vitest":"^4.1.6","del-cli":"^7.0.0","devalue":"5.8.2","esbuild":"^0.28.1","ultracite":"7.3.2","typescript":"5.8.3","@types/node":"22.19.19","quickjs-wasi":"3.6.0"},"peerDependencies":{"typescript":">=5.1.6 <7"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/run_2.1.4_1788904420607_0.8544779214408453","host":"s3://npm-registry-packages-npm-production"}},"2.1.5":{"name":"run","version":"2.1.5","keywords":["javascript","quickjs","runtime","sandbox","workers"],"license":"Apache-2.0","_id":"run@2.1.5","maintainers":[{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"rauchg","email":"rauchg@gmail.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel-labs/run/tree/main/packages/run#readme","bugs":{"url":"https://github.com/vercel-labs/run/issues"},"dist":{"shasum":"861b0170070947fc5856d626189b3d8123211e11","tarball":"https://registry.npmjs.org/run/-/run-2.1.5.tgz","fileCount":74,"integrity":"sha512-cpq+C8bau0r9KSo2GofT7eCBV1re4mLqioC3ij2uvE8KA7H0HNM+7DNZKHEFyS7QFeji8aQT3sHNJ3nCoPRU4w==","signatures":[{"sig":"MEUCIFvlKjsPMWa9gIp5XQpzAl3GiAKvqIXTi6z3ptClyGnRAiEAityzGizso2B2QPqT6c6lYyNl9kSQZVQu3/JAmvZbXVI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBJ0lOfPCVstk5Nuxw9AI1iV2S3driahgwxBkZ3A5rbsAiB6akAlvabR4fwvYsYUdoXp66PbTqlSZMF4X1zEWGMR8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/run@2.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1472767},"main":"./dist/index.js","type":"module","_from":"file:run-2.1.5.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"fix":"ultracite fix","test":"pnpm build && pnpm test:node","build":"pnpm clean && tsup --tsconfig tsconfig.build.json && node scripts/embed-inline-worker.mjs","check":"pnpm lint:banned && ultracite check","clean":"del-cli dist *.tsbuildinfo","test:bun":"pnpm build && bun scripts/bun-smoke.mjs && bun --bun vitest --config vitest.node.config.js --run","benchmark":"pnpm build && node scripts/benchmark.mjs","test:node":"vitest --config vitest.node.config.js --run","test:watch":"vitest --config vitest.node.config.js","type-check":"tsc -p tsconfig.build.json --noEmit && tsc -p src/tsconfig.json","build:watch":"node scripts/build-watch.mjs","lint:banned":"node scripts/check-banned-patterns.js","hardening:fuzz":"pnpm build && node scripts/hardening-fuzz.mjs","hardening:soak":"pnpm build && node --expose-gc scripts/hardening-soak.mjs","test:hardening":"pnpm build && vitest --config vitest.node.config.js --run","verify:package":"pnpm build && pnpm type-check && node scripts/verify-embedded-worker.mjs && node scripts/verify-package.mjs","verify:dependencies":"node scripts/verify-dependencies.mjs","verify:embedded-worker":"node scripts/verify-embedded-worker.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1f2ab1e5-7309-470b-83ac-dad3cb591e34"}},"_resolved":"/tmp/9c39ff5838463ec547c52ff5bb14b93b/run-2.1.5.tgz","_integrity":"sha512-cpq+C8bau0r9KSo2GofT7eCBV1re4mLqioC3ij2uvE8KA7H0HNM+7DNZKHEFyS7QFeji8aQT3sHNJ3nCoPRU4w==","repository":{"url":"git+https://github.com/vercel-labs/run.git","type":"git","directory":"packages/run"},"_npmVersion":"11.19.0","description":"Secure QuickJS-backed JavaScript runtime with host functions and continuations","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","oxfmt":"^0.41.0","oxlint":"^1.56.0","vitest":"^4.1.6","del-cli":"^7.0.0","devalue":"5.8.2","esbuild":"^0.28.1","ultracite":"7.3.2","typescript":"5.8.3","@types/node":"22.19.19","quickjs-wasi":"3.6.0"},"peerDependencies":{"typescript":">=5.1.6 <7"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/run_2.1.5_1789924188707_0.8980103717912851","host":"s3://npm-registry-packages-npm-production"}},"2.1.6":{"name":"run","version":"2.1.6","keywords":["javascript","quickjs","runtime","sandbox","workers"],"license":"Apache-2.0","_id":"run@2.1.6","maintainers":[{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"rauchg","email":"rauchg@gmail.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel-labs/run/tree/main/packages/run#readme","bugs":{"url":"https://github.com/vercel-labs/run/issues"},"dist":{"shasum":"9d6274ac4dd7b64e0e5b3671cc511aa99c021acb","tarball":"https://registry.npmjs.org/run/-/run-2.1.6.tgz","fileCount":74,"integrity":"sha512-Ulhok3ygbOFEPhL4wWl3RH8yY2arntmJ/Xhi9KI6MzNKNIn/OwazV7cTtxniTkD1lpztcaxkUsCz0hPDblT8DA==","signatures":[{"sig":"MEQCIGIkRIEgdyVvg+mZ45F/xwiuyt1E/gJ8vePUzgA0jRdeAiBW86jPNMEtrz/bRAWKmczwEtHCv14RhHIqqIGyTrMWQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDhY+vbUy39Ts6eu3dDFMgg855hznvfBGkWvUuWDnzuCQIgNG1/p+tYEgjmXeZP8AKbStaSTjW7f77efmfOv+U/q/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/run@2.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1472850},"main":"./dist/index.js","type":"module","_from":"file:run-2.1.6.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"fix":"ultracite fix","test":"pnpm build && pnpm test:node","build":"pnpm clean && tsup --tsconfig tsconfig.build.json && node scripts/embed-inline-worker.mjs","check":"pnpm lint:banned && ultracite check","clean":"del-cli dist *.tsbuildinfo","test:bun":"pnpm build && bun scripts/bun-smoke.mjs && bun --bun vitest --config vitest.node.config.js --run","benchmark":"pnpm build && node scripts/benchmark.mjs","test:node":"vitest --config vitest.node.config.js --run","test:watch":"vitest --config vitest.node.config.js","type-check":"tsc -p tsconfig.build.json --noEmit && tsc -p src/tsconfig.json","build:watch":"node scripts/build-watch.mjs","lint:banned":"node scripts/check-banned-patterns.js","hardening:fuzz":"pnpm build && node scripts/hardening-fuzz.mjs","hardening:soak":"pnpm build && node --expose-gc scripts/hardening-soak.mjs","test:hardening":"pnpm build && vitest --config vitest.node.config.js --run","verify:package":"pnpm build && pnpm type-check && node scripts/verify-embedded-worker.mjs && node scripts/verify-package.mjs","verify:dependencies":"node scripts/verify-dependencies.mjs","verify:embedded-worker":"node scripts/verify-embedded-worker.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"1f2ab1e5-7309-470b-83ac-dad3cb591e34"}},"_resolved":"/tmp/a684a9fb4b310726064eb705a6a9fc55/run-2.1.6.tgz","_integrity":"sha512-Ulhok3ygbOFEPhL4wWl3RH8yY2arntmJ/Xhi9KI6MzNKNIn/OwazV7cTtxniTkD1lpztcaxkUsCz0hPDblT8DA==","repository":{"url":"git+https://github.com/vercel-labs/run.git","type":"git","directory":"packages/run"},"_npmVersion":"11.19.0","description":"Secure QuickJS-backed JavaScript runtime with host functions and continuations","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","oxfmt":"^0.41.0","oxlint":"^1.56.0","vitest":"^4.1.6","del-cli":"^7.0.0","devalue":"5.8.2","esbuild":"^0.28.1","ultracite":"7.3.2","typescript":"5.8.3","@types/node":"22.19.19","quickjs-wasi":"3.6.0"},"peerDependencies":{"typescript":">=5.1.6 <7"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/run_2.1.6_1790779382017_0.4725972245291079","host":"s3://npm-registry-packages-npm-production"}},"2.1.7":{"name":"run","version":"2.1.7","keywords":["javascript","quickjs","runtime","sandbox","workers"],"license":"Apache-2.0","_id":"run@2.1.7","maintainers":[{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"rauchg","email":"rauchg@gmail.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel-labs/run/tree/main/packages/run#readme","bugs":{"url":"https://github.com/vercel-labs/run/issues"},"dist":{"shasum":"b04baa5608c758708364886df736ff9925490512","tarball":"https://registry.npmjs.org/run/-/run-2.1.7.tgz","fileCount":74,"integrity":"sha512-5sbA+hzexRUpJ5AforgB/KWHO5gQlHV8KYNgLrEu5B1FRBszWb3soa3GD6GxV2NQi5RxPpfedG3gUXXhC7gyog==","signatures":[{"sig":"MEQCIBCE5pXCmyJ9UacKxqj2RjsfI/ULNZIl3hLHvc+2WIDEAiAMNi6cMw0pEUD0NS7+FdGURcek6QvxXNJ6hnxltYRTZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDm93wuJCUygDP2ZDkXs3KMnVGR+x9UCEVQ3N3dyFRH8QIgAz5ZDxLNbAq5x+4V0Qa3pQBqf1W24bNUf3T3us5VIEo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/run@2.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1477081},"main":"./dist/index.js","type":"module","_from":"file:run-2.1.7.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"fix":"ultracite fix","test":"pnpm build && pnpm test:node","build":"pnpm clean && tsup --tsconfig tsconfig.build.json && node scripts/embed-inline-worker.mjs","check":"pnpm lint:banned && ultracite check","clean":"del-cli dist *.tsbuildinfo","test:bun":"pnpm build && bun scripts/bun-smoke.mjs && bun --bun vitest --config vitest.node.config.js --run","benchmark":"pnpm build && node scripts/benchmark.mjs","test:node":"vitest --config vitest.node.config.js --run","test:watch":"vitest --config vitest.node.config.js","type-check":"tsc -p tsconfig.build.json --noEmit && tsc -p src/tsconfig.json","build:watch":"node scripts/build-watch.mjs","lint:banned":"node scripts/check-banned-patterns.js","hardening:fuzz":"pnpm build && node scripts/hardening-fuzz.mjs","hardening:soak":"pnpm build && node --expose-gc scripts/hardening-soak.mjs","test:hardening":"pnpm build && vitest --config vitest.node.config.js --run","verify:package":"pnpm build && pnpm type-check && node scripts/verify-embedded-worker.mjs && node scripts/verify-package.mjs","verify:dependencies":"node scripts/verify-dependencies.mjs","verify:embedded-worker":"node scripts/verify-embedded-worker.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"1f2ab1e5-7309-470b-83ac-dad3cb591e34"}},"_resolved":"/tmp/27633035792bc57d73b8e995c7b87b5c/run-2.1.7.tgz","_integrity":"sha512-5sbA+hzexRUpJ5AforgB/KWHO5gQlHV8KYNgLrEu5B1FRBszWb3soa3GD6GxV2NQi5RxPpfedG3gUXXhC7gyog==","repository":{"url":"git+https://github.com/vercel-labs/run.git","type":"git","directory":"packages/run"},"_npmVersion":"11.19.0","description":"Secure QuickJS-backed JavaScript runtime with host functions and continuations","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","oxfmt":"^0.41.0","oxlint":"^1.56.0","vitest":"^4.1.6","del-cli":"^7.0.0","devalue":"5.8.2","esbuild":"^0.28.1","ultracite":"7.3.2","typescript":"5.8.3","@types/node":"22.19.19","quickjs-wasi":"3.6.0"},"peerDependencies":{"typescript":">=5.1.6 <7"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/run_2.1.7_1790875499172_0.25164422172144096","host":"s3://npm-registry-packages-npm-production"}},"2.1.8":{"name":"run","version":"2.1.8","keywords":["javascript","quickjs","runtime","sandbox","workers"],"license":"Apache-2.0","_id":"run@2.1.8","maintainers":[{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"rauchg","email":"rauchg@gmail.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel-labs/run/tree/main/packages/run#readme","bugs":{"url":"https://github.com/vercel-labs/run/issues"},"dist":{"shasum":"eee9176bdd635e3fa79b2cdc459d50c210e0199a","tarball":"https://registry.npmjs.org/run/-/run-2.1.8.tgz","fileCount":78,"integrity":"sha512-B+N1a8grWUEmQwS8QL+o0yoB0sjPitphQ/PaION9j0m/msDxA9j1fxgX6VC4m604/OzT3IAMAZIw7kn8zn1R0A==","signatures":[{"sig":"MEUCIG7Cm3cu/U+LlIYfi5BQcPdZJ7DCauTkNs9ZtQmLk73NAiEAri3i4C2kl2Hd+cT1Nhd/ktTMZ7AIW+ey9qoHbGcuzoQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCN7pOh335TAhsH51+GZTTc/qxNylF9AQy6ylMxUltUFgIgNg4H8LRuB5fwFxcgROKA4YeVgKY2v7oQ06t5+MCAbpI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/run@2.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1490086},"main":"./dist/index.js","type":"module","_from":"file:run-2.1.8.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"fix":"ultracite fix","test":"pnpm build && pnpm test:node","build":"pnpm clean && tsup --tsconfig tsconfig.build.json && node scripts/embed-inline-worker.mjs","check":"pnpm lint:banned && ultracite check","clean":"del-cli dist *.tsbuildinfo","test:bun":"pnpm build && bun scripts/bun-smoke.mjs && bun --bun vitest --config vitest.node.config.js --run","benchmark":"pnpm build && node scripts/benchmark.mjs","test:node":"vitest --config vitest.node.config.js --run","test:watch":"vitest --config vitest.node.config.js","type-check":"tsc -p tsconfig.build.json --noEmit && tsc -p src/tsconfig.json","build:watch":"node scripts/build-watch.mjs","lint:banned":"node scripts/check-banned-patterns.js","hardening:fuzz":"pnpm build && node scripts/hardening-fuzz.mjs","hardening:soak":"pnpm build && node --expose-gc scripts/hardening-soak.mjs","test:hardening":"pnpm build && vitest --config vitest.node.config.js --run","verify:package":"pnpm build && pnpm type-check && node scripts/verify-embedded-worker.mjs && node scripts/verify-package.mjs","verify:dependencies":"node scripts/verify-dependencies.mjs","verify:embedded-worker":"node scripts/verify-embedded-worker.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"1f2ab1e5-7309-470b-83ac-dad3cb591e34"}},"_resolved":"/tmp/96fc8b92557d28f3d212b79bca1508b7/run-2.1.8.tgz","_integrity":"sha512-B+N1a8grWUEmQwS8QL+o0yoB0sjPitphQ/PaION9j0m/msDxA9j1fxgX6VC4m604/OzT3IAMAZIw7kn8zn1R0A==","repository":{"url":"git+https://github.com/vercel-labs/run.git","type":"git","directory":"packages/run"},"_npmVersion":"11.19.0","description":"Secure QuickJS-backed JavaScript runtime with host functions and continuations","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","oxfmt":"^0.41.0","oxlint":"^1.56.0","vitest":"^4.1.6","del-cli":"^7.0.0","devalue":"5.8.2","esbuild":"^0.28.1","ultracite":"7.3.2","typescript":"5.8.3","@types/node":"22.19.19","quickjs-wasi":"3.6.0"},"peerDependencies":{"typescript":">=5.1.6 <7"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/run_2.1.8_1791835691160_0.964773012576905","host":"s3://npm-registry-packages-npm-production"}},"2.1.9":{"name":"run","version":"2.1.9","keywords":["javascript","quickjs","runtime","sandbox","workers"],"license":"Apache-2.0","_id":"run@2.1.9","maintainers":[{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"rauchg","email":"rauchg@gmail.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"homepage":"https://github.com/vercel-labs/run/tree/main/packages/run#readme","bugs":{"url":"https://github.com/vercel-labs/run/issues"},"dist":{"shasum":"550beefd198819ce9ef483900bc72748d5c8df44","tarball":"https://registry.npmjs.org/run/-/run-2.1.9.tgz","fileCount":78,"integrity":"sha512-xq7C0dXCBfAa7X6GCncl5MPzIdK2P1YKj86VLduHkS6Xoi360vDcUKOwfCCc40GOE5/si+4C7OW8MVWNyQo7jg==","signatures":[{"sig":"MEYCIQDd0GbiF0fa818v++YdOAgEVop6Dg29UjUtz0+cklfKbgIhAJchzPnUtwneNcSkU9O18jnr5oHC2VUsjxAzEy275Vrs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDG6+8ym7r3D8FoQS/Cq/zY9ActIfkEu2Z3WoR3K8J20AiAxd2Iph4QIbLyL6dKCss5mnzFTRT4Kah36BGwab73wkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/run@2.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1490935},"main":"./dist/index.js","type":"module","_from":"file:run-2.1.9.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"fix":"ultracite fix","test":"pnpm build && pnpm test:node","build":"pnpm clean && tsup --tsconfig tsconfig.build.json && node scripts/embed-inline-worker.mjs","check":"pnpm lint:banned && ultracite check","clean":"del-cli dist *.tsbuildinfo","test:bun":"pnpm build && bun scripts/bun-smoke.mjs && bun --bun vitest --config vitest.node.config.js --run","benchmark":"pnpm build && node scripts/benchmark.mjs","test:node":"vitest --config vitest.node.config.js --run","test:watch":"vitest --config vitest.node.config.js","type-check":"tsc -p tsconfig.build.json --noEmit && tsc -p src/tsconfig.json","build:watch":"node scripts/build-watch.mjs","lint:banned":"node scripts/check-banned-patterns.js","hardening:fuzz":"pnpm build && node scripts/hardening-fuzz.mjs","hardening:soak":"pnpm build && node --expose-gc scripts/hardening-soak.mjs","test:hardening":"pnpm build && vitest --config vitest.node.config.js --run","verify:package":"pnpm build && pnpm type-check && node scripts/verify-embedded-worker.mjs && node scripts/verify-package.mjs","verify:dependencies":"node scripts/verify-dependencies.mjs","verify:embedded-worker":"node scripts/verify-embedded-worker.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"1f2ab1e5-7309-470b-83ac-dad3cb591e34"}},"_resolved":"/tmp/b710601fe36880bd8490e75eb78f5c11/run-2.1.9.tgz","_integrity":"sha512-xq7C0dXCBfAa7X6GCncl5MPzIdK2P1YKj86VLduHkS6Xoi360vDcUKOwfCCc40GOE5/si+4C7OW8MVWNyQo7jg==","repository":{"url":"git+https://github.com/vercel-labs/run.git","type":"git","directory":"packages/run"},"_npmVersion":"11.19.1","description":"Secure QuickJS-backed JavaScript runtime with host functions and continuations","directories":{},"sideEffects":false,"_nodeVersion":"24.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","oxfmt":"^0.41.0","oxlint":"^1.56.0","vitest":"^4.1.6","del-cli":"^7.0.0","devalue":"5.8.2","esbuild":"^0.28.1","ultracite":"7.3.2","typescript":"5.8.3","@types/node":"22.19.19","quickjs-wasi":"3.6.3"},"peerDependencies":{"typescript":">=5.1.6 <7"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/run_2.1.9_1792524249123_0.41028192781879214","host":"s3://npm-registry-packages-npm-production"}},"2.1.10":{"_id":"run@2.1.10","bugs":{"url":"https://github.com/vercel-labs/run/issues"},"dist":{"shasum":"b8624388a69149e08f7a4a2735d500a1804352bc","tarball":"https://registry.npmjs.org/run/-/run-2.1.10.tgz","fileCount":78,"integrity":"sha512-hNPVUA5r1Baqj4WaGcYlsXZoiD8Ir7O0HjITOdOBBDqf2rHnaPJheUrniPhWIuya/hEL3rmqItXoUnuS6hljPA==","signatures":[{"sig":"MEUCIQCjdLlKxyK21IyzqXH9VLtqYjnY1gEmsyRX2CKDeH3BiQIgd/baLsocT+lno63GqOYguxKU2/nu43jAam2PUGv/oiA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBbbR0rA0KU60OVdoREoT+eTnEsS5xBGueAyXIlUI4sFAiEA5AVr1wAPZ20ifG7qq3ATmauvC4fVLaPTBnklv7YZ3cU="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/run@2.1.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1491290},"main":"./dist/index.js","name":"run","type":"module","_from":"file:run-2.1.10.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"license":"Apache-2.0","scripts":{"fix":"ultracite fix","test":"pnpm test:node && pnpm test:package","build":"pnpm clean && tsup --tsconfig tsconfig.build.json && node scripts/embed-inline-worker.mjs","check":"pnpm lint:banned && ultracite check","clean":"del-cli dist *.tsbuildinfo","test:bun":"pnpm build && bun scripts/bun-smoke.mjs && bun --bun vitest --run && bun --bun vitest --mode package --run","benchmark":"pnpm build && node scripts/benchmark.mjs","test:node":"vitest --run","test:watch":"vitest","type-check":"tsc -p tsconfig.build.json --noEmit && tsc -p src/tsconfig.json","build:watch":"node scripts/build-watch.mjs","lint:banned":"node scripts/check-banned-patterns.js","test:package":"pnpm build && vitest --mode package --run","hardening:fuzz":"pnpm build && node scripts/hardening-fuzz.mjs","hardening:soak":"pnpm build && node --expose-gc scripts/hardening-soak.mjs","test:hardening":"pnpm test:package","verify:package":"pnpm build && pnpm type-check && node scripts/verify-embedded-worker.mjs && node scripts/verify-package.mjs","verify:dependencies":"node scripts/verify-dependencies.mjs","verify:embedded-worker":"node scripts/verify-embedded-worker.mjs"},"version":"2.1.10","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"1f2ab1e5-7309-470b-83ac-dad3cb591e34"}},"homepage":"https://github.com/vercel-labs/run/tree/main/packages/run#readme","keywords":["javascript","quickjs","runtime","sandbox","workers"],"_resolved":"/tmp/d46e03d5b44b0a680f6501d513401b9c/run-2.1.10.tgz","_integrity":"sha512-hNPVUA5r1Baqj4WaGcYlsXZoiD8Ir7O0HjITOdOBBDqf2rHnaPJheUrniPhWIuya/hEL3rmqItXoUnuS6hljPA==","repository":{"url":"git+https://github.com/vercel-labs/run.git","type":"git","directory":"packages/run"},"_npmVersion":"11.19.1","description":"Secure QuickJS-backed JavaScript runtime with host functions and continuations","directories":{},"maintainers":[{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"rauchg","email":"rauchg@gmail.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"sideEffects":false,"_nodeVersion":"24.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","oxfmt":"^0.41.0","oxlint":"^1.56.0","vitest":"^4.1.6","del-cli":"^7.0.0","devalue":"5.8.2","esbuild":"^0.28.1","ultracite":"7.3.2","typescript":"5.8.3","@types/node":"22.19.19","quickjs-wasi":"3.6.3"},"peerDependencies":{"typescript":">=5.1.6 <7"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/run_2.1.10_1792537111273_0.5467983387004276"}}},"time":{"created":"2011-03-17T23:20:47.411Z","modified":"2026-10-20T22:58:31.824Z","0.0.2":"2011-03-17T23:20:47.531Z","0.0.3":"2011-04-30T03:06:50.379Z","0.1.0":"2011-05-07T02:54:33.631Z","0.1.1":"2011-05-07T03:11:14.808Z","0.2.0":"2011-11-13T22:11:08.420Z","0.2.2":"2011-11-27T23:00:17.735Z","0.2.3":"2011-12-17T02:15:26.288Z","0.2.4":"2012-05-15T14:36:53.247Z","1.0.0":"2012-08-09T03:51:06.004Z","1.0.1":"2012-08-12T02:39:52.780Z","1.0.2":"2012-11-26T17:10:08.379Z","1.1.0":"2012-12-09T23:50:26.885Z","1.2.0":"2013-03-26T17:41:40.544Z","1.4.0":"2015-03-22T19:52:21.589Z","1.5.0":"2023-12-26T23:24:37.135Z","2.0.0":"2026-08-13T14:55:55.569Z","2.0.1":"2026-08-24T23:25:11.887Z","2.0.2":"2026-08-26T03:16:58.465Z","2.0.3":"2026-08-26T20:28:12.567Z","2.1.0":"2026-08-29T15:57:01.368Z","2.1.1":"2026-08-31T14:51:41.366Z","2.1.2":"2026-08-31T17:46:22.280Z","2.1.3":"2026-09-05T14:03:18.157Z","2.1.4":"2026-09-08T21:53:40.804Z","2.1.5":"2026-09-20T17:09:48.832Z","2.1.6":"2026-09-30T14:43:02.175Z","2.1.7":"2026-10-01T17:24:59.335Z","2.1.8":"2026-10-12T20:08:11.258Z","2.1.9":"2026-10-20T19:24:09.232Z","2.1.10":"2026-10-20T22:58:31.392Z"},"bugs":{"url":"https://github.com/vercel-labs/run/issues"},"license":"Apache-2.0","homepage":"https://github.com/vercel-labs/run/tree/main/packages/run#readme","keywords":["javascript","quickjs","runtime","sandbox","workers"],"repository":{"url":"git+https://github.com/vercel-labs/run.git","type":"git","directory":"packages/run"},"description":"Secure QuickJS-backed JavaScript runtime with host functions and continuations","maintainers":[{"name":"matheuss","email":"matheus.frndes@gmail.com"},{"name":"rauchg","email":"rauchg@gmail.com"},{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"zeit-bot","email":"team@zeit.co"}],"readme":"# run\n\n`run` is an alternative to `eval` for coding agents, with support for\nTypeScript. Use it for code-mode, code interpreters, and other patterns that\nexecute untrusted JS or TS.\n\n`run` executes JavaScript in a hardened QuickJS sandbox. Guest code starts with\nno access to Node.js, the filesystem, environment variables, modules, or the\nnetwork; it can call only the host functions you explicitly provide.\n\nHost functions can be any normal JavaScript or TypeScript functions. They can\nalso interrupt execution for approval or authentication and resume later without\nrepeating already invoked host functions.\n\n## Install\n\n```sh\npnpm add run\n```\n\n`run` supports Node.js 20.19 or newer and Bun.\n\n## Run JavaScript\n\n```ts\nimport { run } from 'run';\n\nconst result = await run({\n  source: `\n    const total = await tools.sum(1, 2, 3, 4);\n    return { total };\n  `,\n  hostFunctions: {\n    tools: {\n      sum: (...values: number[]) =>\n        values.reduce((total, value) => total + value, 0),\n    },\n  },\n});\n\nif (result.status === 'completed') {\n  console.log(result.value); // { total: 10 }\n}\n```\n\nEach run uses a fresh QuickJS context inside a worker thread. Top-level `await`\nand `return` are supported in `source`.\n\n## Host functions\n\nA host function group becomes a global with the same name inside the sandbox.\nGuest arguments map one-for-one to the host function:\n\n```text\nguest                                 host\ntools.sum(1, 2, 3, 4)        ─────▶   sum(1, 2, 3, 4)\nusers.find({ id: 'user-1' }) ─────▶   find({ id: 'user-1' })\nclock.now()                  ─────▶   now()\n```\n\nHost functions may be synchronous or asynchronous:\n\n```ts\nconst hostFunctions = {\n  users: {\n    find: async (input: { id: string }) => database.users.find(input.id),\n  },\n  tools: {\n    add: (left: number, right: number) => left + right,\n    join: (separator: string, ...values: string[]) => values.join(separator),\n  },\n};\n```\n\nArguments cross the QuickJS boundary as one serialized array. Their count and\npositions are preserved, including explicit `undefined` arguments.\n\n### Values across the sandbox boundary\n\n`run` uses the versioned `run-js-v1` format in both directions. It supports:\n\n- primitives, including `undefined`, `BigInt`, `NaN`, infinities, and `-0`;\n- plain objects, arrays, sparse arrays, cycles, and repeated references;\n- `Date`, `RegExp`, `Map`, and `Set`;\n- `ArrayBuffer`, `DataView`, and typed arrays; and\n- `Error` values, including `name`, `message`, `cause`, and\n  `AggregateError.errors`.\n\nReferences are preserved within one transferred value graph. Separate host\nfunction calls are separate transfers and do not share object identity. Plain\nobjects are reconstructed as plain objects rather than retaining custom\nprototypes. Error stacks are regenerated in the receiving realm and are not\ntransferred.\n\nFunctions, symbols, promises, weak collections, and arbitrary class instances\ncannot cross the boundary. Returning one fails with a serialization error that\nincludes its path when available. Keep capabilities in host functions and send\ndata through their arguments and results.\n\n### Synchronous host functions\n\nUse `syncHostFunctions` when guest APIs must return before the next guest\nstatement runs, such as filesystem compatibility methods. The host handler may\nstill be asynchronous; `run` blocks only the invocation's worker while it\nsettles and returns the serialized value directly to guest code.\n\n```ts\nconst runner = createRunner({\n  syncHostFunctions: {\n    fs: {\n      readFile: async (path: string) => storage.read(path),\n      writeFile: async (path: string, value: string) =>\n        storage.write(path, value),\n    },\n  },\n});\n\nawait runner.run({\n  source: `\n    fs.writeFile('/state', 'ready');\n    return fs.readFile('/state');\n  `,\n});\n```\n\nSynchronous host functions must settle to a serializable value and cannot\ninterrupt a run. Their calls share `maxBridgeRequests` with ordinary host\nfunctions. Forward `getHostFunctionContext().abortSignal` to cancellable work;\nthe signal is aborted on timeout or caller cancellation. The synchronous bridge\nis allocated only for runs that configure synchronous bindings or a module\nloader, is included in invocation memory admission, and is capped at 64 MiB.\n\n### Native ES modules\n\nPassing `moduleLoader` enables native module resolution. For compatibility,\nits presence evaluates `source` as an ES module unless `sourceType` is set\nexplicitly. Module source supports static, cyclic, and dynamic imports:\n\n```ts\nawait runner.run({\n  source: `import { value } from './value.js'; console.log(value);`,\n  moduleLoader: {\n    identity: 'workspace-v1',\n    normalize(specifier, importer) {\n      return resolveModuleSpecifier(specifier, importer);\n    },\n    load(specifier) {\n      return readModuleSource(specifier);\n    },\n  },\n});\n```\n\nSet `sourceType: 'function-body'` to retain top-level `await`, `return`, and a\nserialized run value while enabling native dynamic imports:\n\n```ts\nconst result = await runner.run({\n  source: `\n    const { value } = await import('./value.js');\n    return value;\n  `,\n  sourceType: 'function-body',\n  moduleLoader,\n});\n```\n\nSet `sourceType: 'module'` to evaluate an entry module even when it has no\nimports and no module loader. Entry modules execute for their side effects and\na completed module run has `value: undefined`; the module namespace is not\nserialized as the run result.\n\n`normalize` and `load` may be synchronous or asynchronous. Their results are\nbounded by the host-function bridge limits, and `SharedArrayBuffer` and\n`Atomics` remain unavailable to guest JavaScript. Module-backed runs can create\nand resume continuations when the loader has a non-empty stable `identity`.\nLoader failures are redacted before entering the sandbox.\n\nThis allows modules to export functions and cyclic namespaces without turning\nthose exports into result-serialization failures.\n\nNative Node type stripping is used when the runtime provides it, and Bun uses\nits native TypeScript transpiler. On Node 20, install the optional `typescript`\npeer dependency to enable runtime type stripping. Without that peer, JavaScript\nand already type-stripped input remain supported and QuickJS reports unsupported\nTypeScript syntax without exposing a host module-resolution error.\n\n### Host function context\n\nCall `getHostFunctionContext()` when a host function needs runtime metadata,\ncancellation, or interruption. Context is not a guest argument, so the host\nfunction signature continues to match the call made in sandboxed JavaScript.\n\n```ts\nimport { getHostFunctionContext } from 'run';\n\nconst hostFunctions = {\n  documents: {\n    save: async (document: Document) => {\n      const { abortSignal, logicalRunId } = getHostFunctionContext();\n      return database.save(document, { abortSignal, logicalRunId });\n    },\n  },\n};\n```\n\nThe context is isolated for each concurrent host function call and follows\nawaited asynchronous work. `getHostFunctionContext()` throws outside an active\nhost function and from detached work after the host function settles or is\naborted.\n\n`HostFunctionContext` contains:\n\n| Property             | Meaning                                                           |\n| -------------------- | ----------------------------------------------------------------- |\n| `abortSignal`        | Aborted when the run is cancelled, times out, or fails            |\n| `hostFunctionName`   | Fully qualified name such as `tools.sum`                          |\n| `logicalRunId`       | Stable across every continuation replay                           |\n| `invocationId`       | Identifies the current execution attempt                          |\n| `requestId`          | Identifies this host function request in the current attempt      |\n| `requestIndex`       | One-based host function request order                             |\n| `interrupt(payload)` | Suspends the run; its return type is `never`                      |\n| `resume`             | Resolution metadata when an interrupted host function is replayed |\n\n## Interrupt and resume\n\nHost functions can pause a run before a protected operation. Configure one\nshared secret for every process that can create or resume continuations:\n\n```sh\nexport RUN_CONTINUATION_SECRET=\"$(openssl rand -base64 32)\"\n```\n\n`run()` reads `RUN_CONTINUATION_SECRET` automatically.\n\n```ts\nimport { getHostFunctionContext, run } from 'run';\n\nconst source = `return await documents.publish('draft-1');`;\nconst hostFunctions = {\n  documents: {\n    publish: async (draftId: string) => {\n      const { interrupt, resume } = getHostFunctionContext();\n\n      if (resume === undefined) {\n        interrupt({\n          kind: 'approval',\n          message: `Publish ${draftId}?`,\n        });\n      }\n\n      if (resume.resolution !== true) {\n        throw new Error('Publishing was not approved.');\n      }\n\n      return publishDraft(draftId);\n    },\n  },\n};\n\nconst first = await run({ source, hostFunctions });\n\nif (first.status === 'interrupted') {\n  const completed = await run({\n    source,\n    hostFunctions,\n    continuation: first.continuation,\n    resolutions: first.interruptions.map(interruption => ({\n      interruptionId: interruption.id,\n      value: true,\n    })),\n  });\n}\n```\n\nOrdinary runs need no continuation configuration. If a host function interrupts\nwithout `RUN_CONTINUATION_SECRET`, `continuationSecret`, or a\n`continuationCodec`, the run fails with a configuration error.\n\nSee [Continuations](#continuations) for replay behavior, multi-process\ndeployment, multiple interruptions, storage-backed tokens, and key rotation.\n\n## Configure a runner\n\nUse `createRunner()` to share limits and continuation configuration:\n\n```ts\nimport { createRunner } from 'run';\n\nconst runner = createRunner({\n  limits: {\n    timeoutMs: 10_000,\n    memoryLimitBytes: 32 * 1024 * 1024,\n  },\n  continuationSecret: process.env.RUN_CONTINUATION_SECRET!,\n  continuationAudience: 'publish-endpoint-v1',\n});\n\nconst result = await runner.run({\n  source: 'return await api.lookup(\"item-1\");',\n  hostFunctions: {\n    api: {\n      lookup: (id: string) => database.get(id),\n    },\n  },\n});\n```\n\n`continuationSecret` must contain at least 32 bytes. It takes precedence over\nthe environment variable. Supplying both `continuationSecret` and\n`continuationCodec` is an error.\n\nPer-run limits override runner defaults. An `abortSignal` cancels an active\ninvocation and is available through `getHostFunctionContext()`.\n\n| Limit                                        |    Default |\n| -------------------------------------------- | ---------: |\n| Timeout (`timeoutMs`)                        | 30 seconds |\n| CPU timeout (`cpuTimeoutMs`)                 | 10 seconds |\n| QuickJS memory                               |     64 MiB |\n| QuickJS stack                                |      2 MiB |\n| Source                                       |    256 KiB |\n| Result                                       |      1 MiB |\n| Console output                               |     64 KiB |\n| Host function arguments                      |      1 MiB |\n| Host function output or interruption payload |      4 MiB |\n| Bridge requests                              |        256 |\n| Concurrent bridge requests                   |         32 |\n| Continuation                                 |     32 MiB |\n\n`timeoutMs` is the wall-clock ceiling for one invocation, including time spent\nwaiting on host functions, module loaders, and continuation codecs. It fails\nwith `RUN_TIMEOUT`. `cpuTimeoutMs` bounds the time the worker spends running\nguest JavaScript in one invocation and fails with `RUN_CPU_TIMEOUT`. Time spent\nawaiting asynchronous host functions or blocked in synchronous host functions\nand module loaders does not count toward it. To allow slow host functions,\nraise `timeoutMs` and rely on `cpuTimeoutMs` to stop runaway guest code. Guest\ntime never exceeds wall time, so `cpuTimeoutMs` only takes effect when it is\nlower than `timeoutMs`; the defaults leave 20 seconds of wall time for host\nwaits. Each invocation, including each continuation resume, starts with a fresh\nCPU budget. A pending interruption never hides an exceeded budget: the\ninvocation fails instead of returning a continuation.\n\nAll limits must be positive integers no greater than `2_147_483_647`. Values\nabove this ceiling are rejected instead of being passed to platform APIs that\ncannot represent them safely. The process-wide worker cap rejects excess\ninvocations with `RunConcurrencyError`; `run` does not retain an unbounded\nqueue. The cap and worker pool are shared by every runner and by packages such\nas `@ai-sdk/code-mode` in the same process.\n\n## Continuations\n\n### Multi-process signing\n\nSet the same `RUN_CONTINUATION_SECRET` on every server instance, worker, and\nresume endpoint. The convenience `run()` function and runners without explicit\ncontinuation options use it automatically. This lets any process verify and\nresume a continuation produced by another process or by an earlier deployment\ninstance.\n\nFor application-managed configuration, pass the same `continuationSecret` to\neach runner. For custom expiry or signing-key rotation, construct the codec\ndirectly:\n\n```ts\nimport { createRunner, createSignedContinuationCodec } from 'run';\n\nconst runner = createRunner({\n  continuationCodec: createSignedContinuationCodec({\n    secret: process.env.RUN_CONTINUATION_SECRET_CURRENT!,\n    verificationSecrets: [process.env.RUN_CONTINUATION_SECRET_PREVIOUS!],\n  }),\n});\n```\n\nNew tokens use only `secret`; `verificationSecrets` are accepted only while\nverifying old tokens.\n\n### Replay behavior\n\nA continuation contains a replay ledger. On resume, completed and rejected\nasynchronous host functions, synchronous host functions, and module-loader\noperations are read from that ledger instead of being invoked again. The\nruntime reinvokes only interrupted host functions that now have a resolution;\noperations first reached after the recorded frontier dispatch normally.\n\nReplay verifies the source, asynchronous and synchronous host-function-name\nmanifests, module-loader identity, and complete serialized argument list for\nevery bridge call. Guest `Date`, `Date.now()`, and `Math.random()` remain\ndeterministic across replay. Divergence is rejected before a mismatched\nintegration executes.\n\nReplay runs the guest source again from the start. That guest work counts\ntoward the resumed invocation's `cpuTimeoutMs`, which starts from zero on every\nresume.\n\nAn interrupted host function itself is reinvoked. Call `interrupt()` before\ndoing non-idempotent work. For writes that may be retried, use\n`getHostFunctionContext().resume.interruptionId` as a stable idempotency key.\n\n`interrupt()` uses an internal throw. Do not catch it inside the host function.\nThe runtime catches it at the host boundary and returns an interrupted result.\n\n### Multiple interruptions\n\nConcurrent host function calls may interrupt together. The result contains the\nfull batch and one continuation:\n\n```ts\nconst result = await run({\n  source: `\n    return await Promise.all([\n      actions.deleteAccount('account-1'),\n      actions.sendPayment('payment-1'),\n    ]);\n  `,\n  hostFunctions,\n});\n\nif (result.status === 'interrupted') {\n  // This example resolves the full batch after collecting every approval.\n  await run({\n    source,\n    hostFunctions,\n    continuation: result.continuation,\n    resolutions: result.interruptions.map(interruption => ({\n      interruptionId: interruption.id,\n      value: approvals[interruption.id],\n    })),\n  });\n}\n```\n\nYou can instead resume with resolutions for any non-empty subset of the batch.\nCalls without a resolution remain pending with the same IDs and payloads,\nwithout invoking their host functions again. Resolved branches can advance and\nreach new interruptions. If the run remains interrupted, use its returned\ncontinuation and pending interruptions for the next resume so completed work\nis preserved. Each interruption also exposes the complete guest call as its\n`arguments` array.\n\n### Scope and authorization\n\nSigned continuations are bound to the runner audience, source, asynchronous and\nsynchronous host-function-name manifests, module-loader identity, and\n`continuationContext`. For tenant-, user-, or policy-scoped execution, provide\nauthenticated context on both the initial run and every resume:\n\n```ts\nawait runner.run({\n  source,\n  hostFunctions,\n  continuationContext: { tenantId, userId, policyVersion },\n});\n```\n\nA mismatch is rejected before replayed results are returned or an interrupted\nhost function is reinvoked. The resume endpoint must still authorize the actor\nwho submits each resolution. A valid continuation proves integrity and scope;\nit does not grant approval by itself.\n\n### Token security and storage\n\nSigned continuations are self-contained, replayable bearer tokens. They\nprovide integrity, not confidentiality: source, arguments, results, errors,\nand interruption payloads are base64-encoded but not encrypted.\n\nFor sensitive or at-most-once flows, use `createStoredContinuationCodec()`.\nIts storage contract temporarily claims a token during decode and enforces\nexpiry. Cancellation and replay-validation failures release the claim; valid\ncontinuations are consumed before worker execution. Claims must expire after a\nbounded interval so process failure cannot permanently strand a token.\n\n> A custom continuation codec used across a trust boundary must authenticate\n> its state and reject tampering. An unauthenticated codec lets an attacker\n> forge completed effects and resume payloads. Prefer the signed or\n> storage-backed codecs unless a custom implementation provides equivalent\n> integrity and scope validation.\n\nCustom codecs receive versioned replay state plus an operation context with an\n`abortSignal` and `deadlineMs`. Treat continuation tokens as opaque; the replay\nstate is an advanced API that may evolve between releases.\n\nReplay state identifies its value codec as `run-js-v1`. Serialized host\nfunction arguments, results, interruption payloads, and resolutions remain\nopaque strings inside the JSON continuation envelope, so rich and cyclic values\ndo not weaken canonical signing. Ledger entries use the wire property name\n`bindingName` as the persisted host function path key.\n\n## Security model\n\nSandboxed code has no ambient access to Node.js, the filesystem, environment\nvariables, modules, network APIs, timers, `crypto`, or high-resolution clocks.\nDynamic evaluation is disabled and built-in prototypes are frozen. Host access\nis limited to declared host functions and serialized values crossing the worker\nboundary.\n\nHost function groups and functions must be own properties. Inherited prototype\nmembers are never capabilities. Guest namespaces cannot replace JavaScript\nbuiltins or runtime internals.\n\nResource limits reduce denial-of-service risk, but host functions remain\nsecurity-sensitive capabilities. Validate authentication, authorization, and\napplication input in the host environment.\n\n## Errors and retries\n\nRuntime failures extend `RunError` and expose a stable `code`:\n\n- `RUN_ABORTED`, `RUN_TIMEOUT`, and `RUN_CONCURRENCY_LIMIT` may be retried when\n  host effects are safe to retry.\n- `RUN_CPU_TIMEOUT` means guest JavaScript exceeded `cpuTimeoutMs`. Retrying\n  unchanged source usually fails again.\n- `RUN_PROTOCOL_ERROR` indicates malformed, tampered, expired, or divergent\n  continuation state. Do not retry unchanged input.\n- `RUN_USER_SOURCE_ERROR` identifies uncaught guest evaluation failures, including\n  syntax errors and thrown values. Guest-authored `code` properties are replaced;\n  trusted host and runtime codes are preserved.\n- `RUN_HOST_FUNCTION_ERROR` comes from capability lookup or host function\n  execution.\n- `RUN_BRIDGE_LIMIT`, `RUN_SOURCE_TOO_LARGE`, and serialization failures require\n  changing the source, values, or limits.\n- `RUN_DETACHED_BRIDGE_REQUEST` means guest code returned without correctly\n  awaiting bridge work.\n\nSyntax and runtime error stacks use `run.js` and line numbers from the exact\n`source` string passed to `run`. Generated wrapper and sandbox-runtime frames\nare omitted. The same coordinates are retained after supported TypeScript\nsyntax is stripped and when an awaited host function rejects:\n\n```text\nError: calculation failed\n    at calculate (run.js:4:9)\n    at <anonymous> (run.js:7:16)\n```\n\nColumns are reported by QuickJS. Stacks belonging to `Error` objects returned\nas ordinary data are not transferred; this stack behavior applies to errors\nthat escape execution.\n\nWorkers that cannot reach a verified clean state after abort, timeout, protocol\nfailure, or detached work are retired. Every invocation receives a fresh\nQuickJS context, including invocations on reused worker threads.\n","readmeFilename":"README.md","users":{"mpkv":true,"akefx":true,"criya":true,"dmolc":true,"j00da":true,"abdzak":true,"banzeh":true,"contrl":true,"deino2":true,"edeijl":true,"eduzgs":true,"ejairc":true,"jehnpm":true,"junsub":true,"padr02":true,"phdooy":true,"yarnpm":true,"bryan43":true,"elig-gm":true,"gyurisc":true,"jotform":true,"marcorr":true,"offaxis":true,"tony-cj":true,"yakusag":true,"yasergh":true,"yondo33":true,"zombozo":true,"andyliwr":true,"arniegoo":true,"azndw989":true,"blusibor":true,"digiclip":true,"ferquagl":true,"joppajoe":true,"jounikka":true,"jviana26":true,"leontiad":true,"localink":true,"nikhilcq":true,"sdadtuan":true,"shihab12":true,"yury_mid":true,"amin12345":true,"camilo213":true,"devjs1000":true,"dkumar286":true,"errorygor":true,"front-egg":true,"millad90s":true,"aadittambe":true,"ard-online":true,"cocone_web":true,"dudtlr9308":true,"ellissongt":true,"kangzhijun":true,"kiocastile":true,"luvas-jpeg":true,"minibobben":true,"pookiesoap":true,"raphaelcpp":true,"rivailruiz":true,"sabinaarnt":true,"abraham.boj":true,"bariskirgic":true,"deeptansu22":true,"npm-firefly":true,"nreshamwala":true,"stefanolaru":true,"zivilepilka":true,"benderpatria":true,"bill-saravia":true,"kevinhuang31":true,"mebustamante":true,"rananabil123":true,"skymakeralex":true,"adriel.arocha":true,"evelio1266152":true,"nicozaffaroni":true,"aia_desarrollo":true,"joel.uong.sfcc":true,"patryk.omiotek":true,"saruta_masashi":true,"sourceful-david":true,"sumiyoshi_hiroka":true,"fractaltecnologia":true,"jonathannilsson90":true,"npm-platform-user":true,"infracommercebrandlive":true}}