@jerryan/just-bash 3.8.0 → 3.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +5 -15
  3. package/dist/AGENTS.md +2 -2
  4. package/dist/Bash.d.ts +2 -4
  5. package/dist/bin/chunks/builtin-manifest-ORBIZM7I.js +3 -0
  6. package/dist/bin/chunks/{chmod-GX5SYTRL.js → chmod-S4ARARR4.js} +1 -1
  7. package/dist/bin/chunks/chunk-3ASHUC7C.js +44 -0
  8. package/dist/bin/{shell/chunks/chunk-7WBCA2BB.js → chunks/chunk-3DWQCLNP.js} +1 -1
  9. package/dist/bin/{shell/chunks/chunk-3ROYEBJI.js → chunks/chunk-4JPWP5WS.js} +1 -1
  10. package/dist/bin/chunks/{chunk-QFTZKD5O.js → chunk-6TUILMPB.js} +1 -1
  11. package/dist/bin/chunks/{chunk-DRPHNXG7.js → chunk-7LGT4LHQ.js} +1 -1
  12. package/dist/bin/chunks/{chunk-MBREBDZQ.js → chunk-AIWBN36Z.js} +1 -1
  13. package/dist/bin/chunks/chunk-AQKIHX3Q.js +3 -0
  14. package/dist/bin/chunks/chunk-E2O6S35K.js +10 -0
  15. package/dist/bin/chunks/chunk-E54Z6VIE.js +12 -0
  16. package/dist/bin/{shell/chunks/chunk-F2PYTUMR.js → chunks/chunk-F4ACJZIY.js} +7 -6
  17. package/dist/bin/{shell/chunks/chunk-MPFNZYEA.js → chunks/chunk-GKJD4ULC.js} +1 -1
  18. package/dist/bin/{shell/chunks/chunk-QJWFCA7P.js → chunks/chunk-HARVZWUX.js} +1 -1
  19. package/dist/bin/chunks/chunk-IRCAXXH6.js +14 -0
  20. package/dist/bin/chunks/{chunk-T6OIISUC.js → chunk-K65FCSAT.js} +1 -1
  21. package/dist/bin/{shell/chunks/chunk-MF3GVFLC.js → chunks/chunk-L345YZ6R.js} +1 -1
  22. package/dist/bin/{shell/chunks/chunk-6FGMEZZP.js → chunks/chunk-MWQMHODV.js} +1 -1
  23. package/dist/bin/chunks/{chunk-BB5VTPMQ.js → chunk-NSI6LMDS.js} +1 -1
  24. package/dist/bin/{shell/chunks/chunk-ABP4OLJV.js → chunks/chunk-OXEDIWNZ.js} +1 -1
  25. package/dist/bin/chunks/chunk-QKJAAJ7J.js +3 -0
  26. package/dist/bin/chunks/{chunk-KMYJMEON.js → chunk-R7THHH4J.js} +1 -1
  27. package/dist/bin/chunks/chunk-UBA7DOWE.js +3 -0
  28. package/dist/bin/chunks/{chunk-VPSBWWXM.js → chunk-UNCYBFWT.js} +7 -6
  29. package/dist/bin/chunks/chunk-VMVXACZ5.js +6 -0
  30. package/dist/bin/chunks/chunk-Z3TCELKN.js +12 -0
  31. package/dist/bin/chunks/{cp-YLP7ULVT.js → cp-WRBRHVVD.js} +1 -1
  32. package/dist/bin/chunks/{diff-JSJ56EOK.js → diff-YLVT27CZ.js} +1 -1
  33. package/dist/bin/{shell/chunks/du-DH76GZJ3.js → chunks/du-YNAJTGCR.js} +1 -1
  34. package/dist/bin/{shell/chunks/find-MHC4QV6H.js → chunks/find-T3JZPTUX.js} +1 -1
  35. package/dist/bin/chunks/{flag-coverage-2H5CPEM6.js → flag-coverage-LVKHEUTL.js} +1 -1
  36. package/dist/bin/chunks/{gzip-UQZL4R74.js → gzip-EXJSFNCU.js} +1 -1
  37. package/dist/bin/chunks/js-exec-PLUMFEX6.js +99 -0
  38. package/dist/bin/chunks/js-exec-worker.js +4995 -0
  39. package/dist/bin/chunks/{ls-5Z45FV4U.js → ls-LOCOWLZ3.js} +1 -1
  40. package/dist/bin/chunks/{mkdir-YJ3SOVRP.js → mkdir-VHLJ3E65.js} +1 -1
  41. package/dist/bin/chunks/{mv-EOOP2TO3.js → mv-NAMOL2HF.js} +1 -1
  42. package/dist/bin/chunks/python3-J5GXF27H.js +14 -0
  43. package/dist/bin/{shell/chunks/readlink-EJ3IKLWW.js → chunks/readlink-BF435HNQ.js} +1 -1
  44. package/dist/bin/chunks/{rg-WHVR3YDT.js → rg-XF5U7GS2.js} +1 -1
  45. package/dist/bin/{shell/chunks/rm-B4LVIG7A.js → chunks/rm-L4RHENMV.js} +1 -1
  46. package/dist/bin/{shell/chunks/rmdir-PRNISPBA.js → chunks/rmdir-W73C4GEA.js} +1 -1
  47. package/dist/bin/{shell/chunks/sleep-DVFE2GSF.js → chunks/sleep-MOJQBZMY.js} +1 -1
  48. package/dist/bin/{shell/chunks/split-HIFKSV2A.js → chunks/split-2VXPZJJ4.js} +1 -1
  49. package/dist/bin/chunks/{sqlite3-KNN6V2W6.js → sqlite3-3S5HIA5W.js} +1 -1
  50. package/dist/bin/chunks/{timeout-YGFHQJKX.js → timeout-RQOWSWYG.js} +1 -1
  51. package/dist/bin/chunks/{which-4TPGVSBZ.js → which-G7X54RZL.js} +1 -1
  52. package/dist/bin/just-bash.js +243 -242
  53. package/dist/bin/shell/chunks/builtin-manifest-ORBIZM7I.js +3 -0
  54. package/dist/bin/shell/chunks/{chmod-GX5SYTRL.js → chmod-S4ARARR4.js} +1 -1
  55. package/dist/bin/shell/chunks/chunk-3ASHUC7C.js +44 -0
  56. package/dist/bin/{chunks/chunk-7WBCA2BB.js → shell/chunks/chunk-3DWQCLNP.js} +1 -1
  57. package/dist/bin/{chunks/chunk-3ROYEBJI.js → shell/chunks/chunk-4JPWP5WS.js} +1 -1
  58. package/dist/bin/shell/chunks/{chunk-QFTZKD5O.js → chunk-6TUILMPB.js} +1 -1
  59. package/dist/bin/shell/chunks/{chunk-DRPHNXG7.js → chunk-7LGT4LHQ.js} +1 -1
  60. package/dist/bin/shell/chunks/{chunk-MBREBDZQ.js → chunk-AIWBN36Z.js} +1 -1
  61. package/dist/bin/shell/chunks/chunk-AQKIHX3Q.js +3 -0
  62. package/dist/bin/shell/chunks/chunk-E2O6S35K.js +10 -0
  63. package/dist/bin/shell/chunks/chunk-E54Z6VIE.js +12 -0
  64. package/dist/bin/{chunks/chunk-F2PYTUMR.js → shell/chunks/chunk-F4ACJZIY.js} +7 -6
  65. package/dist/bin/{chunks/chunk-MPFNZYEA.js → shell/chunks/chunk-GKJD4ULC.js} +1 -1
  66. package/dist/bin/{chunks/chunk-QJWFCA7P.js → shell/chunks/chunk-HARVZWUX.js} +1 -1
  67. package/dist/bin/shell/chunks/chunk-IRCAXXH6.js +14 -0
  68. package/dist/bin/shell/chunks/{chunk-T6OIISUC.js → chunk-K65FCSAT.js} +1 -1
  69. package/dist/bin/{chunks/chunk-MF3GVFLC.js → shell/chunks/chunk-L345YZ6R.js} +1 -1
  70. package/dist/bin/{chunks/chunk-6FGMEZZP.js → shell/chunks/chunk-MWQMHODV.js} +1 -1
  71. package/dist/bin/shell/chunks/{chunk-BB5VTPMQ.js → chunk-NSI6LMDS.js} +1 -1
  72. package/dist/bin/{chunks/chunk-ABP4OLJV.js → shell/chunks/chunk-OXEDIWNZ.js} +1 -1
  73. package/dist/bin/shell/chunks/chunk-QKJAAJ7J.js +3 -0
  74. package/dist/bin/shell/chunks/{chunk-KMYJMEON.js → chunk-R7THHH4J.js} +1 -1
  75. package/dist/bin/shell/chunks/chunk-UBA7DOWE.js +3 -0
  76. package/dist/bin/shell/chunks/{chunk-VPSBWWXM.js → chunk-UNCYBFWT.js} +7 -6
  77. package/dist/bin/shell/chunks/chunk-VMVXACZ5.js +6 -0
  78. package/dist/bin/shell/chunks/chunk-Z3TCELKN.js +12 -0
  79. package/dist/bin/shell/chunks/{cp-YLP7ULVT.js → cp-WRBRHVVD.js} +1 -1
  80. package/dist/bin/shell/chunks/{diff-JSJ56EOK.js → diff-YLVT27CZ.js} +1 -1
  81. package/dist/bin/{chunks/du-DH76GZJ3.js → shell/chunks/du-YNAJTGCR.js} +1 -1
  82. package/dist/bin/{chunks/find-MHC4QV6H.js → shell/chunks/find-T3JZPTUX.js} +1 -1
  83. package/dist/bin/shell/chunks/{flag-coverage-2H5CPEM6.js → flag-coverage-LVKHEUTL.js} +1 -1
  84. package/dist/bin/shell/chunks/{gzip-UQZL4R74.js → gzip-EXJSFNCU.js} +1 -1
  85. package/dist/bin/shell/chunks/js-exec-PLUMFEX6.js +99 -0
  86. package/dist/bin/shell/chunks/{ls-5Z45FV4U.js → ls-LOCOWLZ3.js} +1 -1
  87. package/dist/bin/shell/chunks/{mkdir-YJ3SOVRP.js → mkdir-VHLJ3E65.js} +1 -1
  88. package/dist/bin/shell/chunks/{mv-EOOP2TO3.js → mv-NAMOL2HF.js} +1 -1
  89. package/dist/bin/shell/chunks/python3-J5GXF27H.js +14 -0
  90. package/dist/bin/{chunks/readlink-EJ3IKLWW.js → shell/chunks/readlink-BF435HNQ.js} +1 -1
  91. package/dist/bin/shell/chunks/{rg-WHVR3YDT.js → rg-XF5U7GS2.js} +1 -1
  92. package/dist/bin/{chunks/rm-B4LVIG7A.js → shell/chunks/rm-L4RHENMV.js} +1 -1
  93. package/dist/bin/{chunks/rmdir-PRNISPBA.js → shell/chunks/rmdir-W73C4GEA.js} +1 -1
  94. package/dist/bin/{chunks/sleep-DVFE2GSF.js → shell/chunks/sleep-MOJQBZMY.js} +1 -1
  95. package/dist/bin/{chunks/split-HIFKSV2A.js → shell/chunks/split-2VXPZJJ4.js} +1 -1
  96. package/dist/bin/shell/chunks/{sqlite3-KNN6V2W6.js → sqlite3-3S5HIA5W.js} +1 -1
  97. package/dist/bin/shell/chunks/{timeout-YGFHQJKX.js → timeout-RQOWSWYG.js} +1 -1
  98. package/dist/bin/shell/chunks/{which-4TPGVSBZ.js → which-G7X54RZL.js} +1 -1
  99. package/dist/bin/shell/shell.js +305 -304
  100. package/dist/bundle/browser.js +637 -611
  101. package/dist/bundle/chunks/builtin-manifest-7MJJDZ2T.js +2 -0
  102. package/dist/bundle/chunks/{chmod-TEY5MD2W.js → chmod-KMFNCMRX.js} +1 -1
  103. package/dist/bundle/chunks/chunk-2A4OZBCS.js +43 -0
  104. package/dist/bundle/chunks/{chunk-SE23TEGG.js → chunk-4CDTAUYP.js} +1 -1
  105. package/dist/bundle/chunks/chunk-4OKRFRMS.js +13 -0
  106. package/dist/bundle/chunks/{chunk-ATGOUOX2.js → chunk-4WRO2G22.js} +1 -1
  107. package/dist/bundle/chunks/{chunk-45QZRGYF.js → chunk-5KOWUQOZ.js} +7 -6
  108. package/dist/bundle/chunks/{chunk-6HO6HX7V.js → chunk-5NUTFEEG.js} +1 -1
  109. package/dist/bundle/chunks/{chunk-N3A4JVFJ.js → chunk-6IA4DXG2.js} +1 -1
  110. package/dist/bundle/chunks/{chunk-WE7BJ7YU.js → chunk-6IFH67ZB.js} +1 -1
  111. package/dist/bundle/chunks/chunk-6L6OYVLY.js +2 -0
  112. package/dist/bundle/chunks/chunk-BMBITA6Y.js +2 -0
  113. package/dist/bundle/chunks/chunk-BS6EJR2R.js +11 -0
  114. package/dist/bundle/chunks/{chunk-S6DNKKUL.js → chunk-CM4T4GB4.js} +1 -1
  115. package/dist/bundle/chunks/{chunk-MWL2I5BV.js → chunk-FXAKF2QS.js} +1 -1
  116. package/dist/bundle/chunks/chunk-H4AFUSSQ.js +9 -0
  117. package/dist/bundle/chunks/{chunk-GNPLDVBD.js → chunk-MMXJJCAE.js} +1 -1
  118. package/dist/bundle/chunks/{chunk-6QAM55HM.js → chunk-NFODJFHN.js} +1 -1
  119. package/dist/bundle/chunks/{chunk-LRFR25IP.js → chunk-O5OYOY3C.js} +7 -6
  120. package/dist/bundle/chunks/{chunk-HCKTU6IR.js → chunk-PASYAXFP.js} +1 -1
  121. package/dist/bundle/chunks/chunk-PS2RJNZZ.js +2 -0
  122. package/dist/bundle/chunks/chunk-THDUQVY3.js +11 -0
  123. package/dist/bundle/chunks/{chunk-DMWNBCXJ.js → chunk-TLPMB3FO.js} +1 -1
  124. package/dist/bundle/chunks/{chunk-FSKXIFYT.js → chunk-Y6UHNLT5.js} +1 -1
  125. package/dist/bundle/chunks/{chunk-XV2V56NQ.js → chunk-YFFU74KY.js} +1 -1
  126. package/dist/bundle/chunks/chunk-ZIQS5QAW.js +5 -0
  127. package/dist/bundle/chunks/{cp-UR762VVT.js → cp-P2D2L6PC.js} +1 -1
  128. package/dist/bundle/chunks/{diff-VDB6RXHO.js → diff-Z3XOLW44.js} +1 -1
  129. package/dist/bundle/chunks/{du-EQKH3UNA.js → du-YBSJVBXP.js} +1 -1
  130. package/dist/bundle/chunks/{find-RLKBCGJR.js → find-IUWEB4XQ.js} +1 -1
  131. package/dist/bundle/chunks/{flag-coverage-UMQ3BWDP.js → flag-coverage-SZ4AUPRQ.js} +1 -1
  132. package/dist/bundle/chunks/{gzip-KC5ENBD2.js → gzip-VUJBDHZ5.js} +1 -1
  133. package/dist/bundle/chunks/js-exec-6RW7WZCG.js +98 -0
  134. package/dist/bundle/chunks/js-exec-worker.js +4995 -0
  135. package/dist/bundle/chunks/{ls-WH5S4PPL.js → ls-ECKG2XHZ.js} +1 -1
  136. package/dist/bundle/chunks/{mkdir-Z6MMWH3D.js → mkdir-YL7XGMD7.js} +1 -1
  137. package/dist/bundle/chunks/{mv-WE7DBLEK.js → mv-IF55A2UD.js} +1 -1
  138. package/dist/bundle/chunks/python3-XHTOW7VA.js +13 -0
  139. package/dist/bundle/chunks/{readlink-JSRKXLLQ.js → readlink-7XGQ3PL7.js} +1 -1
  140. package/dist/bundle/chunks/{rg-JKB7DR66.js → rg-E6H2HACA.js} +1 -1
  141. package/dist/bundle/chunks/{rm-IGPLE632.js → rm-CWLMERIO.js} +1 -1
  142. package/dist/bundle/chunks/{rmdir-3WTXMVKI.js → rmdir-WKKBLZ54.js} +1 -1
  143. package/dist/bundle/chunks/{sleep-PPRBTSVR.js → sleep-25QUPVDK.js} +1 -1
  144. package/dist/bundle/chunks/{split-HUKVGJTW.js → split-NEU2K2YN.js} +1 -1
  145. package/dist/bundle/chunks/{sqlite3-KB3MXTTM.js → sqlite3-KJ5NMKBM.js} +1 -1
  146. package/dist/bundle/chunks/{timeout-C6WDYPLV.js → timeout-37GM7IIL.js} +1 -1
  147. package/dist/bundle/chunks/{which-UWVKETYW.js → which-BP5YY5BR.js} +1 -1
  148. package/dist/bundle/index.cjs +1134 -2660
  149. package/dist/bundle/index.js +210 -209
  150. package/dist/commands/js-exec/js-exec-worker.d.ts +35 -0
  151. package/dist/commands/js-exec/js-exec.d.ts +14 -1
  152. package/dist/commands/which/which.d.ts +10 -0
  153. package/dist/custom-commands.d.ts +5 -0
  154. package/dist/fs/path-utils.d.ts +0 -4
  155. package/dist/fs/vfs-template.d.ts +6 -0
  156. package/dist/interpreter/interpreter.d.ts +1 -1
  157. package/dist/interpreter/types.d.ts +1 -1
  158. package/dist/limits.d.ts +2 -5
  159. package/dist/timers.d.ts +9 -0
  160. package/dist/types.d.ts +9 -4
  161. package/package.json +8 -8
  162. package/dist/bin/chunks/chunk-2NJJXU4K.js +0 -27
  163. package/dist/bin/chunks/chunk-6JUPBMCR.js +0 -13
  164. package/dist/bin/chunks/chunk-CN4JKMTR.js +0 -8
  165. package/dist/bin/chunks/chunk-HWK7KFGB.js +0 -3
  166. package/dist/bin/chunks/chunk-PPVF2N6C.js +0 -3
  167. package/dist/bin/chunks/chunk-RTN6X652.js +0 -11
  168. package/dist/bin/chunks/chunk-RVPTAYDS.js +0 -4
  169. package/dist/bin/chunks/js-exec-T3SAB2B6.js +0 -1651
  170. package/dist/bin/chunks/python3-3ERN3L6S.js +0 -23
  171. package/dist/bin/shell/chunks/chunk-2NJJXU4K.js +0 -27
  172. package/dist/bin/shell/chunks/chunk-6JUPBMCR.js +0 -13
  173. package/dist/bin/shell/chunks/chunk-CN4JKMTR.js +0 -8
  174. package/dist/bin/shell/chunks/chunk-HWK7KFGB.js +0 -3
  175. package/dist/bin/shell/chunks/chunk-PPVF2N6C.js +0 -3
  176. package/dist/bin/shell/chunks/chunk-RTN6X652.js +0 -11
  177. package/dist/bin/shell/chunks/chunk-RVPTAYDS.js +0 -4
  178. package/dist/bin/shell/chunks/js-exec-T3SAB2B6.js +0 -1651
  179. package/dist/bin/shell/chunks/python3-3ERN3L6S.js +0 -23
  180. package/dist/bundle/chunks/chunk-2SMD2AUA.js +0 -3
  181. package/dist/bundle/chunks/chunk-3OBCZP7T.js +0 -12
  182. package/dist/bundle/chunks/chunk-4CC3OZPU.js +0 -2
  183. package/dist/bundle/chunks/chunk-A257L6QO.js +0 -7
  184. package/dist/bundle/chunks/chunk-B6OSJB22.js +0 -26
  185. package/dist/bundle/chunks/chunk-RWQWFXMH.js +0 -10
  186. package/dist/bundle/chunks/chunk-WXPNKIIH.js +0 -2
  187. package/dist/bundle/chunks/js-exec-ZQMIYQTH.js +0 -1650
  188. package/dist/bundle/chunks/python3-QB7OE256.js +0 -22
  189. package/dist/commands/js-exec/run-runtime.d.ts +0 -10
