@poe-platform/safe-bash 0.1.800 → 0.1.801

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 (459) hide show
  1. package/README.md +16 -5
  2. package/dist/image-ast/index.browser.js +119 -75
  3. package/dist/image-ast/index.js +119 -75
  4. package/dist/pdf-ast/index.js +4 -3
  5. package/dist/safe-bash/chunks/{chunk-LUOFIVNI.js → chunk-3NDIFSNM.js} +3 -3
  6. package/dist/safe-bash/chunks/{chunk-4SEW2Q6H.js → chunk-3R3AANOR.js} +1 -1
  7. package/dist/safe-bash/chunks/{chunk-HHW7MGS2.js → chunk-45PK3NWI.js} +4 -4
  8. package/dist/safe-bash/chunks/{chunk-KHMGTPD6.js → chunk-46Z5E5EV.js} +2 -2
  9. package/dist/safe-bash/chunks/{chunk-XB3B7KMM.js → chunk-6O77NL2S.js} +1 -1
  10. package/dist/safe-bash/chunks/{chunk-T3JTVIEP.js → chunk-6PAVEFT3.js} +1 -1
  11. package/dist/safe-bash/chunks/{chunk-PYVEAFJM.js → chunk-74GHTNJA.js} +3 -2
  12. package/dist/safe-bash/chunks/{chunk-LQHGH25W.js → chunk-7R5BDCG7.js} +1 -1
  13. package/dist/safe-bash/chunks/{chunk-RMWLWH7Q.js → chunk-7VNF5BFF.js} +300 -737
  14. package/dist/safe-bash/chunks/{chunk-QVSRRNZT.js → chunk-A7XEHALN.js} +4 -4
  15. package/dist/safe-bash/chunks/{chunk-MHZ24KEI.js → chunk-AM5ESLPH.js} +1 -1
  16. package/dist/safe-bash/chunks/{chunk-3L3T6LYV.js → chunk-AUSNDQTJ.js} +1 -1
  17. package/dist/safe-bash/chunks/{chunk-YG5WAHK7.js → chunk-B7TAL7S5.js} +1 -3
  18. package/dist/safe-bash/chunks/{chunk-K7IQZE7D.js → chunk-C5OWC2TL.js} +1 -1
  19. package/dist/safe-bash/chunks/{chunk-F3RV2F72.js → chunk-CHYGPFVM.js} +1 -1
  20. package/dist/safe-bash/chunks/{chunk-M4CFCXHN.js → chunk-CS4MNM6I.js} +1 -1
  21. package/dist/safe-bash/chunks/{chunk-H6JW3E4F.js → chunk-CTVWDACF.js} +1 -1
  22. package/dist/safe-bash/chunks/{chunk-BHJE5LPZ.js → chunk-D3ANYGMC.js} +1 -1
  23. package/dist/safe-bash/chunks/{chunk-NLAW7KDI.js → chunk-E7OYNDGL.js} +1 -1
  24. package/dist/safe-bash/chunks/{chunk-SOZK5JVX.js → chunk-FBUCWVTE.js} +1 -1
  25. package/dist/safe-bash/chunks/{chunk-RKKRJ54E.js → chunk-FNDNHAGE.js} +30 -23
  26. package/dist/safe-bash/chunks/{chunk-KCVSVD65.js → chunk-I5HZ4FGE.js} +1 -1
  27. package/dist/safe-bash/chunks/{chunk-JJSTTIEZ.js → chunk-ICFDYV64.js} +1 -1
  28. package/dist/safe-bash/chunks/{chunk-TYD7EVUJ.js → chunk-IVRQ4BXL.js} +1 -1
  29. package/dist/safe-bash/chunks/{chunk-KV7PKOHV.js → chunk-IWDICZVK.js} +1 -1
  30. package/dist/safe-bash/chunks/{chunk-I4OAEOP6.js → chunk-J42RIHHJ.js} +1 -1
  31. package/dist/safe-bash/chunks/{chunk-K2VCOJ2B.js → chunk-K6VCD7IY.js} +7 -12
  32. package/dist/safe-bash/chunks/{chunk-63FXVDGF.js → chunk-LVOBFF4D.js} +1 -1
  33. package/dist/safe-bash/chunks/{chunk-U5NUZPCC.js → chunk-MHMMRCYC.js} +1 -1
  34. package/dist/safe-bash/chunks/{chunk-6HZYFL3H.js → chunk-NR3EM4LS.js} +1 -1
  35. package/dist/safe-bash/chunks/{chunk-VYZTG3GV.js → chunk-NZQXYWA3.js} +1 -1
  36. package/dist/safe-bash/chunks/{chunk-TFGRKY43.js → chunk-OQRVVGR6.js} +1 -1
  37. package/dist/safe-bash/chunks/{chunk-PPYM75Z3.js → chunk-OV6IHKO6.js} +2 -2
  38. package/dist/safe-bash/chunks/{chunk-KW24TAIU.js → chunk-PQRAK7HU.js} +920 -432
  39. package/dist/safe-bash/chunks/{chunk-K4YMYFRJ.js → chunk-SZH7EJLD.js} +116 -697
  40. package/dist/safe-bash/chunks/{chunk-7YSRXFEG.js → chunk-TFIBK2GI.js} +1 -1
  41. package/dist/safe-bash/chunks/{chunk-I7L3G3NX.js → chunk-UE5KZDEK.js} +2 -2
  42. package/dist/safe-bash/chunks/{chunk-QU3BVQ53.js → chunk-UTBUUFDM.js} +1 -1
  43. package/dist/safe-bash/chunks/{chunk-JTLSUJ7V.js → chunk-VQDD3G76.js} +42 -25
  44. package/dist/safe-bash/chunks/{chunk-46UISJCK.js → chunk-VTH3MLDU.js} +1 -1
  45. package/dist/safe-bash/chunks/{chunk-LLZCZ24K.js → chunk-XVOSKJE2.js} +1 -1
  46. package/dist/safe-bash/chunks/{csvkit-QGP3GAOB.js → csvkit-TACDU7FC.js} +3 -3
  47. package/dist/safe-bash/chunks/{ffmpeg-JTVH26MK.js → ffmpeg-WTC3TEFI.js} +2 -2
  48. package/dist/safe-bash/chunks/{gh-I7QX7N5C.js → gh-6WU6PXL4.js} +2 -2
  49. package/dist/safe-bash/chunks/{git-MA7NKYVP.js → git-EFZIGJW4.js} +2 -2
  50. package/dist/safe-bash/chunks/{imagemagick-Y4NPWX2Q.js → imagemagick-EIEYGWPF.js} +2 -2
  51. package/dist/safe-bash/chunks/{implementation-BWDKOVQJ.js → implementation-MLFHUQ5M.js} +2 -2
  52. package/dist/safe-bash/chunks/{mmdc-44PELHDG.js → mmdc-ROQJT5HQ.js} +2 -2
  53. package/dist/safe-bash/chunks/{pdfimages-635TRW4Q.js → pdfimages-DW7LWXFI.js} +2 -2
  54. package/dist/safe-bash/chunks/{pdfinfo-FSDAA2KY.js → pdfinfo-TIP6XLUQ.js} +2 -2
  55. package/dist/safe-bash/chunks/{pdftk-GQ5UH3VG.js → pdftk-DMG22ITZ.js} +2 -2
  56. package/dist/safe-bash/chunks/{pdftoppm-YTXQCAYT.js → pdftoppm-WNDYR72T.js} +2 -2
  57. package/dist/safe-bash/chunks/{pdftotext-CVA2G7FY.js → pdftotext-5IPZ4NI7.js} +2 -2
  58. package/dist/safe-bash/chunks/{qpdf-HZMIFG4A.js → qpdf-TTX2DIUA.js} +2 -2
  59. package/dist/safe-bash/chunks/{sips-E7UBDP33.js → sips-XYS46JPJ.js} +2 -2
  60. package/dist/safe-bash/chunks/{soffice-ELASUWUK.js → soffice-TU73E5KL.js} +2 -2
  61. package/dist/safe-bash/chunks/{wkhtmltopdf-EPO6YCMG.js → wkhtmltopdf-FSZ2CHGE.js} +2 -2
  62. package/dist/safe-bash/command-chunks/{chunk-QBGA56UH.js → chunk-2ELYGJDD.js} +7 -7
  63. package/dist/safe-bash/command-chunks/{chunk-52PCQXD2.js → chunk-2NHI5F5S.js} +2 -1
  64. package/dist/safe-bash/command-chunks/{chunk-HDKVO47G.js → chunk-2SQEIUGJ.js} +3 -3
  65. package/dist/safe-bash/command-chunks/{chunk-5LSGEIZY.js → chunk-3HHCU5YU.js} +4 -3
  66. package/dist/safe-bash/command-chunks/{chunk-TF6OA2GK.js → chunk-3NV3HYT2.js} +1 -1
  67. package/dist/safe-bash/command-chunks/{chunk-2QHG43WJ.js → chunk-4BB2SWJ5.js} +1 -1
  68. package/dist/safe-bash/command-chunks/{chunk-IEXHHNOF.js → chunk-4J5CZ2DP.js} +2 -7
  69. package/dist/safe-bash/command-chunks/{chunk-WDHI3S6Y.js → chunk-4OOUQTQO.js} +1 -1
  70. package/dist/safe-bash/command-chunks/{chunk-YMONDXET.js → chunk-4ZQWGOZB.js} +2 -2
  71. package/dist/safe-bash/command-chunks/{chunk-L6DVEBW3.js → chunk-5BSTFCXG.js} +2 -2
  72. package/dist/safe-bash/command-chunks/{chunk-Q3DII3Q7.js → chunk-5PWJG2UK.js} +1 -1
  73. package/dist/safe-bash/command-chunks/{chunk-JMPP4TCW.js → chunk-5UBXNSFZ.js} +3 -2
  74. package/dist/safe-bash/command-chunks/{chunk-3NG75MOB.js → chunk-67GQA75T.js} +1 -1
  75. package/dist/safe-bash/command-chunks/{chunk-L6SU4S26.js → chunk-6B7WQIKB.js} +0 -7
  76. package/dist/safe-bash/command-chunks/{chunk-V6MSPQLA.js → chunk-6BNTBWIK.js} +4 -39
  77. package/dist/safe-bash/command-chunks/{chunk-JN7WIP6S.js → chunk-6KJ3LPI2.js} +2 -2
  78. package/dist/safe-bash/command-chunks/{chunk-HLDTOR7M.js → chunk-6ZVI7LUY.js} +1 -1
  79. package/dist/safe-bash/command-chunks/{chunk-X6NJC3IC.js → chunk-75OFBY5R.js} +1 -1
  80. package/dist/safe-bash/command-chunks/{chunk-MRW5HD2D.js → chunk-7O3E4LPT.js} +4 -22
  81. package/dist/safe-bash/command-chunks/{chunk-TEVJJPTC.js → chunk-7U7EXOXX.js} +1 -1
  82. package/dist/safe-bash/command-chunks/{chunk-6CYTRQ24.js → chunk-7VTKQUA5.js} +20 -17
  83. package/dist/safe-bash/command-chunks/{chunk-BZPAWTUL.js → chunk-AEF5BA3D.js} +1 -1
  84. package/dist/safe-bash/command-chunks/{chunk-63R3FEZJ.js → chunk-AIV5BF5W.js} +1 -1
  85. package/dist/safe-bash/command-chunks/{chunk-AYUTO323.js → chunk-AKJG2XD3.js} +2 -18
  86. package/dist/safe-bash/command-chunks/{chunk-J34TZVMW.js → chunk-ALDC4XP4.js} +0 -5
  87. package/dist/safe-bash/command-chunks/{chunk-CKXV2CLD.js → chunk-ARBYOQUZ.js} +1 -1
  88. package/dist/safe-bash/command-chunks/{chunk-44AHAB5O.js → chunk-BDSMROQZ.js} +1 -4
  89. package/dist/safe-bash/command-chunks/{chunk-53P53XFM.js → chunk-BPE5INLI.js} +1 -1
  90. package/dist/safe-bash/command-chunks/{chunk-OT4LZMLB.js → chunk-BR73BIOW.js} +1 -1
  91. package/dist/safe-bash/command-chunks/{chunk-WB5SVIG7.js → chunk-C5YYCQHW.js} +498 -88
  92. package/dist/safe-bash/command-chunks/{chunk-EUSPTFAX.js → chunk-CAP7ZJSY.js} +7 -7
  93. package/dist/safe-bash/command-chunks/{chunk-DWFLVJC6.js → chunk-CCRHMAU5.js} +2 -1
  94. package/dist/safe-bash/command-chunks/{chunk-GI4CJED2.js → chunk-CQTRW45K.js} +1 -1
  95. package/dist/safe-bash/command-chunks/{chunk-N2F74VRO.js → chunk-CZ7EN3JG.js} +1 -1
  96. package/dist/safe-bash/command-chunks/{chunk-KKG4BAFZ.js → chunk-DIEPXUM4.js} +6 -0
  97. package/dist/safe-bash/command-chunks/{chunk-QJAFJP2G.js → chunk-DZCY63VJ.js} +12 -10
  98. package/dist/safe-bash/command-chunks/{chunk-QUENU6GM.js → chunk-E55UKBIE.js} +3 -3
  99. package/dist/safe-bash/command-chunks/{chunk-HLGKIZ25.js → chunk-F6OYH562.js} +2 -0
  100. package/dist/safe-bash/command-chunks/{chunk-MC3VWLIZ.js → chunk-FDBUV4HJ.js} +28 -19
  101. package/dist/safe-bash/command-chunks/{chunk-7FKUC34S.js → chunk-FPVUD6TH.js} +6 -3
  102. package/dist/safe-bash/command-chunks/{chunk-E2LB7FRT.js → chunk-FXOA7RBK.js} +1 -1
  103. package/dist/safe-bash/command-chunks/{chunk-QWIDNAAK.js → chunk-FZTK4MFI.js} +3 -3
  104. package/dist/safe-bash/command-chunks/{chunk-K543PB3I.js → chunk-G66QUHIZ.js} +6 -35
  105. package/dist/safe-bash/command-chunks/{chunk-YJDV76GL.js → chunk-GFQZCKO6.js} +29 -19
  106. package/dist/safe-bash/command-chunks/{chunk-FKKB5X5V.js → chunk-GOB777HR.js} +1 -1
  107. package/dist/safe-bash/command-chunks/{chunk-IYPAQ7PH.js → chunk-GRBWW4SG.js} +6 -0
  108. package/dist/safe-bash/command-chunks/{chunk-PPNBNFAU.js → chunk-GYQ2HAKQ.js} +8 -8
  109. package/dist/safe-bash/command-chunks/{chunk-PJJUYO3R.js → chunk-II77KPZN.js} +2 -2
  110. package/dist/safe-bash/command-chunks/{chunk-VL67NWNS.js → chunk-JDYXY44P.js} +2 -2
  111. package/dist/safe-bash/command-chunks/{chunk-4QJOYXVB.js → chunk-JV7LBUTP.js} +1 -1
  112. package/dist/safe-bash/command-chunks/{chunk-IKS2YXZQ.js → chunk-K67MWWWH.js} +3 -3
  113. package/dist/safe-bash/command-chunks/{chunk-BKCNF5U3.js → chunk-KQLD3AED.js} +2 -2
  114. package/dist/safe-bash/command-chunks/{chunk-UMDIOL3O.js → chunk-KXU3IRUO.js} +1 -1
  115. package/dist/safe-bash/command-chunks/{chunk-QZF3SINC.js → chunk-LAOM65EE.js} +2 -2
  116. package/dist/safe-bash/command-chunks/{chunk-HFII3QYO.js → chunk-LWS62ISU.js} +46 -32
  117. package/dist/safe-bash/command-chunks/{chunk-BZDDAPSV.js → chunk-LWSBAWLT.js} +1 -1
  118. package/dist/safe-bash/command-chunks/{chunk-U6G67N23.js → chunk-MIXBO6U7.js} +18 -5
  119. package/dist/safe-bash/command-chunks/{chunk-JQ74HC37.js → chunk-MQFIPHIQ.js} +23 -50
  120. package/dist/safe-bash/command-chunks/{chunk-ZJBR5Q5I.js → chunk-MSFXC3OC.js} +4 -4
  121. package/dist/safe-bash/command-chunks/{chunk-NI7MKJPN.js → chunk-MTQH74CF.js} +3 -55
  122. package/dist/safe-bash/command-chunks/chunk-MWUZZWXK.js +354 -0
  123. package/dist/safe-bash/command-chunks/{chunk-RVLO4DYT.js → chunk-N4PFUSRM.js} +1 -1
  124. package/dist/safe-bash/command-chunks/{chunk-D4OP2BR3.js → chunk-NKFYQSES.js} +1 -2
  125. package/dist/safe-bash/command-chunks/{chunk-NGWB2YBL.js → chunk-O4JQSB7O.js} +1 -1
  126. package/dist/safe-bash/command-chunks/{chunk-7L24L4UO.js → chunk-OQU6UT6X.js} +2 -20
  127. package/dist/safe-bash/command-chunks/{chunk-TYCGMRLM.js → chunk-OYYV7ZAF.js} +1 -1
  128. package/dist/safe-bash/command-chunks/{chunk-SVULUDOP.js → chunk-P2N33UMN.js} +20 -81
  129. package/dist/safe-bash/command-chunks/{chunk-Q7Q5GM5S.js → chunk-P5APDEFB.js} +2 -2
  130. package/dist/safe-bash/command-chunks/{chunk-SAMH7SQE.js → chunk-PCEFOYA3.js} +237 -145
  131. package/dist/safe-bash/command-chunks/{chunk-3HXDA5PT.js → chunk-PMBFZXTK.js} +1 -1
  132. package/dist/safe-bash/command-chunks/{chunk-4Y3WVMK4.js → chunk-PV66YWHB.js} +1 -0
  133. package/dist/safe-bash/command-chunks/{chunk-AXK3H4PX.js → chunk-QJ33BHI4.js} +1 -1
  134. package/dist/safe-bash/command-chunks/{chunk-3LSOYLNV.js → chunk-QKFSRZGQ.js} +2 -2
  135. package/dist/safe-bash/command-chunks/{chunk-JZSNU2MY.js → chunk-QKJLP53H.js} +2 -2
  136. package/dist/safe-bash/command-chunks/{chunk-LC2MFKT4.js → chunk-RMWQAAO5.js} +24 -25
  137. package/dist/safe-bash/command-chunks/{chunk-QDTBMSBE.js → chunk-RO62EWX6.js} +2 -2
  138. package/dist/safe-bash/command-chunks/{chunk-4C6QI5BQ.js → chunk-RZZI24ZE.js} +4 -4
  139. package/dist/safe-bash/command-chunks/{chunk-PFAADCB5.js → chunk-SDNBCQ3X.js} +10 -24
  140. package/dist/safe-bash/command-chunks/{chunk-36O5OT7E.js → chunk-T35Y7YQD.js} +1 -1
  141. package/dist/safe-bash/command-chunks/{chunk-6HMX4CQS.js → chunk-TGSNCQSR.js} +44 -16
  142. package/dist/safe-bash/command-chunks/{chunk-5T7CRJHW.js → chunk-TIOCQVUQ.js} +4 -7
  143. package/dist/safe-bash/command-chunks/{chunk-T5H5UJQ3.js → chunk-TNOA7FCQ.js} +1 -1
  144. package/dist/safe-bash/command-chunks/{chunk-GN2TKLE7.js → chunk-TS65BJHG.js} +5 -5
  145. package/dist/safe-bash/command-chunks/{chunk-7RGB363W.js → chunk-TSCGT46G.js} +3 -2
  146. package/dist/safe-bash/command-chunks/{chunk-KBEURXFF.js → chunk-UN6WS55J.js} +3 -3
  147. package/dist/safe-bash/command-chunks/{chunk-SX2X3IH4.js → chunk-V2V5OCL3.js} +1 -1
  148. package/dist/safe-bash/command-chunks/{chunk-ERYJLO6G.js → chunk-V7A7DRTU.js} +1 -1
  149. package/dist/safe-bash/command-chunks/{chunk-5SHGJ7NO.js → chunk-VA5ZHYYA.js} +73 -33
  150. package/dist/safe-bash/command-chunks/{chunk-XETLEHZP.js → chunk-VPR5LQYX.js} +3 -2
  151. package/dist/safe-bash/command-chunks/{chunk-3DT2YOGW.js → chunk-VSRGNQCP.js} +3 -3
  152. package/dist/safe-bash/command-chunks/{chunk-J5SN3PZ3.js → chunk-VXSLJH7G.js} +53 -3
  153. package/dist/safe-bash/command-chunks/{chunk-PXYOWWMV.js → chunk-W7RAD4EW.js} +4 -3
  154. package/dist/safe-bash/command-chunks/{chunk-YGC6OS5O.js → chunk-WECIOOQB.js} +5 -8
  155. package/dist/safe-bash/command-chunks/{chunk-HHP343KT.js → chunk-WTECBRU4.js} +1 -1
  156. package/dist/safe-bash/command-chunks/{chunk-AO6Z5EQ7.js → chunk-WVE64WM2.js} +6 -5
  157. package/dist/safe-bash/command-chunks/{chunk-Z7RVSD5K.js → chunk-WVHONVZ4.js} +1 -1
  158. package/dist/safe-bash/command-chunks/{chunk-QNIMV57G.js → chunk-XNLFHHOC.js} +1 -1
  159. package/dist/safe-bash/command-chunks/{chunk-XAFSZDY2.js → chunk-XS72HTMA.js} +11 -0
  160. package/dist/safe-bash/command-chunks/{chunk-KYSPGS33.js → chunk-YIQACGEW.js} +2 -0
  161. package/dist/safe-bash/command-chunks/{chunk-NAY27PXB.js → chunk-YOFC45RK.js} +1 -1
  162. package/dist/safe-bash/command-chunks/{chunk-QI7LGHJJ.js → chunk-Z45N42QC.js} +21 -6
  163. package/dist/safe-bash/command-chunks/{chunk-67IQF5GC.js → chunk-ZYHTWNAE.js} +23 -9
  164. package/dist/safe-bash/command-chunks/{chunk-STC3LEWJ.js → chunk-ZYXH3B66.js} +5 -3
  165. package/dist/safe-bash/commands/bytes/compression/index.js +3 -2
  166. package/dist/safe-bash/commands/copy-preserve.d.ts +1 -0
  167. package/dist/safe-bash/commands/csplit/index.browser.js +2 -2
  168. package/dist/safe-bash/commands/docx/index.browser.js +1 -1
  169. package/dist/safe-bash/commands/execution.js +19 -13
  170. package/dist/safe-bash/commands/factor/index.browser.js +2 -2
  171. package/dist/safe-bash/commands/filesystem.d.ts +1 -1
  172. package/dist/safe-bash/commands/filesystem.js +17 -13
  173. package/dist/safe-bash/commands/getopt/index.browser.js +2 -2
  174. package/dist/safe-bash/commands/hexdump/index.browser.js +2 -2
  175. package/dist/safe-bash/commands/htmlq/index.d.ts +1 -1
  176. package/dist/safe-bash/commands/iconv/index.browser.js +2 -2
  177. package/dist/safe-bash/commands/line-endings/index.browser.js +2 -2
  178. package/dist/safe-bash/commands/llm/index.browser.js +2 -2
  179. package/dist/safe-bash/commands/llm/providers/index.browser.js +1 -1
  180. package/dist/safe-bash/commands/mdq/index.browser.js +3 -3
  181. package/dist/safe-bash/commands/media/index.browser.js +1 -1
  182. package/dist/safe-bash/commands/network/curl.d.ts +1 -1
  183. package/dist/safe-bash/commands/network/curl.js +1 -3
  184. package/dist/safe-bash/commands/network/index.browser.js +4 -4
  185. package/dist/safe-bash/commands/network/platform-portable.d.ts +1 -5
  186. package/dist/safe-bash/commands/network/platform-portable.js +1 -26
  187. package/dist/safe-bash/commands/network/public.d.ts +2 -2
  188. package/dist/safe-bash/commands/network/public.js +2 -2
  189. package/dist/safe-bash/commands/network/transport.js +2 -2
  190. package/dist/safe-bash/commands/network/wget.d.ts +1 -1
  191. package/dist/safe-bash/commands/network/wget.js +1 -3
  192. package/dist/safe-bash/commands/node/filesystem.js +3 -2
  193. package/dist/safe-bash/commands/node/index.browser.js +8 -8
  194. package/dist/safe-bash/commands/node/types.js +1 -1
  195. package/dist/safe-bash/commands/op/index.browser.js +3 -3
  196. package/dist/safe-bash/commands/pr/index.browser.js +2 -2
  197. package/dist/safe-bash/commands/python/host-capabilities.js +31 -14
  198. package/dist/safe-bash/commands/python/index.browser.js +11 -11
  199. package/dist/safe-bash/commands/python/manifest.d.ts +1 -0
  200. package/dist/safe-bash/commands/python/manifest.js +6 -3
  201. package/dist/safe-bash/commands/python/shell-capability.d.ts +1 -0
  202. package/dist/safe-bash/commands/python/shell-capability.js +3 -2
  203. package/dist/safe-bash/commands/python/worker.browser.js +3 -3
  204. package/dist/safe-bash/commands/regex-execution/public.browser.js +4 -4
  205. package/dist/safe-bash/commands/safejs/runtime.js +16 -7
  206. package/dist/safe-bash/commands/standard.d.ts +1 -0
  207. package/dist/safe-bash/commands/standard.js +2 -1
  208. package/dist/safe-bash/commands/streams.js +6 -24
  209. package/dist/safe-bash/commands/text.js +268 -364
  210. package/dist/safe-bash/commands/tsort/index.browser.js +2 -2
  211. package/dist/safe-bash/commands/xml/index.browser.js +2 -2
  212. package/dist/safe-bash/commands/yq/index.browser.js +2 -2
  213. package/dist/safe-bash/core.browser.js +1 -1
  214. package/dist/safe-bash/core.d.ts +6 -1
  215. package/dist/safe-bash/core.js +1 -1
  216. package/dist/safe-bash/full-core.browser.js +108 -104
  217. package/dist/safe-bash/jobs.browser.js +5 -5
  218. package/dist/safe-bash/opt-in/commands/dd/index.js +2 -0
  219. package/dist/safe-bash/opt-in/optional/commands/shuf/options.d.ts +1 -0
  220. package/dist/safe-bash/opt-in/optional/commands/shuf/options.js +2 -4
  221. package/dist/safe-bash/opt-in/optional/commands/shuf/shuf.js +2 -1
  222. package/dist/safe-bash/optional-host.browser.js +11 -11
  223. package/dist/safe-bash/plugins/composition.d.ts +1 -0
  224. package/dist/safe-bash/plugins/composition.js +3 -8
  225. package/dist/safe-bash/plugins/index.browser.js +27 -27
  226. package/dist/safe-bash/registry-entry.browser.js +28 -28
  227. package/dist/safe-bash/shell/arrays/bindings.js +1 -1
  228. package/dist/safe-bash/shell/arrays/state.js +4 -0
  229. package/dist/safe-bash/shell/brace-expansion.js +1 -1
  230. package/dist/safe-bash/shell/dynamic-variables.d.ts +10 -0
  231. package/dist/safe-bash/shell/dynamic-variables.js +25 -0
  232. package/dist/safe-bash/shell/parser.js +8 -1
  233. package/dist/safe-bash/shell/runtime.d.ts +4 -4
  234. package/dist/safe-bash/shell/runtime.js +291 -741
  235. package/dist/safe-bash/shell/shell.js +2 -31
  236. package/dist/safe-bash/shell-entry.browser.js +25 -25
  237. package/dist/safe-bash/trap.browser.js +4 -4
  238. package/dist/safe-bash/yq-browser/index.js +1 -1
  239. package/dist/safe-bash-base-encoding-engine/base.js +2 -2
  240. package/dist/safe-bash-base-encoding-engine/shared.js +1 -1
  241. package/dist/safe-bash-byte-input-engine/index.d.ts +3 -2
  242. package/dist/safe-bash-byte-input-engine/index.js +4 -1
  243. package/dist/safe-bash-checksum-engine/index.js +13 -6
  244. package/dist/safe-bash-command-apply-patch/apply.d.ts +1 -1
  245. package/dist/safe-bash-command-apply-patch/apply.js +4 -3
  246. package/dist/safe-bash-command-apply-patch/index.js +3 -3
  247. package/dist/safe-bash-command-apply-patch/matcher.js +1 -1
  248. package/dist/safe-bash-command-apply-patch/parser.js +1 -1
  249. package/dist/safe-bash-command-awk/awk-inspection.js +2 -2
  250. package/dist/safe-bash-command-awk/awk-runtime.js +3 -3
  251. package/dist/safe-bash-command-awk/awk-syntax.d.ts +1 -1
  252. package/dist/safe-bash-command-awk/awk-syntax.js +2 -2
  253. package/dist/safe-bash-command-awk/awk-values.js +1 -1
  254. package/dist/safe-bash-command-awk/awk.js +5 -5
  255. package/dist/safe-bash-command-awk/index.js +5 -5
  256. package/dist/safe-bash-command-bc/index.d.ts +2 -0
  257. package/dist/safe-bash-command-bc/index.js +123 -92
  258. package/dist/safe-bash-command-column/column.js +5 -5
  259. package/dist/safe-bash-command-column/display.d.ts +1 -1
  260. package/dist/safe-bash-command-column/display.js +1 -1
  261. package/dist/safe-bash-command-column/index.js +5 -5
  262. package/dist/safe-bash-command-column/internal.d.ts +0 -2
  263. package/dist/safe-bash-command-column/internal.js +1 -1
  264. package/dist/safe-bash-command-column/layout.js +4 -4
  265. package/dist/safe-bash-command-column/table.js +2 -2
  266. package/dist/safe-bash-command-comm/comm.js +1 -1
  267. package/dist/safe-bash-command-comm/index.js +1 -1
  268. package/dist/safe-bash-command-csvcut/index.d.ts +1 -0
  269. package/dist/safe-bash-command-csvcut/index.js +1 -0
  270. package/dist/safe-bash-command-csvgrep/index.d.ts +1 -0
  271. package/dist/safe-bash-command-csvgrep/index.js +2 -2
  272. package/dist/safe-bash-command-csvkit/index.js +9 -9
  273. package/dist/safe-bash-command-csvkit/sync-support.js +1 -1
  274. package/dist/safe-bash-command-curl/curl.js +1 -1
  275. package/dist/safe-bash-command-curl/index.js +1 -1
  276. package/dist/safe-bash-command-dd/index.js +2 -0
  277. package/dist/safe-bash-command-diff/diff.js +1 -1
  278. package/dist/safe-bash-command-diff/index.js +1 -1
  279. package/dist/safe-bash-command-exiftool/index.d.ts +1 -0
  280. package/dist/safe-bash-command-fd/index.js +9 -9
  281. package/dist/safe-bash-command-ffmpeg/index.js +31 -8
  282. package/dist/safe-bash-command-file/index.js +1 -1
  283. package/dist/safe-bash-command-file/shared.js +1 -1
  284. package/dist/safe-bash-command-find/find.js +1 -1
  285. package/dist/safe-bash-command-find/index.js +1 -1
  286. package/dist/safe-bash-command-gzip/index.js +3 -2
  287. package/dist/safe-bash-command-hexdump/command.js +4 -4
  288. package/dist/safe-bash-command-hexdump/custom.d.ts +24 -0
  289. package/dist/safe-bash-command-hexdump/index.js +4 -4
  290. package/dist/safe-bash-command-hexdump/internal.d.ts +2 -0
  291. package/dist/safe-bash-command-hexdump/internal.js +1 -1
  292. package/dist/safe-bash-command-hexdump/io.js +2 -2
  293. package/dist/safe-bash-command-hexdump/options.d.ts +3 -0
  294. package/dist/safe-bash-command-hexdump/options.js +2 -2
  295. package/dist/safe-bash-command-hostname/index.js +1 -1
  296. package/dist/safe-bash-command-html-to-markdown/budget.js +1 -1
  297. package/dist/safe-bash-command-html-to-markdown/entities.js +3 -3
  298. package/dist/safe-bash-command-html-to-markdown/index.js +6 -6
  299. package/dist/safe-bash-command-html-to-markdown/input.js +5 -5
  300. package/dist/safe-bash-command-html-to-markdown/parser.d.ts +1 -0
  301. package/dist/safe-bash-command-html-to-markdown/parser.js +4 -4
  302. package/dist/safe-bash-command-html-to-markdown/render.js +5 -5
  303. package/dist/safe-bash-command-html-to-markdown/text.js +2 -2
  304. package/dist/safe-bash-command-htmlq/index.d.ts +1 -0
  305. package/dist/safe-bash-command-htmlq/index.js +27 -9
  306. package/dist/safe-bash-command-iconv/codec.js +1 -1
  307. package/dist/safe-bash-command-iconv/command.js +2 -2
  308. package/dist/safe-bash-command-iconv/index.js +2 -2
  309. package/dist/safe-bash-command-imagemagick/index.js +24 -6
  310. package/dist/safe-bash-command-join/index.js +1 -1
  311. package/dist/safe-bash-command-join/join.js +1 -1
  312. package/dist/safe-bash-command-jq/index.js +1 -1
  313. package/dist/safe-bash-command-jq/jq.js +1 -1
  314. package/dist/safe-bash-command-less/index.js +43 -28
  315. package/dist/safe-bash-command-mmdc/index.d.ts +1 -0
  316. package/dist/safe-bash-command-numfmt/index.js +0 -11
  317. package/dist/safe-bash-command-od/index.js +101 -68
  318. package/dist/safe-bash-command-pandoc/command.js +1 -1
  319. package/dist/safe-bash-command-pandoc/index.js +1 -1
  320. package/dist/safe-bash-command-paste/index.js +1 -1
  321. package/dist/safe-bash-command-paste/paste.js +1 -1
  322. package/dist/safe-bash-command-pathchk/index.js +3 -13
  323. package/dist/safe-bash-command-pdfimages/index.js +27 -11
  324. package/dist/safe-bash-command-pdfinfo/index.js +19 -10
  325. package/dist/safe-bash-command-pdftk/index.js +3 -3
  326. package/dist/safe-bash-command-pdftoppm/index.js +26 -10
  327. package/dist/safe-bash-command-pdftotext/index.js +27 -13
  328. package/dist/safe-bash-command-qpdf/index.js +5 -5
  329. package/dist/safe-bash-command-sed/index.js +1 -1
  330. package/dist/safe-bash-command-sed/sed.js +1 -1
  331. package/dist/safe-bash-command-shuf/options.d.ts +1 -0
  332. package/dist/safe-bash-command-shuf/options.js +2 -4
  333. package/dist/safe-bash-command-shuf/shuf.js +2 -1
  334. package/dist/safe-bash-command-soffice/index.js +20 -16
  335. package/dist/safe-bash-command-split/index.js +3 -3
  336. package/dist/safe-bash-command-split/io.js +1 -1
  337. package/dist/safe-bash-command-split/outputs.js +2 -2
  338. package/dist/safe-bash-command-split/split.js +3 -3
  339. package/dist/safe-bash-command-sqlite3/btree.d.ts +1 -0
  340. package/dist/safe-bash-command-sqlite3/engine.d.ts +6 -0
  341. package/dist/safe-bash-command-sqlite3/index.js +284 -85
  342. package/dist/safe-bash-command-ssconvert/commands.js +9 -9
  343. package/dist/safe-bash-command-ssconvert/core.js +8 -8
  344. package/dist/safe-bash-command-ssconvert/formats/csv.js +9 -9
  345. package/dist/safe-bash-command-ssconvert/formats/ods.js +8 -8
  346. package/dist/safe-bash-command-ssconvert/formats/spreadsheetml.js +2 -2
  347. package/dist/safe-bash-command-ssconvert/formats/xls.js +9 -9
  348. package/dist/safe-bash-command-ssconvert/formats/xlsx.js +8 -8
  349. package/dist/safe-bash-command-ssconvert/index.js +20 -20
  350. package/dist/safe-bash-command-tar/extract.js +1 -1
  351. package/dist/safe-bash-command-tar/index.js +5 -4
  352. package/dist/safe-bash-command-tar/modes.js +2 -2
  353. package/dist/safe-bash-command-tree/arguments.js +3 -3
  354. package/dist/safe-bash-command-tree/charset.js +1 -1
  355. package/dist/safe-bash-command-tree/index.js +4 -4
  356. package/dist/safe-bash-command-tree/io.js +1 -1
  357. package/dist/safe-bash-command-tree/pattern.js +2 -2
  358. package/dist/safe-bash-command-tree/tree.js +4 -4
  359. package/dist/safe-bash-command-unrtf/index.js +14 -7
  360. package/dist/safe-bash-command-unzip/index.js +1 -1
  361. package/dist/safe-bash-command-unzip/unzip.js +1 -1
  362. package/dist/safe-bash-command-wget/index.js +1 -1
  363. package/dist/safe-bash-command-wget/wget.js +1 -1
  364. package/dist/safe-bash-command-xan/argv.d.ts +1 -1
  365. package/dist/safe-bash-command-xan/argv.js +1 -1
  366. package/dist/safe-bash-command-xan/commands.js +5 -3
  367. package/dist/safe-bash-command-xan/csv.d.ts +1 -1
  368. package/dist/safe-bash-command-xan/csv.js +1 -1
  369. package/dist/safe-bash-command-xan/index.js +7 -7
  370. package/dist/safe-bash-command-xan/io.js +3 -3
  371. package/dist/safe-bash-command-xmllint/index.js +1 -1
  372. package/dist/safe-bash-command-xxd/index.js +105 -91
  373. package/dist/safe-bash-command-xz/command.d.ts +2 -0
  374. package/dist/safe-bash-command-xz/index.d.ts +1 -1
  375. package/dist/safe-bash-command-xz/index.js +8 -0
  376. package/dist/safe-bash-command-yq/query.js +1 -1
  377. package/dist/safe-bash-command-zip/index.js +1 -1
  378. package/dist/safe-bash-command-zip/zip.js +1 -1
  379. package/dist/safe-bash-contracts/escaping.js +3 -3
  380. package/dist/safe-bash-contracts/filesystem-output.js +2 -2
  381. package/dist/safe-bash-contracts/index.d.ts +1 -0
  382. package/dist/safe-bash-contracts/index.js +7 -3
  383. package/dist/safe-bash-contracts/io.d.ts +4 -1
  384. package/dist/safe-bash-contracts/io.js +3 -1
  385. package/dist/safe-bash-contracts/managed-abort.d.ts +10 -0
  386. package/dist/safe-bash-contracts/output.js +2 -2
  387. package/dist/safe-bash-diff-engine/index.js +1 -1
  388. package/dist/safe-bash-diff-engine/shared.d.ts +3 -2
  389. package/dist/safe-bash-diff-engine/shared.js +1 -1
  390. package/dist/safe-bash-io-engine/commands/archive/internal.js +5 -23
  391. package/dist/safe-bash-io-engine/commands/search/requirements.js +2 -2
  392. package/dist/safe-bash-io-engine/commands/text-programs/shared.js +33 -44
  393. package/dist/safe-bash-io-engine/internal.js +1 -1
  394. package/dist/safe-bash-io-engine/shell/pattern.js +1 -1
  395. package/dist/safe-bash-io-engine/shell/string-operations.js +1 -1
  396. package/dist/safe-bash-mcp/index.browser.d.ts +155 -35
  397. package/dist/safe-bash-mcp/index.browser.js +416 -0
  398. package/dist/safe-bash-mcp/index.d.ts +54 -2
  399. package/dist/safe-bash-mcp/index.js +283 -89
  400. package/dist/safe-bash-network-engine/aggregate.js +2 -2
  401. package/dist/safe-bash-network-engine/args.js +4 -4
  402. package/dist/safe-bash-network-engine/authorizer.js +1 -1
  403. package/dist/safe-bash-network-engine/body.js +6 -6
  404. package/dist/safe-bash-network-engine/decode.d.ts +1 -1
  405. package/dist/safe-bash-network-engine/decode.js +3 -4
  406. package/dist/safe-bash-network-engine/fetch-transport.js +3 -3
  407. package/dist/safe-bash-network-engine/form-content-type.js +2 -2
  408. package/dist/safe-bash-network-engine/form-headers.js +2 -2
  409. package/dist/safe-bash-network-engine/glob.js +1 -1
  410. package/dist/safe-bash-network-engine/index.js +4 -4
  411. package/dist/safe-bash-network-engine/input.js +6 -6
  412. package/dist/safe-bash-network-engine/output.js +2 -2
  413. package/dist/safe-bash-network-engine/platform-portable.js +3 -3
  414. package/dist/safe-bash-network-engine/shared.js +2 -2
  415. package/dist/safe-bash-network-engine/types.d.ts +7 -2
  416. package/dist/safe-bash-network-engine/types.js +1 -1
  417. package/dist/safe-bash-network-engine/url.js +2 -2
  418. package/dist/safe-bash-query-engine/capture.js +3 -3
  419. package/dist/safe-bash-query-engine/delpaths.js +3 -3
  420. package/dist/safe-bash-query-engine/formats.js +2 -2
  421. package/dist/safe-bash-query-engine/index.js +11 -11
  422. package/dist/safe-bash-query-engine/indices.js +3 -3
  423. package/dist/safe-bash-query-engine/input.js +1 -1
  424. package/dist/safe-bash-query-engine/interpreter.js +9 -9
  425. package/dist/safe-bash-query-engine/parser.js +1 -1
  426. package/dist/safe-bash-query-engine/query-core.js +11 -11
  427. package/dist/safe-bash-query-engine/regex.js +4 -4
  428. package/dist/safe-bash-query-engine/splits.js +5 -5
  429. package/dist/safe-bash-query-engine/values.js +2 -2
  430. package/dist/safe-bash-regex-engine/ere/matcher.js +102 -30
  431. package/dist/safe-bash-regex-engine/execution/bounded-provider.js +55 -67
  432. package/dist/safe-bash-regex-engine/execution/portable.d.ts +0 -1
  433. package/dist/safe-bash-regex-engine/execution/portable.js +6 -10
  434. package/dist/safe-bash-regex-engine/execution/protocol.d.ts +0 -5
  435. package/dist/safe-bash-regex-engine/execution/protocol.js +1 -3
  436. package/dist/safe-bash-regex-engine/index.js +6 -4
  437. package/dist/safe-bash-regex-engine/text/budget.d.ts +1 -0
  438. package/dist/safe-bash-regex-engine/text/budget.js +1 -1
  439. package/dist/safe-bash-regex-engine/text/regex.d.ts +14 -0
  440. package/dist/safe-bash-regex-engine/text/regex.js +6 -4
  441. package/dist/safe-bash-regex-engine/text/replacement-buffer.js +2 -2
  442. package/dist/safe-bash-regex-engine/text/rust-syntax.js +2 -2
  443. package/dist/safe-bash-search-engine/grep.js +189 -227
  444. package/dist/safe-bash-table-text-engine/table-text/internal.d.ts +7 -5
  445. package/dist/safe-bash-table-text-engine/table-text/internal.js +39 -21
  446. package/dist/safe-playwright-cloudflare/browser-trace-budget.js +6 -2
  447. package/dist/spreadsheet-engine/codecs/odf-hyperlinks.js +8 -2
  448. package/dist/spreadsheet-engine/formulas/functions/captured-bessel-phase.js +2 -2
  449. package/dist/spreadsheet-engine/formulas/label-references.js +54 -33
  450. package/dist/spreadsheet-engine/formulas/parser.js +3 -1
  451. package/dist/spreadsheet-engine/formulas/rewriting.js +13 -3
  452. package/dist/spreadsheet-format-xls/biff-data-tables.js +4 -6
  453. package/dist/spreadsheet-format-xls/biff-formulas.js +3 -0
  454. package/dist/spreadsheet-format-xls/biff-label-ranges.js +9 -6
  455. package/dist/spreadsheet-format-xls/biff.js +1 -1
  456. package/dist/xlsx-ast/xlsx.js +8 -5
  457. package/package.json +9 -8
  458. package/dist/safe-bash/command-chunks/chunk-KAGBORIC.js +0 -88
  459. /package/dist/safe-bash/command-chunks/{chunk-BWNXWI33.js → chunk-2LMZVE3I.js} +0 -0
