{"version":3,"file":"js-exec-N5KEZBH7-BfVFKq8I.cjs","names":["O","g","v","L","h","k","w","i","C","F","j","r","E","o","b","S"],"sources":["../../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/js-exec-N5KEZBH7.js"],"sourcesContent":["import{createRequire} from\"node:module\";const require=createRequire(import.meta.url);\nimport{a as C,b as F}from\"./chunk-5H5SCKJM.js\";import\"./chunk-WNH3HOQA.js\";import\"./chunk-HBVMHTO5.js\";import{a as w,b as g}from\"./chunk-XRFHFXFP.js\";import\"./chunk-L2UW7DWF.js\";import{a as j}from\"./chunk-DLL7UR66.js\";import{b as v}from\"./chunk-TN7HHBQW.js\";import{c as S}from\"./chunk-NRSASXYY.js\";import{a as b,b as h}from\"./chunk-FOCWZZDE.js\";import{a as k}from\"./chunk-W5DWRFSU.js\";import{b as E}from\"./chunk-QAYAQNCG.js\";import\"./chunk-BZUGFHVS.js\";import{AsyncLocalStorage as O}from\"node:async_hooks\";import{randomBytes as R}from\"node:crypto\";import{fileURLToPath as _}from\"node:url\";import{Worker as L}from\"node:worker_threads\";var U=1e4,I=6e4,A=new O,M=`js-exec - Sandboxed JavaScript/TypeScript runtime with Node.js-compatible APIs\n\nUsage: js-exec [OPTIONS] [-c CODE | FILE] [ARGS...]\n\nOptions:\n  -c CODE          Execute inline code\n  -m, --module     Enable ES module mode (import/export)\n  --strip-types    Strip TypeScript type annotations\n  --version, -V    Show version\n  --help           Show this help\n\nExamples:\n  js-exec -c \"console.log(1 + 2)\"\n  js-exec script.js\n  js-exec app.ts\n  echo 'console.log(\"hello\")' | js-exec\n\nFile Extension Auto-Detection:\n  .js              script mode (module mode if top-level await detected)\n  .mjs             ES module mode\n  .ts, .mts        ES module mode + TypeScript stripping\n\nNode.js Compatibility:\n  Code written for Node.js largely works here. Both require and import\n  are supported, the node: prefix works, and standard globals like process,\n  console, and fetch are available. All I/O is synchronous.\n\n  Available modules:\n    fs, path, child_process, process, console,\n    os, url, assert, util, events, buffer, stream,\n    string_decoder, querystring\n\n  fs (global, require('fs'), or import from 'node:fs'):\n    readFileSync, writeFileSync, appendFileSync, copyFileSync, renameSync\n    readdirSync, mkdirSync, rmSync, unlinkSync, rmdirSync\n    statSync, lstatSync, existsSync, realpathSync, chmodSync\n    symlinkSync, readlinkSync, readFileBuffer\n    fs.promises.readFile, fs.promises.writeFile, fs.promises.access, ...\n\n  path: join, resolve, dirname, basename, extname, normalize,\n    relative, isAbsolute, parse, format, sep, delimiter\n\n  child_process:\n    execSync(cmd)       throws on non-zero exit, returns stdout\n    spawnSync(cmd, args) returns { stdout, stderr, status }\n\n  process (also global): argv, cwd(), exit(), env, platform, arch,\n    version, versions\n\n  os: platform(), arch(), homedir(), tmpdir(), type(), hostname(),\n    EOL, cpus(), endianness()\n\n  url: URL, URLSearchParams, parse(), format()\n\n  assert: ok(), equal(), strictEqual(), deepEqual(), throws(),\n    doesNotThrow(), fail()\n\n  util: format(), inspect(), promisify(), types, inherits()\n\n  events: EventEmitter (on, once, emit, off, removeListener, ...)\n\n  buffer: Buffer.from(), Buffer.alloc(), Buffer.concat(),\n    Buffer.isBuffer(), toString(), slice(), equals()\n\n  stream: Readable, Writable, Duplex, Transform, PassThrough, pipeline\n\n  string_decoder: StringDecoder (write, end)\n\n  querystring: parse(), stringify(), escape(), unescape()\n\nOther Globals:\n  console            log (stdout), error/warn (stderr)\n  fetch(url, opts)   HTTP; returns Promise<Response> (Web Fetch API)\n  URL, URLSearchParams, Headers, Request, Response\n  Buffer             Buffer.from(), Buffer.alloc(), etc.\n\nNot Available:\n  http, https, net, tls, crypto, zlib, dns, cluster, worker_threads,\n  vm, v8, readline, and other Node.js built-in modules that require\n  native bindings. Use fetch() for HTTP requests.\n\nLimits:\n  Memory: 64 MB per execution\n  Timeout: 10 s (60 s with network; configurable via maxJsTimeoutMs)\n  Engine: QuickJS (compiled to WebAssembly)\n`;function J(t){let e={code:null,scriptFile:null,showVersion:!1,scriptArgs:[],isModule:!1,stripTypes:!1};if(t.length===0)return e;for(let r=0;r<t.length;r++){let s=t[r];if(s===\"-m\"||s===\"--module\"){e.isModule=!0;continue}if(s===\"--strip-types\"){e.stripTypes=!0;continue}if(s===\"-c\")return r+1>=t.length?{stdout:\"\",stderr:`js-exec: option requires an argument -- 'c'\n`,exitCode:2}:(e.code=t[r+1],e.scriptArgs=t.slice(r+2),e);if(s===\"--version\"||s===\"-V\")return e.showVersion=!0,e;if(s.startsWith(\"-\")&&s!==\"-\"&&s!==\"--\")return{stdout:\"\",stderr:`js-exec: unrecognized option '${s}'\n`,exitCode:2};if(s===\"--\")return r+1<t.length&&(e.scriptFile=t[r+1],e.scriptArgs=t.slice(r+2)),e;if(!s.startsWith(\"-\"))return e.scriptFile=s,e.scriptArgs=t.slice(r+1),e}return e}var c=null,y=null,u=[],n=null,D=_(new URL(\"./js-exec-worker.js\",import.meta.url));function p(){for(;u.length>0&&u[0].canceled;)u.shift();if(n||u.length===0)return;let t=u.shift();if(!t)return;n=t,H().postMessage(n.input)}function N(t,e){if(!t||typeof t!=\"object\")return{success:!1,error:\"Malformed worker response\"};let r=t;return typeof r.protocolToken!=\"string\"||r.protocolToken!==e?{success:!1,error:\"Malformed worker response: invalid protocol token\"}:typeof r.success!=\"boolean\"?{success:!1,error:\"Malformed worker response: missing success flag\"}:r.success?{success:!0}:{success:!1,error:typeof r.error==\"string\"&&r.error.length>0?r.error:\"Worker execution failed\"}}function H(){if(y&&(g(y),y=null),c)return c;let t=v.runTrusted(()=>new L(D));return c=t,t.on(\"message\",e=>{if(c===t){if(n){let r=N(e,n.input.protocolToken);n.resolve(r),n=null}u.length>0?p():z()}}),t.on(\"error\",e=>{if(c===t){if(n){let r=h(k(e));n.resolve({success:!1,error:r}),n=null}for(let r of u)r.resolve({success:!1,error:\"Worker crashed\"});u.length=0,c=null}}),t.on(\"exit\",()=>{c===t&&(c=null,n&&(n.resolve({success:!1,error:\"Worker exited unexpectedly\"}),n=null),u.length>0&&p())}),t}function z(){y=w(()=>{c&&!n&&u.length===0&&(c.terminate(),c=null)},5e3)}async function $(t,e,r,s=[],o,i,a){return A.getStore()?{stdout:\"\",stderr:`js-exec: recursive invocation is not supported\n`,exitCode:1}:G(t,e,r,s,o,i,a)}async function V(t,e,r){let s,o=new Promise(l=>{s=l}),i={input:t,resolve:()=>{}},a=w(()=>{if(n===i){let l=c;l&&(c=null,l.terminate()),n=null,p()}else i.canceled=!0,n||p();i.resolve({success:!1,error:`Execution timeout: exceeded ${r}ms limit`})},r);i.resolve=l=>{g(a),s(l)},u.push(i),p();let[f,d]=await Promise.all([e.run(r),o.catch(l=>({success:!1,error:h(k(l))}))]);return{bridgeOutput:f,workerResult:d}}function Q(t){let e=t.limits?.maxJsTimeoutMs??U;return t.fetch?Math.max(e,I):e}async function G(t,e,r,s=[],o,i,a){let f=C(),d=e.exec,l=d?(P,q)=>A.run(!0,()=>d(P,q)):void 0,W=new F(f,e.fs,e.cwd,\"js-exec\",e.fetch,e.limits?.maxOutputSize??0,l,e.invokeTool),T=Q(e),B={protocolToken:R(16).toString(\"hex\"),sharedBuffer:f,jsCode:t,cwd:e.cwd,env:j(e.env),args:s,scriptPath:r,bootstrapCode:o,isModule:i,stripTypes:a,timeoutMs:T,hasInvokeTool:e.invokeTool!==void 0},{bridgeOutput:m,workerResult:x}=await V(B,W,T);return!x.success&&x.error?{stdout:m.stdout,stderr:`${m.stderr}js-exec: ${h(x.error)}\n`,exitCode:m.exitCode||1}:{...m}}var ae={name:\"js-exec\",async execute(t,e){if(E(t))return{stdout:M,stderr:\"\",exitCode:0};let r=J(t);if(\"exitCode\"in r)return r;if(r.showVersion)return{stdout:`QuickJS (quickjs-emscripten)\n`,stderr:\"\",exitCode:0};let s,o;if(r.code!==null)s=r.code,o=\"-c\";else if(r.scriptFile!==null){let d=e.fs.resolvePath(e.cwd,r.scriptFile);if(!await e.fs.exists(d))return{stdout:\"\",stderr:`js-exec: can't open file '${r.scriptFile}': No such file or directory\n`,exitCode:2};try{s=await e.fs.readFile(d),o=d}catch(l){return{stdout:\"\",stderr:`js-exec: can't open file '${r.scriptFile}': ${b(l.message)}\n`,exitCode:2}}}else if(S(e.stdin).trim())s=S(e.stdin),o=\"<stdin>\";else return{stdout:\"\",stderr:`js-exec: no input provided (use -c CODE or provide a script file)\n`,exitCode:2};let i=r.isModule,a=r.stripTypes;o&&o!==\"-c\"&&o!==\"<stdin>\"&&((o.endsWith(\".mjs\")||o.endsWith(\".mts\")||o.endsWith(\".ts\"))&&(i=!0),(o.endsWith(\".ts\")||o.endsWith(\".mts\"))&&(a=!0)),!i&&/\\bawait\\s+[\\w([`]/.test(s)&&(i=!0);let f=e.jsBootstrapCode;return $(s,e,o,r.scriptArgs,f,i,a)}},de={name:\"node\",async execute(){return{stdout:\"\",stderr:`node: this sandbox uses js-exec instead of node\n\n${M}`,exitCode:1}}};export{ae as jsExecCommand,de as nodeStubCommand};\n"],"x_google_ignoreList":[0],"mappings":"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"}