@@ -0,0 +1,2 @@
1
+ import{createRequire} from"node:module";const require=createRequire(import.meta.url);
2
+ import{b as a}from"./chunk-ZBUZKIPX.js";var r=globalThis.setTimeout.bind(globalThis),l=globalThis.clearTimeout.bind(globalThis),T=globalThis.setInterval.bind(globalThis),f=globalThis.clearInterval.bind(globalThis);function u(e){return typeof e!="function"?e:a.bindCurrentContext(e)}var b=((e,n,...i)=>r(u(e),n,...i)),d=l,I=((e,n,...i)=>r(e,n,...i)),c=2147483647;function _(e,n){if(n===Number.POSITIVE_INFINITY)return;let i=u(e),t={cleared:!1,remainingMs:Math.max(0,n),timer:void 0},o=()=>{if(t.cleared)return;let s=Math.min(t.remainingMs,c);t.timer=r(()=>{t.cleared||(t.remainingMs-=s,t.remainingMs>0?o():i())},s)};return o(),t}function g(e){e&&(e.cleared=!0,e.timer!==void 0&&l(e.timer))}export{b as a,d as b,I as c,_ as d,g as e};
@@ -0,0 +1,11 @@
1
+ import{createRequire} from"node:module";const require=createRequire(import.meta.url);
2
+ import{b as O,c as N,d as T,e as k}from"./chunk-CM4T4GB4.js";import{f as P}from"./chunk-BMBITA6Y.js";import{l as $,m as C}from"./chunk-TVCZIH6M.js";import{c as p}from"./chunk-T5ZEIOJ3.js";import{a as F}from"./chunk-QIQMJJZ4.js";import{a as D}from"./chunk-W5DWRFSU.js";import{a as E,b as S}from"./chunk-QAYAQNCG.js";var H={name:"mv",summary:"move (rename) files",usage:"mv [OPTION]... SOURCE... DEST",options:["-f, --force do not prompt before overwriting","-n, --no-clobber do not overwrite an existing file","-v, --verbose explain what is being done"," --help display this help and exit"]},I={force:{short:"f",long:"force",type:"boolean"},noClobber:{short:"n",long:"no-clobber",type:"boolean"},verbose:{short:"v",long:"verbose",type:"boolean"}},j={name:"mv",async execute(v,e){if(S(v))return E(H);let i=F("mv",v,I);if(!i.ok)return i.error;let g=i.result.flags.force,u=i.result.flags.noClobber,A=i.result.flags.verbose,d=i.result.positional;if(u&&(g=!1),d.length<2)return{stdout:"",stderr:`mv: missing destination file operand
3
+ `,exitCode:1};let a=d.pop()??"",h=d,f=e.fs.resolvePath(e.cwd,a),b="",s="",l=0,y=new T({limits:e.limits,signal:e.signal,executionScope:e.executionScope,site:"mv"}),m=!1;try{m=(await e.fs.stat(f)).isDirectory}catch{}if(h.length>1&&!m)return{stdout:"",stderr:`mv: target '${a}' is not a directory
4
+ `,exitCode:1};for(let t of h)try{let o=e.fs.resolvePath(e.cwd,t),c=await e.fs.stat(o),n=f;if(m){let r=t.split("/").pop()||t;n=f==="/"?`/${r}`:`${f}/${r}`}if(c.isDirectory){let r=await N(e.fs,o,n,y);if(P(o,n)||r==="inside"){s+=`mv: cannot move '${t}' into itself, '${n}'
5
+ `,l=1;continue}if(r==="unknown"){s+=`mv: cannot safely determine whether '${n}' is inside '${t}'
6
+ `,l=1;continue}}if(u)try{await e.fs.stat(n);continue}catch{}let w=await O(e.fs,o,n);if(w==="same")continue;if(w==="unknown"){s+=`mv: cannot safely determine whether '${t}' and '${n}' are the same file
7
+ `,l=1;continue}if(c.isDirectory&&await k({fs:e.fs,root:o,limits:e.limits,signal:e.signal,executionScope:e.executionScope,site:"mv",symlinks:"never",budget:y},()=>{}),await e.fs.mv(o,n),A){let r=m?`${a}/${t.split("/").pop()||t}`:a;b+=`renamed '${t}' -> '${r}'
8
+ `}}catch(o){if(o instanceof $||o instanceof C)throw o;let c=D(o);p(o,"ENOENT")?s+=`mv: cannot stat '${t}': No such file or directory
9
+ `:p(o,"EROFS")?s+=`mv: cannot move '${t}' to '${a}': Read-only file system
10
+ `:s+=`mv: cannot move '${t}': ${c}
11
+ `,l=1}return{stdout:b,stderr:s,exitCode:l}}},G={name:"mv",flags:[{flag:"-f",type:"boolean"},{flag:"-n",type:"boolean"},{flag:"-v",type:"boolean"}],needsArgs:!0,minArgs:2};export{j as a,G as b};
@@ -1,5 +1,5 @@
1
1
  import{createRequire} from"node:module";const require=createRequire(import.meta.url);
