just-bash 3.0.1 → 3.0.3

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 (401) hide show
  1. package/CHANGELOG.md +123 -0
  2. package/README.md +11 -0
  3. package/dist/AGENTS.md +2 -0
  4. package/dist/bin/chunks/{awk2-RLMNTGI7.js → awk2-UFCNQFCV.js} +1 -1
  5. package/dist/bin/{shell/chunks/base64-RZRLGMB3.js → chunks/base64-EGKVQIBC.js} +1 -1
  6. package/dist/bin/{shell/chunks/bash-CLP24TE2.js → chunks/bash-BEG4JB7K.js} +1 -1
  7. package/dist/bin/{shell/chunks/cat-LQH5FSAR.js → chunks/cat-NBL6MU5H.js} +1 -1
  8. package/dist/bin/chunks/{chunk-KFMPGSUT.js → chunk-2ZAK22BG.js} +1 -1
  9. package/dist/bin/chunks/chunk-4BNS566Q.js +4 -0
  10. package/dist/bin/chunks/chunk-4J4UC7OD.js +17 -0
  11. package/dist/bin/{shell/chunks/chunk-IEXQTXU5.js → chunks/chunk-52FZYTIX.js} +4 -4
  12. package/dist/bin/{shell/chunks/chunk-EDTBGO7F.js → chunks/chunk-5KX5YUWT.js} +1 -1
  13. package/dist/bin/chunks/{chunk-XFFUAO3F.js → chunk-6FYCU7QB.js} +1 -1
  14. package/dist/bin/chunks/{chunk-PAYQNSZN.js → chunk-6JKLDBRW.js} +1 -1
  15. package/dist/bin/chunks/{chunk-22HCD466.js → chunk-7HK63L6Y.js} +1 -1
  16. package/dist/bin/chunks/chunk-7NDRU2ZN.js +5 -0
  17. package/dist/bin/{shell/chunks/chunk-IZGLHVBB.js → chunks/chunk-AFAD5U2A.js} +1 -1
  18. package/dist/bin/chunks/{chunk-LNNWMRCB.js → chunk-AZH64XMJ.js} +1 -1
  19. package/dist/bin/chunks/{chunk-6FSBHK6H.js → chunk-C6JOQKE2.js} +1 -1
  20. package/dist/bin/{shell/chunks/chunk-77MLOOQS.js → chunks/chunk-CX5CEEGI.js} +1 -1
  21. package/dist/bin/chunks/{chunk-NXVG64T3.js → chunk-D7YFPDMV.js} +1 -1
  22. package/dist/bin/chunks/chunk-DHIKZU63.js +3 -0
  23. package/dist/bin/chunks/{chunk-UR4CEP4Y.js → chunk-DWECIBLJ.js} +1 -1
  24. package/dist/bin/chunks/{chunk-C7ISPH7Y.js → chunk-FEENTUVZ.js} +1 -1
  25. package/dist/bin/chunks/{chunk-FVRXEJYQ.js → chunk-FJABJBIW.js} +2 -2
  26. package/dist/bin/chunks/{chunk-YOKQNNQO.js → chunk-FYCT4DWY.js} +1 -1
  27. package/dist/bin/chunks/{chunk-J7TUF2VI.js → chunk-G7ZWT7BT.js} +1 -1
  28. package/dist/bin/chunks/{chunk-XJ37N3S5.js → chunk-GTO74SFS.js} +1 -1
  29. package/dist/bin/{shell/chunks/chunk-L24QXM5S.js → chunks/chunk-GXX3QUMM.js} +1 -1
  30. package/dist/bin/chunks/chunk-HMCRB24D.js +15 -0
  31. package/dist/bin/chunks/{chunk-FKVQZWJQ.js → chunk-HWNCK5BB.js} +1 -1
  32. package/dist/bin/chunks/{chunk-V2RP73X4.js → chunk-IX7LKVVH.js} +1 -1
  33. package/dist/bin/{shell/chunks/chunk-JZW7NFK2.js → chunks/chunk-J7XTZ47D.js} +1 -1
  34. package/dist/bin/chunks/{chunk-3BYTCO2H.js → chunk-JDFKEXLG.js} +1 -1
  35. package/dist/bin/{shell/chunks/chunk-HN2DCT7T.js → chunks/chunk-JJC4ENJL.js} +1 -1
  36. package/dist/bin/{shell/chunks/chunk-F3WNDKOC.js → chunks/chunk-JSZBZ2XU.js} +1 -1
  37. package/dist/bin/{shell/chunks/chunk-UO5LOD7U.js → chunks/chunk-KMZUSEWI.js} +1 -1
  38. package/dist/bin/{shell/chunks/chunk-OPMLWMNH.js → chunks/chunk-KWCO3YXP.js} +1 -1
  39. package/dist/bin/{shell/chunks/chunk-LSQTB2QK.js → chunks/chunk-LMA4D2KK.js} +1 -1
  40. package/dist/bin/{shell/chunks/chunk-HL4ZS7TX.js → chunks/chunk-LX2H4DPL.js} +3 -3
  41. package/dist/bin/chunks/{chunk-X4MX6EHF.js → chunk-MP77TJMM.js} +1 -1
  42. package/dist/bin/{shell/chunks/chunk-F3GKANW3.js → chunks/chunk-MTK7VLZG.js} +1 -1
  43. package/dist/bin/chunks/chunk-N3FQJLPZ.js +17 -0
  44. package/dist/bin/{shell/chunks/chunk-2SVX7I5P.js → chunks/chunk-NMMVECGD.js} +1 -1
  45. package/dist/bin/chunks/{chunk-LAHBP3FW.js → chunk-NXYVRP6D.js} +1 -1
  46. package/dist/bin/chunks/{chunk-7UU7KPEM.js → chunk-OVVMB2JI.js} +1 -1
  47. package/dist/bin/chunks/{chunk-YY5PJR7O.js → chunk-OXZSG3ZZ.js} +1 -1
  48. package/dist/bin/{shell/chunks/chunk-CAZ75E7E.js → chunks/chunk-PKE7GKU5.js} +1 -1
  49. package/dist/bin/{shell/chunks/chunk-7AYT3UKI.js → chunks/chunk-PSJORJRS.js} +1 -1
  50. package/dist/bin/chunks/{chunk-7NC4CPHS.js → chunk-R36DS2UF.js} +1 -1
  51. package/dist/bin/chunks/{chunk-2NRAWO6E.js → chunk-RKBWTGBZ.js} +1 -1
  52. package/dist/bin/{shell/chunks/chunk-LC6D27QJ.js → chunks/chunk-RVGYO2OU.js} +1 -1
  53. package/dist/bin/chunks/{chunk-SMSELHIY.js → chunk-SF2OLINE.js} +1 -1
  54. package/dist/bin/{shell/chunks/chunk-M65CQLJE.js → chunks/chunk-TIRU5FOD.js} +1 -1
  55. package/dist/bin/chunks/{chunk-BE4PARL3.js → chunk-TKYWUEON.js} +1 -1
  56. package/dist/bin/chunks/chunk-TYBXHT6W.js +10 -0
  57. package/dist/bin/chunks/chunk-UI7CV277.js +20 -0
  58. package/dist/bin/chunks/{chunk-KRRM5UCC.js → chunk-UNWZQG7U.js} +1 -1
  59. package/dist/bin/{shell/chunks/chunk-4KSZJAQK.js → chunks/chunk-W5OBQVJ2.js} +1 -1
  60. package/dist/bin/chunks/{chunk-JNUX75OX.js → chunk-WHUKZ3K3.js} +1 -1
  61. package/dist/bin/chunks/chunk-Y2IUEWQD.js +11 -0
  62. package/dist/bin/chunks/chunk-Y5OWCEDV.js +64 -0
  63. package/dist/bin/chunks/{chunk-H7JTIXAO.js → chunk-ZZP3RSWL.js} +1 -1
  64. package/dist/bin/chunks/{column-AQB3A3PJ.js → column-QLGOK3XM.js} +1 -1
  65. package/dist/bin/{shell/chunks/comm-Q4VDF6ZO.js → chunks/comm-PLYUTVP3.js} +1 -1
  66. package/dist/bin/chunks/curl-DCSPNPEW.js +27 -0
  67. package/dist/bin/chunks/{cut-ZI2HIAW7.js → cut-JNQTCQY7.js} +1 -1
  68. package/dist/bin/chunks/date-OFYBOAUE.js +3 -0
  69. package/dist/bin/{shell/chunks/diff-YDJ42RKS.js → chunks/diff-LZ4WRLIF.js} +1 -1
  70. package/dist/bin/chunks/{env-NY32PQJM.js → env-FNVYNLGB.js} +1 -1
  71. package/dist/bin/{shell/chunks/expand-YYSO35NS.js → chunks/expand-CB7FG7LQ.js} +1 -1
  72. package/dist/bin/{shell/chunks/expr-7PLWSWZI.js → chunks/expr-6A2XZORA.js} +1 -1
  73. package/dist/bin/chunks/{find-P4DOE7CE.js → find-5OZWMYCV.js} +1 -1
  74. package/dist/bin/chunks/flag-coverage-H6NG6ZQL.js +3 -0
  75. package/dist/bin/{shell/chunks/fold-5MF7QZWQ.js → chunks/fold-7YEITA5L.js} +1 -1
  76. package/dist/bin/chunks/{grep-VAYCFO4O.js → grep-KKBXRB73.js} +1 -1
  77. package/dist/bin/chunks/{gzip-UGBQQKIH.js → gzip-ZJP5VIAQ.js} +1 -1
  78. package/dist/bin/chunks/{head-QNC2ZYDO.js → head-B6GFQHKF.js} +1 -1
  79. package/dist/bin/{shell/chunks/html-to-markdown-QEFY7XQR.js → chunks/html-to-markdown-3HJ7L7NL.js} +1 -1
  80. package/dist/bin/chunks/{join-EJ73DYTK.js → join-WRM6S6CO.js} +1 -1
  81. package/dist/bin/chunks/{jq-GGTKKMEN.js → jq-33GJJXTL.js} +1 -1
  82. package/dist/bin/chunks/{js-exec-BC6NI55L.js → js-exec-F7JAZ4ZQ.js} +1 -1
  83. package/dist/bin/chunks/js-exec-worker.js +214 -17
  84. package/dist/bin/chunks/{md5sum-MCVDIB35.js → md5sum-ZNYCDRQL.js} +1 -1
  85. package/dist/bin/{shell/chunks/nl-KUPLVCTS.js → chunks/nl-6TVYE4ZB.js} +1 -1
  86. package/dist/bin/{shell/chunks/od-YQ5ZUI2H.js → chunks/od-Y3E3QXOL.js} +1 -1
  87. package/dist/bin/{shell/chunks/paste-A5KKPWXX.js → chunks/paste-LYNFXXCM.js} +1 -1
  88. package/dist/bin/chunks/printf-MR3FXCDE.js +3 -0
  89. package/dist/bin/{shell/chunks/python3-BQWDPUBM.js → chunks/python3-R5OFWJIH.js} +1 -1
  90. package/dist/bin/{shell/chunks/rev-PYHOZ4D4.js → chunks/rev-AJECDD4L.js} +1 -1
  91. package/dist/bin/chunks/{rg-BGFMSIVK.js → rg-2YWJS6TE.js} +1 -1
  92. package/dist/bin/chunks/{sed-FWA634SN.js → sed-IGRH7EGG.js} +1 -1
  93. package/dist/bin/chunks/{sha1sum-4KF52U3Y.js → sha1sum-5QZSNFY3.js} +1 -1
  94. package/dist/bin/chunks/{sha256sum-6YEPULPX.js → sha256sum-DI7JAVAU.js} +1 -1
  95. package/dist/bin/{shell/chunks/sleep-QHAPNY3Q.js → chunks/sleep-RPGCUUGX.js} +1 -1
  96. package/dist/bin/{shell/chunks/sort-4C6WOKNK.js → chunks/sort-HQPAFL76.js} +1 -1
  97. package/dist/bin/chunks/{split-TV7NL7LA.js → split-F6FSB5KI.js} +1 -1
  98. package/dist/bin/chunks/{sqlite3-W777NCI4.js → sqlite3-7TRACAE7.js} +1 -1
  99. package/dist/bin/chunks/sqlite3-worker.js +3 -2
  100. package/dist/bin/chunks/{strings-MDD72LR6.js → strings-6PE3YMPO.js} +1 -1
  101. package/dist/bin/chunks/{tac-C2N4NQ6S.js → tac-NERJXVOM.js} +1 -1
  102. package/dist/bin/chunks/{tail-BCB5W6JC.js → tail-24F643A4.js} +1 -1
  103. package/dist/bin/chunks/tar-5HK3VMV2.js +3 -0
  104. package/dist/bin/chunks/{tee-UQHPO4OW.js → tee-5B7P2QRJ.js} +1 -1
  105. package/dist/bin/chunks/{time-ZPY52VT2.js → time-FN6VJGRS.js} +1 -1
  106. package/dist/bin/chunks/{timeout-5AX3ZS3X.js → timeout-ZARIAF3K.js} +1 -1
  107. package/dist/bin/{shell/chunks/tr-G7K6M6HP.js → chunks/tr-QQZYZ3CH.js} +1 -1
  108. package/dist/bin/chunks/{unexpand-QIR4EDPG.js → unexpand-3JWOSSBQ.js} +1 -1
  109. package/dist/bin/chunks/{uniq-I7PVFJR4.js → uniq-Q5UH5NL3.js} +1 -1
  110. package/dist/bin/{shell/chunks/wc-6NGWULAP.js → chunks/wc-4HXNTHY3.js} +1 -1
  111. package/dist/bin/chunks/worker.js +3 -2
  112. package/dist/bin/chunks/{xan-KX4VPXUN.js → xan-TSDTZVY3.js} +1 -1
  113. package/dist/bin/chunks/{xan-view-JXOZLJ7S.js → xan-view-XBMA362V.js} +1 -1
  114. package/dist/bin/chunks/{xargs-UWHPYLY7.js → xargs-VTFN762K.js} +1 -1
  115. package/dist/bin/chunks/{yq-GCDCJBKB.js → yq-KU5YTNAK.js} +1 -1
  116. package/dist/bin/just-bash.js +378 -303
  117. package/dist/bin/shell/chunks/{awk2-RLMNTGI7.js → awk2-UFCNQFCV.js} +1 -1
  118. package/dist/bin/{chunks/base64-RZRLGMB3.js → shell/chunks/base64-EGKVQIBC.js} +1 -1
  119. package/dist/bin/{chunks/bash-CLP24TE2.js → shell/chunks/bash-BEG4JB7K.js} +1 -1
  120. package/dist/bin/{chunks/cat-LQH5FSAR.js → shell/chunks/cat-NBL6MU5H.js} +1 -1
  121. package/dist/bin/shell/chunks/{chunk-KFMPGSUT.js → chunk-2ZAK22BG.js} +1 -1
  122. package/dist/bin/shell/chunks/chunk-4BNS566Q.js +4 -0
  123. package/dist/bin/shell/chunks/chunk-4J4UC7OD.js +17 -0
  124. package/dist/bin/{chunks/chunk-IEXQTXU5.js → shell/chunks/chunk-52FZYTIX.js} +4 -4
  125. package/dist/bin/{chunks/chunk-EDTBGO7F.js → shell/chunks/chunk-5KX5YUWT.js} +1 -1
  126. package/dist/bin/shell/chunks/{chunk-XFFUAO3F.js → chunk-6FYCU7QB.js} +1 -1
  127. package/dist/bin/shell/chunks/{chunk-PAYQNSZN.js → chunk-6JKLDBRW.js} +1 -1
  128. package/dist/bin/shell/chunks/{chunk-22HCD466.js → chunk-7HK63L6Y.js} +1 -1
  129. package/dist/bin/shell/chunks/chunk-7NDRU2ZN.js +5 -0
  130. package/dist/bin/{chunks/chunk-IZGLHVBB.js → shell/chunks/chunk-AFAD5U2A.js} +1 -1
  131. package/dist/bin/shell/chunks/{chunk-LNNWMRCB.js → chunk-AZH64XMJ.js} +1 -1
  132. package/dist/bin/shell/chunks/{chunk-6FSBHK6H.js → chunk-C6JOQKE2.js} +1 -1
  133. package/dist/bin/{chunks/chunk-77MLOOQS.js → shell/chunks/chunk-CX5CEEGI.js} +1 -1
  134. package/dist/bin/shell/chunks/{chunk-NXVG64T3.js → chunk-D7YFPDMV.js} +1 -1
  135. package/dist/bin/shell/chunks/chunk-DHIKZU63.js +3 -0
  136. package/dist/bin/shell/chunks/{chunk-UR4CEP4Y.js → chunk-DWECIBLJ.js} +1 -1
  137. package/dist/bin/shell/chunks/{chunk-C7ISPH7Y.js → chunk-FEENTUVZ.js} +1 -1
  138. package/dist/bin/shell/chunks/{chunk-FVRXEJYQ.js → chunk-FJABJBIW.js} +2 -2
  139. package/dist/bin/shell/chunks/{chunk-YOKQNNQO.js → chunk-FYCT4DWY.js} +1 -1
  140. package/dist/bin/shell/chunks/{chunk-J7TUF2VI.js → chunk-G7ZWT7BT.js} +1 -1
  141. package/dist/bin/shell/chunks/{chunk-XJ37N3S5.js → chunk-GTO74SFS.js} +1 -1
  142. package/dist/bin/{chunks/chunk-L24QXM5S.js → shell/chunks/chunk-GXX3QUMM.js} +1 -1
  143. package/dist/bin/shell/chunks/chunk-HMCRB24D.js +15 -0
  144. package/dist/bin/shell/chunks/{chunk-FKVQZWJQ.js → chunk-HWNCK5BB.js} +1 -1
  145. package/dist/bin/shell/chunks/{chunk-V2RP73X4.js → chunk-IX7LKVVH.js} +1 -1
  146. package/dist/bin/{chunks/chunk-JZW7NFK2.js → shell/chunks/chunk-J7XTZ47D.js} +1 -1
  147. package/dist/bin/shell/chunks/{chunk-3BYTCO2H.js → chunk-JDFKEXLG.js} +1 -1
  148. package/dist/bin/{chunks/chunk-HN2DCT7T.js → shell/chunks/chunk-JJC4ENJL.js} +1 -1
  149. package/dist/bin/{chunks/chunk-F3WNDKOC.js → shell/chunks/chunk-JSZBZ2XU.js} +1 -1
  150. package/dist/bin/{chunks/chunk-UO5LOD7U.js → shell/chunks/chunk-KMZUSEWI.js} +1 -1
  151. package/dist/bin/{chunks/chunk-OPMLWMNH.js → shell/chunks/chunk-KWCO3YXP.js} +1 -1
  152. package/dist/bin/{chunks/chunk-LSQTB2QK.js → shell/chunks/chunk-LMA4D2KK.js} +1 -1
  153. package/dist/bin/{chunks/chunk-HL4ZS7TX.js → shell/chunks/chunk-LX2H4DPL.js} +3 -3
  154. package/dist/bin/shell/chunks/{chunk-X4MX6EHF.js → chunk-MP77TJMM.js} +1 -1
  155. package/dist/bin/{chunks/chunk-F3GKANW3.js → shell/chunks/chunk-MTK7VLZG.js} +1 -1
  156. package/dist/bin/shell/chunks/chunk-N3FQJLPZ.js +17 -0
  157. package/dist/bin/{chunks/chunk-2SVX7I5P.js → shell/chunks/chunk-NMMVECGD.js} +1 -1
  158. package/dist/bin/shell/chunks/{chunk-LAHBP3FW.js → chunk-NXYVRP6D.js} +1 -1
  159. package/dist/bin/shell/chunks/{chunk-7UU7KPEM.js → chunk-OVVMB2JI.js} +1 -1
  160. package/dist/bin/shell/chunks/{chunk-YY5PJR7O.js → chunk-OXZSG3ZZ.js} +1 -1
  161. package/dist/bin/{chunks/chunk-CAZ75E7E.js → shell/chunks/chunk-PKE7GKU5.js} +1 -1
  162. package/dist/bin/{chunks/chunk-7AYT3UKI.js → shell/chunks/chunk-PSJORJRS.js} +1 -1
  163. package/dist/bin/shell/chunks/{chunk-7NC4CPHS.js → chunk-R36DS2UF.js} +1 -1
  164. package/dist/bin/shell/chunks/{chunk-2NRAWO6E.js → chunk-RKBWTGBZ.js} +1 -1
  165. package/dist/bin/{chunks/chunk-LC6D27QJ.js → shell/chunks/chunk-RVGYO2OU.js} +1 -1
  166. package/dist/bin/shell/chunks/{chunk-SMSELHIY.js → chunk-SF2OLINE.js} +1 -1
  167. package/dist/bin/{chunks/chunk-M65CQLJE.js → shell/chunks/chunk-TIRU5FOD.js} +1 -1
  168. package/dist/bin/shell/chunks/{chunk-BE4PARL3.js → chunk-TKYWUEON.js} +1 -1
  169. package/dist/bin/shell/chunks/chunk-TYBXHT6W.js +10 -0
  170. package/dist/bin/shell/chunks/chunk-UI7CV277.js +20 -0
  171. package/dist/bin/shell/chunks/{chunk-KRRM5UCC.js → chunk-UNWZQG7U.js} +1 -1
  172. package/dist/bin/{chunks/chunk-4KSZJAQK.js → shell/chunks/chunk-W5OBQVJ2.js} +1 -1
  173. package/dist/bin/shell/chunks/{chunk-JNUX75OX.js → chunk-WHUKZ3K3.js} +1 -1
  174. package/dist/bin/shell/chunks/chunk-Y2IUEWQD.js +11 -0
  175. package/dist/bin/shell/chunks/chunk-Y5OWCEDV.js +64 -0
  176. package/dist/bin/shell/chunks/{chunk-H7JTIXAO.js → chunk-ZZP3RSWL.js} +1 -1
  177. package/dist/bin/shell/chunks/{column-AQB3A3PJ.js → column-QLGOK3XM.js} +1 -1
  178. package/dist/bin/{chunks/comm-Q4VDF6ZO.js → shell/chunks/comm-PLYUTVP3.js} +1 -1
  179. package/dist/bin/shell/chunks/curl-DCSPNPEW.js +27 -0
  180. package/dist/bin/shell/chunks/{cut-ZI2HIAW7.js → cut-JNQTCQY7.js} +1 -1
  181. package/dist/bin/shell/chunks/date-OFYBOAUE.js +3 -0
  182. package/dist/bin/{chunks/diff-YDJ42RKS.js → shell/chunks/diff-LZ4WRLIF.js} +1 -1
  183. package/dist/bin/shell/chunks/{env-NY32PQJM.js → env-FNVYNLGB.js} +1 -1
  184. package/dist/bin/{chunks/expand-YYSO35NS.js → shell/chunks/expand-CB7FG7LQ.js} +1 -1
  185. package/dist/bin/{chunks/expr-7PLWSWZI.js → shell/chunks/expr-6A2XZORA.js} +1 -1
  186. package/dist/bin/shell/chunks/{find-P4DOE7CE.js → find-5OZWMYCV.js} +1 -1
  187. package/dist/bin/shell/chunks/flag-coverage-H6NG6ZQL.js +3 -0
  188. package/dist/bin/{chunks/fold-5MF7QZWQ.js → shell/chunks/fold-7YEITA5L.js} +1 -1
  189. package/dist/bin/shell/chunks/{grep-VAYCFO4O.js → grep-KKBXRB73.js} +1 -1
  190. package/dist/bin/shell/chunks/{gzip-UGBQQKIH.js → gzip-ZJP5VIAQ.js} +1 -1
  191. package/dist/bin/shell/chunks/{head-QNC2ZYDO.js → head-B6GFQHKF.js} +1 -1
  192. package/dist/bin/{chunks/html-to-markdown-QEFY7XQR.js → shell/chunks/html-to-markdown-3HJ7L7NL.js} +1 -1
  193. package/dist/bin/shell/chunks/{join-EJ73DYTK.js → join-WRM6S6CO.js} +1 -1
  194. package/dist/bin/shell/chunks/{jq-GGTKKMEN.js → jq-33GJJXTL.js} +1 -1
  195. package/dist/bin/shell/chunks/{js-exec-BC6NI55L.js → js-exec-F7JAZ4ZQ.js} +1 -1
  196. package/dist/bin/shell/chunks/{md5sum-MCVDIB35.js → md5sum-ZNYCDRQL.js} +1 -1
  197. package/dist/bin/{chunks/nl-KUPLVCTS.js → shell/chunks/nl-6TVYE4ZB.js} +1 -1
  198. package/dist/bin/{chunks/od-YQ5ZUI2H.js → shell/chunks/od-Y3E3QXOL.js} +1 -1
  199. package/dist/bin/{chunks/paste-A5KKPWXX.js → shell/chunks/paste-LYNFXXCM.js} +1 -1
  200. package/dist/bin/shell/chunks/printf-MR3FXCDE.js +3 -0
  201. package/dist/bin/{chunks/python3-BQWDPUBM.js → shell/chunks/python3-R5OFWJIH.js} +1 -1
  202. package/dist/bin/{chunks/rev-PYHOZ4D4.js → shell/chunks/rev-AJECDD4L.js} +1 -1
  203. package/dist/bin/shell/chunks/{rg-BGFMSIVK.js → rg-2YWJS6TE.js} +1 -1
  204. package/dist/bin/shell/chunks/{sed-FWA634SN.js → sed-IGRH7EGG.js} +1 -1
  205. package/dist/bin/shell/chunks/{sha1sum-4KF52U3Y.js → sha1sum-5QZSNFY3.js} +1 -1
  206. package/dist/bin/shell/chunks/{sha256sum-6YEPULPX.js → sha256sum-DI7JAVAU.js} +1 -1
  207. package/dist/bin/{chunks/sleep-QHAPNY3Q.js → shell/chunks/sleep-RPGCUUGX.js} +1 -1
  208. package/dist/bin/{chunks/sort-4C6WOKNK.js → shell/chunks/sort-HQPAFL76.js} +1 -1
  209. package/dist/bin/shell/chunks/{split-TV7NL7LA.js → split-F6FSB5KI.js} +1 -1
  210. package/dist/bin/shell/chunks/{sqlite3-W777NCI4.js → sqlite3-7TRACAE7.js} +1 -1
  211. package/dist/bin/shell/chunks/{strings-MDD72LR6.js → strings-6PE3YMPO.js} +1 -1
  212. package/dist/bin/shell/chunks/{tac-C2N4NQ6S.js → tac-NERJXVOM.js} +1 -1
  213. package/dist/bin/shell/chunks/{tail-BCB5W6JC.js → tail-24F643A4.js} +1 -1
  214. package/dist/bin/shell/chunks/tar-5HK3VMV2.js +3 -0
  215. package/dist/bin/shell/chunks/{tee-UQHPO4OW.js → tee-5B7P2QRJ.js} +1 -1
  216. package/dist/bin/shell/chunks/{time-ZPY52VT2.js → time-FN6VJGRS.js} +1 -1
  217. package/dist/bin/shell/chunks/{timeout-5AX3ZS3X.js → timeout-ZARIAF3K.js} +1 -1
  218. package/dist/bin/{chunks/tr-G7K6M6HP.js → shell/chunks/tr-QQZYZ3CH.js} +1 -1
  219. package/dist/bin/shell/chunks/{unexpand-QIR4EDPG.js → unexpand-3JWOSSBQ.js} +1 -1
  220. package/dist/bin/shell/chunks/{uniq-I7PVFJR4.js → uniq-Q5UH5NL3.js} +1 -1
  221. package/dist/bin/{chunks/wc-6NGWULAP.js → shell/chunks/wc-4HXNTHY3.js} +1 -1
  222. package/dist/bin/shell/chunks/{xan-KX4VPXUN.js → xan-TSDTZVY3.js} +1 -1
  223. package/dist/bin/shell/chunks/{xan-view-JXOZLJ7S.js → xan-view-XBMA362V.js} +1 -1
  224. package/dist/bin/shell/chunks/{xargs-UWHPYLY7.js → xargs-VTFN762K.js} +1 -1
  225. package/dist/bin/shell/chunks/{yq-GCDCJBKB.js → yq-KU5YTNAK.js} +1 -1
  226. package/dist/bin/shell/shell.js +383 -308
  227. package/dist/bundle/browser.js +665 -659
  228. package/dist/bundle/chunks/{awk2-LA3USKJP.js → awk2-SREAOJRG.js} +1 -1
  229. package/dist/bundle/chunks/{base64-C2AIWVNC.js → base64-WIGL46P3.js} +1 -1
  230. package/dist/bundle/chunks/{bash-YZ33HQZQ.js → bash-F4KHPMTX.js} +1 -1
  231. package/dist/bundle/chunks/{cat-TSFMZVYS.js → cat-LPZ6XNHG.js} +1 -1
  232. package/dist/bundle/chunks/{chunk-ICIEVHY5.js → chunk-55LZFN6S.js} +1 -1
  233. package/dist/bundle/chunks/{chunk-6VAT5Z2D.js → chunk-5MV7Q5QB.js} +1 -1
  234. package/dist/bundle/chunks/{chunk-UP6MSJGD.js → chunk-6L65G6A7.js} +1 -1
  235. package/dist/bundle/chunks/{chunk-GGC5NEPZ.js → chunk-6NYPZ4NX.js} +1 -1
  236. package/dist/bundle/chunks/{chunk-4RUAZWKT.js → chunk-7CSMHFIJ.js} +4 -4
  237. package/dist/bundle/chunks/{chunk-ACSZB4FE.js → chunk-AAGO7IQ5.js} +1 -1
  238. package/dist/bundle/chunks/chunk-AFQAPVZ3.js +16 -0
  239. package/dist/bundle/chunks/{chunk-5H5SCKJM.js → chunk-AX2X3SZS.js} +1 -1
  240. package/dist/bundle/chunks/{chunk-EBAPSGAO.js → chunk-AXMYAPFA.js} +1 -1
  241. package/dist/bundle/chunks/chunk-BU36VZYL.js +4 -0
  242. package/dist/bundle/chunks/{chunk-CBJVD2XA.js → chunk-CJFAMHFC.js} +1 -1
  243. package/dist/bundle/chunks/{chunk-GJC3WVOW.js → chunk-CQV3EITV.js} +1 -1
  244. package/dist/bundle/chunks/{chunk-Q7H5W7YE.js → chunk-DJ7QC6LC.js} +2 -2
  245. package/dist/bundle/chunks/{chunk-S3LEJEPP.js → chunk-DVJY2RAX.js} +1 -1
  246. package/dist/bundle/chunks/{chunk-N6DXJ2JN.js → chunk-EUCNMMRD.js} +1 -1
  247. package/dist/bundle/chunks/{chunk-GTQIUQM6.js → chunk-FLMHFDSN.js} +1 -1
  248. package/dist/bundle/chunks/chunk-GE6OQDB2.js +10 -0
  249. package/dist/bundle/chunks/{chunk-FW54FHZR.js → chunk-GHB6M7KA.js} +1 -1
  250. package/dist/bundle/chunks/{chunk-LNBPBRV4.js → chunk-GRQJA2J7.js} +1 -1
  251. package/dist/bundle/chunks/{chunk-R74UQCKX.js → chunk-H2TS57O5.js} +1 -1
  252. package/dist/bundle/chunks/{chunk-7JHM3L42.js → chunk-H7WISVP3.js} +1 -1
  253. package/dist/bundle/chunks/chunk-HAIOEUEV.js +63 -0
  254. package/dist/bundle/chunks/{chunk-46RN27KI.js → chunk-IZ6KBTV7.js} +1 -1
  255. package/dist/bundle/chunks/{chunk-T4TFLF3R.js → chunk-JTMQLUCH.js} +1 -1
  256. package/dist/bundle/chunks/{chunk-2JIPICV3.js → chunk-K5JMLDHX.js} +1 -1
  257. package/dist/bundle/chunks/{chunk-L64BMZUV.js → chunk-KAPG5ONA.js} +1 -1
  258. package/dist/bundle/chunks/chunk-KSBHIW2H.js +19 -0
  259. package/dist/bundle/chunks/{chunk-XHLMAZX2.js → chunk-KTL5PAHY.js} +1 -1
  260. package/dist/bundle/chunks/{chunk-YCLFEX4T.js → chunk-KTPCYKBB.js} +1 -1
  261. package/dist/bundle/chunks/chunk-LI6PTSPD.js +9 -0
  262. package/dist/bundle/chunks/{chunk-LEKBROJD.js → chunk-LZUPLYFM.js} +1 -1
  263. package/dist/bundle/chunks/{chunk-4N6J7B5P.js → chunk-MFRETFZB.js} +1 -1
  264. package/dist/bundle/chunks/{chunk-OVGANXCG.js → chunk-MIZIUC5M.js} +1 -1
  265. package/dist/bundle/chunks/chunk-MJLETYZI.js +14 -0
  266. package/dist/bundle/chunks/{chunk-VLCHOJWK.js → chunk-MTHXXA6H.js} +1 -1
  267. package/dist/bundle/chunks/{chunk-6LASZU3O.js → chunk-NGPDJCUE.js} +1 -1
  268. package/dist/bundle/chunks/{chunk-ZZKH2ELC.js → chunk-OVH44QKR.js} +1 -1
  269. package/dist/bundle/chunks/chunk-PDUL32DM.js +16 -0
  270. package/dist/bundle/chunks/{chunk-KD3KENL6.js → chunk-PYDWFCTN.js} +1 -1
  271. package/dist/bundle/chunks/{chunk-AQ6FYS2X.js → chunk-QAJKDPNS.js} +1 -1
  272. package/dist/bundle/chunks/{chunk-XCQWV4AU.js → chunk-R4QNMLOB.js} +1 -1
  273. package/dist/bundle/chunks/chunk-RBQG6ZUG.js +3 -0
  274. package/dist/bundle/chunks/{chunk-U73A73IE.js → chunk-RCXNPPJY.js} +1 -1
  275. package/dist/bundle/chunks/{chunk-S443BAN4.js → chunk-S2BIZAWY.js} +1 -1
  276. package/dist/bundle/chunks/{chunk-XRFHFXFP.js → chunk-SY4HAUHP.js} +1 -1
  277. package/dist/bundle/chunks/{chunk-FJK43EBQ.js → chunk-TA74ENH7.js} +1 -1
  278. package/dist/bundle/chunks/{chunk-OC35HPHG.js → chunk-TC2WHAIS.js} +1 -1
  279. package/dist/bundle/chunks/{chunk-TN7HHBQW.js → chunk-VACKIICN.js} +3 -3
  280. package/dist/bundle/chunks/{chunk-GSPYNYZA.js → chunk-VBLMIJON.js} +1 -1
  281. package/dist/bundle/chunks/{chunk-VPADYNBD.js → chunk-WKPK7M56.js} +1 -1
  282. package/dist/bundle/chunks/chunk-XEKXHOPO.js +2 -0
  283. package/dist/bundle/chunks/{chunk-BVKWRAS6.js → chunk-XPK7ZFVA.js} +1 -1
  284. package/dist/bundle/chunks/{chunk-FAXLQUCQ.js → chunk-XZUZRAAC.js} +1 -1
  285. package/dist/bundle/chunks/{chunk-HJBTD7PY.js → chunk-YRNR2VHY.js} +1 -1
  286. package/dist/bundle/chunks/{chunk-KATRCGLX.js → chunk-YWOZZRSK.js} +1 -1
  287. package/dist/bundle/chunks/{chunk-FX7KQCEA.js → chunk-Z3KJQD7F.js} +1 -1
  288. package/dist/bundle/chunks/{column-XT6UFXNQ.js → column-PVOEF65J.js} +1 -1
  289. package/dist/bundle/chunks/{comm-VV2LDX2J.js → comm-5QMYEAJL.js} +1 -1
  290. package/dist/bundle/chunks/curl-PAWGO3EH.js +26 -0
  291. package/dist/bundle/chunks/{cut-OKARJCCV.js → cut-NDMV7SPO.js} +1 -1
  292. package/dist/bundle/chunks/date-XKUEQ4WF.js +2 -0
  293. package/dist/bundle/chunks/{diff-MWJFIG7X.js → diff-TT4M7WM3.js} +1 -1
  294. package/dist/bundle/chunks/{env-36M5BO7M.js → env-DLFRY633.js} +1 -1
  295. package/dist/bundle/chunks/{expand-JSPG6VOP.js → expand-T2TH4TBQ.js} +1 -1
  296. package/dist/bundle/chunks/{expr-5JAACS4X.js → expr-YLACLCSM.js} +1 -1
  297. package/dist/bundle/chunks/find-T5TGGXUU.js +2 -0
  298. package/dist/bundle/chunks/flag-coverage-TRYUZMPS.js +2 -0
  299. package/dist/bundle/chunks/{fold-4TQNYMSW.js → fold-XR2JMFCW.js} +1 -1
  300. package/dist/bundle/chunks/{grep-V3LQVMRQ.js → grep-VUESTEZ7.js} +1 -1
  301. package/dist/bundle/chunks/{gzip-O5ASJAFY.js → gzip-HF3D26QX.js} +1 -1
  302. package/dist/bundle/chunks/{head-442HYESI.js → head-AEMOMQSZ.js} +1 -1
  303. package/dist/bundle/chunks/{html-to-markdown-JW4MSQZO.js → html-to-markdown-LXXMVQ3V.js} +1 -1
  304. package/dist/bundle/chunks/{join-TBRGI3LQ.js → join-YIABB6WR.js} +1 -1
  305. package/dist/bundle/chunks/{jq-4XLYLOS5.js → jq-3FAAQVR6.js} +1 -1
  306. package/dist/bundle/chunks/{js-exec-N5KEZBH7.js → js-exec-SR6IMNWM.js} +1 -1
  307. package/dist/bundle/chunks/js-exec-worker.js +214 -17
  308. package/dist/bundle/chunks/{md5sum-SPU24VSG.js → md5sum-LU7RVIB7.js} +1 -1
  309. package/dist/bundle/chunks/{nl-WSDW7I4O.js → nl-Q2L5XQWZ.js} +1 -1
  310. package/dist/bundle/chunks/{od-WOKFDJTP.js → od-RDSM4TQJ.js} +1 -1
  311. package/dist/bundle/chunks/{paste-7JC6S4DX.js → paste-ABCY7E6C.js} +1 -1
  312. package/dist/bundle/chunks/printf-JPOOWRJC.js +2 -0
  313. package/dist/bundle/chunks/{python3-POMOR4OA.js → python3-JPCH6LLN.js} +1 -1
  314. package/dist/bundle/chunks/{rev-5EHFX4EJ.js → rev-GCV6X22K.js} +1 -1
  315. package/dist/bundle/chunks/rg-N5WLPMSA.js +2 -0
  316. package/dist/bundle/chunks/{sed-S5UIK574.js → sed-DX2SGXMF.js} +1 -1
  317. package/dist/bundle/chunks/{sha1sum-2PTOAFR6.js → sha1sum-O6DM3TPQ.js} +1 -1
  318. package/dist/bundle/chunks/{sha256sum-NS7D3IXX.js → sha256sum-WPVZLZPS.js} +1 -1
  319. package/dist/bundle/chunks/{sleep-X22JJINO.js → sleep-HZ4QEFOK.js} +1 -1
  320. package/dist/bundle/chunks/{sort-SW2YEO5B.js → sort-VW2NIZHW.js} +1 -1
  321. package/dist/bundle/chunks/{split-4KKZZXXE.js → split-NBMH43M2.js} +1 -1
  322. package/dist/bundle/chunks/{sqlite3-CGOEFJAO.js → sqlite3-UE3PJTDQ.js} +1 -1
  323. package/dist/bundle/chunks/sqlite3-worker.js +3 -2
  324. package/dist/bundle/chunks/{strings-6WDHLGMX.js → strings-MCXFXPDL.js} +1 -1
  325. package/dist/bundle/chunks/{tac-2STMMJYW.js → tac-BQ7EDZW2.js} +1 -1
  326. package/dist/bundle/chunks/{tail-R4PCA2C4.js → tail-GJMTLMNE.js} +1 -1
  327. package/dist/bundle/chunks/tar-WIZ3PDF4.js +2 -0
  328. package/dist/bundle/chunks/{tee-YUZ2FKCJ.js → tee-SGANDVNY.js} +1 -1
  329. package/dist/bundle/chunks/{time-D4LNBSWX.js → time-FCZCDIAM.js} +1 -1
  330. package/dist/bundle/chunks/timeout-VDIEAB4R.js +2 -0
  331. package/dist/bundle/chunks/{tr-36LHWFRQ.js → tr-JNNR5JMS.js} +1 -1
  332. package/dist/bundle/chunks/{unexpand-CADSA4VO.js → unexpand-2TKXAENW.js} +1 -1
  333. package/dist/bundle/chunks/{uniq-XSIZR6PB.js → uniq-DMFKT3AB.js} +1 -1
  334. package/dist/bundle/chunks/{wc-LF7NU4LA.js → wc-TZFYWFLA.js} +1 -1
  335. package/dist/bundle/chunks/worker.js +3 -2
  336. package/dist/bundle/chunks/{xan-Y6WF3IRG.js → xan-U6654PZR.js} +1 -1
  337. package/dist/bundle/chunks/xan-view-YATJ4KAA.js +2 -0
  338. package/dist/bundle/chunks/{xargs-MGZPH7AX.js → xargs-VDP7DLOU.js} +1 -1
  339. package/dist/bundle/chunks/yq-ZBXLBSXV.js +2 -0
  340. package/dist/bundle/index.cjs +934 -928
  341. package/dist/bundle/index.js +385 -310
  342. package/dist/commands/curl/types.d.ts +29 -0
  343. package/dist/commands/js-exec/module-shims.d.ts +1 -1
  344. package/dist/commands/sqlite3/worker.js +3 -2
  345. package/dist/commands/tar/tar-options.d.ts +1 -1
  346. package/dist/encoding.d.ts +14 -0
  347. package/dist/parser/parser-substitution.d.ts +14 -0
  348. package/package.json +1 -1
  349. package/dist/bin/chunks/chunk-3UKQXBQ3.js +0 -6
  350. package/dist/bin/chunks/chunk-ALVEEXFD.js +0 -19
  351. package/dist/bin/chunks/chunk-BGX3RW7H.js +0 -10
  352. package/dist/bin/chunks/chunk-D6CPXGKK.js +0 -75
  353. package/dist/bin/chunks/chunk-FOUVACI7.js +0 -16
  354. package/dist/bin/chunks/chunk-Q4UMTSRO.js +0 -15
  355. package/dist/bin/chunks/chunk-UGJM7CKP.js +0 -17
  356. package/dist/bin/chunks/chunk-VBDLSL7Y.js +0 -10
  357. package/dist/bin/chunks/chunk-VZK4FHWJ.js +0 -3
  358. package/dist/bin/chunks/chunk-Y4FPH5DQ.js +0 -64
  359. package/dist/bin/chunks/curl-AXXGQRR2.js +0 -27
  360. package/dist/bin/chunks/date-JEZYSA4F.js +0 -3
  361. package/dist/bin/chunks/expansion-PPP6PD75.js +0 -3
  362. package/dist/bin/chunks/flag-coverage-RFKIBJ6L.js +0 -3
  363. package/dist/bin/chunks/printf-Z5C2UOI5.js +0 -3
  364. package/dist/bin/chunks/tar-DOO744MK.js +0 -3
  365. package/dist/bin/shell/chunks/chunk-3UKQXBQ3.js +0 -6
  366. package/dist/bin/shell/chunks/chunk-ALVEEXFD.js +0 -19
  367. package/dist/bin/shell/chunks/chunk-BGX3RW7H.js +0 -10
  368. package/dist/bin/shell/chunks/chunk-D6CPXGKK.js +0 -75
  369. package/dist/bin/shell/chunks/chunk-FOUVACI7.js +0 -16
  370. package/dist/bin/shell/chunks/chunk-Q4UMTSRO.js +0 -15
  371. package/dist/bin/shell/chunks/chunk-UGJM7CKP.js +0 -17
  372. package/dist/bin/shell/chunks/chunk-VBDLSL7Y.js +0 -10
  373. package/dist/bin/shell/chunks/chunk-VZK4FHWJ.js +0 -3
  374. package/dist/bin/shell/chunks/chunk-Y4FPH5DQ.js +0 -64
  375. package/dist/bin/shell/chunks/curl-AXXGQRR2.js +0 -27
  376. package/dist/bin/shell/chunks/date-JEZYSA4F.js +0 -3
  377. package/dist/bin/shell/chunks/expansion-PPP6PD75.js +0 -3
  378. package/dist/bin/shell/chunks/flag-coverage-RFKIBJ6L.js +0 -3
  379. package/dist/bin/shell/chunks/printf-Z5C2UOI5.js +0 -3
  380. package/dist/bin/shell/chunks/tar-DOO744MK.js +0 -3
  381. package/dist/bundle/chunks/chunk-CHFEPBH4.js +0 -18
  382. package/dist/bundle/chunks/chunk-G5EVRAOO.js +0 -74
  383. package/dist/bundle/chunks/chunk-GIUR5SNU.js +0 -15
  384. package/dist/bundle/chunks/chunk-MZFCCXPZ.js +0 -63
  385. package/dist/bundle/chunks/chunk-NRSASXYY.js +0 -2
  386. package/dist/bundle/chunks/chunk-OGJ5CFPR.js +0 -9
  387. package/dist/bundle/chunks/chunk-SO6R3ZKN.js +0 -16
  388. package/dist/bundle/chunks/chunk-XDGLKIHR.js +0 -9
  389. package/dist/bundle/chunks/chunk-XUIHBHL5.js +0 -5
  390. package/dist/bundle/chunks/chunk-XYXUMFSU.js +0 -14
  391. package/dist/bundle/chunks/curl-LV5Y3AMS.js +0 -26
  392. package/dist/bundle/chunks/date-UUUPW43J.js +0 -2
  393. package/dist/bundle/chunks/expansion-R25BK4W3.js +0 -2
  394. package/dist/bundle/chunks/find-INTH3OLC.js +0 -2
  395. package/dist/bundle/chunks/flag-coverage-XWSYNE72.js +0 -2
  396. package/dist/bundle/chunks/printf-TWGXF445.js +0 -2
  397. package/dist/bundle/chunks/rg-S4FXYXWB.js +0 -2
  398. package/dist/bundle/chunks/tar-STHHZTZ6.js +0 -2
  399. package/dist/bundle/chunks/timeout-YDCRSLPQ.js +0 -2
  400. package/dist/bundle/chunks/xan-view-HDVKHFC2.js +0 -2
  401. package/dist/bundle/chunks/yq-4QJW3EQG.js +0 -2