@@ -1,4 +1,4 @@
1
- import { compareByteArrays, decodeBytes, encodeBytes, equalBytes, indexOfBytes } from "../byte-encoding.js";
1
+ import { compareByteArrays, decodeBytes, encodeBytes, indexOfBytes } from "../byte-encoding.js";
2
2
  import { PublicDiagnostic } from "../diagnostics.js";
3
3
  import { createBufferedOutput, FsError } from "../contracts/index.js";
4
4
  import { RETURN_EXIT_ONE, RETURN_EXIT_TWO, RETURN_EXIT_ZERO, assertInputRequirements, bufferLimit, codeOf, concatenate, define, diagnostic, encoder, input, integer, lines, options, output, outputRange, pathOf, requireOperands, RESOLVED_EXIT_ZERO, UsageError, value } from "./internal.js";
@@ -135,9 +135,6 @@ async function cutRanges(list, work) {
135
135
  }
136
136
  return normalized;
137
137
  }
138
- const sharedCutOutBuffer = new Uint8Array(64 * 1024);
139
- let sharedCutOutInUse = false;
140
- const sharedUniqOutBuffer = new Uint8Array(128 * 1024);
141
138
  function writeUniqCountBytes(writeByte, count) {
142
139
  const digits = String(count);
143
140
  const pad = 7 - digits.length;
@@ -151,20 +148,11 @@ class CutOutput {
151
148
  context;
152
149
  work;
153
150
  #buffer;
154
- #ownsShared;
155
151
  #used = 0;
156
152
  constructor(context, work) {
157
153
  this.context = context;
158
154
  this.work = work;
159
- if (!sharedCutOutInUse) {
160
- sharedCutOutInUse = true;
161
- this.#buffer = sharedCutOutBuffer;
162
- this.#ownsShared = true;
163
- }
164
- else {
165
- this.#buffer = new Uint8Array(64 * 1024);
166
- this.#ownsShared = false;
167
- }
155
+ this.#buffer = new Uint8Array(64 * 1024);
168
156
  }
169
157
  get remaining() {
170
158
  return this.#buffer.length - this.#used;
@@ -239,10 +227,6 @@ class CutOutput {
239
227
  this.#used = 0;
240
228
  await output(this.context, bytes);
241
229
  }
242
- release() {
243
- if (this.#ownsShared)
244
- sharedCutOutInUse = false;
245
- }
246
230
  }
247
231
  function cutFieldBoundary(record, separator, start, work) {
248
232
  if (record.length - start <= 4096) {
@@ -764,14 +748,6 @@ const sharedSortIndices = new Int32Array(4096);
764
748
  const sharedSortScratchIndices = new Int32Array(4096);
765
749
  const sharedSortInScratch = new Uint8Array(65536);
766
750
  let sharedSortInUse = false;
767
- const sharedSortOutScratch = new Uint8Array(65536);
768
- let lastSort;
769
- const cachedCutOutBuffer = new Uint8Array(32768);
770
- let lastCutInBuf;
771
- let lastCutSep = -1;
772
- let lastCutField = -1;
773
- let lastCutMaxLineLen = 0;
774
- let lastCutOutUsed = -1;
775
751
  const SORT_LONG_OPTIONS = Object.freeze({
776
752
  "human-numeric-sort": "h",
777
753
  "numeric-sort": "n",
@@ -1953,317 +1929,312 @@ async function executeCutGeneral(context) {
1953
1929
  const outputDelimiterBytes = outputDelimiter === undefined ? separator : outputDelimiter.length === 0 ? Uint8Array.of(0) : encoder.encode(outputDelimiter);
1954
1930
  const writer = new CutOutput(context, work);
1955
1931
  let exitCode = 0;
1956
- try {
1957
- for (const name of parsed.operands.length ? parsed.operands : ["-"]) {
1932
+ for (const name of parsed.operands.length ? parsed.operands : ["-"]) {
1933
+ try {
1958
1934
  try {
1959
- try {
1960
- const onlyDelimited = parsed.flags.has("s");
1961
- const fastSingleByteField = mode === "f" && separator.length === 1;
1962
- const sepByte = separator[0];
1963
- const outDelimLen = outputDelimiterBytes.length;
1964
- const processFastFieldRangeSlow = async (buf, lineStart, lineEnd) => {
1965
- context.signal.throwIfAborted();
1966
- let boundary = buf.indexOf(sepByte, lineStart);
1967
- if (boundary >= lineEnd)
1968
- boundary = -1;
1969
- const c0 = work.charge(boundary < 0 ? lineEnd - lineStart : boundary - lineStart + 1);
1970
- if (c0)
1971
- await c0;
1935
+ const onlyDelimited = parsed.flags.has("s");
1936
+ const fastSingleByteField = mode === "f" && separator.length === 1;
1937
+ const sepByte = separator[0];
1938
+ const outDelimLen = outputDelimiterBytes.length;
1939
+ const processFastFieldRangeSlow = async (buf, lineStart, lineEnd) => {
1940
+ context.signal.throwIfAborted();
1941
+ let boundary = buf.indexOf(sepByte, lineStart);
1942
+ if (boundary >= lineEnd)
1943
+ boundary = -1;
1944
+ const c0 = work.charge(boundary < 0 ? lineEnd - lineStart : boundary - lineStart + 1);
1945
+ if (c0)
1946
+ await c0;
1947
+ if (boundary < 0) {
1948
+ if (onlyDelimited)
1949
+ return;
1950
+ const w = writer.writeRange(buf, lineStart, lineEnd);
1951
+ if (w)
1952
+ await w;
1953
+ }
1954
+ else {
1955
+ let cursor = 0;
1956
+ let field = 1;
1957
+ let start = lineStart;
1958
+ let emitted = false;
1959
+ while (true) {
1960
+ const cp = work.charge();
1961
+ if (cp)
1962
+ await cp;
1963
+ while (cursor < ranges.length && field > ranges[cursor].end)
1964
+ cursor++;
1965
+ const included = cursor < ranges.length && field >= ranges[cursor].start;
1966
+ if (included !== complement) {
1967
+ if (emitted) {
1968
+ const w1 = writer.write(outputDelimiterBytes);
1969
+ if (w1)
1970
+ await w1;
1971
+ }
1972
+ const w2 = writer.writeRange(buf, start, boundary < 0 ? lineEnd : boundary);
1973
+ if (w2)
1974
+ await w2;
1975
+ emitted = true;
1976
+ }
1977
+ field++;
1978
+ if (boundary < 0 || (!complement && cursor >= ranges.length))
1979
+ break;
1980
+ start = boundary + 1;
1981
+ boundary = start <= lineEnd ? buf.indexOf(sepByte, start) : -1;
1982
+ if (boundary >= lineEnd)
1983
+ boundary = -1;
1984
+ const cn = work.charge(boundary < 0 ? lineEnd - start : boundary - start + 1);
1985
+ if (cn)
1986
+ await cn;
1987
+ }
1988
+ }
1989
+ const wd = writer.writeByte(recordDelimiter);
1990
+ if (wd)
1991
+ await wd;
1992
+ };
1993
+ const processFastFieldRange = (buf, lineStart, lineEnd) => {
1994
+ const lineLen = lineEnd - lineStart;
1995
+ if (writer.remaining <= lineLen * (outDelimLen > 1 ? outDelimLen : 1) + 1) {
1996
+ return processFastFieldRangeSlow(buf, lineStart, lineEnd);
1997
+ }
1998
+ context.signal.throwIfAborted();
1999
+ let boundary = buf.indexOf(sepByte, lineStart);
2000
+ if (boundary >= lineEnd)
2001
+ boundary = -1;
2002
+ let totalCharge = boundary < 0 ? lineLen : boundary - lineStart + 1;
2003
+ if (boundary < 0) {
2004
+ if (onlyDelimited)
2005
+ return work.charge(totalCharge);
2006
+ totalCharge += writer.writeRangeUncharged(buf, lineStart, lineEnd);
2007
+ }
2008
+ else {
2009
+ let cursor = 0;
2010
+ let field = 1;
2011
+ let start = lineStart;
2012
+ let emitted = false;
2013
+ while (true) {
2014
+ totalCharge += 1;
2015
+ while (cursor < ranges.length && field > ranges[cursor].end)
2016
+ cursor++;
2017
+ const included = cursor < ranges.length && field >= ranges[cursor].start;
2018
+ if (included !== complement) {
2019
+ if (emitted) {
2020
+ totalCharge += writer.writeRangeUncharged(outputDelimiterBytes, 0, outDelimLen);
2021
+ }
2022
+ totalCharge += writer.writeRangeUncharged(buf, start, boundary < 0 ? lineEnd : boundary);
2023
+ emitted = true;
2024
+ }
2025
+ field++;
2026
+ if (boundary < 0 || (!complement && cursor >= ranges.length))
2027
+ break;
2028
+ start = boundary + 1;
2029
+ boundary = start <= lineEnd ? buf.indexOf(sepByte, start) : -1;
2030
+ if (boundary >= lineEnd)
2031
+ boundary = -1;
2032
+ totalCharge += boundary < 0 ? lineEnd - start : boundary - start + 1;
2033
+ }
2034
+ }
2035
+ writer.writeByteUncharged(recordDelimiter);
2036
+ totalCharge += 1;
2037
+ return work.charge(totalCharge);
2038
+ };
2039
+ const sharedUtf8Decoder = new TextDecoder("utf-8", { ignoreBOM: true });
2040
+ const canFastSliceCut = (byteSelection || mode === "c") && !complement && ranges.length <= 16;
2041
+ const processFastSliceRange = (buf, lineStart, lineEnd) => {
2042
+ const lineLen = lineEnd - lineStart;
2043
+ if (writer.remaining <= lineLen * (outDelimLen > 1 ? outDelimLen : 1) + 1) {
2044
+ return null;
2045
+ }
2046
+ if (!byteSelection) {
2047
+ for (let i = lineStart; i < lineEnd; i++) {
2048
+ if (buf[i] >= 0x80)
2049
+ return null;
2050
+ }
2051
+ }
2052
+ context.signal.throwIfAborted();
2053
+ let totalCharge = lineLen + 1;
2054
+ let emitted = false;
2055
+ for (let rIdx = 0; rIdx < ranges.length; rIdx++) {
2056
+ const r = ranges[rIdx];
2057
+ const s = lineStart + r.start - 1;
2058
+ if (s >= lineEnd)
2059
+ break;
2060
+ const e = Math.min(lineEnd, lineStart + r.end);
2061
+ if (e > s) {
2062
+ if (emitted && outputDelimiter !== undefined) {
2063
+ totalCharge += writer.writeRangeUncharged(outputDelimiterBytes, 0, outDelimLen);
2064
+ }
2065
+ totalCharge += writer.writeRangeUncharged(buf, s, e);
2066
+ emitted = true;
2067
+ }
2068
+ }
2069
+ writer.writeByteUncharged(recordDelimiter);
2070
+ return work.charge(totalCharge);
2071
+ };
2072
+ const processLineBytes = async (lineBytes) => {
2073
+ context.signal.throwIfAborted();
2074
+ let cursor = 0;
2075
+ const selected = (position) => {
2076
+ while (cursor < ranges.length && position > ranges[cursor].end)
2077
+ cursor++;
2078
+ const included = cursor < ranges.length && position >= ranges[cursor].start;
2079
+ return included !== complement ? cursor : -1;
2080
+ };
2081
+ if (mode === "f") {
2082
+ const record = encodeBytes(lineBytes.buffer, lineBytes.byteOffset, lineBytes.byteLength);
2083
+ const b0 = cutFieldBoundary(record, separator, 0, work);
2084
+ let boundary = typeof b0 === "number" ? b0 : await b0;
1972
2085
  if (boundary < 0) {
1973
2086
  if (onlyDelimited)
1974
2087
  return;
1975
- const w = writer.writeRange(buf, lineStart, lineEnd);
2088
+ const w = writer.write(lineBytes);
1976
2089
  if (w)
1977
2090
  await w;
1978
2091
  }
1979
2092
  else {
1980
- let cursor = 0;
1981
2093
  let field = 1;
1982
- let start = lineStart;
2094
+ let start = 0;
1983
2095
  let emitted = false;
1984
2096
  while (true) {
1985
- const cp = work.charge();
1986
- if (cp)
1987
- await cp;
1988
- while (cursor < ranges.length && field > ranges[cursor].end)
1989
- cursor++;
1990
- const included = cursor < ranges.length && field >= ranges[cursor].start;
1991
- if (included !== complement) {
2097
+ const checkpoint = work.charge();
2098
+ if (checkpoint)
2099
+ await checkpoint;
2100
+ if (selected(field++) >= 0) {
1992
2101
  if (emitted) {
1993
2102
  const w1 = writer.write(outputDelimiterBytes);
1994
2103
  if (w1)
1995
2104
  await w1;
1996
2105
  }
1997
- const w2 = writer.writeRange(buf, start, boundary < 0 ? lineEnd : boundary);
2106
+ const w2 = writer.write(record.subarray(start, boundary < 0 ? record.length : boundary));
1998
2107
  if (w2)
1999
2108
  await w2;
2000
2109
  emitted = true;
2001
2110
  }
2002
- field++;
2003
- if (boundary < 0 || (!complement && cursor >= ranges.length))
2004
- break;
2005
- start = boundary + 1;
2006
- boundary = start <= lineEnd ? buf.indexOf(sepByte, start) : -1;
2007
- if (boundary >= lineEnd)
2008
- boundary = -1;
2009
- const cn = work.charge(boundary < 0 ? lineEnd - start : boundary - start + 1);
2010
- if (cn)
2011
- await cn;
2012
- }
2013
- }
2014
- const wd = writer.writeByte(recordDelimiter);
2015
- if (wd)
2016
- await wd;
2017
- };
2018
- const processFastFieldRange = (buf, lineStart, lineEnd) => {
2019
- const lineLen = lineEnd - lineStart;
2020
- if (writer.remaining <= lineLen * (outDelimLen > 1 ? outDelimLen : 1) + 1) {
2021
- return processFastFieldRangeSlow(buf, lineStart, lineEnd);
2022
- }
2023
- context.signal.throwIfAborted();
2024
- let boundary = buf.indexOf(sepByte, lineStart);
2025
- if (boundary >= lineEnd)
2026
- boundary = -1;
2027
- let totalCharge = boundary < 0 ? lineLen : boundary - lineStart + 1;
2028
- if (boundary < 0) {
2029
- if (onlyDelimited)
2030
- return work.charge(totalCharge);
2031
- totalCharge += writer.writeRangeUncharged(buf, lineStart, lineEnd);
2032
- }
2033
- else {
2034
- let cursor = 0;
2035
- let field = 1;
2036
- let start = lineStart;
2037
- let emitted = false;
2038
- while (true) {
2039
- totalCharge += 1;
2040
- while (cursor < ranges.length && field > ranges[cursor].end)
2041
- cursor++;
2042
- const included = cursor < ranges.length && field >= ranges[cursor].start;
2043
- if (included !== complement) {
2044
- if (emitted) {
2045
- totalCharge += writer.writeRangeUncharged(outputDelimiterBytes, 0, outDelimLen);
2046
- }
2047
- totalCharge += writer.writeRangeUncharged(buf, start, boundary < 0 ? lineEnd : boundary);
2048
- emitted = true;
2049
- }
2050
- field++;
2051
2111
  if (boundary < 0 || (!complement && cursor >= ranges.length))
2052
2112
  break;
2053
- start = boundary + 1;
2054
- boundary = start <= lineEnd ? buf.indexOf(sepByte, start) : -1;
2055
- if (boundary >= lineEnd)
2056
- boundary = -1;
2057
- totalCharge += boundary < 0 ? lineEnd - start : boundary - start + 1;
2113
+ start = boundary + separator.length;
2114
+ const bn = cutFieldBoundary(record, separator, start, work);
2115
+ boundary = typeof bn === "number" ? bn : await bn;
2058
2116
  }
2059
2117
  }
2060
- writer.writeByteUncharged(recordDelimiter);
2061
- totalCharge += 1;
2062
- return work.charge(totalCharge);
2063
- };
2064
- const sharedUtf8Decoder = new TextDecoder("utf-8", { ignoreBOM: true });
2065
- const canFastSliceCut = (byteSelection || mode === "c") && !complement && ranges.length <= 16;
2066
- const processFastSliceRange = (buf, lineStart, lineEnd) => {
2067
- const lineLen = lineEnd - lineStart;
2068
- if (writer.remaining <= lineLen * (outDelimLen > 1 ? outDelimLen : 1) + 1) {
2069
- return null;
2070
- }
2071
- if (!byteSelection) {
2072
- for (let i = lineStart; i < lineEnd; i++) {
2073
- if (buf[i] >= 0x80)
2074
- return null;
2075
- }
2076
- }
2077
- context.signal.throwIfAborted();
2078
- let totalCharge = lineLen + 1;
2118
+ }
2119
+ else if (byteSelection) {
2079
2120
  let emitted = false;
2080
- for (let rIdx = 0; rIdx < ranges.length; rIdx++) {
2081
- const r = ranges[rIdx];
2082
- const s = lineStart + r.start - 1;
2083
- if (s >= lineEnd)
2084
- break;
2085
- const e = Math.min(lineEnd, lineStart + r.end);
2086
- if (e > s) {
2087
- if (emitted && outputDelimiter !== undefined) {
2088
- totalCharge += writer.writeRangeUncharged(outputDelimiterBytes, 0, outDelimLen);
2121
+ let previousRange = -1;
2122
+ for (let offset = 0; offset < lineBytes.length; offset += 4096) {
2123
+ const end = Math.min(lineBytes.length, offset + 4096);
2124
+ const checkpoint = work.charge(end - offset);
2125
+ if (checkpoint)
2126
+ await checkpoint;
2127
+ let start = -1;
2128
+ for (let index = offset; index < end; index++) {
2129
+ const range = selected(index + 1);
2130
+ if (range !== previousRange && start >= 0) {
2131
+ await writer.write(lineBytes.subarray(start, index));
2132
+ start = -1;
2089
2133
  }
2090
- totalCharge += writer.writeRangeUncharged(buf, s, e);
2091
- emitted = true;
2092
- }
2093
- }
2094
- writer.writeByteUncharged(recordDelimiter);
2095
- return work.charge(totalCharge);
2096
- };
2097
- const processLineBytes = async (lineBytes) => {
2098
- context.signal.throwIfAborted();
2099
- let cursor = 0;
2100
- const selected = (position) => {
2101
- while (cursor < ranges.length && position > ranges[cursor].end)
2102
- cursor++;
2103
- const included = cursor < ranges.length && position >= ranges[cursor].start;
2104
- return included !== complement ? cursor : -1;
2105
- };
2106
- if (mode === "f") {
2107
- const record = encodeBytes(lineBytes.buffer, lineBytes.byteOffset, lineBytes.byteLength);
2108
- const b0 = cutFieldBoundary(record, separator, 0, work);
2109
- let boundary = typeof b0 === "number" ? b0 : await b0;
2110
- if (boundary < 0) {
2111
- if (onlyDelimited)
2112
- return;
2113
- const w = writer.write(lineBytes);
2114
- if (w)
2115
- await w;
2116
- }
2117
- else {
2118
- let field = 1;
2119
- let start = 0;
2120
- let emitted = false;
2121
- while (true) {
2122
- const checkpoint = work.charge();
2123
- if (checkpoint)
2124
- await checkpoint;
2125
- if (selected(field++) >= 0) {
2126
- if (emitted) {
2127
- const w1 = writer.write(outputDelimiterBytes);
2128
- if (w1)
2129
- await w1;
2130
- }
2131
- const w2 = writer.write(record.subarray(start, boundary < 0 ? record.length : boundary));
2132
- if (w2)
2133
- await w2;
2134
- emitted = true;
2135
- }
2136
- if (boundary < 0 || (!complement && cursor >= ranges.length))
2137
- break;
2138
- start = boundary + separator.length;
2139
- const bn = cutFieldBoundary(record, separator, start, work);
2140
- boundary = typeof bn === "number" ? bn : await bn;
2141
- }
2142
- }
2143
- }
2144
- else if (byteSelection) {
2145
- let emitted = false;
2146
- let previousRange = -1;
2147
- for (let offset = 0; offset < lineBytes.length; offset += 4096) {
2148
- const end = Math.min(lineBytes.length, offset + 4096);
2149
- const checkpoint = work.charge(end - offset);
2150
- if (checkpoint)
2151
- await checkpoint;
2152
- let start = -1;
2153
- for (let index = offset; index < end; index++) {
2154
- const range = selected(index + 1);
2155
- if (range !== previousRange && start >= 0) {
2156
- await writer.write(lineBytes.subarray(start, index));
2157
- start = -1;
2158
- }
2159
- if (range >= 0 && start < 0) {
2160
- if (range !== previousRange && emitted && outputDelimiter !== undefined)
2161
- await writer.write(outputDelimiterBytes);
2162
- start = index;
2163
- emitted = true;
2164
- }
2165
- previousRange = range;
2134
+ if (range >= 0 && start < 0) {
2135
+ if (range !== previousRange && emitted && outputDelimiter !== undefined)
2136
+ await writer.write(outputDelimiterBytes);
2137
+ start = index;
2138
+ emitted = true;
2166
2139
  }
2167
- if (start >= 0)
2168
- await writer.write(lineBytes.subarray(start, end));
2140
+ previousRange = range;
2169
2141
  }
2142
+ if (start >= 0)
2143
+ await writer.write(lineBytes.subarray(start, end));
2170
2144
  }
2171
- else {
2172
- const decoder = sharedUtf8Decoder;
2173
- let index = 0;
2174
- let emitted = false;
2175
- let previousRange = -1;
2176
- for (let offset = 0; offset < lineBytes.length; offset += 4096) {
2177
- const end = Math.min(lineBytes.length, offset + 4096);
2178
- const checkpoint = work.charge(end - offset);
2145
+ }
2146
+ else {
2147
+ const decoder = sharedUtf8Decoder;
2148
+ let index = 0;
2149
+ let emitted = false;
2150
+ let previousRange = -1;
2151
+ for (let offset = 0; offset < lineBytes.length; offset += 4096) {
2152
+ const end = Math.min(lineBytes.length, offset + 4096);
2153
+ const checkpoint = work.charge(end - offset);
2154
+ if (checkpoint)
2155
+ await checkpoint;
2156
+ const text = decoder.decode(lineBytes.subarray(offset, end), { stream: end < lineBytes.length });
2157
+ let start = -1;
2158
+ let position = 0;
2159
+ for (const character of text) {
2160
+ const checkpoint = work.charge();
2179
2161
  if (checkpoint)
2180
2162
  await checkpoint;
2181
- const text = decoder.decode(lineBytes.subarray(offset, end), { stream: end < lineBytes.length });
2182
- let start = -1;
2183
- let position = 0;
2184
- for (const character of text) {
2185
- const checkpoint = work.charge();
2186
- if (checkpoint)
2187
- await checkpoint;
2188
- const range = selected(++index);
2189
- if (range !== previousRange && start >= 0) {
2190
- await writer.text(text.slice(start, position));
2191
- start = -1;
2192
- }
2193
- if (range >= 0 && start < 0) {
2194
- if (range !== previousRange && emitted && outputDelimiter !== undefined)
2195
- await writer.write(outputDelimiterBytes);
2196
- start = position;
2197
- emitted = true;
2198
- }
2199
- position += character.length;
2200
- previousRange = range;
2201
- }
2202
- if (start >= 0)
2203
- await writer.text(text.slice(start));
2204
- }
2205
- }
2206
- const wd = writer.writeByte(recordDelimiter);
2207
- if (wd)
2208
- await wd;
2209
- };
2210
- const pending = new RecordBuffer(bufferLimit);
2211
- try {
2212
- for await (const chunk of input(context, name)) {
2213
- let start = 0;
2214
- while (start < chunk.length) {
2215
- const offset = chunk.indexOf(recordDelimiter, start);
2216
- if (offset < 0)
2217
- break;
2218
- if (fastSingleByteField && pending.size === 0 && offset - start <= 4096) {
2219
- const p = processFastFieldRange(chunk, start, offset);
2220
- if (p)
2221
- await p;
2163
+ const range = selected(++index);
2164
+ if (range !== previousRange && start >= 0) {
2165
+ await writer.text(text.slice(start, position));
2166
+ start = -1;
2222
2167
  }
2223
- else if (canFastSliceCut && pending.size === 0 && offset - start <= 4096) {
2224
- const p = processFastSliceRange(chunk, start, offset);
2225
- if (p === null) {
2226
- await processLineBytes(chunk.subarray(start, offset));
2227
- }
2228
- else if (p) {
2229
- await p;
2230
- }
2231
- }
2232
- else {
2233
- await processLineBytes(pending.finish(undefined, chunk, start, offset));
2168
+ if (range >= 0 && start < 0) {
2169
+ if (range !== previousRange && emitted && outputDelimiter !== undefined)
2170
+ await writer.write(outputDelimiterBytes);
2171
+ start = position;
2172
+ emitted = true;
2234
2173
  }
2235
- start = offset + 1;
2174
+ position += character.length;
2175
+ previousRange = range;
2236
2176
  }
2237
- pending.append(chunk, start);
2177
+ if (start >= 0)
2178
+ await writer.text(text.slice(start));
2238
2179
  }
2239
- if (pending.size) {
2240
- const finalBytes = pending.finish();
2241
- if (fastSingleByteField && finalBytes.length <= 4096) {
2242
- const p = processFastFieldRange(finalBytes, 0, finalBytes.length);
2180
+ }
2181
+ const wd = writer.writeByte(recordDelimiter);
2182
+ if (wd)
2183
+ await wd;
2184
+ };
2185
+ const pending = new RecordBuffer(bufferLimit);
2186
+ try {
2187
+ for await (const chunk of input(context, name)) {
2188
+ let start = 0;
2189
+ while (start < chunk.length) {
2190
+ const offset = chunk.indexOf(recordDelimiter, start);
2191
+ if (offset < 0)
2192
+ break;
2193
+ if (fastSingleByteField && pending.size === 0 && offset - start <= 4096) {
2194
+ const p = processFastFieldRange(chunk, start, offset);
2243
2195
  if (p)
2244
2196
  await p;
2245
2197
  }
2198
+ else if (canFastSliceCut && pending.size === 0 && offset - start <= 4096) {
2199
+ const p = processFastSliceRange(chunk, start, offset);
2200
+ if (p === null) {
2201
+ await processLineBytes(chunk.subarray(start, offset));
2202
+ }
2203
+ else if (p) {
2204
+ await p;
2205
+ }
2206
+ }
2246
2207
  else {
2247
- await processLineBytes(finalBytes);
2208
+ await processLineBytes(pending.finish(undefined, chunk, start, offset));
2248
2209
  }
2210
+ start = offset + 1;
2249
2211
  }
2212
+ pending.append(chunk, start);
2250
2213
  }
2251
- finally {
2252
- pending.clear();
2214
+ if (pending.size) {
2215
+ const finalBytes = pending.finish();
2216
+ if (fastSingleByteField && finalBytes.length <= 4096) {
2217
+ const p = processFastFieldRange(finalBytes, 0, finalBytes.length);
2218
+ if (p)
2219
+ await p;
2220
+ }
2221
+ else {
2222
+ await processLineBytes(finalBytes);
2223
+ }
2253
2224
  }
2254
2225
  }
2255
2226
  finally {
2256
- await writer.flush();
2227
+ pending.clear();
2257
2228
  }
2258
2229
  }
2259
- catch (error) {
2260
- await diagnostic(context, error);
2261
- exitCode = 1;
2230
+ finally {
2231
+ await writer.flush();
2262
2232
  }
2263
2233
  }
2264
- }
2265
- finally {
2266
- writer.release();
2234
+ catch (error) {
2235
+ await diagnostic(context, error);
2236
+ exitCode = 1;
2237
+ }
2267
2238
  }
2268
2239
  return { exitCode };
2269
2240
  }
@@ -2523,29 +2494,6 @@ export function textCommands() {
2523
2494
  catch (error) {
2524
2495
  return diagnostic(context, error).then(RETURN_EXIT_TWO);
2525
2496
  }
2526
- const cached = lastSort;
2527
- if (cached !== undefined &&
2528
- firstChunkLen >= 256 &&
2529
- firstChunkLen === cached.input.byteLength &&
2530
- direction === cached.direction &&
2531
- cached.maxLineLength <= bufferLimit &&
2532
- equalBytes(cached.input, rawFirst)) {
2533
- let res2Fast;
2534
- try {
2535
- res2Fast = srcIter.tryNextSync();
2536
- }
2537
- catch (error) {
2538
- return diagnostic(context, error).then(RETURN_EXIT_TWO);
2539
- }
2540
- if (res2Fast !== undefined && res2Fast.done) {
2541
- context.signal.throwIfAborted();
2542
- const p = outputRange(context, cached.output, cached.output.length);
2543
- if (isSyncResolved(p))
2544
- return RESOLVED_EXIT_ZERO;
2545
- return p.then(RETURN_EXIT_ZERO);
2546
- }
2547
- return executeSortFastContinueAsync(context, direction, srcIter, cached.input, res2Fast);
2548
- }
2549
2497
  let firstChunk;
2550
2498
  let usedSortInScratch = false;
2551
2499
  try {
@@ -2573,12 +2521,9 @@ export function textCommands() {
2573
2521
  let start = 0;
2574
2522
  let count = 0;
2575
2523
  let validLines = true;
2576
- let maxSortLine = 0;
2577
2524
  while (start < firstChunkLen) {
2578
2525
  const offset = firstChunk.indexOf(10, start);
2579
2526
  const lLen = offset - start;
2580
- if (lLen > maxSortLine)
2581
- maxSortLine = lLen;
2582
2527
  if (offset < 0 || offset >= firstChunkLen || count >= 4096 || lLen > bufferLimit) {
2583
2528
  validLines = false;
2584
2529
  break;
@@ -2620,7 +2565,7 @@ export function textCommands() {
2620
2565
  src = dst;
2621
2566
  dst = tmp;
2622
2567
  }
2623
- const outBuf = sharedSortOutScratch;
2568
+ const outBuf = new Uint8Array(65536);
2624
2569
  let used = 0;
2625
2570
  for (let i = 0; i < count; i++) {
2626
2571
  const idx = src[i];
@@ -2630,14 +2575,6 @@ export function textCommands() {
2630
2575
  outBuf[used++] = firstChunk[p];
2631
2576
  outBuf[used++] = 10;
2632
2577
  }
2633
- if (firstChunkLen >= 256 && used <= 32768) {
2634
- lastSort = {
2635
- input: encodeBytes(firstChunk.subarray(0, firstChunkLen)),
2636
- output: outBuf.slice(0, used),
2637
- direction,
2638
- maxLineLength: maxSortLine,
2639
- };
2640
- }
2641
2578
  const p = outputRange(context, outBuf, used);
2642
2579
  if (isSyncResolved(p))
2643
2580
  return RESOLVED_EXIT_ZERO;
@@ -2653,8 +2590,10 @@ export function textCommands() {
2653
2590
  return diagnostic(context, error).then(RETURN_EXIT_TWO);
2654
2591
  }
2655
2592
  finally {
2656
- if (usedSortInScratch)
2593
+ if (usedSortInScratch) {
2594
+ sharedSortInScratch.fill(0);
2657
2595
  sharedSortInUse = false;
2596
+ }
2658
2597
  }
2659
2598
  }
2660
2599
  }
@@ -2715,7 +2654,7 @@ export function textCommands() {
2715
2654
  return diagnostic(context, error).then(RETURN_EXIT_ONE);
2716
2655
  }
2717
2656
  if (res2 !== undefined && res2.done && chunk.length <= 65536) {
2718
- const outBuf = sharedUniqOutBuffer;
2657
+ const outBuf = new Uint8Array(128 * 1024);
2719
2658
  let outUsed = 0;
2720
2659
  let prevStart = -1;
2721
2660
  let prevEnd = -1;
@@ -2919,7 +2858,7 @@ export function textCommands() {
2919
2858
  }
2920
2859
  if (canFast && (targetField >= 1 || (fieldMask !== 0 && typeof context.stdin.tryReadAllSync === "function"))) {
2921
2860
  const req = assertInputRequirements(context, operand !== undefined ? [operand] : EMPTY_OPERANDS);
2922
- if (!req && operand === undefined && !sharedCutOutInUse) {
2861
+ if (!req && operand === undefined) {
2923
2862
  const srcIter = input(context, "-")[Symbol.asyncIterator]();
2924
2863
  if (typeof srcIter.tryNextSync === "function") {
2925
2864
  let res1;
@@ -2940,28 +2879,10 @@ export function textCommands() {
2940
2879
  catch (error) {
2941
2880
  return diagnostic(context, error).then(RETURN_EXIT_ONE);
2942
2881
  }
2943
- if (res2 !== undefined && res2.done && chunk.length < sharedCutOutBuffer.length) {
2944
- if (fieldMask === 0 &&
2945
- lastCutOutUsed >= 0 &&
2946
- chunk.length >= 256 &&
2947
- lastCutInBuf !== undefined &&
2948
- chunk.length === lastCutInBuf.byteLength &&
2949
- sepByte === lastCutSep &&
2950
- targetField === lastCutField &&
2951
- lastCutMaxLineLen <= bufferLimit &&
2952
- equalBytes(lastCutInBuf, chunk)) {
2953
- context.signal.throwIfAborted();
2954
- if (lastCutOutUsed === 0)
2955
- return RESOLVED_EXIT_ZERO;
2956
- const p = outputRange(context, cachedCutOutBuffer, lastCutOutUsed);
2957
- if (isSyncResolved(p))
2958
- return RESOLVED_EXIT_ZERO;
2959
- return p.then(RETURN_EXIT_ZERO);
2960
- }
2961
- const outBuf = sharedCutOutBuffer;
2882
+ if (res2 !== undefined && res2.done && chunk.length < 65536) {
2883
+ const outBuf = new Uint8Array(65536);
2962
2884
  let outUsed = 0;
2963
2885
  let start = 0;
2964
- let maxCutLine = 0;
2965
2886
  while (start < chunk.length) {
2966
2887
  let offset = chunk.indexOf(10, start);
2967
2888
  const hasNewline = offset >= 0;
@@ -2975,8 +2896,6 @@ export function textCommands() {
2975
2896
  let boundary = chunk.indexOf(sepByte, start);
2976
2897
  if (boundary >= offset)
2977
2898
  boundary = -1;
2978
- if (offset - start > maxCutLine)
2979
- maxCutLine = offset - start;
2980
2899
  if (fieldMask !== 0 && boundary >= 0) {
2981
2900
  let f = 1;
2982
2901
  let curStart = start;
@@ -3027,14 +2946,6 @@ export function textCommands() {
3027
2946
  }
3028
2947
  start = offset + 1;
3029
2948
  }
3030
- if (fieldMask === 0 && chunk.length >= 256 && outUsed <= 32768) {
3031
- lastCutInBuf = encodeBytes(chunk);
3032
- lastCutSep = sepByte;
3033
- lastCutField = targetField;
3034
- lastCutMaxLineLen = maxCutLine;
3035
- lastCutOutUsed = outUsed;
3036
- cachedCutOutBuffer.set(outBuf.subarray(0, outUsed));
3037
- }
3038
2949
  if (outUsed === 0)
3039
2950
  return RESOLVED_EXIT_ZERO;
3040
2951
  const p = outputRange(context, outBuf, outUsed);
@@ -3144,10 +3055,7 @@ async function executeSortFastContinueAsync(context, direction, srcIter, initial
3144
3055
  async function executeCutFastAsync(context, operand, sepByte, targetField, req, existingIter, initialFirstChunk, initialSecondRes) {
3145
3056
  if (req)
3146
3057
  await req;
3147
- const ownsShared = !sharedCutOutInUse;
3148
- if (ownsShared)
3149
- sharedCutOutInUse = true;
3150
- const outBuf = ownsShared ? sharedCutOutBuffer : new Uint8Array(65536);
3058
+ const outBuf = new Uint8Array(65536);
3151
3059
  let outUsed = 0;
3152
3060
  const isPipeStage = Boolean(context.stdout.isPipeStage);
3153
3061
  const syncSink = !isPipeStage
@@ -3299,9 +3207,5 @@ async function executeCutFastAsync(context, operand, sepByte, targetField, req,
3299
3207
  await diagnostic(context, error);
3300
3208
  return { exitCode: 1 };
3301
3209
  }
3302
- finally {
3303
- if (ownsShared)
3304
- sharedCutOutInUse = false;
3305
- }
3306
3210
  }
3307
3211
  //# sourceMappingURL=text.js.map