2
- import{a as p}from"./chunk-SX2HC7SO.js";import{a as n,b as l}from"./chunk-WXPNKIIH.js";import{a as m,b as d}from"./chunk-QAYAQNCG.js";var f={name:"sleep",summary:"delay for a specified amount of time",usage:"sleep NUMBER[SUFFIX]",description:`Pause for NUMBER seconds. SUFFIX may be:
2
+ import{a as p}from"./chunk-SX2HC7SO.js";import{a as n,b as l}from"./chunk-PS2RJNZZ.js";import{a as m,b as d}from"./chunk-QAYAQNCG.js";var f={name:"sleep",summary:"delay for a specified amount of time",usage:"sleep NUMBER[SUFFIX]",description:`Pause for NUMBER seconds. SUFFIX may be:
3
3
  s - seconds (default)
4
4
  m - minutes
5
5
  h - hours
@@ -1,5 +1,5 @@
1
1
  import{createRequire} from"node:module";const require=createRequire(import.meta.url);
2
- import{e as F}from"./chunk-S6DNKKUL.js";import{l as d,m as h}from"./chunk-TVCZIH6M.js";import{a as x}from"./chunk-QIQMJJZ4.js";import{a as g,b as z}from"./chunk-QAYAQNCG.js";var $={name:"du",summary:"estimate file space usage",usage:"du [OPTION]... [FILE]...",options:["-a write counts for all files, not just directories","-h print sizes in human readable format","-s display only a total for each argument","-c produce a grand total","--max-depth=N print total for directory only if N or fewer levels deep"," --help display this help and exit"]},b={allFiles:{short:"a",type:"boolean"},humanReadable:{short:"h",type:"boolean"},summarize:{short:"s",type:"boolean"},grandTotal:{short:"c",type:"boolean"},maxDepth:{long:"max-depth",type:"number"}},R={name:"du",async execute(t,s){if(z(t))return g($);let a=x("du",t,b);if(!a.ok)return a.error;let l={allFiles:a.result.flags.allFiles,humanReadable:a.result.flags.humanReadable,summarize:a.result.flags.summarize,grandTotal:a.result.flags.grandTotal,maxDepth:a.result.flags.maxDepth??null},i=a.result.positional;i.length===0&&i.push(".");let n="",o="",e=0;for(let u of i){let f=s.fs.resolvePath(s.cwd,u);try{await s.fs.stat(f);let r=await w(s,f,u,l,0);n+=r.output,e+=r.totalSize,o+=r.stderr}catch(r){if(r instanceof d||r instanceof h)throw r;o+=`du: cannot access '${u}': No such file or directory
2
+ import{e as F}from"./chunk-CM4T4GB4.js";import{l as d,m as h}from"./chunk-TVCZIH6M.js";import{a as x}from"./chunk-QIQMJJZ4.js";import{a as g,b as z}from"./chunk-QAYAQNCG.js";var $={name:"du",summary:"estimate file space usage",usage:"du [OPTION]... [FILE]...",options:["-a write counts for all files, not just directories","-h print sizes in human readable format","-s display only a total for each argument","-c produce a grand total","--max-depth=N print total for directory only if N or fewer levels deep"," --help display this help and exit"]},b={allFiles:{short:"a",type:"boolean"},humanReadable:{short:"h",type:"boolean"},summarize:{short:"s",type:"boolean"},grandTotal:{short:"c",type:"boolean"},maxDepth:{long:"max-depth",type:"number"}},R={name:"du",async execute(t,s){if(z(t))return g($);let a=x("du",t,b);if(!a.ok)return a.error;let l={allFiles:a.result.flags.allFiles,humanReadable:a.result.flags.humanReadable,summarize:a.result.flags.summarize,grandTotal:a.result.flags.grandTotal,maxDepth:a.result.flags.maxDepth??null},i=a.result.positional;i.length===0&&i.push(".");let n="",o="",e=0;for(let u of i){let f=s.fs.resolvePath(s.cwd,u);try{await s.fs.stat(f);let r=await w(s,f,u,l,0);n+=r.output,e+=r.totalSize,o+=r.stderr}catch(r){if(r instanceof d||r instanceof h)throw r;o+=`du: cannot access '${u}': No such file or directory
3
3
  `}}return l.grandTotal&&i.length>0&&(n+=`${p(e,l.humanReadable)} total
4
4
  `),{stdout:n,stderr:o,exitCode:o?1:0}}};async function w(t,s,a,l,i){let n={output:"",totalSize:0,stderr:""},o=new Map;return await F({fs:t.fs,root:s,limits:t.limits,signal:t.signal,executionScope:t.executionScope,site:"du",symlinks:"never",includeLeave:!0},e=>{let u=e.path.slice(s.length).replace(/^\//,""),f=u?a==="."?u:`${a}/${u}`:a,r=e.path==="/"?"/":e.path.slice(0,e.path.lastIndexOf("/"))||"/";if(e.phase==="enter"){if(e.stat.isDirectory){o.set(e.path,0);return}o.set(r,(o.get(r)??0)+e.stat.size),(l.allFiles||e.depth===i)&&!l.summarize&&(n.output+=`${p(e.stat.size,l.humanReadable)} ${f}
5
5
  `),e.depth===i&&(n.totalSize=e.stat.size);return}let m=o.get(e.path)??0;e.depth>i?o.set(r,(o.get(r)??0)+m):n.totalSize=m;let c=e.depth-i;(l.summarize&&c===0||!l.summarize&&(l.maxDepth===null||c<=l.maxDepth))&&(n.output+=`${p(m,l.humanReadable)} ${f}
@@ -1,5 +1,5 @@
1
1
  import{createRequire} from"node:module";const require=createRequire(import.meta.url);
2
- import{a as w}from"./chunk-SX2HC7SO.js";import{a as b}from"./chunk-BRJERIF4.js";import{a as h,b as A}from"./chunk-WXPNKIIH.js";import{a as y}from"./chunk-L2UW7DWF.js";import{a as v,b as O,c as d}from"./chunk-QAYAQNCG.js";var x={name:"timeout",summary:"run a command with a time limit",usage:"timeout [OPTION] DURATION COMMAND [ARG]...",description:`Start COMMAND, and kill it if still running after DURATION.
2
+ import{a as w}from"./chunk-SX2HC7SO.js";import{a as b}from"./chunk-BRJERIF4.js";import{a as h,b as A}from"./chunk-PS2RJNZZ.js";import{a as y}from"./chunk-L2UW7DWF.js";import{a as v,b as O,c as d}from"./chunk-QAYAQNCG.js";var x={name:"timeout",summary:"run a command with a time limit",usage:"timeout [OPTION] DURATION COMMAND [ARG]...",description:`Start COMMAND, and kill it if still running after DURATION.
3
3
 
4
4
  DURATION is a number with optional suffix:
5
5
  s - seconds (default)
@@ -0,0 +1,5 @@
1
+ import{createRequire} from"node:module";const require=createRequire(import.meta.url);
2
+ import{a as m}from"./chunk-QIQMJJZ4.js";import{a as p,b as d}from"./chunk-QAYAQNCG.js";var y={name:"which",summary:"locate a command",usage:"which [-as] program ...",options:["-a List all instances of executables found","-s No output, just return 0 if found, 1 if not","--help display this help and exit"]},x={showAll:{short:"a",type:"boolean"},silent:{short:"s",type:"boolean"}},a=null;async function A(){return a||(a=(await import("./builtin-manifest-7MJJDZ2T.js")).SHELL_BUILTINS),a}var L={name:"which",async execute(n,o){if(d(n))return p(y);let t=m("which",n,x);if(!t.ok)return t.error;let g=t.result.flags.showAll,i=t.result.flags.silent,r=t.result.positional;if(r.length===0)return{stdout:"",stderr:"",exitCode:1};let w=await A(),b=(o.env.get("PATH")||"/usr/bin:/bin").split(":"),l="",h="",f=!0;for(let e of r){let s=!1;for(let u of b){if(!u)continue;let c=o.fs.resolvePath(u,e);if(await o.fs.exists(c)&&(s=!0,i||(l+=`${c}
3
+ `),!g))break}!s&&w.has(e)&&(s=!0,i||(l+=`${e}: shell builtin
4
+ `)),s||(i||(h+=`which: no ${e} in this sandboxed bash environment
5
+ `),f=!1)}return{stdout:l,stderr:h,exitCode:f?0:1}}},B={name:"which",flags:[{flag:"-a",type:"boolean"},{flag:"-s",type:"boolean"}],needsArgs:!0};export{L as a,B as b};
@@ -1,2 +1,2 @@
1
1
  import{createRequire} from"node:module";const require=createRequire(import.meta.url);
2
- import{a,b}from"./chunk-3OBCZP7T.js";import"./chunk-S6DNKKUL.js";import"./chunk-4CC3OZPU.js";import"./chunk-TVCZIH6M.js";import"./chunk-GN6CQ3J4.js";import"./chunk-T5ZEIOJ3.js";import"./chunk-FOCWZZDE.js";import"./chunk-QIQMJJZ4.js";import"./chunk-W5DWRFSU.js";import"./chunk-QAYAQNCG.js";import"./chunk-NCUTH6QL.js";export{a as cpCommand,b as flagsForFuzzing};
2
+ import{a,b}from"./chunk-4OKRFRMS.js";import"./chunk-CM4T4GB4.js";import"./chunk-BMBITA6Y.js";import"./chunk-TVCZIH6M.js";import"./chunk-GN6CQ3J4.js";import"./chunk-T5ZEIOJ3.js";import"./chunk-FOCWZZDE.js";import"./chunk-QIQMJJZ4.js";import"./chunk-W5DWRFSU.js";import"./chunk-QAYAQNCG.js";import"./chunk-NCUTH6QL.js";export{a as cpCommand,b as flagsForFuzzing};
@@ -1,2 +1,2 @@
1
1
  import{createRequire} from"node:module";const require=createRequire(import.meta.url);
2
- import{a,b}from"./chunk-B6OSJB22.js";import"./chunk-GN6CQ3J4.js";import"./chunk-QIQMJJZ4.js";import"./chunk-QAYAQNCG.js";import"./chunk-NCUTH6QL.js";export{a as diffCommand,b as flagsForFuzzing};
2
+ import{a,b}from"./chunk-2A4OZBCS.js";import"./chunk-GN6CQ3J4.js";import"./chunk-QIQMJJZ4.js";import"./chunk-QAYAQNCG.js";import"./chunk-NCUTH6QL.js";export{a as diffCommand,b as flagsForFuzzing};
@@ -1,2 +1,2 @@
1
1
  import{createRequire} from"node:module";const require=createRequire(import.meta.url);
2
- import{a,b}from"./chunk-FSKXIFYT.js";import"./chunk-S6DNKKUL.js";import"./chunk-4CC3OZPU.js";import"./chunk-TVCZIH6M.js";import"./chunk-GN6CQ3J4.js";import"./chunk-T5ZEIOJ3.js";import"./chunk-FOCWZZDE.js";import"./chunk-QIQMJJZ4.js";import"./chunk-QAYAQNCG.js";import"./chunk-NCUTH6QL.js";export{a as duCommand,b as flagsForFuzzing};
2
+ import{a,b}from"./chunk-Y6UHNLT5.js";import"./chunk-CM4T4GB4.js";import"./chunk-BMBITA6Y.js";import"./chunk-TVCZIH6M.js";import"./chunk-GN6CQ3J4.js";import"./chunk-T5ZEIOJ3.js";import"./chunk-FOCWZZDE.js";import"./chunk-QIQMJJZ4.js";import"./chunk-QAYAQNCG.js";import"./chunk-NCUTH6QL.js";export{a as duCommand,b as flagsForFuzzing};
@@ -1,2 +1,2 @@
1
1
  import{createRequire} from"node:module";const require=createRequire(import.meta.url);
2
- import{a,b}from"./chunk-ATGOUOX2.js";import"./chunk-TDD4NFYE.js";import"./chunk-U57DSHID.js";import"./chunk-SGX4WOAM.js";import"./chunk-L2UW7DWF.js";import"./chunk-4KZT23KR.js";import"./chunk-57LGFT4S.js";import"./chunk-FTET43KM.js";import"./chunk-S6DNKKUL.js";import"./chunk-4CC3OZPU.js";import"./chunk-TVCZIH6M.js";import"./chunk-GN6CQ3J4.js";import"./chunk-T5ZEIOJ3.js";import"./chunk-FOCWZZDE.js";import"./chunk-QAYAQNCG.js";import"./chunk-NCUTH6QL.js";export{a as findCommand,b as flagsForFuzzing};
2
+ import{a,b}from"./chunk-4WRO2G22.js";import"./chunk-TDD4NFYE.js";import"./chunk-U57DSHID.js";import"./chunk-SGX4WOAM.js";import"./chunk-L2UW7DWF.js";import"./chunk-4KZT23KR.js";import"./chunk-57LGFT4S.js";import"./chunk-FTET43KM.js";import"./chunk-CM4T4GB4.js";import"./chunk-BMBITA6Y.js";import"./chunk-TVCZIH6M.js";import"./chunk-GN6CQ3J4.js";import"./chunk-T5ZEIOJ3.js";import"./chunk-FOCWZZDE.js";import"./chunk-QAYAQNCG.js";import"./chunk-NCUTH6QL.js";export{a as findCommand,b as flagsForFuzzing};
@@ -1,2 +1,2 @@
1
1
  import{createRequire} from"node:module";const require=createRequire(import.meta.url);
2
- import{b as yr}from"./chunk-CH7SUFFO.js";import{b as Ar}from"./chunk-GRUZ4SBY.js";import{b as $r}from"./chunk-XQ2ZZFO6.js";import"./chunk-S3ENGQML.js";import"./chunk-6RK4AAB7.js";import{c as Sr}from"./chunk-GNPLDVBD.js";import"./chunk-N3A4JVFJ.js";import{b as wr}from"./chunk-IXFQXNL4.js";import{b as xr}from"./chunk-MQKGGNPS.js";import{b as vr}from"./chunk-2SMD2AUA.js";import{b as kr}from"./chunk-LI6PTSPD.js";import{b as qr}from"./chunk-SBBYKIYU.js";import{b as Cr}from"./chunk-4MZPEZTU.js";import{b as br}from"./chunk-XXBIOG4R.js";import{d as Ir,e as Mr,f as jr}from"./chunk-WE7BJ7YU.js";import"./chunk-WZQNMEQW.js";import{b as tr}from"./chunk-XV2V56NQ.js";import{b as lr}from"./chunk-R2FBRMDU.js";import{b as ur}from"./chunk-HXWB4Z5X.js";import{b as pr}from"./chunk-LGIJSCWH.js";import{b as er}from"./chunk-ANCQ4SCV.js";import{b as dr}from"./chunk-FT6ODGOU.js";import{b as cr}from"./chunk-OQ7C4FYO.js";import"./chunk-2KNTH3KH.js";import{b as hr}from"./chunk-5EI7WSRV.js";import{c as or,d as ar}from"./chunk-HDRAUQK2.js";import{b as sr}from"./chunk-7EUWTCWK.js";import{c as ir,d as gr}from"./chunk-EJFBIRMD.js";import{b as mr}from"./chunk-DDPD7SIB.js";import"./chunk-35MBA3VY.js";import{b as Fr}from"./chunk-PCPW54JH.js";import{b as zr}from"./chunk-B6OSJB22.js";import{b as fr}from"./chunk-Q4JSJ3KQ.js";import{b as nr}from"./chunk-DMWNBCXJ.js";import"./chunk-SX2HC7SO.js";import{b as R}from"./chunk-ZDPFA4L3.js";import{b as U}from"./chunk-FX4RBUYU.js";import{b as V}from"./chunk-7AISL3XV.js";import{b as W}from"./chunk-FSKXIFYT.js";import{c as X,d as Y}from"./chunk-A4R2GWRF.js";import{c as Z,d as _}from"./chunk-FHC24QSK.js";import{b as N}from"./chunk-UIJUTQPH.js";import{b as rr}from"./chunk-QHDBQA5N.js";import{b as G}from"./chunk-3WASQYTF.js";import{b as H}from"./chunk-2VWG4LDT.js";import{b as J}from"./chunk-7O2RDO2R.js";import{b as K}from"./chunk-6HO6HX7V.js";import{b as L}from"./chunk-EZNS4GF7.js";import{b as O}from"./chunk-HRIJVWZS.js";import{b as P}from"./chunk-LSLPJOYM.js";import{b as Q}from"./chunk-ATGOUOX2.js";import{b as y}from"./chunk-ROAWFE6V.js";import{b as A}from"./chunk-6WGIZV3E.js";import{b as $}from"./chunk-QJ7OXJAZ.js";import{b as S}from"./chunk-6QF3PCMO.js";import{b as T}from"./chunk-4MJ7VJG4.js";import{b as B}from"./chunk-LVDUF74R.js";import{b as D}from"./chunk-ASE6AYV3.js";import{b as E}from"./chunk-Y62SXZKJ.js";import{b as w}from"./chunk-DVSA72LH.js";import{b as x}from"./chunk-44YCJWNC.js";import{b as v}from"./chunk-U4K5ZDWK.js";import"./chunk-TDD4NFYE.js";import{d as k,e as q,f as C}from"./chunk-Y6JBSHCM.js";import"./chunk-U57DSHID.js";import{b}from"./chunk-45QZRGYF.js";import"./chunk-UUIYAOD4.js";import"./chunk-O452S4KX.js";import{b as I}from"./chunk-6BSOPPZH.js";import{b as M}from"./chunk-BLPYR4TN.js";import{b as j}from"./chunk-ZT3WF5R7.js";import{b as t}from"./chunk-LRFR25IP.js";import{b as l}from"./chunk-3OBCZP7T.js";import{b as u}from"./chunk-RWQWFXMH.js";import{b as p}from"./chunk-3CIDHL5V.js";import{b as e}from"./chunk-SE23TEGG.js";import{b as d}from"./chunk-SHKOQWO4.js";import{b as c}from"./chunk-6QAM55HM.js";import{b as h}from"./chunk-SIOONII3.js";import"./chunk-QJFYYEFV.js";import"./chunk-BRJERIF4.js";import"./chunk-KIGPB52X.js";import"./chunk-WXPNKIIH.js";import"./chunk-SGX4WOAM.js";import"./chunk-L2UW7DWF.js";import"./chunk-DLL7UR66.js";import"./chunk-BKUWXPEM.js";import"./chunk-4KZT23KR.js";import{b as i}from"./chunk-AGH5UJJI.js";import{b as g}from"./chunk-P57S6Z6R.js";import"./chunk-YEYSCLSJ.js";import"./chunk-AYSZ5MAE.js";import"./chunk-ZBUZKIPX.js";import{b as m}from"./chunk-HP7HWZ2S.js";import"./chunk-ICLA3MUR.js";import"./chunk-57LGFT4S.js";import{b as F}from"./chunk-MWL2I5BV.js";import"./chunk-FTET43KM.js";import"./chunk-STHBFACM.js";import{b as z}from"./chunk-A257L6QO.js";import{b as f}from"./chunk-HCKTU6IR.js";import"./chunk-S6DNKKUL.js";import"./chunk-4CC3OZPU.js";import"./chunk-TVCZIH6M.js";import"./chunk-GN6CQ3J4.js";import"./chunk-T5ZEIOJ3.js";import"./chunk-FOCWZZDE.js";import"./chunk-QIQMJJZ4.js";import{b as n}from"./chunk-FZRQOL3C.js";import"./chunk-W5DWRFSU.js";import"./chunk-QAYAQNCG.js";import"./chunk-NCUTH6QL.js";var Er=[i,g,m,F,z,f,n,t,l,u,p,e,d,c,h,w,x,v,k,q,C,b,I,M,j,y,A,$,S,T,B,D,E,G,H,J,K,L,O,P,Q,R,U,V,W,X,Y,Z,_,N,rr,or,ar,sr,ir,gr,mr,Fr,zr,fr,nr,tr,lr,ur,pr,er,dr,cr,hr,wr,xr,vr,kr,qr,Cr,br,Ir,Mr,jr,yr,Ar,$r,Sr];function Tr(){return Er}var Br=new Map;for(let r of Tr())Br.set(r.name,new Set(r.flags.map(o=>o.flag)));function Fa(r,o,Dr){let a=Br.get(o);if(!(!a||a.size===0))for(let s of Dr)a.has(s)&&r.hit(`cmd:flag:${o}:${s}`)}export{Fa as emitFlagCoverage};
2
+ import{d as Ir,e as Mr,f as jr}from"./chunk-6IFH67ZB.js";import{b as yr}from"./chunk-CH7SUFFO.js";import"./chunk-WZQNMEQW.js";import{b as Ar}from"./chunk-GRUZ4SBY.js";import{b as $r}from"./chunk-XQ2ZZFO6.js";import"./chunk-S3ENGQML.js";import"./chunk-6RK4AAB7.js";import{c as Sr}from"./chunk-MMXJJCAE.js";import"./chunk-6IA4DXG2.js";import{b as wr}from"./chunk-IXFQXNL4.js";import{b as xr}from"./chunk-MQKGGNPS.js";import{b as vr}from"./chunk-ZIQS5QAW.js";import{b as kr}from"./chunk-LI6PTSPD.js";import{b as qr}from"./chunk-SBBYKIYU.js";import{b as Cr}from"./chunk-4MZPEZTU.js";import{b as br}from"./chunk-XXBIOG4R.js";import{b as tr}from"./chunk-YFFU74KY.js";import{b as lr}from"./chunk-R2FBRMDU.js";import{b as ur}from"./chunk-HXWB4Z5X.js";import{b as pr}from"./chunk-LGIJSCWH.js";import{b as er}from"./chunk-ANCQ4SCV.js";import{b as dr}from"./chunk-FT6ODGOU.js";import{b as cr}from"./chunk-OQ7C4FYO.js";import"./chunk-2KNTH3KH.js";import{b as hr}from"./chunk-5EI7WSRV.js";import{c as or,d as ar}from"./chunk-HDRAUQK2.js";import{b as sr}from"./chunk-7EUWTCWK.js";import{c as ir,d as gr}from"./chunk-EJFBIRMD.js";import{b as mr}from"./chunk-DDPD7SIB.js";import"./chunk-35MBA3VY.js";import{b as Fr}from"./chunk-PCPW54JH.js";import{b as zr}from"./chunk-2A4OZBCS.js";import{b as fr}from"./chunk-Q4JSJ3KQ.js";import{b as nr}from"./chunk-TLPMB3FO.js";import"./chunk-SX2HC7SO.js";import{b as R}from"./chunk-ZDPFA4L3.js";import{b as U}from"./chunk-FX4RBUYU.js";import{b as V}from"./chunk-7AISL3XV.js";import{b as W}from"./chunk-Y6UHNLT5.js";import{c as X,d as Y}from"./chunk-A4R2GWRF.js";import{c as Z,d as _}from"./chunk-FHC24QSK.js";import{b as N}from"./chunk-UIJUTQPH.js";import{b as rr}from"./chunk-QHDBQA5N.js";import{b as G}from"./chunk-3WASQYTF.js";import{b as H}from"./chunk-2VWG4LDT.js";import{b as J}from"./chunk-7O2RDO2R.js";import{b as K}from"./chunk-5NUTFEEG.js";import{b as L}from"./chunk-EZNS4GF7.js";import{b as O}from"./chunk-HRIJVWZS.js";import{b as P}from"./chunk-LSLPJOYM.js";import{b as Q}from"./chunk-4WRO2G22.js";import{b as y}from"./chunk-ROAWFE6V.js";import{b as A}from"./chunk-6WGIZV3E.js";import{b as $}from"./chunk-QJ7OXJAZ.js";import{b as S}from"./chunk-6QF3PCMO.js";import{b as T}from"./chunk-4MJ7VJG4.js";import{b as B}from"./chunk-LVDUF74R.js";import{b as D}from"./chunk-ASE6AYV3.js";import{b as E}from"./chunk-Y62SXZKJ.js";import{b as w}from"./chunk-DVSA72LH.js";import{b as x}from"./chunk-44YCJWNC.js";import{b as v}from"./chunk-U4K5ZDWK.js";import"./chunk-TDD4NFYE.js";import{d as k,e as q,f as C}from"./chunk-Y6JBSHCM.js";import"./chunk-U57DSHID.js";import{b}from"./chunk-5KOWUQOZ.js";import"./chunk-UUIYAOD4.js";import"./chunk-O452S4KX.js";import{b as I}from"./chunk-6BSOPPZH.js";import{b as M}from"./chunk-BLPYR4TN.js";import{b as j}from"./chunk-ZT3WF5R7.js";import{b as t}from"./chunk-O5OYOY3C.js";import{b as l}from"./chunk-4OKRFRMS.js";import{b as u}from"./chunk-THDUQVY3.js";import{b as p}from"./chunk-3CIDHL5V.js";import{b as e}from"./chunk-4CDTAUYP.js";import{b as d}from"./chunk-SHKOQWO4.js";import{b as c}from"./chunk-NFODJFHN.js";import{b as h}from"./chunk-SIOONII3.js";import"./chunk-QJFYYEFV.js";import"./chunk-BRJERIF4.js";import"./chunk-KIGPB52X.js";import"./chunk-PS2RJNZZ.js";import"./chunk-SGX4WOAM.js";import"./chunk-L2UW7DWF.js";import"./chunk-DLL7UR66.js";import"./chunk-BKUWXPEM.js";import"./chunk-4KZT23KR.js";import{b as i}from"./chunk-AGH5UJJI.js";import{b as g}from"./chunk-P57S6Z6R.js";import"./chunk-YEYSCLSJ.js";import"./chunk-AYSZ5MAE.js";import"./chunk-ZBUZKIPX.js";import{b as m}from"./chunk-HP7HWZ2S.js";import"./chunk-ICLA3MUR.js";import"./chunk-57LGFT4S.js";import{b as F}from"./chunk-FXAKF2QS.js";import"./chunk-FTET43KM.js";import"./chunk-STHBFACM.js";import{b as z}from"./chunk-H4AFUSSQ.js";import{b as f}from"./chunk-PASYAXFP.js";import"./chunk-CM4T4GB4.js";import"./chunk-BMBITA6Y.js";import"./chunk-TVCZIH6M.js";import"./chunk-GN6CQ3J4.js";import"./chunk-T5ZEIOJ3.js";import"./chunk-FOCWZZDE.js";import"./chunk-QIQMJJZ4.js";import{b as n}from"./chunk-FZRQOL3C.js";import"./chunk-W5DWRFSU.js";import"./chunk-QAYAQNCG.js";import"./chunk-NCUTH6QL.js";var Er=[i,g,m,F,z,f,n,t,l,u,p,e,d,c,h,w,x,v,k,q,C,b,I,M,j,y,A,$,S,T,B,D,E,G,H,J,K,L,O,P,Q,R,U,V,W,X,Y,Z,_,N,rr,or,ar,sr,ir,gr,mr,Fr,zr,fr,nr,tr,lr,ur,pr,er,dr,cr,hr,wr,xr,vr,kr,qr,Cr,br,Ir,Mr,jr,yr,Ar,$r,Sr];function Tr(){return Er}var Br=new Map;for(let r of Tr())Br.set(r.name,new Set(r.flags.map(o=>o.flag)));function Fa(r,o,Dr){let a=Br.get(o);if(!(!a||a.size===0))for(let s of Dr)a.has(s)&&r.hit(`cmd:flag:${o}:${s}`)}export{Fa as emitFlagCoverage};
@@ -1,2 +1,2 @@
1
1
  import{createRequire} from"node:module";const require=createRequire(import.meta.url);
2
- import{a,b,c,d,e,f}from"./chunk-WE7BJ7YU.js";import"./chunk-WZQNMEQW.js";import"./chunk-AYSZ5MAE.js";import"./chunk-ZBUZKIPX.js";import"./chunk-FTET43KM.js";import"./chunk-S6DNKKUL.js";import"./chunk-4CC3OZPU.js";import"./chunk-TVCZIH6M.js";import"./chunk-GN6CQ3J4.js";import"./chunk-T5ZEIOJ3.js";import"./chunk-FOCWZZDE.js";import"./chunk-QIQMJJZ4.js";import"./chunk-QAYAQNCG.js";import"./chunk-NCUTH6QL.js";export{d as flagsForFuzzing,b as gunzipCommand,e as gunzipFlagsForFuzzing,a as gzipCommand,c as zcatCommand,f as zcatFlagsForFuzzing};
2
+ import{a,b,c,d,e,f}from"./chunk-6IFH67ZB.js";import"./chunk-WZQNMEQW.js";import"./chunk-AYSZ5MAE.js";import"./chunk-ZBUZKIPX.js";import"./chunk-FTET43KM.js";import"./chunk-CM4T4GB4.js";import"./chunk-BMBITA6Y.js";import"./chunk-TVCZIH6M.js";import"./chunk-GN6CQ3J4.js";import"./chunk-T5ZEIOJ3.js";import"./chunk-FOCWZZDE.js";import"./chunk-QIQMJJZ4.js";import"./chunk-QAYAQNCG.js";import"./chunk-NCUTH6QL.js";export{d as flagsForFuzzing,b as gunzipCommand,e as gunzipFlagsForFuzzing,a as gzipCommand,c as zcatCommand,f as zcatFlagsForFuzzing};
@@ -0,0 +1,98 @@
1
+ import{createRequire} from"node:module";const require=createRequire(import.meta.url);
2
+ import{a as B,b as A}from"./chunk-BS6EJR2R.js";import{a as q}from"./chunk-6IA4DXG2.js";import"./chunk-WNH3HOQA.js";import"./chunk-KIGPB52X.js";import{b as v,c as j}from"./chunk-PS2RJNZZ.js";import"./chunk-L2UW7DWF.js";import{a as F}from"./chunk-DLL7UR66.js";import{b as C}from"./chunk-ZBUZKIPX.js";import{d as E}from"./chunk-GN6CQ3J4.js";import"./chunk-T5ZEIOJ3.js";import{a as W,b as h}from"./chunk-FOCWZZDE.js";import{a as S}from"./chunk-W5DWRFSU.js";import{b as M}from"./chunk-QAYAQNCG.js";import"./chunk-NCUTH6QL.js";import{AsyncLocalStorage as J}from"node:async_hooks";import{fileURLToPath as H}from"node:url";import{Worker as L}from"node:worker_threads";var O=new J,P=`js-exec - Sandboxed JavaScript/TypeScript runtime with Node.js-compatible APIs
3
+
4
+ Usage: js-exec [OPTIONS] [-c CODE | FILE] [ARGS...]
5
+
6
+ Options:
7
+ -c CODE Execute inline code
8
+ -m, --module Enable ES module mode (import/export)
9
+ --strip-types Strip TypeScript type annotations
10
+ --version, -V Show version
11
+ --help Show this help
12
+
13
+ Examples:
14
+ js-exec -c "console.log(1 + 2)"
15
+ js-exec script.js
16
+ js-exec app.ts
17
+ echo 'console.log("hello")' | js-exec
18
+
19
+ File Extension Auto-Detection:
20
+ .js script mode (module mode if top-level await detected)
21
+ .mjs ES module mode
22
+ .ts, .mts ES module mode + TypeScript stripping
23
+
24
+ Node.js Compatibility:
25
+ Code written for Node.js largely works here. Both require and import
26
+ are supported, the node: prefix works, and standard globals like process,
27
+ console, and fetch are available. All I/O is synchronous.
28
+
29
+ Available modules:
30
+ fs, path, child_process, process, console,
31
+ os, url, assert, util, events, buffer, stream,
32
+ string_decoder, querystring
33
+
34
+ fs (global, require('fs'), or import from 'node:fs'):
35
+ readFileSync, writeFileSync, appendFileSync, copyFileSync, renameSync
36
+ readdirSync, mkdirSync, rmSync, unlinkSync, rmdirSync
37
+ statSync, lstatSync, existsSync, realpathSync, chmodSync
38
+ symlinkSync, readlinkSync, readFileBuffer
39
+ fs.promises.readFile, fs.promises.writeFile, fs.promises.access, ...
40
+
41
+ path: join, resolve, dirname, basename, extname, normalize,
42
+ relative, isAbsolute, parse, format, sep, delimiter
43
+
44
+ child_process:
45
+ execSync(cmd) throws on non-zero exit, returns stdout
46
+ spawnSync(cmd, args) returns { stdout, stderr, status }
47
+
48
+ process (also global): argv, cwd(), exit(), env, platform, arch,
49
+ version, versions
50
+
51
+ os: platform(), arch(), homedir(), tmpdir(), type(), hostname(),
52
+ EOL, cpus(), endianness()
53
+
54
+ url: URL, URLSearchParams, parse(), format()
55
+
56
+ assert: ok(), equal(), strictEqual(), deepEqual(), throws(),
57
+ doesNotThrow(), fail()
58
+
59
+ util: format(), inspect(), promisify(), types, inherits()
60
+
61
+ events: EventEmitter (on, once, emit, off, removeListener, ...)
62
+
63
+ buffer: Buffer.from(), Buffer.alloc(), Buffer.concat(),
64
+ Buffer.isBuffer(), toString(), slice(), equals()
65
+
66
+ stream: Readable, Writable, Duplex, Transform, PassThrough, pipeline
67
+
68
+ string_decoder: StringDecoder (write, end)
69
+
70
+ querystring: parse(), stringify(), escape(), unescape()
71
+
72
+ Other Globals:
73
+ console log (stdout), error/warn (stderr)
74
+ fetch(url, opts) HTTP; returns Promise<Response> (Web Fetch API)
75
+ URL, URLSearchParams, Headers, Request, Response
76
+ Buffer Buffer.from(), Buffer.alloc(), etc.
77
+
78
+ Not Available:
79
+ http, https, net, tls, crypto, zlib, dns, cluster, worker_threads,
80
+ vm, v8, readline, and other Node.js built-in modules that require
81
+ native bindings. Use fetch() for HTTP requests.
82
+
83
+ Limits:
84
+ Memory: 64 MB per execution
85
+ Timeout: 10 s by default; configurable via maxJsTimeoutMs
86
+ Engine: QuickJS (compiled to WebAssembly)
87
+ `;function N(r){let e={code:null,scriptFile:null,showVersion:!1,scriptArgs:[],isModule:!1,stripTypes:!1};if(r.length===0)return e;for(let t=0;t<r.length;t++){let s=r[t];if(s==="-m"||s==="--module"){e.isModule=!0;continue}if(s==="--strip-types"){e.stripTypes=!0;continue}if(s==="-c")return t+1>=r.length?{stdout:"",stderr:`js-exec: option requires an argument -- 'c'
88
+ `,exitCode:2}:(e.code=r[t+1],e.scriptArgs=r.slice(t+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}'
89
+ `,exitCode:2};if(s==="--")return t+1<r.length&&(e.scriptFile=r[t+1],e.scriptArgs=r.slice(t+2)),e;if(!s.startsWith("-"))return e.scriptFile=s,e.scriptArgs=r.slice(t+1),e}return e}var l=null,y=null,c=[],n=null,x=null,U=1e3,R=5e3;function fe(r){R=r}function pe(){return l!==null}function _(r,e,t){r.controller.close();let s=!1,o=()=>{if(!s&&(s=!0,v(i),n===r)){x="worker termination was not acknowledged";for(let a of c)a.bridgeHandler.stop(),a.resolve({success:!1,error:x});c.length=0,r.resolve(t)}},u=()=>{s||(s=!0,v(i),n===r&&(r.resolve(t),n=null,g()))},i=j(()=>{o()},U);r.controller.terminate(e).then(a=>a?u():o(),o)}function me(){y&&(v(y),y=null),n?.bridgeHandler.stop(),n=null;for(let e of c)e.bridgeHandler.stop();c.length=0;let r=l;l=null,r&&r.terminate(),x=null}var D=H(new URL("./js-exec-worker.js",import.meta.url));function g(){if(n||c.length===0)return;let r=c.shift();if(!r)return;n=r;let e=null;try{e=V(),e.postMessage(r.input)}catch(t){r.bridgeHandler.stop();let s={success:!1,error:h(S(t))},o=e??l;l===o&&(l=null),o?_(r,o,s):(r.resolve(s),n===r&&(n=null),g())}}function $(r,e){if(!r||typeof r!="object")return{success:!1,error:"Malformed worker response"};let t=r;return typeof t.protocolToken!="string"||t.protocolToken!==e?{success:!1,error:"Malformed worker response: invalid protocol token"}:typeof t.success!="boolean"?{success:!1,error:"Malformed worker response: missing success flag"}:t.success?{success:!0}:{success:!1,type:t.type==="initialization-failure"?"initialization-failure":void 0,error:typeof t.error=="string"&&t.error.length>0?t.error:"Worker execution failed"}}function V(){if(y&&(v(y),y=null),l)return l;let r=C.runTrusted(()=>new L(D));return l=r,r.on("message",e=>{if(l===r){if(n){let t;try{n.controller.assertMessageSize(e,"response"),t=$(e,n.input.protocolToken)}catch(s){t={success:!1,error:h(S(s))}}if(t.type==="initialization-failure"){x=t.error??"Worker initialization failed",n.bridgeHandler.stop(),n.resolve(t),n=null;for(let s of c)s.bridgeHandler.stop(),s.resolve({success:!1,type:"initialization-failure",error:x});c.length=0,l=null,r.terminate();return}n.resolve(t),n=null}c.length>0?g():Q()}}),r.on("error",e=>{if(l===r){if(n){let t=h(S(e));n.resolve({success:!1,error:t}),n=null}for(let t of c)t.resolve({success:!1,error:"Worker crashed"});c.length=0,l=null}}),r.on("exit",()=>{l===r&&(l=null,n&&(n.resolve({success:!1,error:"Worker exited unexpectedly"}),n=null),c.length>0&&g())}),r}function Q(){y=j(()=>{l&&!n&&c.length===0&&(l.terminate(),l=null)},R)}async function G(r,e,t,s=[],o,u,i){return O.getStore()?{stdout:"",stderr:`js-exec: recursive invocation is not supported
90
+ `,exitCode:1}:Y(r,e,t,s,o,u,i)}async function K(r,e,t,s){let o,u=new Promise(d=>{o=d}),i={input:r,bridgeHandler:e,resolve:()=>{},controller:s};s.assertMessageSize({...r,sharedBuffer:void 0},"request");let a=d=>{e.stop();let f={success:!1,error:d==="abort"?i.controller.abortMessage():i.controller.timeoutMessage()};if(n===i){let p=l;l=null,p?_(i,p,f):(i.resolve(f),n=null,g())}else{let p=c.indexOf(i);p!==-1&&c.splice(p,1),i.resolve(f),n||g()}};if(i.resolve=d=>{i.controller.close(),o(d)},i.controller.arm(a),!i.controller.isCanceled){c.push(i);try{g()}catch(d){let f=c.indexOf(i);throw f!==-1&&c.splice(f,1),i.controller.close(),d}}let[m,k]=await Promise.all([e.run(t),u.catch(d=>({success:!1,error:h(S(d))}))]);return{bridgeOutput:m,workerResult:k}}function X(r){return r.limits.maxJsTimeoutMs}async function Y(r,e,t,s=[],o,u,i){if(x!==null)return{stdout:"",stderr:`js-exec: ${h(x)}
91
+ `,exitCode:1};let a=B(),m=e.exec,k=m?(b,I)=>O.run(!0,()=>m(b,I)):void 0,d=new A(a,e.fs,e.cwd,"js-exec",e.fetch,e.limits.maxOutputSize,k,e.invokeTool),f=X(e),p=new q({commandName:"js-exec",timeoutMs:f,signal:e.signal,maxMessageBytes:e.limits.maxWorkerMessageBytes}),z={protocolToken:p.protocolToken,sharedBuffer:a,jsCode:r,cwd:e.cwd,env:F(e.env),args:s,scriptPath:t,bootstrapCode:o,isModule:u,stripTypes:i,timeoutMs:f,memoryBytes:e.limits.maxJsMemoryBytes,hasInvokeTool:e.invokeTool!==void 0},{bridgeOutput:T,workerResult:w}=await K(z,d,f,p);if(!w.success&&w.error){let b=w.error===p.timeoutMessage()||w.error===p.abortMessage();return{stdout:T.stdout,stderr:`${T.stderr}js-exec: ${h(w.error)}
92
+ `,exitCode:T.exitCode||(b?124:1)}}return{...T}}var he={handlesOwnVersion:!0,name:"js-exec",async execute(r,e){if(M(r))return{stdout:P,stderr:"",exitCode:0};let t=N(r);if("exitCode"in t)return t;if(t.showVersion)return{stdout:`QuickJS (quickjs-emscripten)
93
+ `,stderr:"",exitCode:0};let s,o;if(t.code!==null)s=t.code,o="-c";else if(t.scriptFile!==null){let m=e.fs.resolvePath(e.cwd,t.scriptFile);if(!await e.fs.exists(m))return{stdout:"",stderr:`js-exec: can't open file '${t.scriptFile}': No such file or directory
94
+ `,exitCode:2};try{s=await e.fs.readFile(m),o=m}catch(k){return{stdout:"",stderr:`js-exec: can't open file '${t.scriptFile}': ${W(k.message)}
95
+ `,exitCode:2}}}else if(E(e.stdin).trim())s=E(e.stdin),o="<stdin>";else return{stdout:"",stderr:`js-exec: no input provided (use -c CODE or provide a script file)
96
+ `,exitCode:2};let u=t.isModule,i=t.stripTypes;o&&o!=="-c"&&o!=="<stdin>"&&((o.endsWith(".mjs")||o.endsWith(".mts")||o.endsWith(".ts"))&&(u=!0),(o.endsWith(".ts")||o.endsWith(".mts"))&&(i=!0)),!u&&/\bawait\s+[\w([`]/.test(s)&&(u=!0);let a=e.jsBootstrapCode;return G(s,e,o,t.scriptArgs,a,u,i)}},ye={name:"node",async execute(){return{stdout:"",stderr:`node: this sandbox uses js-exec instead of node
97
+
98
+ ${P}`,exitCode:1}}};export{pe as _hasSharedJsExecWorkerForTests,me as _resetJsExecWorkerForTests,fe as _setJsExecWorkerIdleTimeoutMsForTests,he as jsExecCommand,ye as nodeStubCommand};