@@ -7,11 +7,40 @@ export interface FormField {
7
7
  filename?: string;
8
8
  contentType?: string;
9
9
  }
10
+ export interface UrlencodeFile {
11
+ /** Optional field name; emits `name=` prefix before the encoded file contents. */
12
+ name?: string;
13
+ /** Path to read; resolved against ctx.cwd at execute time. */
14
+ path: string;
15
+ }
16
+ export interface DataFile {
17
+ /**
18
+ * `ascii` matches `-d`/`--data` semantics: CR and LF are stripped after
19
+ * reading. `binary` matches `--data-binary`: file bytes are sent verbatim.
20
+ */
21
+ mode: "ascii" | "binary";
22
+ path: string;
23
+ }
10
24
  export interface CurlOptions {
11
25
  method: string;
12
26
  headers: Headers;
13
27
  data?: string;
14
28
  dataBinary: boolean;
29
+ /**
30
+ * File backing the `data` payload when `-d`/`--data`/`--data-binary` was
31
+ * given as `@filename`. Mutually exclusive with `data` — whichever form
32
+ * appears last on the command line wins. This last-write-wins shape is
33
+ * the established just-bash behavior for `-d`/`--data*` inline values
34
+ * and intentionally differs from real curl, which combines repeated
35
+ * `-d` payloads with `&`. The `@file` work here preserves that scope.
36
+ */
37
+ dataFile?: DataFile;
38
+ /**
39
+ * `--data-urlencode @file` and `--data-urlencode name@file` accumulate
40
+ * here. Each entry is encoded at execute time and joined with `&`
41
+ * alongside any inline urlencode payload accumulated in `data`.
42
+ */
43
+ urlencodeFiles: UrlencodeFile[];
15
44
  formFields: FormField[];
16
45
  user?: string;
17
46
  uploadFile?: string;
@@ -15,7 +15,7 @@ export declare const ASSERT_MODULE_SOURCE = "\nvar _deepEqual = function(a, b) {
15
15
  /** Util module — format, inspect, promisify, types */
16
16
  export declare const UTIL_MODULE_SOURCE = "\nvar _util = {\n format: function() {\n var args = Array.prototype.slice.call(arguments);\n if (args.length === 0) return '';\n var fmt = args[0];\n if (typeof fmt !== 'string') {\n return args.map(function(a) {\n return typeof a === 'string' ? a : JSON.stringify(a);\n }).join(' ');\n }\n var i = 1;\n var str = fmt.replace(/%[sdjifoO%]/g, function(m) {\n if (m === '%%') return '%';\n if (i >= args.length) return m;\n var v = args[i++];\n if (m === '%s') return String(v);\n if (m === '%d') return Number(v).toString();\n if (m === '%i') { var n = Number(v); return (isNaN(n) ? 'NaN' : Math.trunc(n)).toString(); }\n if (m === '%j') return JSON.stringify(v);\n if (m === '%f') return parseFloat(v).toString();\n if (m === '%o' || m === '%O') return JSON.stringify(v);\n return m;\n });\n while (i < args.length) {\n str += ' ' + (typeof args[i] === 'string' ? args[i] : JSON.stringify(args[i]));\n i++;\n }\n return str;\n },\n inspect: function(obj, opts) {\n if (obj === null) return 'null';\n if (obj === undefined) return 'undefined';\n if (typeof obj === 'string') return \"'\" + obj + \"'\";\n if (typeof obj === 'function') return '[Function: ' + (obj.name || 'anonymous') + ']';\n var seen = [];\n try {\n return JSON.stringify(obj, function(key, val) {\n if (typeof val === 'object' && val !== null) {\n if (seen.indexOf(val) !== -1) return '[Circular]';\n seen.push(val);\n }\n return val;\n });\n } catch(e) { return String(obj); }\n },\n promisify: function(fn) {\n return function() {\n var args = Array.prototype.slice.call(arguments);\n return new Promise(function(resolve, reject) {\n args.push(function(err, val) { if (err) reject(err); else resolve(val); });\n fn.apply(null, args);\n });\n };\n },\n types: {\n isDate: function(v) { return v instanceof Date; },\n isRegExp: function(v) { return v instanceof RegExp; },\n isArray: function(v) { return Array.isArray(v); },\n isMap: function(v) { return typeof Map !== 'undefined' && v instanceof Map; },\n isSet: function(v) { return typeof Set !== 'undefined' && v instanceof Set; }\n },\n inherits: function(ctor, superCtor) {\n ctor.prototype = Object.create(superCtor.prototype);\n ctor.prototype.constructor = ctor;\n }\n};\nglobalThis[Symbol.for('jb:util')] = _util;\n";
17
17
  /** Buffer module — wraps Uint8Array, pure-JS UTF-8 (no TextEncoder/TextDecoder) */
18
- export declare const BUFFER_MODULE_SOURCE = "\nfunction _utf8Encode(str) {\n var bytes = [];\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n if (c < 0x80) {\n bytes.push(c);\n } else if (c < 0x800) {\n bytes.push(0xC0 | (c >> 6), 0x80 | (c & 0x3F));\n } else if (c >= 0xD800 && c <= 0xDBFF && i + 1 < str.length) {\n var lo = str.charCodeAt(++i);\n var cp = ((c - 0xD800) * 0x400) + (lo - 0xDC00) + 0x10000;\n bytes.push(0xF0 | (cp >> 18), 0x80 | ((cp >> 12) & 0x3F), 0x80 | ((cp >> 6) & 0x3F), 0x80 | (cp & 0x3F));\n } else {\n bytes.push(0xE0 | (c >> 12), 0x80 | ((c >> 6) & 0x3F), 0x80 | (c & 0x3F));\n }\n }\n return bytes;\n}\nfunction _utf8Decode(bytes) {\n var str = '';\n var i = 0;\n while (i < bytes.length) {\n var b = bytes[i];\n if (b < 0x80) { str += String.fromCharCode(b); i++; }\n else if ((b & 0xE0) === 0xC0) { str += String.fromCharCode(((b & 0x1F) << 6) | (bytes[i+1] & 0x3F)); i += 2; }\n else if ((b & 0xF0) === 0xE0) { str += String.fromCharCode(((b & 0x0F) << 12) | ((bytes[i+1] & 0x3F) << 6) | (bytes[i+2] & 0x3F)); i += 3; }\n else if ((b & 0xF8) === 0xF0) { var cp = ((b & 0x07) << 18) | ((bytes[i+1] & 0x3F) << 12) | ((bytes[i+2] & 0x3F) << 6) | (bytes[i+3] & 0x3F); cp -= 0x10000; str += String.fromCharCode((cp >> 10) + 0xD800, (cp & 0x3FF) + 0xDC00); i += 4; }\n else { i++; }\n }\n return str;\n}\n// _utf8Encode/_utf8Decode are IIFE-local vars, available to all module shims\n\nfunction Buffer(arg) {\n if (typeof arg === 'number') {\n this._data = new Uint8Array(arg);\n } else if (arg instanceof ArrayBuffer) {\n this._data = new Uint8Array(arg);\n } else if (arg instanceof Uint8Array) {\n this._data = new Uint8Array(arg);\n } else if (Array.isArray(arg)) {\n this._data = new Uint8Array(arg);\n } else {\n this._data = new Uint8Array(0);\n }\n this.length = this._data.length;\n}\nBuffer.from = function(data, encoding) {\n if (typeof data === 'string') {\n return new Buffer(_utf8Encode(data));\n }\n if (data instanceof ArrayBuffer) return new Buffer(data);\n if (data instanceof Uint8Array) return new Buffer(data);\n if (Array.isArray(data)) return new Buffer(data);\n if (data && data._data) return new Buffer(data._data.slice());\n return new Buffer(0);\n};\nBuffer.alloc = function(size, fill) {\n var buf = new Buffer(size);\n if (fill !== undefined) {\n var fillByte = typeof fill === 'number' ? fill : 0;\n buf._data.fill(fillByte);\n }\n return buf;\n};\nBuffer.allocUnsafe = Buffer.alloc;\nBuffer.isBuffer = function(obj) { return obj instanceof Buffer; };\nBuffer.concat = function(list, totalLength) {\n if (!totalLength) {\n totalLength = 0;\n for (var i = 0; i < list.length; i++) totalLength += list[i].length;\n }\n var result = new Uint8Array(totalLength);\n var offset = 0;\n for (var i = 0; i < list.length; i++) {\n result.set(list[i]._data, offset);\n offset += list[i].length;\n }\n return new Buffer(result);\n};\nBuffer.byteLength = function(str) {\n return _utf8Encode(str).length;\n};\nBuffer.prototype.toString = function(encoding) {\n return _utf8Decode(this._data);\n};\nBuffer.prototype.toJSON = function() {\n return { type: 'Buffer', data: Array.from(this._data) };\n};\nBuffer.prototype.slice = function(start, end) {\n return new Buffer(this._data.slice(start, end));\n};\nBuffer.prototype.copy = function(target, targetStart, sourceStart, sourceEnd) {\n targetStart = targetStart || 0;\n sourceStart = sourceStart || 0;\n sourceEnd = sourceEnd || this.length;\n var sub = this._data.subarray(sourceStart, sourceEnd);\n target._data.set(sub, targetStart);\n return sub.length;\n};\nBuffer.prototype.write = function(str, offset) {\n var bytes = _utf8Encode(str);\n offset = offset || 0;\n this._data.set(bytes, offset);\n return bytes.length;\n};\nBuffer.prototype.fill = function(val, offset, end) {\n this._data.fill(typeof val === 'number' ? val : 0, offset, end);\n return this;\n};\nBuffer.prototype.equals = function(other) {\n if (this.length !== other.length) return false;\n for (var i = 0; i < this.length; i++) {\n if (this._data[i] !== other._data[i]) return false;\n }\n return true;\n};\nBuffer.prototype.readUInt8 = function(offset) { return this._data[offset]; };\nBuffer.prototype.writeUInt8 = function(value, offset) { this._data[offset] = value; return offset + 1; };\nglobalThis[Symbol.for('jb:buffer')] = { Buffer: Buffer };\nglobalThis.Buffer = Buffer;\n";
18
+ export declare const BUFFER_MODULE_SOURCE = "\nfunction _utf8Encode(str) {\n var bytes = [];\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n if (c < 0x80) {\n bytes.push(c);\n } else if (c < 0x800) {\n bytes.push(0xC0 | (c >> 6), 0x80 | (c & 0x3F));\n } else if (c >= 0xD800 && c <= 0xDBFF && i + 1 < str.length) {\n var lo = str.charCodeAt(++i);\n var cp = ((c - 0xD800) * 0x400) + (lo - 0xDC00) + 0x10000;\n bytes.push(0xF0 | (cp >> 18), 0x80 | ((cp >> 12) & 0x3F), 0x80 | ((cp >> 6) & 0x3F), 0x80 | (cp & 0x3F));\n } else {\n bytes.push(0xE0 | (c >> 12), 0x80 | ((c >> 6) & 0x3F), 0x80 | (c & 0x3F));\n }\n }\n return bytes;\n}\nfunction _utf8Decode(bytes) {\n var str = '';\n var i = 0;\n while (i < bytes.length) {\n var b = bytes[i];\n if (b < 0x80) { str += String.fromCharCode(b); i++; }\n else if ((b & 0xE0) === 0xC0) { str += String.fromCharCode(((b & 0x1F) << 6) | (bytes[i+1] & 0x3F)); i += 2; }\n else if ((b & 0xF0) === 0xE0) { str += String.fromCharCode(((b & 0x0F) << 12) | ((bytes[i+1] & 0x3F) << 6) | (bytes[i+2] & 0x3F)); i += 3; }\n else if ((b & 0xF8) === 0xF0) { var cp = ((b & 0x07) << 18) | ((bytes[i+1] & 0x3F) << 12) | ((bytes[i+2] & 0x3F) << 6) | (bytes[i+3] & 0x3F); cp -= 0x10000; str += String.fromCharCode((cp >> 10) + 0xD800, (cp & 0x3FF) + 0xDC00); i += 4; }\n else { i++; }\n }\n return str;\n}\n// _utf8Encode/_utf8Decode are IIFE-local vars, available to all module shims\n// IMPORTANT: round-trip tests (encode then decode) mask broken encodings\n// because both sides become no-ops. Encoding tests MUST assert the encoded\n// constant directly.\nfunction _normEnc(enc) {\n if (enc === undefined || enc === null) return 'utf8';\n var e = String(enc).toLowerCase();\n if (e === 'utf8' || e === 'utf-8') return 'utf8';\n if (e === 'utf16le' || e === 'utf-16le' || e === 'ucs2' || e === 'ucs-2') return 'utf16le';\n if (e === 'latin1' || e === 'binary') return 'latin1';\n if (e === 'ascii') return 'ascii';\n if (e === 'base64') return 'base64';\n if (e === 'base64url') return 'base64url';\n if (e === 'hex') return 'hex';\n return undefined;\n}\nfunction _badEnc(enc) {\n throw new TypeError(\"Unknown encoding: \" + enc);\n}\nvar _HEX = '0123456789abcdef';\nfunction _hexEncode(bytes) {\n var s = '';\n for (var i = 0; i < bytes.length; i++) {\n var b = bytes[i] & 0xff;\n s += _HEX.charAt(b >> 4) + _HEX.charAt(b & 0x0f);\n }\n return s;\n}\nfunction _hexDecode(str) {\n var out = [];\n for (var i = 0; i + 1 < str.length; i += 2) {\n var hi = _hexVal(str.charCodeAt(i));\n var lo = _hexVal(str.charCodeAt(i + 1));\n if (hi < 0 || lo < 0) break;\n out.push((hi << 4) | lo);\n }\n return out;\n}\nfunction _hexVal(c) {\n if (c >= 48 && c <= 57) return c - 48;\n if (c >= 97 && c <= 102) return c - 87;\n if (c >= 65 && c <= 70) return c - 55;\n return -1;\n}\nfunction _rawEncode(str) {\n var out = new Array(str.length);\n for (var i = 0; i < str.length; i++) out[i] = str.charCodeAt(i) & 0xff;\n return out;\n}\nfunction _latin1Decode(bytes) {\n var s = '';\n for (var i = 0; i < bytes.length; i++) s += String.fromCharCode(bytes[i] & 0xff);\n return s;\n}\nfunction _asciiDecode(bytes) {\n var s = '';\n for (var i = 0; i < bytes.length; i++) s += String.fromCharCode(bytes[i] & 0x7f);\n return s;\n}\nfunction _utf16leEncode(str) {\n var out = new Array(str.length * 2);\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n out[i * 2] = c & 0xff;\n out[i * 2 + 1] = (c >> 8) & 0xff;\n }\n return out;\n}\nfunction _utf16leDecode(bytes) {\n var s = '';\n var end = bytes.length & ~1;\n for (var i = 0; i < end; i += 2) {\n s += String.fromCharCode(bytes[i] | (bytes[i + 1] << 8));\n }\n return s;\n}\nvar _B64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nvar _B64DEC = null;\nfunction _b64DecTable() {\n if (_B64DEC) return _B64DEC;\n var t = new Array(256);\n for (var i = 0; i < 256; i++) t[i] = -1;\n for (var j = 0; j < 64; j++) t[_B64.charCodeAt(j)] = j;\n t[45] = 62;\n t[95] = 63;\n _B64DEC = t;\n return t;\n}\nfunction _b64Encode(bytes) {\n var s = '';\n var i = 0, len = bytes.length;\n while (i + 2 < len) {\n var n = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n s += _B64.charAt((n >> 18) & 63) + _B64.charAt((n >> 12) & 63)\n + _B64.charAt((n >> 6) & 63) + _B64.charAt(n & 63);\n i += 3;\n }\n var rem = len - i;\n if (rem === 1) {\n var n1 = bytes[i] << 16;\n s += _B64.charAt((n1 >> 18) & 63) + _B64.charAt((n1 >> 12) & 63) + '==';\n } else if (rem === 2) {\n var n2 = (bytes[i] << 16) | (bytes[i + 1] << 8);\n s += _B64.charAt((n2 >> 18) & 63) + _B64.charAt((n2 >> 12) & 63)\n + _B64.charAt((n2 >> 6) & 63) + '=';\n }\n return s;\n}\nfunction _b64UrlEncode(bytes) {\n var s = _b64Encode(bytes);\n return s.replace(/=+$/, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n}\nfunction _b64Decode(str) {\n var t = _b64DecTable();\n var out = [];\n var buf = 0, bits = 0;\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n if (c === 61) break;\n var v = c < 256 ? t[c] : -1;\n if (v < 0) continue;\n buf = (buf << 6) | v;\n bits += 6;\n if (bits >= 8) {\n bits -= 8;\n out.push((buf >> bits) & 0xff);\n }\n }\n return out;\n}\n\nfunction Buffer(arg) {\n if (typeof arg === 'number') {\n this._data = new Uint8Array(arg);\n } else if (arg instanceof ArrayBuffer) {\n this._data = new Uint8Array(arg);\n } else if (arg instanceof Uint8Array) {\n this._data = new Uint8Array(arg);\n } else if (Array.isArray(arg)) {\n this._data = new Uint8Array(arg);\n } else {\n this._data = new Uint8Array(0);\n }\n this.length = this._data.length;\n}\nBuffer.from = function(data, encoding) {\n if (typeof data === 'string') {\n var enc = _normEnc(encoding);\n if (enc === undefined) _badEnc(encoding);\n if (enc === 'utf8') return new Buffer(_utf8Encode(data));\n if (enc === 'utf16le') return new Buffer(_utf16leEncode(data));\n if (enc === 'latin1') return new Buffer(_rawEncode(data));\n if (enc === 'ascii') return new Buffer(_rawEncode(data));\n if (enc === 'hex') return new Buffer(_hexDecode(data));\n if (enc === 'base64' || enc === 'base64url') return new Buffer(_b64Decode(data));\n }\n if (data instanceof ArrayBuffer) {\n var off = typeof encoding === 'number' ? encoding : 0;\n var len = arguments.length > 2 ? arguments[2] : undefined;\n var view = len === undefined ? new Uint8Array(data, off) : new Uint8Array(data, off, len);\n var buf = Object.create(Buffer.prototype);\n buf._data = view;\n buf.length = view.length;\n return buf;\n }\n if (data instanceof Uint8Array) return new Buffer(data);\n if (Array.isArray(data)) return new Buffer(data);\n if (data && data._data) return new Buffer(data._data.slice());\n return new Buffer(0);\n};\nBuffer.alloc = function(size, fill) {\n var buf = new Buffer(size);\n if (fill !== undefined) {\n var fillByte = typeof fill === 'number' ? fill : 0;\n buf._data.fill(fillByte);\n }\n return buf;\n};\nBuffer.allocUnsafe = Buffer.alloc;\nBuffer.isBuffer = function(obj) { return obj instanceof Buffer; };\nBuffer.concat = function(list, totalLength) {\n if (!totalLength) {\n totalLength = 0;\n for (var i = 0; i < list.length; i++) totalLength += list[i].length;\n }\n var result = new Uint8Array(totalLength);\n var offset = 0;\n for (var i = 0; i < list.length; i++) {\n result.set(list[i]._data, offset);\n offset += list[i].length;\n }\n return new Buffer(result);\n};\nBuffer.byteLength = function(value, encoding) {\n if (typeof value !== 'string') {\n if (value && value._data) return value._data.length;\n if (value instanceof Uint8Array || value instanceof ArrayBuffer) {\n return value.byteLength;\n }\n throw new TypeError('The \"string\" argument must be of type string or an instance of Buffer or ArrayBuffer. Received type ' + typeof value + ' (' + value + ')');\n }\n var enc = _normEnc(encoding);\n if (enc === undefined) _badEnc(encoding);\n if (enc === 'utf8') return _utf8Encode(value).length;\n if (enc === 'utf16le') return value.length * 2;\n if (enc === 'latin1' || enc === 'ascii') return value.length;\n if (enc === 'hex') return (value.length / 2) | 0;\n if (enc === 'base64' || enc === 'base64url') {\n var clean = value.replace(/[^A-Za-z0-9+/=_-]/g, '').replace(/=+$/, '');\n return Math.floor(clean.length * 3 / 4);\n }\n};\nBuffer.prototype.toString = function(encoding, start, end) {\n var bytes = this._data;\n if (start !== undefined || end !== undefined) {\n var len = bytes.length;\n var s = start === undefined ? 0 : (start < 0 ? 0 : (start > len ? len : start | 0));\n var e = end === undefined ? len : (end < 0 ? 0 : (end > len ? len : end | 0));\n bytes = e <= s ? bytes.subarray(0, 0) : bytes.subarray(s, e);\n }\n var enc = _normEnc(encoding);\n if (enc === undefined) _badEnc(encoding);\n if (enc === 'utf8') return _utf8Decode(bytes);\n if (enc === 'utf16le') return _utf16leDecode(bytes);\n if (enc === 'latin1') return _latin1Decode(bytes);\n if (enc === 'ascii') return _asciiDecode(bytes);\n if (enc === 'hex') return _hexEncode(bytes);\n if (enc === 'base64') return _b64Encode(bytes);\n if (enc === 'base64url') return _b64UrlEncode(bytes);\n};\nBuffer.prototype.toJSON = function() {\n return { type: 'Buffer', data: Array.from(this._data) };\n};\nBuffer.prototype.slice = function(start, end) {\n return new Buffer(this._data.slice(start, end));\n};\nBuffer.prototype.copy = function(target, targetStart, sourceStart, sourceEnd) {\n targetStart = targetStart || 0;\n sourceStart = sourceStart || 0;\n sourceEnd = sourceEnd || this.length;\n var sub = this._data.subarray(sourceStart, sourceEnd);\n target._data.set(sub, targetStart);\n return sub.length;\n};\nBuffer.prototype.write = function(str, offset, length, encoding) {\n if (typeof offset === 'string') { encoding = offset; offset = 0; length = undefined; }\n else if (typeof length === 'string') { encoding = length; length = undefined; }\n offset = offset | 0;\n if (offset < 0 || offset > this._data.length) {\n throw new RangeError('The value of \"offset\" is out of range. It must be >= 0 && <= ' + this._data.length + '. Received ' + offset);\n }\n var enc = _normEnc(encoding);\n if (enc === undefined) _badEnc(encoding);\n var bytes;\n if (enc === 'utf8') bytes = _utf8Encode(str);\n else if (enc === 'utf16le') bytes = _utf16leEncode(str);\n else if (enc === 'latin1') bytes = _rawEncode(str);\n else if (enc === 'ascii') bytes = _rawEncode(str);\n else if (enc === 'hex') bytes = _hexDecode(str);\n else bytes = _b64Decode(str);\n var max = this._data.length - offset;\n if (length !== undefined) {\n length = length | 0;\n if (length < 0 || length > this._data.length) {\n throw new RangeError('The value of \"length\" is out of range. It must be >= 0 && <= ' + this._data.length + '. Received ' + length);\n }\n }\n var write = Math.min(length === undefined ? max : length, bytes.length, max);\n for (var i = 0; i < write; i++) this._data[offset + i] = bytes[i];\n return write;\n};\nBuffer.prototype.fill = function(val, offset, end) {\n this._data.fill(typeof val === 'number' ? val : 0, offset, end);\n return this;\n};\nBuffer.prototype.equals = function(other) {\n if (this.length !== other.length) return false;\n for (var i = 0; i < this.length; i++) {\n if (this._data[i] !== other._data[i]) return false;\n }\n return true;\n};\nBuffer.prototype.readUInt8 = function(offset) { return this._data[offset]; };\nBuffer.prototype.writeUInt8 = function(value, offset) { this._data[offset] = value; return offset + 1; };\nglobalThis[Symbol.for('jb:buffer')] = { Buffer: Buffer };\nglobalThis.Buffer = Buffer;\n";
19
19
  /** Stream module — minimal stubs based on EventEmitter */
20
20
  export declare const STREAM_MODULE_SOURCE = "\nvar _EE = globalThis[Symbol.for('jb:events')].EventEmitter;\n\nfunction Stream() { _EE.call(this); }\nStream.prototype = Object.create(_EE.prototype);\nStream.prototype.constructor = Stream;\nStream.prototype.pipe = function(dest) {\n this.on('data', function(chunk) { dest.write(chunk); });\n this.on('end', function() { if (dest.end) dest.end(); });\n return dest;\n};\n\nfunction Readable(opts) {\n Stream.call(this);\n this.readable = true;\n this._readableState = { ended: false, buffer: [] };\n}\nReadable.prototype = Object.create(Stream.prototype);\nReadable.prototype.constructor = Readable;\nReadable.prototype.read = function() { return null; };\nReadable.prototype.push = function(chunk) {\n if (chunk === null) { this._readableState.ended = true; this.emit('end'); return false; }\n this.emit('data', chunk);\n return true;\n};\nReadable.prototype.destroy = function() { this.emit('close'); return this; };\n\nfunction Writable(opts) {\n Stream.call(this);\n this.writable = true;\n this._writableState = { ended: false };\n}\nWritable.prototype = Object.create(Stream.prototype);\nWritable.prototype.constructor = Writable;\nWritable.prototype.write = function(chunk) { return true; };\nWritable.prototype.end = function(chunk) {\n if (chunk) this.write(chunk);\n this._writableState.ended = true;\n this.emit('finish');\n return this;\n};\nWritable.prototype.destroy = function() { this.emit('close'); return this; };\n\nfunction Duplex(opts) {\n Readable.call(this, opts);\n Writable.call(this, opts);\n}\nDuplex.prototype = Object.create(Readable.prototype);\nvar _wKeys = Object.keys(Writable.prototype);\nfor (var _wi = 0; _wi < _wKeys.length; _wi++) {\n if (!Duplex.prototype[_wKeys[_wi]]) Duplex.prototype[_wKeys[_wi]] = Writable.prototype[_wKeys[_wi]];\n}\nDuplex.prototype.constructor = Duplex;\n\nfunction Transform(opts) { Duplex.call(this, opts); }\nTransform.prototype = Object.create(Duplex.prototype);\nTransform.prototype.constructor = Transform;\nTransform.prototype._transform = function(chunk, encoding, cb) { if (cb) cb(null, chunk); };\n\nfunction PassThrough(opts) { Transform.call(this, opts); }\nPassThrough.prototype = Object.create(Transform.prototype);\nPassThrough.prototype.constructor = PassThrough;\n\nfunction pipeline() {\n var streams = Array.prototype.slice.call(arguments);\n var cb = typeof streams[streams.length - 1] === 'function' ? streams.pop() : null;\n for (var i = 0; i < streams.length - 1; i++) streams[i].pipe(streams[i + 1]);\n if (cb) {\n var last = streams[streams.length - 1];\n last.on('finish', function() { cb(null); });\n last.on('error', function(e) { cb(e); });\n }\n return streams[streams.length - 1];\n}\n\nglobalThis[Symbol.for('jb:stream')] = {\n Stream: Stream, Readable: Readable, Writable: Writable,\n Duplex: Duplex, Transform: Transform, PassThrough: PassThrough,\n pipeline: pipeline\n};\n";
21
21
  /** StringDecoder module — uses _utf8Decode from Buffer shim */
@@ -713,8 +713,9 @@ var WorkerDefenseInDepth = class {
713
713
  }
714
714
  },
715
715
  set(target, prop, value, receiver) {
716
+ const setValue = () => path === "process.env" && prop === "DEBUG" ? Reflect.set(target, prop, value) : Reflect.set(target, prop, value, receiver);
716
717
  if (self.inTrap) {
717
- return Reflect.set(target, prop, value, receiver);
718
+ return setValue();
718
719
  }
719
720
  self.inTrap = true;
720
721
  try {
@@ -728,7 +729,7 @@ var WorkerDefenseInDepth = class {
728
729
  if (!auditMode) {
729
730
  throw new WorkerSecurityViolationError(message, violation);
730
731
  }
731
- return Reflect.set(target, prop, value, receiver);
732
+ return setValue();
732
733
  } finally {
733
734
  self.inTrap = false;
734
735
  }
@@ -27,7 +27,7 @@ export interface TarOptions {
27
27
  excludeFrom: string;
28
28
  wildcards: boolean;
29
29
  }
30
- export declare function parseOptions(args: string[]): {
30
+ export declare function parseOptions(rawArgs: string[]): {
31
31
  ok: true;
32
32
  options: TarOptions;
33
33
  files: string[];
@@ -89,6 +89,20 @@ export declare function stdoutAsBytes(result: {
89
89
  stdoutKind?: OutputKind;
90
90
  stdoutEncoding?: "binary";
91
91
  }): ByteString;
92
+ /**
93
+ * Normalize a command's stdout to decoded UTF-8 text, consulting its explicit
94
+ * `stdoutKind` (or legacy `stdoutEncoding`) rather than guessing from string
95
+ * contents. Byte-shaped output is UTF-8 decoded once (falling back to the raw
96
+ * latin1 view for non-UTF-8 bytes); text-shaped output is returned unchanged so
97
+ * it is never re-decoded. Used at the statement/script concatenation and
98
+ * command-substitution boundaries so interleaved text and byte producers
99
+ * combine into a single, consistently-decoded string.
100
+ */
101
+ export declare function decodedTextFromResult(result: {
102
+ stdout: string;
103
+ stdoutKind?: OutputKind;
104
+ stdoutEncoding?: "binary";
105
+ }): string;
92
106
  /**
93
107
  * Build an `ExecResult`-shaped object whose stdout is decoded text. Sets
94
108
  * `stdoutKind: "text"` so the pipe knows to UTF-8 encode it on handoff
@@ -31,6 +31,20 @@ export type ErrorFn = (message: string) => never;
31
31
  * @returns true if this should be parsed as command substitution, false for arithmetic
32
32
  */
33
33
  export declare function isDollarDparenSubshell(value: string, start: number): boolean;
34
+ /**
35
+ * Read a heredoc delimiter starting at `pos` (the first character after the
36
+ * `<<` / `<<-` operator and any leading blanks). Returns the *unquoted*
37
+ * delimiter — the exact string a terminator line must equal — and the index
38
+ * just past the delimiter token.
39
+ *
40
+ * Quoting only controls whether the body is expanded, which is irrelevant to
41
+ * finding the substitution boundary, so `'EOF'`, `"EOF"`, and `\EOF` all yield
42
+ * the delimiter `EOF`.
43
+ */
44
+ export declare function readHeredocDelimiter(value: string, pos: number): {
45
+ delim: string;
46
+ endPos: number;
47
+ };
34
48
  /**
35
49
  * Parse a command substitution starting at the given position.
36
50
  * Handles $(...) syntax with proper depth tracking for nested substitutions.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "just-bash",
3
- "version": "3.0.1",
3
+ "version": "3.0.3",
4
4
  "description": "A simulated bash environment with virtual filesystem",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env node
2
- import{createRequire} from"node:module";const require=createRequire(import.meta.url);
3
- import{a as m,b as k,c as p}from"./chunk-MUFNRCMY.js";var g={name:"date",summary:"display the current time in the given FORMAT",usage:"date [OPTION]... [+FORMAT]",options:["-d, --date=STRING display time described by STRING","-u, --utc print Coordinated Universal Time (UTC)","-I, --iso-8601 output date/time in ISO 8601 format","-R, --rfc-email output RFC 5322 date format"," --help display this help and exit"]},T=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],S=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function s(a,i=2){return String(a).padStart(i,"0")}function b(a,i,n){let t={Y:a.getUTCFullYear(),m:a.getUTCMonth(),D:a.getUTCDate(),H:a.getUTCHours(),M:a.getUTCMinutes(),S:a.getUTCSeconds(),w:a.getUTCDay()},e="",l=0;for(;l<i.length;){if(i[l]==="%"&&l+1<i.length){let o=i[++l];switch(o){case"%":e+="%";break;case"a":e+=T[t.w];break;case"b":case"h":e+=S[t.m];break;case"d":e+=s(t.D);break;case"e":e+=String(t.D).padStart(2," ");break;case"F":e+=`${t.Y}-${s(t.m+1)}-${s(t.D)}`;break;case"H":e+=s(t.H);break;case"I":e+=s(t.H%12||12);break;case"m":e+=s(t.m+1);break;case"M":e+=s(t.M);break;case"n":e+=`
4
- `;break;case"p":e+=t.H<12?"AM":"PM";break;case"P":e+=t.H<12?"am":"pm";break;case"R":e+=`${s(t.H)}:${s(t.M)}`;break;case"s":e+=Math.floor(a.getTime()/1e3);break;case"S":e+=s(t.S);break;case"t":e+=" ";break;case"T":e+=`${s(t.H)}:${s(t.M)}:${s(t.S)}`;break;case"u":e+=t.w||7;break;case"w":e+=t.w;break;case"y":e+=s(t.Y%100);break;case"Y":e+=t.Y;break;case"z":e+="+0000";break;case"Z":e+="UTC";break;default:e+=`%${o}`}}else e+=i[l];l++}return e}function h(a){let i=new Date(a);if(!Number.isNaN(i.getTime()))return i;if(/^\d+$/.test(a))return new Date(Number.parseInt(a,10)*1e3);let n=a.toLowerCase();return n==="now"||n==="today"?new Date:n==="yesterday"?new Date(Date.now()-864e5):n==="tomorrow"?new Date(Date.now()+864e5):null}var M={name:"date",async execute(a,i){if(k(a))return m(g);let n=!1,t=null,e=null,l=!1,o=!1;for(let f=0;f<a.length;f++){let r=a[f];if(r==="-u"||r==="--utc")n=!0;else if(r==="-d"||r==="--date")t=a[++f]??"";else if(r.startsWith("--date="))t=r.slice(7);else if(r==="-I"||r==="--iso-8601")l=!0;else if(r==="-R"||r==="--rfc-email")o=!0;else if(r.startsWith("+"))e=r.slice(1);else{if(r.startsWith("--"))return p("date",r);if(r.startsWith("-"))for(let d of r.slice(1))if(d==="u")n=!0;else if(d==="I")l=!0;else if(d==="R")o=!0;else return p("date",`-${d}`)}}let u=t!==null?h(t):new Date;if(!u)return{stdout:"",stderr:`date: invalid date '${t}'
5
- `,exitCode:1};let c;return e?c=b(u,e,n):l?c=b(u,"%Y-%m-%dT%H:%M:%S%z",n):o?c=b(u,"%a, %d %b %Y %H:%M:%S %z",n):c=b(u,"%a %b %e %H:%M:%S %Z %Y",n),{stdout:`${c}
6
- `,stderr:"",exitCode:0}}},D={name:"date",flags:[{flag:"-d",type:"value",valueHint:"string"},{flag:"-u",type:"boolean"},{flag:"-I",type:"boolean"},{flag:"-R",type:"boolean"}]};export{M as a,D as b};
@@ -1,19 +0,0 @@
1
- #!/usr/bin/env node
2
- import{createRequire} from"node:module";const require=createRequire(import.meta.url);
3
- import{a as W}from"./chunk-IEXQTXU5.js";function _(n,t){let e=n.ignoreCase?t.toLowerCase():t,i=n.needles;for(let l=0;l<i.length;l++)if(e.indexOf(i[l])!==-1)return!0;return!1}function D(n,t){return n.replace(/\$(&|\d+|<([^>]+)>)/g,(e,i,l)=>{if(i==="&")return t[0];if(l!==void 0)return t.groups?.[l]??"";let o=parseInt(i,10);return t[o]??""})}function Q(n,t,e={}){let{invertMatch:i=!1,showLineNumbers:l=!1,countOnly:o=!1,countMatches:u=!1,filename:a="",onlyMatching:p=!1,beforeContext:k=0,afterContext:v=0,maxCount:A=0,contextSeparator:T="--",showColumn:O=!1,vimgrep:N=!1,showByteOffset:y=!1,replace:R=null,passthru:z=!1,multiline:U=!1,kResetGroup:P,preFilter:b}=e;if(U)return X(n,t,{invertMatch:i,showLineNumbers:l,countOnly:o,countMatches:u,filename:a,onlyMatching:p,beforeContext:k,afterContext:v,maxCount:A,contextSeparator:T,showColumn:O,showByteOffset:y,replace:R,kResetGroup:P});let M=n.split(`
4
- `),j=M.length,L=j>0&&M[j-1]===""?j-1:j;if(o||u){let c=0,s=(u||p)&&!i;for(let h=0;h<L;h++){let r=M[h];if(!(b&&!i&&!_(b,r)))if(t.lastIndex=0,s)for(let m=t.exec(r);m!==null;m=t.exec(r))c++,m[0].length===0&&t.lastIndex++;else t.test(r)!==i&&c++}return{output:`${a?`${a}:${c}`:String(c)}
5
- `,matched:c>0,matchCount:c}}if(k===0&&v===0&&!z){let c=[],s=!1,d=0,h=0;for(let r=0;r<L&&!(A>0&&d>=A);r++){let m=M[r],I=null;if(b&&!_(b,m)||(t.lastIndex=0,I=t.exec(m)),I!==null!==i)if(s=!0,d++,p)for(let g=I;g!==null;g=t.exec(m)){let F=P!==void 0?g[P]??"":g[0],E=R!==null?D(R,g):F,x=a?`${a}:`:"";y&&(x+=`${h+g.index}:`),l&&(x+=`${r+1}:`),O&&(x+=`${g.index+1}:`),c.push(x+E),g[0].length===0&&t.lastIndex++}else if(N)for(let g=I;g!==null;g=t.exec(m)){let F=a?`${a}:`:"";y&&(F+=`${h+g.index}:`),l&&(F+=`${r+1}:`),O&&(F+=`${g.index+1}:`),c.push(F+m),g[0].length===0&&t.lastIndex++}else{let g=I?I.index+1:1,F=m;R!==null&&(t.lastIndex=0,F=t.replace(m,(...x)=>{if(x[0].length===0)return"";let G=x,B=x[x.length-1];return typeof B=="object"&&B!==null?(G.groups=B,G.input=x[x.length-2],G.index=x[x.length-3]):(G.input=x[x.length-1],G.index=x[x.length-2]),D(R,G)}));let E=a?`${a}:`:"";y&&(E+=`${h+(I?I.index:0)}:`),l&&(E+=`${r+1}:`),O&&(E+=`${g}:`),c.push(E+F)}h+=m.length+1}return{output:c.length>0?`${c.join(`
6
- `)}
7
- `:"",matched:s,matchCount:d}}if(z){let c=[],s=!1,d=0;for(let h=0;h<L;h++){let r=M[h],m;b&&!_(b,r)?m=!1:(t.lastIndex=0,m=t.test(r));let I=m!==i;I&&(s=!0,d++);let Z=I?":":"-",g=a?`${a}${Z}`:"";l&&(g+=`${h+1}${Z}`),c.push(g+r)}return{output:c.length>0?`${c.join(`
8
- `)}
9
- `:"",matched:s,matchCount:d}}let C=[],S=0,w=new Set,f=-1,$=[];for(let c=0;c<L&&!(A>0&&S>=A);c++){let s=M[c],d;b&&!_(b,s)?d=!1:(t.lastIndex=0,d=t.test(s)),d!==i&&($.push(c),S++)}for(let c of $){let s=Math.max(0,c-k);f>=0&&s>f+1&&C.push(T);for(let h=s;h<c;h++)if(!w.has(h)){w.add(h),f=h;let r=M[h];l&&(r=`${h+1}-${r}`),a&&(r=`${a}-${r}`),C.push(r)}if(!w.has(c)){w.add(c),f=c;let h=M[c];if(p){t.lastIndex=0;for(let r=t.exec(h);r!==null;r=t.exec(h)){let m=P!==void 0?r[P]??"":r[0],I=R!==null?R:m,Z=a?`${a}:`:"";l&&(Z+=`${c+1}:`),O&&(Z+=`${r.index+1}:`),C.push(Z+I),r[0].length===0&&t.lastIndex++}}else{let r=h;l&&(r=`${c+1}:${r}`),a&&(r=`${a}:${r}`),C.push(r)}}let d=Math.min(L-1,c+v);for(let h=c+1;h<=d;h++)if(!w.has(h)){w.add(h),f=h;let r=M[h];l&&(r=`${h+1}-${r}`),a&&(r=`${a}-${r}`),C.push(r)}}return{output:C.length>0?`${C.join(`
10
- `)}
11
- `:"",matched:S>0,matchCount:S}}function X(n,t,e){let{invertMatch:i,showLineNumbers:l,countOnly:o,countMatches:u,filename:a,onlyMatching:p,beforeContext:k,afterContext:v,maxCount:A,contextSeparator:T,showColumn:O,showByteOffset:N,replace:y,kResetGroup:R}=e,z=n.split(`
12
- `),U=z.length,P=U>0&&z[U-1]===""?U-1:U,b=[0];for(let f=0;f<n.length;f++)n[f]===`
13
- `&&b.push(f+1);let M=f=>{let $=0;for(let c=0;c<b.length&&!(b[c]>f);c++)$=c;return $},j=f=>{let $=M(f);return f-b[$]+1},L=[];t.lastIndex=0;for(let f=t.exec(n);f!==null&&!(A>0&&L.length>=A);f=t.exec(n)){let $=M(f.index),c=M(f.index+Math.max(0,f[0].length-1)),s=R!==void 0?f[R]??"":f[0];L.push({startLine:$,endLine:c,byteOffset:f.index,column:j(f.index),matchText:s}),f[0].length===0&&t.lastIndex++}if(o||u){let f;if(u)f=i?0:L.length;else{let c=new Set;for(let s of L)for(let d=s.startLine;d<=s.endLine;d++)c.add(d);f=i?P-c.size:c.size}return{output:`${a?`${a}:${f}`:String(f)}
14
- `,matched:f>0,matchCount:f}}if(i){let f=new Set;for(let c of L)for(let s=c.startLine;s<=c.endLine;s++)f.add(s);let $=[];for(let c=0;c<P;c++)if(!f.has(c)){let s=z[c];l&&(s=`${c+1}:${s}`),a&&(s=`${a}:${s}`),$.push(s)}return{output:$.length>0?`${$.join(`
15
- `)}
16
- `:"",matched:$.length>0,matchCount:$.length}}if(L.length===0)return{output:"",matched:!1,matchCount:0};let C=new Set,S=-1,w=[];for(let f of L){let $=Math.max(0,f.startLine-k),c=Math.min(P-1,f.endLine+v);S>=0&&$>S+1&&w.push(T);for(let s=$;s<f.startLine;s++)if(!C.has(s)){C.add(s),S=s;let d=z[s];l&&(d=`${s+1}-${d}`),a&&(d=`${a}-${d}`),w.push(d)}if(p){let s=y!==null?y:f.matchText,d=a?`${a}:`:"";N&&(d+=`${f.byteOffset}:`),l&&(d+=`${f.startLine+1}:`),O&&(d+=`${f.column}:`),w.push(d+s);for(let h=f.startLine;h<=f.endLine;h++)C.add(h),S=h}else for(let s=f.startLine;s<=f.endLine&&s<P;s++)if(!C.has(s)){C.add(s),S=s;let d=z[s];y!==null&&s===f.startLine&&(t.lastIndex=0,d=t.replace(d,y));let h=a?`${a}:`:"";N&&s===f.startLine&&(h+=`${f.byteOffset}:`),l&&(h+=`${s+1}:`),O&&s===f.startLine&&(h+=`${f.column}:`),w.push(h+d)}for(let s=f.endLine+1;s<=c;s++)if(!C.has(s)){C.add(s),S=s;let d=z[s];l&&(d=`${s+1}-${d}`),a&&(d=`${a}-${d}`),w.push(d)}}return{output:w.length>0?`${w.join(`
17
- `)}
18
- `:"",matched:!0,matchCount:L.length}}var q=new Map([["alpha","a-zA-Z"],["digit","0-9"],["alnum","a-zA-Z0-9"],["lower","a-z"],["upper","A-Z"],["xdigit","0-9A-Fa-f"],["space"," \\t\\n\\r\\f\\v"],["blank"," \\t"],["punct","!-/:-@\\[-`{-~"],["graph","!-~"],["print"," -~"],["cntrl","\\x00-\\x1F\\x7F"],["ascii","\\x00-\\x7F"],["word","a-zA-Z0-9_"]]);function K(n){let t="",e=0;for(;e<n.length;){if(n.slice(e,e+7)==="[[:<:]]"){t+="\\b",e+=7;continue}if(n.slice(e,e+7)==="[[:>:]]"){t+="\\b",e+=7;continue}if(n[e]==="["){let i="[";for(e++,e<n.length&&(n[e]==="^"||n[e]==="!")&&(i+="^",e++),e<n.length&&n[e]==="]"&&(i+="\\]",e++);e<n.length&&n[e]!=="]";){if(n[e]==="["&&e+1<n.length&&n[e+1]===":"){let l=n.indexOf(":]",e+2);if(l!==-1){let o=n.slice(e+2,l),u=q.get(o);if(u){i+=u,e=l+2;continue}}}if(n[e]==="\\"&&e+1<n.length){i+=n[e]+n[e+1],e+=2;continue}i+=n[e],e++}e<n.length&&n[e]==="]"&&(i+="]",e++),t+=i;continue}if(n[e]==="\\"&&e+1<n.length){t+=n[e]+n[e+1],e+=2;continue}t+=n[e],e++}return t}function H(n,t){let e,i;switch(t.mode){case"fixed":e=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");break;case"extended":case"perl":{if(e=K(n),e=e.replace(/\(\?P<([^>]+)>/g,"(?<$1>"),t.mode==="perl"){e=ee(e),e=ne(e),e=te(e);let a=oe(e);e=a.pattern,i=a.kResetGroup}break}default:e=K(n),e=he(e);break}t.wholeWord&&(e=`\\b(?:${e})\\b`),t.lineRegexp&&(e=`^${e}$`);let l=/\\u\{[0-9A-Fa-f]+\}/.test(e),o="g"+(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.multilineDotall?"s":"")+(l?"u":""),u=J(e,t.ignoreCase??!1);return{regex:W(e,o),kResetGroup:i,preFilter:u??void 0}}function J(n,t){let e=n;if(e.startsWith("\\b(?:")&&e.endsWith(")\\b")?e=e.slice(5,e.length-3):e.startsWith("\\b")&&e.endsWith("\\b")&&e.length>=4&&(e=e.slice(2,e.length-2)),e.length===0)return null;let i=V(e);if(i===null)return null;let l=[];for(let o of i){let u=Y(o);if(u===null||u.length===0)return null;l.push(u)}return l.length===0?null:{needles:t?l.map(o=>o.toLowerCase()):l,ignoreCase:t}}function V(n){let t=[],e=0,i=!1,l=0;for(let o=0;o<n.length;o++){let u=n[o];if(u==="\\"){o++;continue}if(i){u==="]"&&(i=!1);continue}if(u==="[")i=!0;else if(u==="(")e++;else if(u===")"){if(e--,e<0)return null}else u==="|"&&e===0&&(t.push(n.slice(l,o)),l=o+1)}return e!==0||i?null:(t.push(n.slice(l)),t)}function Y(n){let t="";for(let e=0;e<n.length;e++){let i=n[e];if(i==="\\"){let l=n[e+1];if(l===void 0||/[dDwWsSbBAZzGQE0-9ckpPNXRxuU]/.test(l))return null;l==="n"?t+=`
19
- `:l==="t"?t+=" ":l==="r"?t+="\r":l==="f"?t+="\f":l==="v"?t+="\v":t+=l,e++;continue}if(/[.*+?^${}()|[\]]/.test(i))return null;t+=i}return t}function ee(n){let t="",e=0;for(;e<n.length;)if(n[e]==="\\"&&e+1<n.length&&n[e+1]==="Q"){e+=2;let i="";for(;e<n.length;){if(n[e]==="\\"&&e+1<n.length&&n[e+1]==="E"){e+=2;break}i+=n[e],e++}t+=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}else t+=n[e],e++;return t}function ne(n){return n.replace(/\\x\{([0-9A-Fa-f]+)\}/g,"\\u{$1}")}function te(n){let t="",e=0;for(;e<n.length;){if(n[e]==="("&&e+1<n.length&&n[e+1]==="?"){let i=n.slice(e).match(/^\(\?([imsx]*)(-[imsx]*)?(:|$|\))/);if(i){let l=i[1]||"",o=i[2]||"",u=i[3];if(u===":"){let a=e+i[0].length-1,p=ie(n,e);if(p!==-1){let k=n.slice(a+1,p),v=le(k,l,o);t+=`(?:${v})`,e=p+1;continue}}else if(u===")"||u===""){e+=i[0].length;continue}}}t+=n[e],e++}return t}function ie(n,t){let e=0,i=t;for(;i<n.length;){if(n[i]==="\\"){i+=2;continue}if(n[i]==="["){for(i++;i<n.length&&n[i]!=="]";)n[i]==="\\"&&i++,i++;i++;continue}if(n[i]==="(")e++;else if(n[i]===")"&&(e--,e===0))return i;i++}return-1}function le(n,t,e){let i=n;return t.includes("i")&&(i=se(i)),i}function se(n){let t="",e=0;for(;e<n.length;){let i=n[e];if(i==="\\"){e+1<n.length?(t+=i+n[e+1],e+=2):(t+=i,e++);continue}if(i==="["){t+=i,e++,e<n.length&&n[e]==="^"&&(t+=n[e],e++);let l=[];for(;e<n.length&&n[e]!=="]";)if(n[e]==="\\")l.push(n[e]),e++,e<n.length&&(l.push(n[e]),e++);else if(n[e]==="-"&&l.length>0&&e+1<n.length&&n[e+1]!=="]"){let o=l[l.length-1],u=n[e+1];l.push("-"),l.push(u),/[a-z]/.test(o)&&/[a-z]/.test(u)?(l.push(o.toUpperCase()),l.push("-"),l.push(u.toUpperCase())):/[A-Z]/.test(o)&&/[A-Z]/.test(u)&&(l.push(o.toLowerCase()),l.push("-"),l.push(u.toLowerCase())),e+=2}else{let o=n[e];if(l.push(o),/[a-zA-Z]/.test(o)){let u=o===o.toLowerCase()?o.toUpperCase():o.toLowerCase();l.includes(u)||l.push(u)}e++}t+=l.join(""),e<n.length&&(t+=n[e],e++);continue}if(/[a-zA-Z]/.test(i)){let l=i.toLowerCase(),o=i.toUpperCase();t+=`[${o}${l}]`}else t+=i;e++}return t}function oe(n){let t=fe(n);if(t===-1)return{pattern:n};let e=n.slice(0,t),i=n.slice(t+2),l=ce(e);return{pattern:`(?:${e})(${i})`,kResetGroup:l+1}}function fe(n){let t=0;for(;t<n.length-1;)if(n[t]==="\\"){if(n[t+1]==="K"){let e=0,i=t-1;for(;i>=0&&n[i]==="\\";)e++,i--;if(e%2===0)return t}t+=2}else t++;return-1}function ce(n){let t=0,e=0;for(;e<n.length;){if(n[e]==="\\"){e+=2;continue}if(n[e]==="["){for(e++;e<n.length&&n[e]!=="]";)n[e]==="\\"&&e++,e++;e++;continue}if(n[e]==="(")if(e+1<n.length&&n[e+1]==="?"){if(e+2<n.length){let i=n[e+2];if(i===":"||i==="="||i==="!"){e++;continue}if(i==="<"&&e+3<n.length){let l=n[e+3];if(l==="="||l==="!"){e++;continue}t++,e++;continue}}}else t++;e++}return t}function ue(n){let t=n.replace(/\$\{0\}|\$0(?![0-9])/g,"$$&");return t=t.replace(/\$\{([^0-9}][^}]*)\}/g,"$$<$1>"),t=t.replace(/\$([a-zA-Z_][a-zA-Z0-9_]*)(?![>0-9])/g,"$$<$1>"),t}function he(n){let t="",e=0,i=!0,l=0;for(;e<n.length;){let o=n[e];if(o==="["){for(t+=o,e++,e<n.length&&(n[e]==="^"||n[e]==="!")&&(t+=n[e],e++),e<n.length&&n[e]==="]"&&(t+=n[e],e++);e<n.length&&n[e]!=="]";)n[e]==="\\"&&e+1<n.length?(t+=n[e]+n[e+1],e+=2):(t+=n[e],e++);e<n.length&&n[e]==="]"&&(t+=n[e],e++),i=!1;continue}if(o==="\\"&&e+1<n.length){let u=n[e+1];if(u==="|"){t+="|",e+=2,i=!0;continue}if(u==="("){t+="(",e+=2,l++,i=!0;continue}if(u===")"){t+=")",e+=2,l=Math.max(0,l-1),i=!1;continue}if(u==="{"){let p=n.slice(e).match(/^\\{(\d+)(,(\d*)?)?\\}/);if(p){let k=p[1],v=p[2]!==void 0,A=p[3]||"";v?t+=`{${k},${A}}`:t+=`{${k}}`,e+=p[0].length,i=!1;continue}t+="\\{",e+=2,i=!1;continue}if(u==="}"){t+="\\}",e+=2,i=!1;continue}t+=o+u,e+=2,i=!1;continue}if(o==="*"&&i){t+="\\*",e++;continue}if(o==="^"){if(i){t+="^",e++;continue}t+="\\^",e++;continue}if(o==="$"){let u=e===n.length-1,a=e+2<n.length&&n[e+1]==="\\"&&n[e+2]===")";u||a?t+="$":t+="\\$",e++,i=!1;continue}o==="+"||o==="?"||o==="|"||o==="("||o===")"||o==="{"||o==="}"?t+=`\\${o}`:t+=o,e++,i=!1}return t}export{Q as a,H as b,ue as c};
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env node
2
- import{createRequire} from"node:module";const require=createRequire(import.meta.url);
3
- async function c(e,t){if(e.length>0&&e[0]!=="-"){let i=t.fs.resolvePath(t.cwd,e[0]);try{let o=(await t.fs.readFile(i)).split(`
4
- `);o[o.length-1]===""&&o.pop();let r=o.reverse();return{stdout:r.length>0?`${r.join(`
5
- `)}
6
- `:"",stderr:"",exitCode:0}}catch{return{stdout:"",stderr:`tac: ${e[0]}: No such file or directory
7
- `,exitCode:1}}}let n=t.stdin.split(`
8
- `);n[n.length-1]===""&&n.pop();let s=n.reverse();return{stdout:s.length>0?`${s.join(`
9
- `)}
10
- `:"",stderr:"",exitCode:0}}var u={name:"tac",execute:c},f={name:"tac",flags:[],stdinType:"text",needsFiles:!0};export{u as a,f as b};