@poe-platform/safe-bash 0.1.799 → 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 (1076) hide show
  1. package/README.md +48 -22
  2. package/dist/image-ast/index.browser.js +1503 -98
  3. package/dist/image-ast/index.js +1503 -98
  4. package/dist/mp4-ast/types.d.ts +1 -0
  5. package/dist/office-package/zip.d.ts +2 -0
  6. package/dist/office-package/zip.js +1 -1
  7. package/dist/pdf-ast/index.js +5 -4
  8. package/dist/safe-bash/chunks/{chunk-LUOFIVNI.js → chunk-3NDIFSNM.js} +3 -3
  9. package/dist/safe-bash/chunks/chunk-3R3AANOR.js +26 -0
  10. package/dist/safe-bash/chunks/{chunk-TRVGCN3U.js → chunk-45PK3NWI.js} +4 -4
  11. package/dist/safe-bash/chunks/{chunk-KHMGTPD6.js → chunk-46Z5E5EV.js} +2 -2
  12. package/dist/safe-bash/chunks/{chunk-XB3B7KMM.js → chunk-6O77NL2S.js} +1 -1
  13. package/dist/safe-bash/chunks/{chunk-T3JTVIEP.js → chunk-6PAVEFT3.js} +1 -1
  14. package/dist/safe-bash/chunks/{chunk-PYVEAFJM.js → chunk-74GHTNJA.js} +3 -2
  15. package/dist/safe-bash/chunks/{chunk-LQHGH25W.js → chunk-7R5BDCG7.js} +1 -1
  16. package/dist/safe-bash/chunks/{chunk-WUNK5NXJ.js → chunk-7VNF5BFF.js} +1140 -1660
  17. package/dist/safe-bash/chunks/{chunk-NHOXKQNE.js → chunk-A7XEHALN.js} +6 -6
  18. package/dist/safe-bash/chunks/{chunk-MHZ24KEI.js → chunk-AM5ESLPH.js} +1 -1
  19. package/dist/safe-bash/chunks/{chunk-3L3T6LYV.js → chunk-AUSNDQTJ.js} +1 -1
  20. package/dist/safe-bash/chunks/{chunk-YG5WAHK7.js → chunk-B7TAL7S5.js} +1 -3
  21. package/dist/safe-bash/chunks/{chunk-K7IQZE7D.js → chunk-C5OWC2TL.js} +1 -1
  22. package/dist/safe-bash/chunks/{chunk-F3RV2F72.js → chunk-CHYGPFVM.js} +1 -1
  23. package/dist/safe-bash/chunks/{chunk-M4CFCXHN.js → chunk-CS4MNM6I.js} +1 -1
  24. package/dist/safe-bash/chunks/{chunk-H6JW3E4F.js → chunk-CTVWDACF.js} +1 -1
  25. package/dist/safe-bash/chunks/{chunk-KTGR4U57.js → chunk-D3ANYGMC.js} +2 -3
  26. package/dist/safe-bash/chunks/{chunk-ENR3HB2B.js → chunk-E7OYNDGL.js} +1 -2
  27. package/dist/safe-bash/chunks/{chunk-SOZK5JVX.js → chunk-FBUCWVTE.js} +1 -1
  28. package/dist/safe-bash/chunks/{chunk-NX2SQVON.js → chunk-FNDNHAGE.js} +46 -27
  29. package/dist/safe-bash/chunks/{chunk-KCVSVD65.js → chunk-I5HZ4FGE.js} +1 -1
  30. package/dist/safe-bash/chunks/{chunk-KMH2DF3I.js → chunk-ICFDYV64.js} +7 -2
  31. package/dist/safe-bash/chunks/{chunk-T5KKDMYB.js → chunk-IVRQ4BXL.js} +7 -1
  32. package/dist/safe-bash/chunks/{chunk-KV7PKOHV.js → chunk-IWDICZVK.js} +1 -1
  33. package/dist/safe-bash/chunks/{chunk-I4OAEOP6.js → chunk-J42RIHHJ.js} +1 -1
  34. package/dist/safe-bash/chunks/chunk-K6VCD7IY.js +106 -0
  35. package/dist/safe-bash/chunks/{chunk-63FXVDGF.js → chunk-LVOBFF4D.js} +1 -1
  36. package/dist/safe-bash/chunks/{chunk-U5NUZPCC.js → chunk-MHMMRCYC.js} +1 -1
  37. package/dist/safe-bash/chunks/{chunk-6HZYFL3H.js → chunk-NR3EM4LS.js} +1 -1
  38. package/dist/safe-bash/chunks/{chunk-VYZTG3GV.js → chunk-NZQXYWA3.js} +1 -1
  39. package/dist/safe-bash/chunks/{chunk-JSVX4VIA.js → chunk-OQRVVGR6.js} +3 -2
  40. package/dist/safe-bash/chunks/{chunk-B3DDEDH2.js → chunk-OV6IHKO6.js} +2 -2
  41. package/dist/safe-bash/chunks/{chunk-SPYL72GN.js → chunk-PQRAK7HU.js} +1196 -5781
  42. package/dist/safe-bash/chunks/chunk-SZH7EJLD.js +9221 -0
  43. package/dist/safe-bash/chunks/{chunk-AKC46AF6.js → chunk-TFIBK2GI.js} +8 -41
  44. package/dist/safe-bash/chunks/{chunk-ZNAFMYIA.js → chunk-UE5KZDEK.js} +2 -2
  45. package/dist/safe-bash/chunks/{chunk-QU3BVQ53.js → chunk-UTBUUFDM.js} +1 -1
  46. package/dist/safe-bash/chunks/{chunk-6IBTC4YL.js → chunk-VQDD3G76.js} +93 -39
  47. package/dist/safe-bash/chunks/{chunk-IUTD5FH5.js → chunk-VTH3MLDU.js} +2 -7
  48. package/dist/safe-bash/chunks/{chunk-LLZCZ24K.js → chunk-XVOSKJE2.js} +1 -1
  49. package/dist/safe-bash/chunks/{csvkit-W2UEKH6P.js → csvkit-TACDU7FC.js} +3 -3
  50. package/dist/safe-bash/chunks/{ffmpeg-42CGASMV.js → ffmpeg-WTC3TEFI.js} +2 -2
  51. package/dist/safe-bash/chunks/{gh-26GYLH6D.js → gh-6WU6PXL4.js} +2 -2
  52. package/dist/safe-bash/chunks/{git-YREKMUVD.js → git-EFZIGJW4.js} +2 -2
  53. package/dist/safe-bash/chunks/{imagemagick-3YIX4XO2.js → imagemagick-EIEYGWPF.js} +2 -2
  54. package/dist/safe-bash/chunks/{implementation-E3YMKU3Z.js → implementation-MLFHUQ5M.js} +2 -2
  55. package/dist/safe-bash/chunks/mmdc-ROQJT5HQ.js +118 -0
  56. package/dist/safe-bash/chunks/{pdfimages-UE2UISP2.js → pdfimages-DW7LWXFI.js} +2 -2
  57. package/dist/safe-bash/chunks/{pdfinfo-RGARKLI5.js → pdfinfo-TIP6XLUQ.js} +4 -12
  58. package/dist/safe-bash/chunks/{pdftk-JY3WVCCC.js → pdftk-DMG22ITZ.js} +2 -2
  59. package/dist/safe-bash/chunks/{pdftoppm-GPD3BMPY.js → pdftoppm-WNDYR72T.js} +2 -2
  60. package/dist/safe-bash/chunks/{pdftotext-K7GQ2QJZ.js → pdftotext-5IPZ4NI7.js} +2 -2
  61. package/dist/safe-bash/chunks/{qpdf-F4U7WUSU.js → qpdf-TTX2DIUA.js} +2 -2
  62. package/dist/safe-bash/chunks/{sips-RWENS7X5.js → sips-XYS46JPJ.js} +2 -2
  63. package/dist/safe-bash/chunks/{soffice-IT6W2C5F.js → soffice-TU73E5KL.js} +2 -2
  64. package/dist/safe-bash/chunks/{wkhtmltopdf-JYNDAHIZ.js → wkhtmltopdf-FSZ2CHGE.js} +2 -2
  65. package/dist/safe-bash/command-chunks/{chunk-QBGA56UH.js → chunk-2ELYGJDD.js} +7 -7
  66. package/dist/safe-bash/command-chunks/chunk-2FGJYFWZ.js +44 -0
  67. package/dist/safe-bash/command-chunks/chunk-2H4JTFIL.js +53 -0
  68. package/dist/safe-bash/command-chunks/{chunk-52PCQXD2.js → chunk-2NHI5F5S.js} +2 -1
  69. package/dist/safe-bash/command-chunks/{chunk-HDKVO47G.js → chunk-2SQEIUGJ.js} +3 -3
  70. package/dist/safe-bash/command-chunks/chunk-364TMWBT.js +946 -0
  71. package/dist/safe-bash/command-chunks/chunk-3E2OIS2J.js +7037 -0
  72. package/dist/safe-bash/command-chunks/chunk-3HHCU5YU.js +380 -0
  73. package/dist/safe-bash/command-chunks/{chunk-TF6OA2GK.js → chunk-3NV3HYT2.js} +1 -1
  74. package/dist/safe-bash/command-chunks/chunk-4B7Y7S6E.js +61 -0
  75. package/dist/safe-bash/command-chunks/{chunk-LLCXZKZ6.js → chunk-4BB2SWJ5.js} +2 -2
  76. package/dist/safe-bash/command-chunks/{chunk-IEXHHNOF.js → chunk-4J5CZ2DP.js} +2 -7
  77. package/dist/safe-bash/command-chunks/{chunk-WDHI3S6Y.js → chunk-4OOUQTQO.js} +1 -1
  78. package/dist/safe-bash/command-chunks/chunk-4ZHMW6F5.js +104 -0
  79. package/dist/safe-bash/command-chunks/{chunk-YMONDXET.js → chunk-4ZQWGOZB.js} +2 -2
  80. package/dist/safe-bash/command-chunks/chunk-5BSTFCXG.js +553 -0
  81. package/dist/safe-bash/command-chunks/{chunk-MKQVQMXO.js → chunk-5LU4UCBR.js} +1 -1
  82. package/dist/safe-bash/command-chunks/chunk-5PWJG2UK.js +174 -0
  83. package/dist/safe-bash/command-chunks/chunk-5TBUOBDE.js +346 -0
  84. package/dist/safe-bash/command-chunks/{chunk-JMPP4TCW.js → chunk-5UBXNSFZ.js} +3 -2
  85. package/dist/safe-bash/command-chunks/chunk-5XY4DTNG.js +34 -0
  86. package/dist/safe-bash/command-chunks/chunk-5ZMZ573Q.js +140 -0
  87. package/dist/safe-bash/command-chunks/{chunk-3NG75MOB.js → chunk-67GQA75T.js} +1 -1
  88. package/dist/safe-bash/command-chunks/chunk-67QKREJK.js +347 -0
  89. package/dist/safe-bash/command-chunks/{chunk-L6SU4S26.js → chunk-6B7WQIKB.js} +0 -7
  90. package/dist/safe-bash/command-chunks/chunk-6BNTBWIK.js +327 -0
  91. package/dist/safe-bash/command-chunks/chunk-6EPHJGGF.js +23 -0
  92. package/dist/safe-bash/command-chunks/chunk-6F4XCVON.js +266 -0
  93. package/dist/safe-bash/command-chunks/chunk-6KJ3LPI2.js +94 -0
  94. package/dist/safe-bash/command-chunks/{chunk-HLDTOR7M.js → chunk-6ZVI7LUY.js} +1 -1
  95. package/dist/safe-bash/command-chunks/{chunk-X6NJC3IC.js → chunk-75OFBY5R.js} +1 -1
  96. package/dist/safe-bash/command-chunks/chunk-7K6JYKPJ.js +422 -0
  97. package/dist/safe-bash/command-chunks/chunk-7N2LI2KO.js +206 -0
  98. package/dist/safe-bash/command-chunks/{chunk-MRW5HD2D.js → chunk-7O3E4LPT.js} +4 -22
  99. package/dist/safe-bash/command-chunks/chunk-7U7EXOXX.js +1392 -0
  100. package/dist/safe-bash/command-chunks/{chunk-6CYTRQ24.js → chunk-7VTKQUA5.js} +20 -17
  101. package/dist/safe-bash/command-chunks/{chunk-BZPAWTUL.js → chunk-AEF5BA3D.js} +1 -1
  102. package/dist/safe-bash/command-chunks/{pptx-GBPNWNEP-7EQEVXV5.js → chunk-AI5JAXQF.js} +34820 -18029
  103. package/dist/safe-bash/command-chunks/{chunk-63R3FEZJ.js → chunk-AIV5BF5W.js} +1 -1
  104. package/dist/safe-bash/command-chunks/{chunk-AYUTO323.js → chunk-AKJG2XD3.js} +2 -18
  105. package/dist/safe-bash/command-chunks/{chunk-J34TZVMW.js → chunk-ALDC4XP4.js} +0 -5
  106. package/dist/safe-bash/command-chunks/chunk-AMO3THU4.js +105 -0
  107. package/dist/safe-bash/command-chunks/chunk-ARBYOQUZ.js +65 -0
  108. package/dist/safe-bash/command-chunks/chunk-BAGCY35S.js +231 -0
  109. package/dist/safe-bash/command-chunks/chunk-BAXU7B5Z.js +101 -0
  110. package/dist/safe-bash/command-chunks/{chunk-44AHAB5O.js → chunk-BDSMROQZ.js} +1 -4
  111. package/dist/safe-bash/command-chunks/chunk-BNOU5YQS.js +182 -0
  112. package/dist/safe-bash/command-chunks/{chunk-4ZALPDBV.js → chunk-BPE5INLI.js} +2 -2
  113. package/dist/safe-bash/command-chunks/{chunk-OT4LZMLB.js → chunk-BR73BIOW.js} +1 -1
  114. package/dist/safe-bash/command-chunks/chunk-C5YYCQHW.js +1444 -0
  115. package/dist/safe-bash/command-chunks/chunk-C7I25AAL.js +25 -0
  116. package/dist/safe-bash/command-chunks/{chunk-4ONEXMD3.js → chunk-CAP7ZJSY.js} +8 -8
  117. package/dist/safe-bash/command-chunks/{chunk-DWFLVJC6.js → chunk-CCRHMAU5.js} +2 -1
  118. package/dist/safe-bash/command-chunks/chunk-CQ5YGOGB.js +150 -0
  119. package/dist/safe-bash/command-chunks/{chunk-JCNNOMBV.js → chunk-CQTRW45K.js} +3 -2
  120. package/dist/safe-bash/command-chunks/{chunk-N2F74VRO.js → chunk-CZ7EN3JG.js} +1 -1
  121. package/dist/safe-bash/command-chunks/chunk-DB453IE6.js +122 -0
  122. package/dist/safe-bash/command-chunks/{chunk-KKG4BAFZ.js → chunk-DIEPXUM4.js} +6 -0
  123. package/dist/safe-bash/command-chunks/chunk-DOKKNRRM.js +87 -0
  124. package/dist/safe-bash/command-chunks/{chunk-2PX5B7T5.js → chunk-DQAVUDDX.js} +2 -2
  125. package/dist/safe-bash/command-chunks/chunk-DT7BCTWY.js +249 -0
  126. package/dist/safe-bash/command-chunks/{chunk-6BETHLXZ.js → chunk-DZCY63VJ.js} +13 -11
  127. package/dist/safe-bash/command-chunks/{chunk-QUENU6GM.js → chunk-E55UKBIE.js} +3 -3
  128. package/dist/safe-bash/command-chunks/chunk-EK6YNAXT.js +343 -0
  129. package/dist/safe-bash/command-chunks/chunk-EQ4HV54N.js +22 -0
  130. package/dist/safe-bash/command-chunks/{chunk-HLGKIZ25.js → chunk-F6OYH562.js} +2 -0
  131. package/dist/safe-bash/command-chunks/{chunk-MC3VWLIZ.js → chunk-FDBUV4HJ.js} +28 -19
  132. package/dist/safe-bash/command-chunks/{chunk-7FKUC34S.js → chunk-FPVUD6TH.js} +6 -3
  133. package/dist/safe-bash/command-chunks/chunk-FXELCPFX.js +195 -0
  134. package/dist/safe-bash/command-chunks/chunk-FXOA7RBK.js +42 -0
  135. package/dist/safe-bash/command-chunks/{chunk-LPORMIZS.js → chunk-FZTK4MFI.js} +9 -9
  136. package/dist/safe-bash/command-chunks/{chunk-K543PB3I.js → chunk-G66QUHIZ.js} +6 -35
  137. package/dist/safe-bash/command-chunks/chunk-GFQZCKO6.js +272 -0
  138. package/dist/safe-bash/command-chunks/{chunk-CU5RLO62.js → chunk-GLOZX57Y.js} +92 -18
  139. package/dist/safe-bash/command-chunks/chunk-GMIHJYDG.js +331 -0
  140. package/dist/safe-bash/command-chunks/chunk-GOB777HR.js +97 -0
  141. package/dist/safe-bash/command-chunks/chunk-GRBWW4SG.js +48 -0
  142. package/dist/safe-bash/command-chunks/{chunk-PPNBNFAU.js → chunk-GYQ2HAKQ.js} +8 -8
  143. package/dist/safe-bash/command-chunks/chunk-H622NS6Z.js +11 -0
  144. package/dist/safe-bash/command-chunks/{chunk-UI32HWGS.js → chunk-HMOZ6XVJ.js} +1 -1
  145. package/dist/safe-bash/command-chunks/{chunk-AVSPNLWV.js → chunk-I237SNW5.js} +1 -1
  146. package/dist/safe-bash/command-chunks/{chunk-43GSSUAY.js → chunk-II77KPZN.js} +5 -5
  147. package/dist/safe-bash/command-chunks/{chunk-ZS3QPNUL.js → chunk-IR2BY7EL.js} +21 -6
  148. package/dist/safe-bash/command-chunks/{chunk-SG424QWS.js → chunk-JDYXY44P.js} +2 -2
  149. package/dist/safe-bash/command-chunks/chunk-JNZ3CVAE.js +147 -0
  150. package/dist/safe-bash/command-chunks/{chunk-4QJOYXVB.js → chunk-JV7LBUTP.js} +1 -1
  151. package/dist/safe-bash/command-chunks/{chunk-IKS2YXZQ.js → chunk-K67MWWWH.js} +3 -3
  152. package/dist/safe-bash/command-chunks/chunk-KFVV7ZJO.js +216 -0
  153. package/dist/safe-bash/command-chunks/{chunk-G4PNVO6Z.js → chunk-KP7AO66M.js} +1 -1
  154. package/dist/safe-bash/command-chunks/{chunk-KMCZ6P4O.js → chunk-KQLD3AED.js} +68 -7
  155. package/dist/safe-bash/command-chunks/chunk-KWESKQHR.js +25 -0
  156. package/dist/safe-bash/command-chunks/{chunk-YZ5SVZFD.js → chunk-KXU3IRUO.js} +3 -3
  157. package/dist/safe-bash/command-chunks/{chunk-C7IHMJEW.js → chunk-KZC5UWFF.js} +2 -2
  158. package/dist/safe-bash/command-chunks/{chunk-2WRTLCGK.js → chunk-LAOM65EE.js} +5 -5
  159. package/dist/safe-bash/command-chunks/chunk-LE5LZNHE.js +204 -0
  160. package/dist/safe-bash/command-chunks/{chunk-HFII3QYO.js → chunk-LWS62ISU.js} +46 -32
  161. package/dist/safe-bash/command-chunks/{chunk-BZDDAPSV.js → chunk-LWSBAWLT.js} +1 -1
  162. package/dist/safe-bash/command-chunks/chunk-MDH5T4OS.js +41 -0
  163. package/dist/safe-bash/command-chunks/{chunk-X7TM3AKW.js → chunk-MIXBO6U7.js} +20 -7
  164. package/dist/safe-bash/command-chunks/chunk-MM6HU6CX.js +20 -0
  165. package/dist/safe-bash/command-chunks/{chunk-MYJAZ3U2.js → chunk-MPL2466A.js} +2 -2
  166. package/dist/safe-bash/command-chunks/{chunk-HLBX5IRS.js → chunk-MQFIPHIQ.js} +46 -81
  167. package/dist/safe-bash/command-chunks/{chunk-ZJBR5Q5I.js → chunk-MSFXC3OC.js} +4 -4
  168. package/dist/safe-bash/command-chunks/{chunk-NI7MKJPN.js → chunk-MTQH74CF.js} +3 -55
  169. package/dist/safe-bash/command-chunks/chunk-MWUZZWXK.js +354 -0
  170. package/dist/safe-bash/command-chunks/chunk-N4PFUSRM.js +35 -0
  171. package/dist/safe-bash/command-chunks/chunk-NCD7PEWH.js +298 -0
  172. package/dist/safe-bash/command-chunks/chunk-NFGI5IGF.js +266 -0
  173. package/dist/safe-bash/command-chunks/{chunk-I3K5RYU4.js → chunk-NKFYQSES.js} +73 -26
  174. package/dist/safe-bash/command-chunks/{chunk-KVFCSLKK.js → chunk-NXEQ3ESQ.js} +6 -0
  175. package/dist/safe-bash/command-chunks/{chunk-NGWB2YBL.js → chunk-O4JQSB7O.js} +1 -1
  176. package/dist/safe-bash/command-chunks/{chunk-7L24L4UO.js → chunk-OQU6UT6X.js} +2 -20
  177. package/dist/safe-bash/command-chunks/{chunk-3VGGYEDH.js → chunk-ORYGZYKW.js} +4 -3
  178. package/dist/safe-bash/command-chunks/{chunk-ZXKW7SJ2.js → chunk-OYYV7ZAF.js} +2 -2
  179. package/dist/safe-bash/command-chunks/chunk-P2N33UMN.js +270 -0
  180. package/dist/safe-bash/command-chunks/{chunk-Q7Q5GM5S.js → chunk-P5APDEFB.js} +2 -2
  181. package/dist/safe-bash/command-chunks/{chunk-X2YQLGKS.js → chunk-PCEFOYA3.js} +240 -148
  182. package/dist/safe-bash/command-chunks/{chunk-OLQG7ZCN.js → chunk-PEF7K3UQ.js} +136 -75
  183. package/dist/safe-bash/command-chunks/chunk-PII4YEZW.js +123 -0
  184. package/dist/safe-bash/command-chunks/{chunk-AIRGA2SU.js → chunk-PMBFZXTK.js} +1 -1
  185. package/dist/safe-bash/command-chunks/{chunk-ZT4KSS2V.js → chunk-PTT3I223.js} +1 -1
  186. package/dist/safe-bash/command-chunks/{chunk-4Y3WVMK4.js → chunk-PV66YWHB.js} +1 -0
  187. package/dist/safe-bash/command-chunks/chunk-Q3EWDEUQ.js +185 -0
  188. package/dist/safe-bash/command-chunks/{chunk-AXK3H4PX.js → chunk-QJ33BHI4.js} +1 -1
  189. package/dist/safe-bash/command-chunks/chunk-QKFSRZGQ.js +1091 -0
  190. package/dist/safe-bash/command-chunks/{chunk-JZSNU2MY.js → chunk-QKJLP53H.js} +2 -2
  191. package/dist/safe-bash/command-chunks/{chunk-VVI4Z73I.js → chunk-QP4R6GLA.js} +5 -1
  192. package/dist/safe-bash/command-chunks/chunk-RMWQAAO5.js +2488 -0
  193. package/dist/safe-bash/command-chunks/{chunk-QDTBMSBE.js → chunk-RO62EWX6.js} +2 -2
  194. package/dist/safe-bash/command-chunks/{chunk-HRLIAMXC.js → chunk-RZZI24ZE.js} +7 -6
  195. package/dist/safe-bash/command-chunks/{chunk-PFAADCB5.js → chunk-SDNBCQ3X.js} +10 -24
  196. package/dist/safe-bash/command-chunks/chunk-SEM36PG5.js +11 -0
  197. package/dist/safe-bash/command-chunks/{chunk-36O5OT7E.js → chunk-T35Y7YQD.js} +1 -1
  198. package/dist/safe-bash/command-chunks/{chunk-ESMCX3YV.js → chunk-TGSNCQSR.js} +710 -143
  199. package/dist/safe-bash/command-chunks/chunk-TIOCQVUQ.js +557 -0
  200. package/dist/safe-bash/command-chunks/{chunk-T5H5UJQ3.js → chunk-TNOA7FCQ.js} +1 -1
  201. package/dist/safe-bash/command-chunks/{chunk-GN2TKLE7.js → chunk-TS65BJHG.js} +5 -5
  202. package/dist/safe-bash/command-chunks/chunk-TSCGT46G.js +363 -0
  203. package/dist/safe-bash/command-chunks/chunk-UG7SMZFF.js +178 -0
  204. package/dist/safe-bash/command-chunks/{chunk-KBEURXFF.js → chunk-UN6WS55J.js} +3 -3
  205. package/dist/safe-bash/command-chunks/chunk-UXSR5BZH.js +136 -0
  206. package/dist/safe-bash/command-chunks/{chunk-SX2X3IH4.js → chunk-V2V5OCL3.js} +1 -1
  207. package/dist/safe-bash/command-chunks/chunk-V6BEDRMQ.js +112 -0
  208. package/dist/safe-bash/command-chunks/chunk-V7A7DRTU.js +293 -0
  209. package/dist/safe-bash/command-chunks/{chunk-5SHGJ7NO.js → chunk-VA5ZHYYA.js} +73 -33
  210. package/dist/safe-bash/command-chunks/{chunk-J4PEQWSF.js → chunk-VGG2DL5Q.js} +0 -1
  211. package/dist/safe-bash/command-chunks/chunk-VPR5LQYX.js +1228 -0
  212. package/dist/safe-bash/command-chunks/{chunk-EIVW3X3N.js → chunk-VSRGNQCP.js} +11 -6
  213. package/dist/safe-bash/command-chunks/{chunk-TYVCKQDH.js → chunk-VXSLJH7G.js} +56 -6
  214. package/dist/safe-bash/command-chunks/{chunk-PXYOWWMV.js → chunk-W7RAD4EW.js} +4 -3
  215. package/dist/safe-bash/command-chunks/{src-UJOWAS2S.js → chunk-WD3ERGRY.js} +77 -277
  216. package/dist/safe-bash/command-chunks/{chunk-5ZSM4UFN.js → chunk-WECIOOQB.js} +8 -64
  217. package/dist/safe-bash/command-chunks/{chunk-YFSDDFGV.js → chunk-WH627NJL.js} +446 -53
  218. package/dist/safe-bash/command-chunks/chunk-WNE7FPVR.js +236 -0
  219. package/dist/safe-bash/command-chunks/{chunk-UKS2XJZI.js → chunk-WPYIOKE3.js} +4 -4
  220. package/dist/safe-bash/command-chunks/{chunk-HHP343KT.js → chunk-WTECBRU4.js} +1 -1
  221. package/dist/safe-bash/command-chunks/{chunk-AO6Z5EQ7.js → chunk-WVE64WM2.js} +6 -5
  222. package/dist/safe-bash/command-chunks/chunk-WVHONVZ4.js +594 -0
  223. package/dist/safe-bash/command-chunks/chunk-XIIBTGC5.js +580 -0
  224. package/dist/safe-bash/command-chunks/chunk-XJXU3VVH.js +737 -0
  225. package/dist/safe-bash/command-chunks/chunk-XNLFHHOC.js +63 -0
  226. package/dist/safe-bash/command-chunks/{chunk-XAFSZDY2.js → chunk-XS72HTMA.js} +11 -0
  227. package/dist/safe-bash/command-chunks/chunk-Y5INTD6S.js +220 -0
  228. package/dist/safe-bash/command-chunks/chunk-YIQACGEW.js +43 -0
  229. package/dist/safe-bash/command-chunks/chunk-YOF7R4OY.js +80 -0
  230. package/dist/safe-bash/command-chunks/{chunk-VZHRZMS7.js → chunk-YOFC45RK.js} +1 -1
  231. package/dist/safe-bash/command-chunks/{chunk-2FUAW6GO.js → chunk-Z45N42QC.js} +75 -11
  232. package/dist/safe-bash/command-chunks/chunk-ZHUWOUWB.js +618 -0
  233. package/dist/safe-bash/command-chunks/{chunk-OPUJSTHS.js → chunk-ZYHTWNAE.js} +215 -67
  234. package/dist/safe-bash/command-chunks/chunk-ZYXH3B66.js +636 -0
  235. package/dist/safe-bash/command-chunks/{model-store-L35QTZMJ.js → model-store-WPKMRPV4.js} +2 -2
  236. package/dist/safe-bash/command-chunks/pptx-7G52EJ6L-4JACH5FB.js +625 -0
  237. package/dist/safe-bash/command-chunks/python-worker-source-TYOFJMCW.js +4 -0
  238. package/dist/safe-bash/command-chunks/src-ICMQISAA.js +501 -0
  239. package/dist/safe-bash/commands/archive/create.d.ts +1 -17
  240. package/dist/safe-bash/commands/archive/create.js +1 -252
  241. package/dist/safe-bash/commands/archive/extract.d.ts +1 -11
  242. package/dist/safe-bash/commands/archive/extract.js +1 -640
  243. package/dist/safe-bash/commands/archive/format.d.ts +1 -32
  244. package/dist/safe-bash/commands/archive/format.js +1 -225
  245. package/dist/safe-bash/commands/archive/index.d.ts +5 -10
  246. package/dist/safe-bash/commands/archive/index.js +6 -931
  247. package/dist/safe-bash/commands/archive/listing.d.ts +1 -2
  248. package/dist/safe-bash/commands/archive/listing.js +1 -21
  249. package/dist/safe-bash/commands/archive/modes.d.ts +1 -5
  250. package/dist/safe-bash/commands/archive/modes.js +1 -182
  251. package/dist/safe-bash/commands/archive/options.d.ts +1 -53
  252. package/dist/safe-bash/commands/archive/options.js +1 -462
  253. package/dist/safe-bash/commands/archive/stream.d.ts +1 -22
  254. package/dist/safe-bash/commands/archive/stream.js +1 -188
  255. package/dist/safe-bash/commands/archive/transform.d.ts +1 -16
  256. package/dist/safe-bash/commands/archive/transform.js +1 -85
  257. package/dist/safe-bash/commands/archive/unzip/arguments.d.ts +1 -53
  258. package/dist/safe-bash/commands/archive/unzip/arguments.js +1 -322
  259. package/dist/safe-bash/commands/archive/unzip/safety.d.ts +1 -32
  260. package/dist/safe-bash/commands/archive/unzip/safety.js +1 -295
  261. package/dist/safe-bash/commands/archive/unzip.d.ts +1 -3
  262. package/dist/safe-bash/commands/archive/unzip.js +1 -398
  263. package/dist/safe-bash/commands/archive/zip/aes.d.ts +1 -17
  264. package/dist/safe-bash/commands/archive/zip/aes.js +1 -156
  265. package/dist/safe-bash/commands/archive/zip/comments.d.ts +1 -17
  266. package/dist/safe-bash/commands/archive/zip/comments.js +1 -83
  267. package/dist/safe-bash/commands/archive/zip/crc.d.ts +1 -1
  268. package/dist/safe-bash/commands/archive/zip/crc.js +1 -1
  269. package/dist/safe-bash/commands/archive/zip/crypto.d.ts +1 -19
  270. package/dist/safe-bash/commands/archive/zip/crypto.js +1 -118
  271. package/dist/safe-bash/commands/archive/zip/dates.d.ts +1 -4
  272. package/dist/safe-bash/commands/archive/zip/dates.js +1 -66
  273. package/dist/safe-bash/commands/archive/zip/environment.d.ts +1 -2
  274. package/dist/safe-bash/commands/archive/zip/environment.js +1 -62
  275. package/dist/safe-bash/commands/archive/zip/grow.d.ts +1 -3
  276. package/dist/safe-bash/commands/archive/zip/grow.js +1 -2
  277. package/dist/safe-bash/commands/archive/zip/help.d.ts +1 -4
  278. package/dist/safe-bash/commands/archive/zip/help.js +1 -182
  279. package/dist/safe-bash/commands/archive/zip/line-endings.d.ts +1 -2
  280. package/dist/safe-bash/commands/archive/zip/line-endings.js +1 -194
  281. package/dist/safe-bash/commands/archive/zip/log.d.ts +1 -22
  282. package/dist/safe-bash/commands/archive/zip/log.js +1 -159
  283. package/dist/safe-bash/commands/archive/zip/lzma.d.ts +1 -9
  284. package/dist/safe-bash/commands/archive/zip/lzma.js +1 -40
  285. package/dist/safe-bash/commands/archive/zip/move.d.ts +1 -11
  286. package/dist/safe-bash/commands/archive/zip/move.js +1 -59
  287. package/dist/safe-bash/commands/archive/zip/names.d.ts +1 -2
  288. package/dist/safe-bash/commands/archive/zip/names.js +1 -33
  289. package/dist/safe-bash/commands/archive/zip/options.d.ts +1 -13
  290. package/dist/safe-bash/commands/archive/zip/options.js +1 -124
  291. package/dist/safe-bash/commands/archive/zip/repair.d.ts +1 -10
  292. package/dist/safe-bash/commands/archive/zip/repair.js +1 -392
  293. package/dist/safe-bash/commands/archive/zip/safety.d.ts +1 -54
  294. package/dist/safe-bash/commands/archive/zip/safety.js +1 -360
  295. package/dist/safe-bash/commands/archive/zip/sfx.d.ts +1 -4
  296. package/dist/safe-bash/commands/archive/zip/sfx.js +1 -52
  297. package/dist/safe-bash/commands/archive/zip/test-command.d.ts +1 -5
  298. package/dist/safe-bash/commands/archive/zip/test-command.js +1 -101
  299. package/dist/safe-bash/commands/archive/zip/volumes.d.ts +1 -21
  300. package/dist/safe-bash/commands/archive/zip/volumes.js +1 -281
  301. package/dist/safe-bash/commands/archive/zip/zip64.d.ts +1 -30
  302. package/dist/safe-bash/commands/archive/zip/zip64.js +1 -227
  303. package/dist/safe-bash/commands/archive/zip-format.d.ts +1 -68
  304. package/dist/safe-bash/commands/archive/zip-format.js +1 -1075
  305. package/dist/safe-bash/commands/archive/zip.d.ts +1 -3
  306. package/dist/safe-bash/commands/archive/zip.js +1 -1523
  307. package/dist/safe-bash/commands/awk/index.d.ts +2 -0
  308. package/dist/safe-bash/commands/awk/index.js +2 -0
  309. package/dist/safe-bash/commands/bytes/compression/index.js +4 -2
  310. package/dist/safe-bash/commands/copy-preserve.d.ts +1 -0
  311. package/dist/safe-bash/commands/csplit/index.browser.js +2 -2
  312. package/dist/safe-bash/commands/curl/index.d.ts +2 -0
  313. package/dist/safe-bash/commands/curl/index.js +2 -0
  314. package/dist/safe-bash/commands/diff/index.d.ts +2 -0
  315. package/dist/safe-bash/commands/diff/index.js +2 -0
  316. package/dist/safe-bash/commands/diff-patch/diff-format.d.ts +1 -10
  317. package/dist/safe-bash/commands/diff-patch/diff-format.js +1 -237
  318. package/dist/safe-bash/commands/diff-patch/diff-options.d.ts +1 -38
  319. package/dist/safe-bash/commands/diff-patch/diff-options.js +1 -261
  320. package/dist/safe-bash/commands/diff-patch/diff-output.d.ts +1 -20
  321. package/dist/safe-bash/commands/diff-patch/diff-output.js +1 -290
  322. package/dist/safe-bash/commands/diff-patch/diff.d.ts +1 -2
  323. package/dist/safe-bash/commands/diff-patch/diff.js +1 -656
  324. package/dist/safe-bash/commands/diff-patch/index.d.ts +4 -5
  325. package/dist/safe-bash/commands/diff-patch/index.js +8 -333
  326. package/dist/safe-bash/commands/diff-patch/patch-envelope.d.ts +1 -2
  327. package/dist/safe-bash/commands/diff-patch/patch-envelope.js +1 -63
  328. package/dist/safe-bash/commands/diff-patch/patch-formats.d.ts +1 -7
  329. package/dist/safe-bash/commands/diff-patch/patch-formats.js +1 -264
  330. package/dist/safe-bash/commands/diff-patch/patch-gnu-paths.d.ts +1 -41
  331. package/dist/safe-bash/commands/diff-patch/patch-gnu-paths.js +1 -263
  332. package/dist/safe-bash/commands/diff-patch/patch-gnu-reject.d.ts +1 -3
  333. package/dist/safe-bash/commands/diff-patch/patch-gnu-reject.js +1 -100
  334. package/dist/safe-bash/commands/diff-patch/patch-path.d.ts +1 -3
  335. package/dist/safe-bash/commands/diff-patch/patch-path.js +1 -91
  336. package/dist/safe-bash/commands/diff-patch/patch-publication.d.ts +1 -13
  337. package/dist/safe-bash/commands/diff-patch/patch-publication.js +1 -107
  338. package/dist/safe-bash/commands/diff-patch/patch.d.ts +1 -2
  339. package/dist/safe-bash/commands/diff-patch/patch.js +1 -653
  340. package/dist/safe-bash/commands/diff-patch/shared.d.ts +1 -53
  341. package/dist/safe-bash/commands/diff-patch/shared.js +1 -267
  342. package/dist/safe-bash/commands/diff-patch/unified.d.ts +1 -52
  343. package/dist/safe-bash/commands/diff-patch/unified.js +1 -385
  344. package/dist/safe-bash/commands/directory-admission.d.ts +1 -3
  345. package/dist/safe-bash/commands/directory-admission.js +1 -26
  346. package/dist/safe-bash/commands/docx/index.browser.js +1 -1
  347. package/dist/safe-bash/commands/execution.js +19 -13
  348. package/dist/safe-bash/commands/factor/index.browser.js +2 -2
  349. package/dist/safe-bash/commands/filesystem.d.ts +1 -1
  350. package/dist/safe-bash/commands/filesystem.js +17 -13
  351. package/dist/safe-bash/commands/find/index.d.ts +2 -0
  352. package/dist/safe-bash/commands/find/index.js +2 -0
  353. package/dist/safe-bash/commands/find-format.d.ts +1 -20
  354. package/dist/safe-bash/commands/find-format.js +1 -161
  355. package/dist/safe-bash/commands/find.d.ts +2 -18
  356. package/dist/safe-bash/commands/find.js +2 -1236
  357. package/dist/safe-bash/commands/getopt/index.browser.js +2 -2
  358. package/dist/safe-bash/commands/gzip/index.d.ts +2 -0
  359. package/dist/safe-bash/commands/gzip/index.js +2 -0
  360. package/dist/safe-bash/commands/hexdump/index.browser.js +2 -2
  361. package/dist/safe-bash/commands/htmlq/index.d.ts +1 -1
  362. package/dist/safe-bash/commands/iconv/index.browser.js +2 -2
  363. package/dist/safe-bash/commands/line-endings/index.browser.js +2 -2
  364. package/dist/safe-bash/commands/line-endings/index.d.ts +1 -1
  365. package/dist/safe-bash/commands/line-endings/index.js +1 -262
  366. package/dist/safe-bash/commands/llm/index.browser.js +4 -2
  367. package/dist/safe-bash/commands/llm/providers/index.browser.js +1 -1
  368. package/dist/safe-bash/commands/mdq/index.browser.js +3 -3
  369. package/dist/safe-bash/commands/media/index.browser.js +1 -1
  370. package/dist/safe-bash/commands/metadata/chmod.d.ts +1 -4
  371. package/dist/safe-bash/commands/metadata/chmod.js +2 -63
  372. package/dist/safe-bash/commands/network/aggregate.d.ts +1 -4
  373. package/dist/safe-bash/commands/network/aggregate.js +1 -23
  374. package/dist/safe-bash/commands/network/args.d.ts +1 -68
  375. package/dist/safe-bash/commands/network/args.js +1 -321
  376. package/dist/safe-bash/commands/network/authorizer.d.ts +1 -6
  377. package/dist/safe-bash/commands/network/authorizer.js +1 -33
  378. package/dist/safe-bash/commands/network/body.d.ts +1 -9
  379. package/dist/safe-bash/commands/network/body.js +1 -393
  380. package/dist/safe-bash/commands/network/curl.d.ts +3 -13
  381. package/dist/safe-bash/commands/network/curl.js +6 -695
  382. package/dist/safe-bash/commands/network/deadline.d.ts +1 -2
  383. package/dist/safe-bash/commands/network/deadline.js +1 -14
  384. package/dist/safe-bash/commands/network/decode.d.ts +1 -2
  385. package/dist/safe-bash/commands/network/decode.js +1 -79
  386. package/dist/safe-bash/commands/network/fetch-transport.d.ts +1 -7
  387. package/dist/safe-bash/commands/network/fetch-transport.js +1 -94
  388. package/dist/safe-bash/commands/network/form-content-type.d.ts +1 -5
  389. package/dist/safe-bash/commands/network/form-content-type.js +1 -63
  390. package/dist/safe-bash/commands/network/form-headers.d.ts +1 -2
  391. package/dist/safe-bash/commands/network/form-headers.js +1 -35
  392. package/dist/safe-bash/commands/network/glob.d.ts +1 -7
  393. package/dist/safe-bash/commands/network/glob.js +1 -134
  394. package/dist/safe-bash/commands/network/index.browser.js +4 -12
  395. package/dist/safe-bash/commands/network/input.d.ts +1 -5
  396. package/dist/safe-bash/commands/network/input.js +1 -276
  397. package/dist/safe-bash/commands/network/output.d.ts +1 -6
  398. package/dist/safe-bash/commands/network/output.js +1 -131
  399. package/dist/safe-bash/commands/network/platform-portable.d.ts +1 -5
  400. package/dist/safe-bash/commands/network/platform-portable.js +1 -26
  401. package/dist/safe-bash/commands/network/private-address.d.ts +1 -1
  402. package/dist/safe-bash/commands/network/private-address.js +1 -44
  403. package/dist/safe-bash/commands/network/public.d.ts +2 -2
  404. package/dist/safe-bash/commands/network/public.js +2 -2
  405. package/dist/safe-bash/commands/network/shared.d.ts +1 -14
  406. package/dist/safe-bash/commands/network/shared.js +1 -71
  407. package/dist/safe-bash/commands/network/transport.js +2 -2
  408. package/dist/safe-bash/commands/network/types.d.ts +1 -37
  409. package/dist/safe-bash/commands/network/types.js +1 -31
  410. package/dist/safe-bash/commands/network/url.d.ts +1 -2
  411. package/dist/safe-bash/commands/network/url.js +1 -30
  412. package/dist/safe-bash/commands/network/wget.d.ts +3 -3
  413. package/dist/safe-bash/commands/network/wget.js +9 -332
  414. package/dist/safe-bash/commands/node/filesystem.js +3 -2
  415. package/dist/safe-bash/commands/node/index.browser.js +8 -9
  416. package/dist/safe-bash/commands/node/index.d.ts +3 -3
  417. package/dist/safe-bash/commands/node/index.js +5 -0
  418. package/dist/safe-bash/commands/node/safejs.d.ts +3 -3
  419. package/dist/safe-bash/commands/node/safejs.js +6 -1
  420. package/dist/safe-bash/commands/node/types.d.ts +1 -1
  421. package/dist/safe-bash/commands/node/types.js +1 -1
  422. package/dist/safe-bash/commands/node/unconfigured.d.ts +3 -0
  423. package/dist/safe-bash/commands/node/unconfigured.js +10 -0
  424. package/dist/safe-bash/commands/op/index.browser.js +3 -3
  425. package/dist/safe-bash/commands/patch/index.d.ts +2 -0
  426. package/dist/safe-bash/commands/patch/index.js +2 -0
  427. package/dist/safe-bash/commands/pdfinfo/index.js +2 -1
  428. package/dist/safe-bash/commands/pr/index.browser.js +2 -2
  429. package/dist/safe-bash/commands/predicates.js +3 -4
  430. package/dist/safe-bash/commands/python/host-capabilities.js +31 -14
  431. package/dist/safe-bash/commands/python/index.browser.js +11 -11
  432. package/dist/safe-bash/commands/python/llm-capability.d.ts +1 -0
  433. package/dist/safe-bash/commands/python/llm-capability.js +27 -7
  434. package/dist/safe-bash/commands/python/llm-module.js +11 -0
  435. package/dist/safe-bash/commands/python/manifest.d.ts +2 -0
  436. package/dist/safe-bash/commands/python/manifest.js +13 -6
  437. package/dist/safe-bash/commands/python/provisioning.js +1 -1
  438. package/dist/safe-bash/commands/python/shell-capability.d.ts +1 -0
  439. package/dist/safe-bash/commands/python/shell-capability.js +3 -2
  440. package/dist/safe-bash/commands/python/worker.browser.js +3 -3
  441. package/dist/safe-bash/commands/regex-execution/matching.js +1 -2
  442. package/dist/safe-bash/commands/regex-execution/public.browser.js +8 -8
  443. package/dist/safe-bash/commands/safejs/runtime.js +16 -7
  444. package/dist/safe-bash/commands/search/index.d.ts +1 -1
  445. package/dist/safe-bash/commands/search/index.js +1 -347
  446. package/dist/safe-bash/commands/search/portable.d.ts +2 -2
  447. package/dist/safe-bash/commands/search/portable.js +3 -2
  448. package/dist/safe-bash/commands/sed/index.d.ts +2 -0
  449. package/dist/safe-bash/commands/sed/index.js +2 -0
  450. package/dist/safe-bash/commands/standard.d.ts +1 -0
  451. package/dist/safe-bash/commands/standard.js +2 -1
  452. package/dist/safe-bash/commands/streams.js +6 -24
  453. package/dist/safe-bash/commands/tar/index.d.ts +2 -0
  454. package/dist/safe-bash/commands/tar/index.js +2 -0
  455. package/dist/safe-bash/commands/text-programs/awk-inspection.d.ts +1 -19
  456. package/dist/safe-bash/commands/text-programs/awk-inspection.js +1 -50
  457. package/dist/safe-bash/commands/text-programs/awk-pipes.d.ts +2 -0
  458. package/dist/safe-bash/commands/text-programs/awk-pipes.js +2 -0
  459. package/dist/safe-bash/commands/text-programs/awk-pretty.d.ts +1 -3
  460. package/dist/safe-bash/commands/text-programs/awk-pretty.js +1 -197
  461. package/dist/safe-bash/commands/text-programs/awk-quote.d.ts +1 -2
  462. package/dist/safe-bash/commands/text-programs/awk-quote.js +1 -15
  463. package/dist/safe-bash/commands/text-programs/awk-reader.d.ts +1 -42
  464. package/dist/safe-bash/commands/text-programs/awk-reader.js +1 -449
  465. package/dist/safe-bash/commands/text-programs/awk-retention.d.ts +1 -13
  466. package/dist/safe-bash/commands/text-programs/awk-retention.js +1 -51
  467. package/dist/safe-bash/commands/text-programs/awk-runtime.d.ts +1 -150
  468. package/dist/safe-bash/commands/text-programs/awk-runtime.js +1 -2627
  469. package/dist/safe-bash/commands/text-programs/awk-syntax.d.ts +1 -142
  470. package/dist/safe-bash/commands/text-programs/awk-syntax.js +1 -509
  471. package/dist/safe-bash/commands/text-programs/awk-values.d.ts +1 -32
  472. package/dist/safe-bash/commands/text-programs/awk-values.js +1 -386
  473. package/dist/safe-bash/commands/text-programs/awk.d.ts +1 -3
  474. package/dist/safe-bash/commands/text-programs/awk.js +1 -361
  475. package/dist/safe-bash/commands/text-programs/inplace.d.ts +1 -16
  476. package/dist/safe-bash/commands/text-programs/inplace.js +1 -155
  477. package/dist/safe-bash/commands/text-programs/sed.d.ts +1 -3
  478. package/dist/safe-bash/commands/text-programs/sed.js +1 -1647
  479. package/dist/safe-bash/commands/text.js +268 -364
  480. package/dist/safe-bash/commands/tsort/index.browser.js +2 -2
  481. package/dist/safe-bash/commands/unzip/index.d.ts +2 -0
  482. package/dist/safe-bash/commands/unzip/index.js +2 -0
  483. package/dist/safe-bash/commands/wget/index.d.ts +2 -0
  484. package/dist/safe-bash/commands/wget/index.js +2 -0
  485. package/dist/safe-bash/commands/xml/index.browser.js +2 -2
  486. package/dist/safe-bash/commands/yq/index.browser.js +8 -3
  487. package/dist/safe-bash/commands/yq/index.d.ts +1 -6
  488. package/dist/safe-bash/commands/yq/index.js +1 -36
  489. package/dist/safe-bash/commands/zip/index.d.ts +2 -0
  490. package/dist/safe-bash/commands/zip/index.js +2 -0
  491. package/dist/safe-bash/core.browser.js +2 -2
  492. package/dist/safe-bash/core.d.ts +14 -2
  493. package/dist/safe-bash/core.js +8 -2
  494. package/dist/safe-bash/fs/s3/index.d.ts +2 -2
  495. package/dist/safe-bash/fs/s3/index.js +1 -1
  496. package/dist/safe-bash/full-core.browser.js +321 -286
  497. package/dist/safe-bash/jobs.browser.js +5 -5
  498. package/dist/safe-bash/lazy-mmdc.d.ts +6 -0
  499. package/dist/safe-bash/lazy-mmdc.js +23 -0
  500. package/dist/safe-bash/opt-in/commands/dd/index.js +2 -0
  501. package/dist/safe-bash/opt-in/commands/yq/mike.js +6 -13
  502. package/dist/safe-bash/opt-in/commands/yq/native-work.d.ts +1 -0
  503. package/dist/safe-bash/opt-in/commands/yq/native-work.js +17 -0
  504. package/dist/safe-bash/opt-in/optional/commands/shuf/options.d.ts +1 -0
  505. package/dist/safe-bash/opt-in/optional/commands/shuf/options.js +2 -4
  506. package/dist/safe-bash/opt-in/optional/commands/shuf/shuf.js +2 -1
  507. package/dist/safe-bash/optional-host.browser.js +15 -11
  508. package/dist/safe-bash/optional-host.d.ts +1 -1
  509. package/dist/safe-bash/optional-host.js +1 -1
  510. package/dist/safe-bash/playwright/ability-execution.js +3 -2
  511. package/dist/safe-bash/playwright/adapter.js +1 -1
  512. package/dist/safe-bash/playwright/controller.js +9 -8
  513. package/dist/safe-bash/playwright/modal-capabilities.js +2 -1
  514. package/dist/safe-bash/playwright/native-json-snapshot.js +4 -3
  515. package/dist/safe-bash/playwright/native-snapshot.js +5 -4
  516. package/dist/safe-bash/playwright/open-options.js +3 -3
  517. package/dist/safe-bash/playwright/resource-limit.d.ts +2 -0
  518. package/dist/safe-bash/playwright/resource-limit.js +4 -0
  519. package/dist/safe-bash/playwright/session-configuration.js +8 -3
  520. package/dist/safe-bash/playwright/snapshot.js +8 -7
  521. package/dist/safe-bash/playwright/standard-capabilities.js +5 -4
  522. package/dist/safe-bash/plugins/composition.d.ts +1 -0
  523. package/dist/safe-bash/plugins/composition.js +3 -8
  524. package/dist/safe-bash/plugins/index.browser.js +27 -29
  525. package/dist/safe-bash/registry-entry.browser.js +28 -30
  526. package/dist/safe-bash/shell/arrays/bindings.d.ts +3 -5
  527. package/dist/safe-bash/shell/arrays/bindings.js +7 -3
  528. package/dist/safe-bash/shell/arrays/state.js +4 -0
  529. package/dist/safe-bash/shell/brace-expansion.js +1 -1
  530. package/dist/safe-bash/shell/dynamic-variables.d.ts +10 -0
  531. package/dist/safe-bash/shell/dynamic-variables.js +25 -0
  532. package/dist/safe-bash/shell/input.js +16 -14
  533. package/dist/safe-bash/shell/parser.js +8 -1
  534. package/dist/safe-bash/shell/runtime.d.ts +7 -4
  535. package/dist/safe-bash/shell/runtime.js +604 -802
  536. package/dist/safe-bash/shell/shell.js +2 -31
  537. package/dist/safe-bash/shell/types.d.ts +2 -0
  538. package/dist/safe-bash/shell/value-state.js +17 -2
  539. package/dist/safe-bash/shell/worker-limits.js +1 -0
  540. package/dist/safe-bash/shell-entry.browser.js +25 -27
  541. package/dist/safe-bash/trap.browser.d.ts +3 -0
  542. package/dist/safe-bash/trap.browser.js +14 -0
  543. package/dist/safe-bash/worker/host.js +1 -1
  544. package/dist/safe-bash/yq-browser/index.js +1 -1
  545. package/dist/safe-bash-base-encoding-engine/base.js +2 -2
  546. package/dist/safe-bash-base-encoding-engine/shared.js +1 -1
  547. package/dist/safe-bash-byte-input-engine/index.d.ts +3 -2
  548. package/dist/safe-bash-byte-input-engine/index.js +4 -1
  549. package/dist/safe-bash-checksum-engine/index.js +13 -6
  550. package/dist/safe-bash-command-apply-patch/apply.d.ts +1 -1
  551. package/dist/safe-bash-command-apply-patch/apply.js +4 -3
  552. package/dist/safe-bash-command-apply-patch/index.js +4 -4
  553. package/dist/safe-bash-command-apply-patch/matcher.js +1 -1
  554. package/dist/safe-bash-command-apply-patch/parser.js +1 -1
  555. package/dist/safe-bash-command-awk/LICENSE +21 -0
  556. package/dist/safe-bash-command-awk/awk-inspection.d.ts +19 -0
  557. package/dist/safe-bash-command-awk/awk-inspection.js +9 -0
  558. package/dist/safe-bash-command-awk/awk-pipes.d.ts +19 -0
  559. package/dist/safe-bash-command-awk/awk-pipes.js +8 -0
  560. package/dist/safe-bash-command-awk/awk-pretty.d.ts +3 -0
  561. package/dist/safe-bash-command-awk/awk-pretty.js +8 -0
  562. package/dist/safe-bash-command-awk/awk-quote.d.ts +2 -0
  563. package/dist/safe-bash-command-awk/awk-quote.js +7 -0
  564. package/dist/safe-bash-command-awk/awk-reader.d.ts +42 -0
  565. package/dist/safe-bash-command-awk/awk-reader.js +9 -0
  566. package/dist/safe-bash-command-awk/awk-retention.d.ts +13 -0
  567. package/dist/safe-bash-command-awk/awk-retention.js +7 -0
  568. package/dist/safe-bash-command-awk/awk-runtime.d.ts +151 -0
  569. package/dist/safe-bash-command-awk/awk-runtime.js +11 -0
  570. package/dist/safe-bash-command-awk/awk-syntax.d.ts +144 -0
  571. package/dist/safe-bash-command-awk/awk-syntax.js +14 -0
  572. package/dist/safe-bash-command-awk/awk-values.d.ts +32 -0
  573. package/dist/safe-bash-command-awk/awk-values.js +35 -0
  574. package/dist/safe-bash-command-awk/awk.d.ts +3 -0
  575. package/dist/safe-bash-command-awk/awk.js +16 -0
  576. package/dist/safe-bash-command-awk/index.d.ts +7 -0
  577. package/dist/safe-bash-command-awk/index.js +36 -0
  578. package/dist/safe-bash-command-bc/index.d.ts +6 -0
  579. package/dist/safe-bash-command-bc/index.js +136 -266
  580. package/dist/safe-bash-command-column/column.js +5 -5
  581. package/dist/safe-bash-command-column/display.d.ts +1 -1
  582. package/dist/safe-bash-command-column/display.js +1 -1
  583. package/dist/safe-bash-command-column/index.js +5 -5
  584. package/dist/safe-bash-command-column/internal.d.ts +0 -2
  585. package/dist/safe-bash-command-column/internal.js +1 -1
  586. package/dist/safe-bash-command-column/layout.js +4 -4
  587. package/dist/safe-bash-command-column/table.js +2 -2
  588. package/dist/safe-bash-command-comm/comm.js +1 -1
  589. package/dist/safe-bash-command-comm/index.js +1 -1
  590. package/dist/safe-bash-command-csplit/command.js +2 -2
  591. package/dist/safe-bash-command-csplit/index.js +2 -2
  592. package/dist/safe-bash-command-csvcut/index.d.ts +1 -0
  593. package/dist/safe-bash-command-csvcut/index.js +1 -0
  594. package/dist/safe-bash-command-csvgrep/index.d.ts +1 -0
  595. package/dist/safe-bash-command-csvgrep/index.js +2 -2
  596. package/dist/safe-bash-command-csvkit/contracts.d.ts +1 -0
  597. package/dist/safe-bash-command-csvkit/csvpy-interpreter.d.ts +2 -1
  598. package/dist/safe-bash-command-csvkit/default-csvpy.d.ts +11 -0
  599. package/dist/safe-bash-command-csvkit/errors.js +22 -0
  600. package/dist/safe-bash-command-csvkit/index.d.ts +1 -0
  601. package/dist/safe-bash-command-csvkit/index.js +180 -12
  602. package/dist/safe-bash-command-csvkit/python-worker-browser.d.ts +3 -0
  603. package/dist/safe-bash-command-csvkit/python-worker-browser.js +16 -0
  604. package/dist/safe-bash-command-csvkit/python-worker-contract.d.ts +20 -0
  605. package/dist/safe-bash-command-csvkit/python-worker-node.d.ts +3 -0
  606. package/dist/safe-bash-command-csvkit/python-worker-node.js +9 -0
  607. package/dist/safe-bash-command-csvkit/runtime.d.ts +1 -0
  608. package/dist/safe-bash-command-csvkit/sync-support.js +1 -1
  609. package/dist/safe-bash-command-curl/LICENSE +21 -0
  610. package/dist/safe-bash-command-curl/curl.d.ts +13 -0
  611. package/dist/safe-bash-command-curl/curl.js +9 -0
  612. package/dist/safe-bash-command-curl/index.d.ts +6 -0
  613. package/dist/safe-bash-command-curl/index.js +26 -0
  614. package/dist/safe-bash-command-dd/index.js +2 -0
  615. package/dist/safe-bash-command-diff/LICENSE +21 -0
  616. package/dist/safe-bash-command-diff/diff-format.d.ts +10 -0
  617. package/dist/safe-bash-command-diff/diff-format.js +10 -0
  618. package/dist/safe-bash-command-diff/diff-options.d.ts +38 -0
  619. package/dist/safe-bash-command-diff/diff-options.js +7 -0
  620. package/dist/safe-bash-command-diff/diff-output.d.ts +20 -0
  621. package/dist/safe-bash-command-diff/diff-output.js +19 -0
  622. package/dist/safe-bash-command-diff/diff.d.ts +2 -0
  623. package/dist/safe-bash-command-diff/diff.js +10 -0
  624. package/dist/safe-bash-command-diff/index.d.ts +8 -0
  625. package/dist/safe-bash-command-diff/index.js +34 -0
  626. package/dist/safe-bash-command-diff/sync.d.ts +2 -0
  627. package/dist/safe-bash-command-diff/sync.js +9 -0
  628. package/dist/safe-bash-command-diff3/index.js +5 -5
  629. package/dist/safe-bash-command-docx/index.d.ts +4 -4
  630. package/dist/safe-bash-command-docx/index.js +12 -5
  631. package/dist/safe-bash-command-dos2unix/index.d.ts +1 -0
  632. package/dist/safe-bash-command-dos2unix/index.js +225 -1
  633. package/dist/safe-bash-command-dos2unix/sync.d.ts +1 -0
  634. package/dist/safe-bash-command-exiftool/index.d.ts +1 -0
  635. package/dist/safe-bash-command-exiftool/index.js +2 -2
  636. package/dist/safe-bash-command-factor/command.js +2 -2
  637. package/dist/safe-bash-command-factor/index.js +2 -2
  638. package/dist/safe-bash-command-fd/index.js +9 -9
  639. package/dist/safe-bash-command-ffmpeg/index.js +117 -102
  640. package/dist/safe-bash-command-file/index.js +4 -4
  641. package/dist/safe-bash-command-file/shared.js +1 -1
  642. package/dist/safe-bash-command-find/LICENSE +21 -0
  643. package/dist/safe-bash-command-find/find-format.d.ts +20 -0
  644. package/dist/safe-bash-command-find/find-format.js +9 -0
  645. package/dist/safe-bash-command-find/find.d.ts +18 -0
  646. package/dist/safe-bash-command-find/find.js +10 -0
  647. package/dist/safe-bash-command-find/index.d.ts +13 -0
  648. package/dist/safe-bash-command-find/index.js +45 -0
  649. package/dist/safe-bash-command-fmt/index.js +7 -4
  650. package/dist/safe-bash-command-git/git_rust.wasm +0 -0
  651. package/dist/safe-bash-command-git/index.js +5 -7
  652. package/dist/safe-bash-command-git/wasm.generated.js +1 -1
  653. package/dist/safe-bash-command-gzip/LICENSE +21 -0
  654. package/dist/safe-bash-command-gzip/index.d.ts +11 -0
  655. package/dist/safe-bash-command-gzip/index.js +95 -0
  656. package/dist/safe-bash-command-hexdump/command.js +4 -4
  657. package/dist/safe-bash-command-hexdump/custom.d.ts +24 -0
  658. package/dist/safe-bash-command-hexdump/index.js +4 -4
  659. package/dist/safe-bash-command-hexdump/internal.d.ts +2 -0
  660. package/dist/safe-bash-command-hexdump/internal.js +1 -1
  661. package/dist/safe-bash-command-hexdump/io.js +2 -2
  662. package/dist/safe-bash-command-hexdump/options.d.ts +3 -0
  663. package/dist/safe-bash-command-hexdump/options.js +2 -2
  664. package/dist/safe-bash-command-hostname/index.js +1 -1
  665. package/dist/safe-bash-command-html-to-markdown/budget.js +1 -1
  666. package/dist/safe-bash-command-html-to-markdown/entities.js +3 -3
  667. package/dist/safe-bash-command-html-to-markdown/index.js +11 -11
  668. package/dist/safe-bash-command-html-to-markdown/input.js +5 -5
  669. package/dist/safe-bash-command-html-to-markdown/parser.d.ts +1 -0
  670. package/dist/safe-bash-command-html-to-markdown/parser.js +4 -4
  671. package/dist/safe-bash-command-html-to-markdown/render.js +5 -5
  672. package/dist/safe-bash-command-html-to-markdown/text.js +2 -2
  673. package/dist/safe-bash-command-htmlq/index.d.ts +1 -0
  674. package/dist/safe-bash-command-htmlq/index.js +39 -17
  675. package/dist/safe-bash-command-iconv/codec.js +1 -1
  676. package/dist/safe-bash-command-iconv/command.js +2 -2
  677. package/dist/safe-bash-command-iconv/index.js +2 -2
  678. package/dist/safe-bash-command-imagemagick/index.js +45 -35
  679. package/dist/safe-bash-command-join/index.js +1 -1
  680. package/dist/safe-bash-command-join/join.js +1 -1
  681. package/dist/safe-bash-command-jq/index.js +1 -1
  682. package/dist/safe-bash-command-jq/jq.js +1 -1
  683. package/dist/safe-bash-command-less/index.js +43 -28
  684. package/dist/safe-bash-command-llm/command.js +1 -1
  685. package/dist/safe-bash-command-llm/index.d.ts +1 -0
  686. package/dist/safe-bash-command-llm/index.js +16 -14
  687. package/dist/safe-bash-command-llm/openai.js +3 -3
  688. package/dist/safe-bash-command-llm/providers/index.js +3 -3
  689. package/dist/safe-bash-command-llm/providers/openai.js +3 -3
  690. package/dist/safe-bash-command-llm/stored-schema.d.ts +10 -0
  691. package/dist/safe-bash-command-mmdc/index.d.ts +1 -0
  692. package/dist/safe-bash-command-mmdc/index.js +13 -604
  693. package/dist/safe-bash-command-mmdc/settings.d.ts +2 -0
  694. package/dist/safe-bash-command-mmdc/settings.js +7 -0
  695. package/dist/safe-bash-command-numfmt/index.js +0 -11
  696. package/dist/safe-bash-command-od/index.js +101 -68
  697. package/dist/safe-bash-command-pandoc/command.js +4 -3
  698. package/dist/safe-bash-command-pandoc/defaults.d.ts +1 -0
  699. package/dist/safe-bash-command-pandoc/index.js +4 -3
  700. package/dist/safe-bash-command-pandoc/lua-filters.js +1 -1
  701. package/dist/safe-bash-command-pandoc/types.d.ts +3 -1
  702. package/dist/safe-bash-command-paste/index.js +1 -1
  703. package/dist/safe-bash-command-paste/paste.js +1 -1
  704. package/dist/safe-bash-command-patch/LICENSE +21 -0
  705. package/dist/safe-bash-command-patch/index.d.ts +8 -0
  706. package/dist/safe-bash-command-patch/index.js +38 -0
  707. package/dist/safe-bash-command-patch/patch-envelope.d.ts +2 -0
  708. package/dist/safe-bash-command-patch/patch-envelope.js +7 -0
  709. package/dist/safe-bash-command-patch/patch-formats.d.ts +7 -0
  710. package/dist/safe-bash-command-patch/patch-formats.js +9 -0
  711. package/dist/safe-bash-command-patch/patch-gnu-paths.d.ts +41 -0
  712. package/dist/safe-bash-command-patch/patch-gnu-paths.js +26 -0
  713. package/dist/safe-bash-command-patch/patch-gnu-reject.d.ts +3 -0
  714. package/dist/safe-bash-command-patch/patch-gnu-reject.js +7 -0
  715. package/dist/safe-bash-command-patch/patch-path.d.ts +3 -0
  716. package/dist/safe-bash-command-patch/patch-path.js +11 -0
  717. package/dist/safe-bash-command-patch/patch-publication.d.ts +13 -0
  718. package/dist/safe-bash-command-patch/patch-publication.js +7 -0
  719. package/dist/safe-bash-command-patch/patch.d.ts +2 -0
  720. package/dist/safe-bash-command-patch/patch.js +14 -0
  721. package/dist/safe-bash-command-patch/sync.d.ts +2 -0
  722. package/dist/safe-bash-command-patch/sync.js +7 -0
  723. package/dist/safe-bash-command-patch/unified.d.ts +52 -0
  724. package/dist/safe-bash-command-patch/unified.js +16 -0
  725. package/dist/safe-bash-command-pathchk/index.js +3 -13
  726. package/dist/safe-bash-command-pdfimages/index.js +62 -25
  727. package/dist/safe-bash-command-pdfinfo/index.d.ts +0 -23
  728. package/dist/safe-bash-command-pdfinfo/index.js +39 -782
  729. package/dist/safe-bash-command-pdftk/index.js +40 -12
  730. package/dist/safe-bash-command-pdftoppm/index.js +76 -30
  731. package/dist/safe-bash-command-pdftotext/index.js +37 -15
  732. package/dist/safe-bash-command-pptx/index.d.ts +4 -4
  733. package/dist/safe-bash-command-pptx/index.js +11 -5
  734. package/dist/safe-bash-command-pr/command.js +2 -2
  735. package/dist/safe-bash-command-pr/index.js +4 -4
  736. package/dist/safe-bash-command-qpdf/index.js +31 -18
  737. package/dist/safe-bash-command-rg/index.d.ts +1 -0
  738. package/dist/safe-bash-command-rg/index.js +222 -1
  739. package/dist/safe-bash-command-rg/rg-command.js +1 -1
  740. package/dist/safe-bash-command-rg/sync.d.ts +1 -0
  741. package/dist/safe-bash-command-sed/LICENSE +21 -0
  742. package/dist/safe-bash-command-sed/index.d.ts +7 -0
  743. package/dist/safe-bash-command-sed/index.js +28 -0
  744. package/dist/safe-bash-command-sed/inplace.d.ts +16 -0
  745. package/dist/safe-bash-command-sed/inplace.js +9 -0
  746. package/dist/safe-bash-command-sed/sed.d.ts +3 -0
  747. package/dist/safe-bash-command-sed/sed.js +8 -0
  748. package/dist/safe-bash-command-shuf/options.d.ts +1 -0
  749. package/dist/safe-bash-command-shuf/options.js +2 -4
  750. package/dist/safe-bash-command-shuf/shuf.js +2 -1
  751. package/dist/safe-bash-command-sips/index.js +111 -35
  752. package/dist/safe-bash-command-soffice/index.js +21 -17
  753. package/dist/safe-bash-command-split/index.js +3 -3
  754. package/dist/safe-bash-command-split/io.js +1 -1
  755. package/dist/safe-bash-command-split/outputs.js +2 -2
  756. package/dist/safe-bash-command-split/split.js +3 -3
  757. package/dist/safe-bash-command-sqlite3/btree.d.ts +1 -0
  758. package/dist/safe-bash-command-sqlite3/engine.d.ts +7 -2
  759. package/dist/safe-bash-command-sqlite3/index.js +436 -537
  760. package/dist/safe-bash-command-ssconvert/commands.js +9 -9
  761. package/dist/safe-bash-command-ssconvert/core.js +8 -8
  762. package/dist/safe-bash-command-ssconvert/formats/csv.js +9 -9
  763. package/dist/safe-bash-command-ssconvert/formats/ods.js +9 -9
  764. package/dist/safe-bash-command-ssconvert/formats/spreadsheetml.js +2 -2
  765. package/dist/safe-bash-command-ssconvert/formats/xls.js +9 -9
  766. package/dist/safe-bash-command-ssconvert/formats/xlsx.js +9 -9
  767. package/dist/safe-bash-command-ssconvert/index.js +21 -21
  768. package/dist/safe-bash-command-tar/LICENSE +21 -0
  769. package/dist/safe-bash-command-tar/create.d.ts +17 -0
  770. package/dist/safe-bash-command-tar/create.js +14 -0
  771. package/dist/safe-bash-command-tar/extract.d.ts +11 -0
  772. package/dist/safe-bash-command-tar/extract.js +14 -0
  773. package/dist/safe-bash-command-tar/format.d.ts +32 -0
  774. package/dist/safe-bash-command-tar/format.js +19 -0
  775. package/dist/safe-bash-command-tar/index.d.ts +8 -0
  776. package/dist/safe-bash-command-tar/index.js +551 -0
  777. package/dist/safe-bash-command-tar/listing.d.ts +2 -0
  778. package/dist/safe-bash-command-tar/listing.js +7 -0
  779. package/dist/safe-bash-command-tar/modes.d.ts +5 -0
  780. package/dist/safe-bash-command-tar/modes.js +16 -0
  781. package/dist/safe-bash-command-tar/options.d.ts +53 -0
  782. package/dist/safe-bash-command-tar/options.js +10 -0
  783. package/dist/safe-bash-command-tar/stream.d.ts +22 -0
  784. package/dist/safe-bash-command-tar/stream.js +15 -0
  785. package/dist/safe-bash-command-tar/transform.d.ts +16 -0
  786. package/dist/safe-bash-command-tar/transform.js +9 -0
  787. package/dist/safe-bash-command-tree/arguments.js +3 -3
  788. package/dist/safe-bash-command-tree/charset.js +1 -1
  789. package/dist/safe-bash-command-tree/index.js +4 -4
  790. package/dist/safe-bash-command-tree/io.js +1 -1
  791. package/dist/safe-bash-command-tree/pattern.js +2 -2
  792. package/dist/safe-bash-command-tree/tree.js +4 -4
  793. package/dist/safe-bash-command-unrtf/index.js +14 -7
  794. package/dist/safe-bash-command-unzip/LICENSE +21 -0
  795. package/dist/safe-bash-command-unzip/index.d.ts +7 -0
  796. package/dist/safe-bash-command-unzip/index.js +39 -0
  797. package/dist/safe-bash-command-unzip/sync.d.ts +3 -0
  798. package/dist/safe-bash-command-unzip/sync.js +9 -0
  799. package/dist/safe-bash-command-unzip/unzip/safety.d.ts +32 -0
  800. package/dist/safe-bash-command-unzip/unzip/safety.js +7 -0
  801. package/dist/safe-bash-command-unzip/unzip.d.ts +3 -0
  802. package/dist/safe-bash-command-unzip/unzip.js +8 -0
  803. package/dist/safe-bash-command-wget/LICENSE +21 -0
  804. package/dist/safe-bash-command-wget/index.d.ts +6 -0
  805. package/dist/safe-bash-command-wget/index.js +26 -0
  806. package/dist/safe-bash-command-wget/wget.d.ts +3 -0
  807. package/dist/safe-bash-command-wget/wget.js +7 -0
  808. package/dist/safe-bash-command-xan/argv.d.ts +4 -1
  809. package/dist/safe-bash-command-xan/argv.js +1 -1
  810. package/dist/safe-bash-command-xan/commands.js +6 -3
  811. package/dist/safe-bash-command-xan/csv.d.ts +1 -1
  812. package/dist/safe-bash-command-xan/csv.js +1 -1
  813. package/dist/safe-bash-command-xan/index.js +18 -17
  814. package/dist/safe-bash-command-xan/io.js +3 -3
  815. package/dist/safe-bash-command-xmllint/index.js +190 -50
  816. package/dist/safe-bash-command-xxd/index.js +105 -91
  817. package/dist/safe-bash-command-xz/command.d.ts +2 -0
  818. package/dist/safe-bash-command-xz/index.d.ts +1 -1
  819. package/dist/safe-bash-command-xz/index.js +11 -2
  820. package/dist/safe-bash-command-xz/options.d.ts +9 -1
  821. package/dist/safe-bash-command-xz/options.js +3 -1
  822. package/dist/safe-bash-command-yq/index.d.ts +4 -11
  823. package/dist/safe-bash-command-yq/index.js +3367 -670
  824. package/dist/safe-bash-command-yq/mike.js +6 -13
  825. package/dist/safe-bash-command-yq/native-work.d.ts +1 -0
  826. package/dist/safe-bash-command-yq/native-work.js +17 -0
  827. package/dist/safe-bash-command-yq/query.d.ts +11 -0
  828. package/dist/safe-bash-command-yq/query.js +735 -0
  829. package/dist/safe-bash-command-zip/LICENSE +21 -0
  830. package/dist/safe-bash-command-zip/index.d.ts +7 -0
  831. package/dist/safe-bash-command-zip/index.js +38 -0
  832. package/dist/safe-bash-command-zip/sync.d.ts +3 -0
  833. package/dist/safe-bash-command-zip/sync.js +9 -0
  834. package/dist/safe-bash-command-zip/zip.d.ts +3 -0
  835. package/dist/safe-bash-command-zip/zip.js +7 -0
  836. package/dist/safe-bash-compression-engine/files.js +4 -4
  837. package/dist/safe-bash-compression-engine/index.js +2 -2
  838. package/dist/safe-bash-compression-engine/operand.js +6 -6
  839. package/dist/safe-bash-compression-engine/stream.js +2 -2
  840. package/dist/safe-bash-compression-engine/zstd-decode.js +1 -1
  841. package/dist/safe-bash-contracts/command.js +1 -1
  842. package/dist/safe-bash-contracts/diagnostics.js +4 -4
  843. package/dist/safe-bash-contracts/escaping.js +12 -12
  844. package/dist/safe-bash-contracts/filesystem-descriptor.js +1 -1
  845. package/dist/safe-bash-contracts/filesystem-output.js +8 -8
  846. package/dist/safe-bash-contracts/index.d.ts +1 -0
  847. package/dist/safe-bash-contracts/index.js +39 -35
  848. package/dist/safe-bash-contracts/io.d.ts +4 -1
  849. package/dist/safe-bash-contracts/io.js +4 -2
  850. package/dist/safe-bash-contracts/managed-abort.d.ts +10 -0
  851. package/dist/safe-bash-contracts/output.js +3 -3
  852. package/dist/safe-bash-diff-engine/LICENSE +21 -0
  853. package/dist/safe-bash-diff-engine/index.d.ts +1 -0
  854. package/dist/safe-bash-diff-engine/index.js +24 -0
  855. package/dist/safe-bash-diff-engine/shared.d.ts +54 -0
  856. package/dist/safe-bash-diff-engine/shared.js +19 -0
  857. package/dist/safe-bash-io-engine/commands/archive/internal.js +5 -23
  858. package/dist/safe-bash-io-engine/commands/directory-admission.d.ts +3 -0
  859. package/dist/safe-bash-io-engine/commands/directory-admission.js +34 -0
  860. package/dist/safe-bash-io-engine/commands/mode-change.d.ts +4 -0
  861. package/dist/safe-bash-io-engine/commands/mode-change.js +60 -0
  862. package/dist/safe-bash-io-engine/commands/search/requirements.js +2 -2
  863. package/dist/safe-bash-io-engine/commands/text-programs/shared.js +44 -66
  864. package/dist/safe-bash-io-engine/internal.js +1 -1
  865. package/dist/safe-bash-io-engine/shell/pattern.js +8 -13
  866. package/dist/safe-bash-io-engine/shell/string-operations.js +1 -1
  867. package/dist/safe-bash-markdown-engine/commonmark-blocks.js +4 -4
  868. package/dist/safe-bash-markdown-engine/commonmark-inlines.js +4 -4
  869. package/dist/safe-bash-markdown-engine/commonmark-syntax.js +2 -2
  870. package/dist/safe-bash-markdown-engine/gfm-syntax.js +3 -3
  871. package/dist/safe-bash-markdown-engine/index.js +7 -7
  872. package/dist/safe-bash-mcp/index.browser.d.ts +161 -35
  873. package/dist/safe-bash-mcp/index.browser.js +417 -0
  874. package/dist/safe-bash-mcp/index.d.ts +66 -2
  875. package/dist/safe-bash-mcp/index.js +1838 -122
  876. package/dist/safe-bash-network-engine/LICENSE +21 -0
  877. package/dist/safe-bash-network-engine/aggregate.d.ts +4 -0
  878. package/dist/safe-bash-network-engine/aggregate.js +37 -0
  879. package/dist/safe-bash-network-engine/args.d.ts +68 -0
  880. package/dist/safe-bash-network-engine/args.js +19 -0
  881. package/dist/safe-bash-network-engine/authorizer.d.ts +6 -0
  882. package/dist/safe-bash-network-engine/authorizer.js +8 -0
  883. package/dist/safe-bash-network-engine/body.d.ts +9 -0
  884. package/dist/safe-bash-network-engine/body.js +374 -0
  885. package/dist/safe-bash-network-engine/deadline.d.ts +2 -0
  886. package/dist/safe-bash-network-engine/deadline.js +7 -0
  887. package/dist/safe-bash-network-engine/decode.d.ts +2 -0
  888. package/dist/safe-bash-network-engine/decode.js +80 -0
  889. package/dist/safe-bash-network-engine/fetch-transport.d.ts +7 -0
  890. package/dist/safe-bash-network-engine/fetch-transport.js +9 -0
  891. package/dist/safe-bash-network-engine/form-content-type.d.ts +5 -0
  892. package/dist/safe-bash-network-engine/form-content-type.js +8 -0
  893. package/dist/safe-bash-network-engine/form-headers.d.ts +2 -0
  894. package/dist/safe-bash-network-engine/form-headers.js +10 -0
  895. package/dist/safe-bash-network-engine/glob.d.ts +7 -0
  896. package/dist/safe-bash-network-engine/glob.js +124 -0
  897. package/dist/safe-bash-network-engine/index.d.ts +3 -0
  898. package/dist/safe-bash-network-engine/index.js +26 -0
  899. package/dist/safe-bash-network-engine/input.d.ts +5 -0
  900. package/dist/safe-bash-network-engine/input.js +255 -0
  901. package/dist/safe-bash-network-engine/output.d.ts +6 -0
  902. package/dist/safe-bash-network-engine/output.js +132 -0
  903. package/dist/safe-bash-network-engine/platform-portable.d.ts +5 -0
  904. package/dist/safe-bash-network-engine/platform-portable.js +19 -0
  905. package/dist/safe-bash-network-engine/private-address.d.ts +1 -0
  906. package/dist/safe-bash-network-engine/private-address.js +7 -0
  907. package/dist/safe-bash-network-engine/shared.d.ts +14 -0
  908. package/dist/safe-bash-network-engine/shared.js +23 -0
  909. package/dist/safe-bash-network-engine/types.d.ts +42 -0
  910. package/dist/safe-bash-network-engine/types.js +11 -0
  911. package/dist/safe-bash-network-engine/url.d.ts +2 -0
  912. package/dist/safe-bash-network-engine/url.js +8 -0
  913. package/dist/safe-bash-query-engine/capture.d.ts +1 -0
  914. package/dist/safe-bash-query-engine/capture.js +9 -7
  915. package/dist/safe-bash-query-engine/dates.d.ts +5 -1
  916. package/dist/safe-bash-query-engine/dates.js +10 -2
  917. package/dist/safe-bash-query-engine/delpaths.js +5 -5
  918. package/dist/safe-bash-query-engine/formats.js +3 -3
  919. package/dist/safe-bash-query-engine/index.js +15 -15
  920. package/dist/safe-bash-query-engine/indices.js +5 -5
  921. package/dist/safe-bash-query-engine/input.d.ts +1 -2
  922. package/dist/safe-bash-query-engine/input.js +2 -4
  923. package/dist/safe-bash-query-engine/interpreter.d.ts +5 -0
  924. package/dist/safe-bash-query-engine/interpreter.js +13 -13
  925. package/dist/safe-bash-query-engine/limits.js +1 -1
  926. package/dist/safe-bash-query-engine/parser.d.ts +8 -1
  927. package/dist/safe-bash-query-engine/parser.js +2 -2
  928. package/dist/safe-bash-query-engine/query-core.js +15 -15
  929. package/dist/safe-bash-query-engine/recurse.js +2 -2
  930. package/dist/safe-bash-query-engine/regex.d.ts +4 -2
  931. package/dist/safe-bash-query-engine/regex.js +10 -5
  932. package/dist/safe-bash-query-engine/split.js +2 -2
  933. package/dist/safe-bash-query-engine/splits.d.ts +1 -1
  934. package/dist/safe-bash-query-engine/splits.js +7 -6
  935. package/dist/safe-bash-query-engine/values.js +4 -4
  936. package/dist/safe-bash-regex-engine/ere/matcher.js +106 -34
  937. package/dist/safe-bash-regex-engine/execution/bounded-provider.js +55 -67
  938. package/dist/safe-bash-regex-engine/execution/portable.d.ts +0 -1
  939. package/dist/safe-bash-regex-engine/execution/portable.js +6 -10
  940. package/dist/safe-bash-regex-engine/execution/protocol.d.ts +0 -5
  941. package/dist/safe-bash-regex-engine/execution/protocol.js +1 -3
  942. package/dist/safe-bash-regex-engine/index.js +6 -4
  943. package/dist/safe-bash-regex-engine/text/budget.d.ts +1 -0
  944. package/dist/safe-bash-regex-engine/text/budget.js +1 -1
  945. package/dist/safe-bash-regex-engine/text/regex.d.ts +15 -0
  946. package/dist/safe-bash-regex-engine/text/regex.js +6 -4
  947. package/dist/safe-bash-regex-engine/text/replacement-buffer.js +2 -2
  948. package/dist/safe-bash-regex-engine/text/rust-syntax.js +2 -2
  949. package/dist/safe-bash-search-engine/ergonomic-regex.d.ts +12 -2
  950. package/dist/safe-bash-search-engine/ergonomic-regex.js +2 -2
  951. package/dist/safe-bash-search-engine/glob.js +2 -2
  952. package/dist/safe-bash-search-engine/grep.js +191 -229
  953. package/dist/safe-bash-search-engine/matcher.d.ts +6 -2
  954. package/dist/safe-bash-search-engine/matcher.js +30 -8
  955. package/dist/safe-bash-search-engine/options.js +1 -1
  956. package/dist/safe-bash-search-engine/output.d.ts +3 -2
  957. package/dist/safe-bash-search-engine/output.js +111 -30
  958. package/dist/safe-bash-search-engine/shared.d.ts +2 -0
  959. package/dist/safe-bash-search-engine/shared.js +2 -2
  960. package/dist/safe-bash-search-engine/walk.js +11 -10
  961. package/dist/safe-bash-table-text-engine/table-text/internal.d.ts +7 -5
  962. package/dist/safe-bash-table-text-engine/table-text/internal.js +39 -21
  963. package/dist/safe-bash-xml-engine/document.d.ts +1 -1
  964. package/dist/safe-bash-xml-engine/document.js +3 -3
  965. package/dist/safe-bash-xml-engine/evaluate.d.ts +1 -0
  966. package/dist/safe-bash-xml-engine/evaluate.js +4 -1
  967. package/dist/safe-bash-xml-engine/index.js +8 -6
  968. package/dist/safe-bash-xml-engine/io.js +1 -1
  969. package/dist/safe-bash-xml-engine/limits.d.ts +2 -0
  970. package/dist/safe-bash-xml-engine/limits.js +1 -1
  971. package/dist/safe-bash-xml-engine/predicate.d.ts +57 -0
  972. package/dist/safe-bash-xml-engine/query.d.ts +3 -15
  973. package/dist/safe-bash-xml-engine/query.js +3 -2
  974. package/dist/safe-bash-zip-engine/LICENSE +21 -0
  975. package/dist/safe-bash-zip-engine/index.d.ts +1 -0
  976. package/dist/safe-bash-zip-engine/index.js +32 -0
  977. package/dist/safe-bash-zip-engine/unzip/arguments.d.ts +53 -0
  978. package/dist/safe-bash-zip-engine/unzip/arguments.js +270 -0
  979. package/dist/safe-bash-zip-engine/zip/aes.d.ts +17 -0
  980. package/dist/safe-bash-zip-engine/zip/aes.js +15 -0
  981. package/dist/safe-bash-zip-engine/zip/comments.d.ts +17 -0
  982. package/dist/safe-bash-zip-engine/zip/comments.js +77 -0
  983. package/dist/safe-bash-zip-engine/zip/crc.d.ts +1 -0
  984. package/dist/safe-bash-zip-engine/zip/crc.js +7 -0
  985. package/dist/safe-bash-zip-engine/zip/crypto.d.ts +19 -0
  986. package/dist/safe-bash-zip-engine/zip/crypto.js +16 -0
  987. package/dist/safe-bash-zip-engine/zip/dates.d.ts +4 -0
  988. package/dist/safe-bash-zip-engine/zip/dates.js +68 -0
  989. package/dist/safe-bash-zip-engine/zip/environment.d.ts +2 -0
  990. package/dist/safe-bash-zip-engine/zip/environment.js +60 -0
  991. package/dist/safe-bash-zip-engine/zip/grow.d.ts +3 -0
  992. package/dist/safe-bash-zip-engine/zip/grow.js +7 -0
  993. package/dist/safe-bash-zip-engine/zip/help.d.ts +4 -0
  994. package/dist/safe-bash-zip-engine/zip/help.js +194 -0
  995. package/dist/safe-bash-zip-engine/zip/line-endings.d.ts +2 -0
  996. package/dist/safe-bash-zip-engine/zip/line-endings.js +165 -0
  997. package/dist/safe-bash-zip-engine/zip/log.d.ts +22 -0
  998. package/dist/safe-bash-zip-engine/zip/log.js +153 -0
  999. package/dist/safe-bash-zip-engine/zip/lzma.d.ts +9 -0
  1000. package/dist/safe-bash-zip-engine/zip/lzma.js +7 -0
  1001. package/dist/safe-bash-zip-engine/zip/move.d.ts +11 -0
  1002. package/dist/safe-bash-zip-engine/zip/move.js +57 -0
  1003. package/dist/safe-bash-zip-engine/zip/names.d.ts +2 -0
  1004. package/dist/safe-bash-zip-engine/zip/names.js +37 -0
  1005. package/dist/safe-bash-zip-engine/zip/options.d.ts +13 -0
  1006. package/dist/safe-bash-zip-engine/zip/options.js +23 -0
  1007. package/dist/safe-bash-zip-engine/zip/repair.d.ts +10 -0
  1008. package/dist/safe-bash-zip-engine/zip/repair.js +348 -0
  1009. package/dist/safe-bash-zip-engine/zip/safety.d.ts +54 -0
  1010. package/dist/safe-bash-zip-engine/zip/safety.js +19 -0
  1011. package/dist/safe-bash-zip-engine/zip/sfx.d.ts +4 -0
  1012. package/dist/safe-bash-zip-engine/zip/sfx.js +58 -0
  1013. package/dist/safe-bash-zip-engine/zip/test-command.d.ts +5 -0
  1014. package/dist/safe-bash-zip-engine/zip/test-command.js +98 -0
  1015. package/dist/safe-bash-zip-engine/zip/volumes.d.ts +21 -0
  1016. package/dist/safe-bash-zip-engine/zip/volumes.js +255 -0
  1017. package/dist/safe-bash-zip-engine/zip/zip64.d.ts +30 -0
  1018. package/dist/safe-bash-zip-engine/zip/zip64.js +25 -0
  1019. package/dist/safe-bash-zip-engine/zip-format.d.ts +68 -0
  1020. package/dist/safe-bash-zip-engine/zip-format.js +27 -0
  1021. package/dist/safe-playwright-cloudflare/browser-codegen.generated.d.ts +7 -7
  1022. package/dist/safe-playwright-cloudflare/browser-codegen.generated.js +866 -8069
  1023. package/dist/safe-playwright-cloudflare/browser-run-code-budget.d.ts +0 -1
  1024. package/dist/safe-playwright-cloudflare/browser-run-code-budget.js +0 -2
  1025. package/dist/safe-playwright-cloudflare/browser-trace-archive.d.ts +5 -1
  1026. package/dist/safe-playwright-cloudflare/browser-trace-archive.js +2 -1
  1027. package/dist/safe-playwright-cloudflare/browser-trace-budget.js +8 -4
  1028. package/dist/safe-playwright-cloudflare/shell-browser-resource.d.ts +2 -0
  1029. package/dist/safe-playwright-cloudflare/shell-browser-resource.js +3 -11
  1030. package/dist/safe-playwright-cloudflare/shell-playwright.d.ts +2 -0
  1031. package/dist/safe-playwright-cloudflare/shell-playwright.js +1 -1
  1032. package/dist/spreadsheet-engine/codecs/odf-hyperlinks.js +8 -2
  1033. package/dist/spreadsheet-engine/formulas/functions/captured-bessel-phase.js +2 -2
  1034. package/dist/spreadsheet-engine/formulas/label-references.js +54 -33
  1035. package/dist/spreadsheet-engine/formulas/parser.js +3 -1
  1036. package/dist/spreadsheet-engine/formulas/rewriting.js +13 -3
  1037. package/dist/spreadsheet-engine/io/publication.d.ts +1 -0
  1038. package/dist/spreadsheet-format-xls/biff-data-tables.js +4 -6
  1039. package/dist/spreadsheet-format-xls/biff-formulas.js +3 -0
  1040. package/dist/spreadsheet-format-xls/biff-label-ranges.js +9 -6
  1041. package/dist/spreadsheet-format-xls/biff.js +1 -1
  1042. package/dist/xlsx-ast/xlsx.js +8 -5
  1043. package/package.json +165 -15
  1044. package/dist/safe-bash/chunks/chunk-AZAJJVFX.js +0 -23017
  1045. package/dist/safe-bash/chunks/chunk-O4ZUCRGN.js +0 -13
  1046. package/dist/safe-bash/chunks/chunk-S264DZO2.js +0 -243
  1047. package/dist/safe-bash/chunks/chunk-WVG5SHHQ.js +0 -12
  1048. package/dist/safe-bash/chunks/chunk-ZW6K2J7P.js +0 -2652
  1049. package/dist/safe-bash/command-chunks/chunk-5MPOQ6V3.js +0 -181
  1050. package/dist/safe-bash/command-chunks/chunk-BIXLZ3OG.js +0 -14342
  1051. package/dist/safe-bash/command-chunks/chunk-DUYJE2HY.js +0 -14
  1052. package/dist/safe-bash/command-chunks/chunk-KAGBORIC.js +0 -88
  1053. package/dist/safe-bash/command-chunks/chunk-NETECMOF.js +0 -40
  1054. package/dist/safe-bash/command-chunks/chunk-XS3PGJU2.js +0 -343
  1055. package/dist/safe-bash/command-chunks/chunk-XTZALMLR.js +0 -488
  1056. package/dist/safe-bash/commands/archive/zip/aes-primitives-unavailable.d.ts +0 -2
  1057. package/dist/safe-bash/commands/archive/zip/aes-primitives-unavailable.js +0 -3
  1058. package/dist/safe-bash/commands/archive/zip/aes-primitives.d.ts +0 -2
  1059. package/dist/safe-bash/commands/archive/zip/aes-primitives.js +0 -3
  1060. package/dist/safe-bash/commands/xml/document.d.ts +0 -2
  1061. package/dist/safe-bash/commands/xml/document.js +0 -2
  1062. package/dist/safe-bash/commands/xml/evaluate.d.ts +0 -2
  1063. package/dist/safe-bash/commands/xml/evaluate.js +0 -2
  1064. package/dist/safe-bash/commands/xml/json.d.ts +0 -2
  1065. package/dist/safe-bash/commands/xml/json.js +0 -2
  1066. package/dist/safe-bash/commands/xml/limits.d.ts +0 -2
  1067. package/dist/safe-bash/commands/xml/limits.js +0 -2
  1068. package/dist/safe-bash/commands/xml/query.d.ts +0 -2
  1069. package/dist/safe-bash/commands/xml/query.js +0 -2
  1070. package/dist/safe-bash/command-chunks/{chunk-FIUFIDAO.js → chunk-2JRBIDAD.js} +3 -3
  1071. package/dist/safe-bash/command-chunks/{chunk-BWNXWI33.js → chunk-2LMZVE3I.js} +0 -0
  1072. package/dist/safe-bash/command-chunks/{chunk-B5BKA5WH.js → chunk-B5TAOCKD.js} +3 -3
  1073. package/dist/safe-bash/command-chunks/{chunk-2ENZ6JGA.js → chunk-KEV7C3KH.js} +3 -3
  1074. package/dist/safe-bash/command-chunks/{chunk-S62HELHU.js → chunk-PL6O4K6W.js} +3 -3
  1075. package/dist/safe-bash/command-chunks/{chunk-DDLQ5YDB.js → chunk-YHFXOX6U.js} +9 -9
  1076. package/dist/safe-bash/command-chunks/{chunk-DQMOM72Z.js → chunk-ZRRBXU3M.js} +4 -4
@@ -1,1237 +1,3 @@
1
- import { byteLength, writeEncodedBytes } from "../byte-encoding.js";
2
- import { tryGetMemoryDirectoryEntryNamesSync } from "@poe-platform/safe-fs/core";
3
- import { modeChange } from "./metadata/chmod.js";
4
- import { PublicDiagnostic } from "../diagnostics.js";
5
- import { basename, FsError, getCommandArguments, resolvePath } from "../contracts/index.js";
6
- import { compilePattern } from "../shell/pattern.js";
7
- import { getRuntimeBackingFileSystem, isSyncResolved } from "../fs/creation-mask.js";
8
- import { builtInDirectContextExecutors, codeOf, define, diagnostic, integer, output, outputRange, pathOf, replaceArgument, RESOLVED_EXIT_ZERO, UsageError } from "./internal.js";
9
- import { escapeText } from "../escaping.js";
10
- import { createDirectoryReader } from "./directory-admission.js";
11
- import { assertCommandRequirements } from "../contracts/command-requirements.js";
12
- import { filesystemCommandRequirements } from "./filesystem-requirements.js";
13
- import { compileFindFormat, FindFormatBudget } from "./find-format.js";
14
- const SYNTHETIC_FILE_STAT = Object.freeze({ type: "file", size: 0, mode: 0o644, mtimeMs: 0, atimeMs: 0, ctimeMs: 0 });
15
- const SYNTHETIC_DIR_STAT = Object.freeze({ type: "directory", size: 0, mode: 0o755, mtimeMs: 0, atimeMs: 0, ctimeMs: 0 });
16
- const SYNTHETIC_SYMLINK_STAT = Object.freeze({ type: "symlink", size: 0, mode: 0o777, mtimeMs: 0, atimeMs: 0, ctimeMs: 0 });
17
- const SYNTHETIC_CHAR_STAT = Object.freeze({ type: "character", size: 0, mode: 0o666, mtimeMs: 0, atimeMs: 0, ctimeMs: 0 });
18
- const FIND_DIR_REQUIREMENTS = Object.freeze(["directory"]);
19
- const cachedFindPatternsCS = new Map();
20
- const cachedFindPatternsCI = new Map();
21
- function getCachedFindPattern(pattern, caseInsensitive) {
22
- for (let i = 0; i < pattern.length; i++) {
23
- const c = pattern.charCodeAt(i);
24
- if (c === 91 || c === 92 || c === 93)
25
- return undefined;
26
- }
27
- const map = caseInsensitive ? cachedFindPatternsCI : cachedFindPatternsCS;
28
- let fn = map.get(pattern);
29
- if (!fn) {
30
- if (map.size >= 64)
31
- map.clear();
32
- const star = pattern.indexOf("*");
33
- if (!caseInsensitive && pattern.indexOf("?") === -1 && star !== -1 && pattern.indexOf("*", star + 1) === -1) {
34
- const prefix = pattern.slice(0, star);
35
- const suffix = pattern.slice(star + 1);
36
- const minLen = prefix.length + suffix.length;
37
- fn = (text) => text.length >= minLen && text.startsWith(prefix) && text.endsWith(suffix);
38
- }
39
- else {
40
- let rxSrc = "^";
41
- for (let i = 0; i < pattern.length; i++) {
42
- const ch = pattern[i];
43
- if (ch === "*")
44
- rxSrc += ".*";
45
- else if (ch === "?")
46
- rxSrc += ".";
47
- else if (".+^${}()|[]\\".includes(ch))
48
- rxSrc += "\\" + ch;
49
- else
50
- rxSrc += ch;
51
- }
52
- rxSrc += "$";
53
- const rx = new RegExp(rxSrc, caseInsensitive ? "si" : "s");
54
- fn = (text) => rx.test(text);
55
- }
56
- map.set(pattern, fn);
57
- }
58
- return fn;
59
- }
60
- let sharedFindPrintBuf = new Uint8Array(8192);
61
- function writeUtf8(buf, pos, s) {
62
- const len = s.length;
63
- for (let i = 0; i < len; i++) {
64
- const c = s.charCodeAt(i);
65
- if (c >= 0x80)
66
- return writeEncodedBytes(buf, s, pos, "utf8");
67
- buf[pos + i] = c;
68
- }
69
- return len;
70
- }
71
- let sharedFindPrintBufInUse = false;
72
- function finishFindPrintBufAsync() {
73
- sharedFindPrintBufInUse = false;
74
- return RESOLVED_EXIT_ZERO;
75
- }
76
- const findKeyScratch = new Array(256).fill("");
77
- let findKeyScratchTop = 0;
78
- let findKeySorted = true;
79
- let findKeyAllFiles = true;
80
- let findKeyPrev = "";
81
- let findKeyCurrentMatch;
82
- const SHELLSORT_GAPS = [701, 301, 132, 57, 23, 10, 4, 1];
83
- function collectFindKey(v, k) {
84
- if (v.type !== "file")
85
- findKeyAllFiles = false;
86
- if (findKeyCurrentMatch !== undefined && !findKeyCurrentMatch(k))
87
- return;
88
- if (findKeyPrev > k)
89
- findKeySorted = false;
90
- findKeyPrev = k;
91
- if (findKeyScratchTop === findKeyScratch.length)
92
- findKeyScratch.push(k);
93
- else
94
- findKeyScratch[findKeyScratchTop] = k;
95
- findKeyScratchTop++;
96
- }
97
- function sortFindKeyRange(start, end) {
98
- const len = end - start;
99
- for (let g = 0; g < SHELLSORT_GAPS.length; g++) {
100
- const gap = SHELLSORT_GAPS[g];
101
- if (gap >= len)
102
- continue;
103
- for (let i = start + gap; i < end; i++) {
104
- const key = findKeyScratch[i];
105
- let j = i;
106
- while (j >= start + gap && findKeyScratch[j - gap] > key) {
107
- findKeyScratch[j] = findKeyScratch[j - gap];
108
- j -= gap;
109
- }
110
- findKeyScratch[j] = key;
111
- }
112
- }
113
- }
114
- function stageAndSortFindKeys(map, baseOffset, match) {
115
- findKeyScratchTop = baseOffset;
116
- findKeySorted = true;
117
- findKeyAllFiles = true;
118
- findKeyPrev = "";
119
- findKeyCurrentMatch = match;
120
- map.forEach(collectFindKey);
121
- findKeyCurrentMatch = undefined;
122
- if (!findKeySorted) {
123
- sortFindKeyRange(baseOffset, findKeyScratchTop);
124
- }
125
- return findKeyScratchTop;
126
- }
127
- function syntheticStatFor(type) {
128
- return type === "file" ? SYNTHETIC_FILE_STAT : type === "directory" ? SYNTHETIC_DIR_STAT : type === "symlink" ? SYNTHETIC_SYMLINK_STAT : SYNTHETIC_CHAR_STAT;
129
- }
130
- export function findCommands(execute, maxDirectoryEntries) {
131
- const readDirectory = createDirectoryReader(maxDirectoryEntries);
132
- const defs = [define("find", context => {
133
- if (!context.argumentValues &&
134
- context.args.length === 3 &&
135
- (context.args[1] === "-name" || context.args[1] === "-iname") &&
136
- !sharedFindPrintBufInUse &&
137
- !context.signal.aborted) {
138
- const rootDisplay = context.args[0];
139
- if (rootDisplay && !rootDisplay.startsWith("-") && rootDisplay !== "!" && rootDisplay !== "(") {
140
- const fastBacking = context._fastMemoryBackingFs;
141
- const backing = fastBacking ?? getRuntimeBackingFileSystem(context.fs);
142
- if (backing !== undefined &&
143
- backing.capabilitiesFor === undefined &&
144
- backing.capabilities.readOnly !== true &&
145
- backing.capabilities.readdir !== false &&
146
- backing.capabilities.realpath !== false) {
147
- const path = pathOf(context, rootDisplay);
148
- if (path !== "/dev" && !path.startsWith("/dev/")) {
149
- const match = getCachedFindPattern(context.args[2], context.args[1] === "-iname");
150
- const memDirEntries = match !== undefined ? tryGetMemoryDirectoryEntryNamesSync(backing, path) : undefined;
151
- if (match !== undefined && memDirEntries !== undefined && memDirEntries.size <= (maxDirectoryEntries ?? Infinity)) {
152
- const stdoutPipe = context.stdout;
153
- if (stdoutPipe.lineCountOnly === 0 && typeof stdoutPipe.writeLineCountSync === "function") {
154
- const fastMap = memDirEntries;
155
- if (typeof fastMap._next === "number" && fastMap._keys !== undefined && fastMap._vals !== undefined) {
156
- let parent = rootDisplay;
157
- while (parent.endsWith("/") && parent.length > 1)
158
- parent = parent.slice(0, -1);
159
- const pLen = parent === "/" ? 0 : escapeText(parent, "display").length;
160
- const rootName = basename(rootDisplay) || "/";
161
- let matchCount = 0;
162
- let totalBytes = 0;
163
- let allFiles = true;
164
- if (match(rootName)) {
165
- matchCount = 1;
166
- totalBytes = escapeText(rootDisplay, "display").length + 1;
167
- }
168
- const next = fastMap._next;
169
- const keys = fastMap._keys;
170
- const vals = fastMap._vals;
171
- for (let i = 0; i < next; i++) {
172
- const v = vals[i];
173
- if (v !== undefined) {
174
- if (v.type !== "file") {
175
- allFiles = false;
176
- break;
177
- }
178
- const k = keys[i];
179
- if (match(k)) {
180
- matchCount++;
181
- totalBytes += pLen + k.length + 2;
182
- }
183
- }
184
- }
185
- if (allFiles) {
186
- assertCommandRequirements(context, filesystemCommandRequirements.ls, FIND_DIR_REQUIREMENTS, backing.capabilities);
187
- if (fastBacking !== undefined)
188
- context._chargeFastFsOp();
189
- if (stdoutPipe.writeLineCountSync(matchCount, totalBytes)) {
190
- return RESOLVED_EXIT_ZERO;
191
- }
192
- }
193
- }
194
- }
195
- const keyBase = findKeyScratchTop;
196
- const keyEnd = stageAndSortFindKeys(memDirEntries, keyBase, match);
197
- if (findKeyAllFiles) {
198
- try {
199
- assertCommandRequirements(context, filesystemCommandRequirements.ls, FIND_DIR_REQUIREMENTS, backing.capabilities);
200
- if (fastBacking !== undefined)
201
- context._chargeFastFsOp();
202
- let parent = rootDisplay;
203
- while (parent.endsWith("/") && parent.length > 1)
204
- parent = parent.slice(0, -1);
205
- const escapedParent = escapeText(parent === "/" ? "" : parent, "display");
206
- const rootName = basename(rootDisplay) || "/";
207
- sharedFindPrintBufInUse = true;
208
- let printPos = 0;
209
- let overflow = false;
210
- if (match(rootName)) {
211
- const escRoot = escapeText(rootDisplay, "display");
212
- if (escRoot.length + 1 <= sharedFindPrintBuf.length) {
213
- for (let c = 0; c < escRoot.length; c++)
214
- sharedFindPrintBuf[printPos++] = escRoot.charCodeAt(c);
215
- sharedFindPrintBuf[printPos++] = 10;
216
- }
217
- else {
218
- overflow = true;
219
- }
220
- }
221
- if (!overflow) {
222
- const pLen = escapedParent.length;
223
- for (let i = keyBase; i < keyEnd; i++) {
224
- const childName = findKeyScratch[i];
225
- const escChild = escapeText(childName, "display");
226
- const cLen = escChild.length;
227
- if (printPos + pLen + cLen + 2 > sharedFindPrintBuf.length) {
228
- overflow = true;
229
- break;
230
- }
231
- for (let c = 0; c < pLen; c++)
232
- sharedFindPrintBuf[printPos++] = escapedParent.charCodeAt(c);
233
- sharedFindPrintBuf[printPos++] = 47;
234
- for (let c = 0; c < cLen; c++)
235
- sharedFindPrintBuf[printPos++] = escChild.charCodeAt(c);
236
- sharedFindPrintBuf[printPos++] = 10;
237
- }
238
- }
239
- if (!overflow) {
240
- if (printPos === 0) {
241
- sharedFindPrintBufInUse = false;
242
- return RESOLVED_EXIT_ZERO;
243
- }
244
- const stdoutSink = context.stdout;
245
- if (!stdoutSink.isPipeStage && typeof stdoutSink.writeRangeSync === "function" && stdoutSink.writeRangeSync(sharedFindPrintBuf, printPos) !== false) {
246
- sharedFindPrintBufInUse = false;
247
- return RESOLVED_EXIT_ZERO;
248
- }
249
- const p = outputRange(context, sharedFindPrintBuf, printPos);
250
- if (isSyncResolved(p)) {
251
- sharedFindPrintBufInUse = false;
252
- return RESOLVED_EXIT_ZERO;
253
- }
254
- return p.then(finishFindPrintBufAsync, error => {
255
- // A cancelled write may leave the sink borrowing the old buffer.
256
- sharedFindPrintBuf = new Uint8Array(sharedFindPrintBuf.length);
257
- sharedFindPrintBufInUse = false;
258
- throw error;
259
- });
260
- }
261
- sharedFindPrintBufInUse = false;
262
- }
263
- catch (error) {
264
- if (sharedFindPrintBufInUse) {
265
- sharedFindPrintBuf = new Uint8Array(sharedFindPrintBuf.length);
266
- sharedFindPrintBufInUse = false;
267
- }
268
- throw error;
269
- }
270
- finally {
271
- findKeyScratch.fill("", keyBase, keyEnd);
272
- findKeyScratchTop = keyBase;
273
- }
274
- }
275
- else {
276
- findKeyScratch.fill("", keyBase, keyEnd);
277
- findKeyScratchTop = keyBase;
278
- }
279
- }
280
- }
281
- }
282
- }
283
- }
284
- return executeFindSlow(context);
285
- })];
286
- if (maxDirectoryEntries === undefined)
287
- builtInDirectContextExecutors.add(defs[0].execute);
288
- return defs;
289
- async function executeFindSlow(context) {
290
- const startedAt = Date.now();
291
- const rawArgumentValues = context.argumentValues ? getCommandArguments(context) : undefined;
292
- const args = rawArgumentValues ? [...rawArgumentValues.args] : [...context.args];
293
- const values = rawArgumentValues ? [...rawArgumentValues.values] : [...context.args];
294
- let follow = "-P";
295
- let debugTree = false;
296
- while (["-P", "-L", "-H", "-D"].includes(args[0] ?? "")) {
297
- const option = args.shift();
298
- values.shift();
299
- if (option !== "-D") {
300
- follow = option;
301
- continue;
302
- }
303
- const debug = args.shift();
304
- values.shift();
305
- if (debug === undefined)
306
- throw new UsageError("-D requires a debug option");
307
- if (debug !== "tree")
308
- throw new UsageError(`unsupported debug option '${debug}' (supported: tree)`);
309
- debugTree = true;
310
- }
311
- if (args[0] === "--") {
312
- args.shift();
313
- values.shift();
314
- }
315
- const roots = [];
316
- while (args.length && !args[0].startsWith("-") && !["!", "("].includes(args[0])) {
317
- roots.push(args.shift());
318
- values.shift();
319
- }
320
- if (!roots.length)
321
- roots.push(".");
322
- let maxDepth = Infinity;
323
- let minDepth = 0;
324
- let depthFirst = false;
325
- let explicitDepth = false;
326
- let offset = 0;
327
- let explicitAction = false;
328
- let quitRequested = false;
329
- let exitCode = 0;
330
- let deletes = false;
331
- let prunes = false;
332
- let needsStat = false;
333
- let needsDisplay = false;
334
- const references = new Map();
335
- const flushes = [];
336
- const formats = [];
337
- const formatBudget = new FindFormatBudget(context);
338
- const trees = new Map();
339
- const primary = () => {
340
- const start = offset;
341
- const expression = parsePrimary();
342
- if (debugTree && !trees.has(expression))
343
- trees.set(expression, JSON.stringify(args.slice(start, offset)));
344
- return expression;
345
- };
346
- const parsePrimary = () => {
347
- const token = args[offset++];
348
- if (token === undefined)
349
- throw new UsageError("missing expression");
350
- if (token === "!" || token === "-not") {
351
- const inner = primary();
352
- const expression = entry => {
353
- const res = inner(entry);
354
- return typeof res === "boolean" ? !res : res.then(v => !v);
355
- };
356
- if (debugTree)
357
- trees.set(expression, `NOT(${trees.get(inner)})`);
358
- return expression;
359
- }
360
- if (token === "(") {
361
- const inner = disjunction();
362
- if (args[offset++] !== ")")
363
- throw new UsageError("missing ')'");
364
- return inner;
365
- }
366
- if (token === "-depth") {
367
- depthFirst = true;
368
- explicitDepth = true;
369
- return () => true;
370
- }
371
- if (token === "-maxdepth" || token === "-mindepth") {
372
- const operand = args[offset++];
373
- if (operand === undefined)
374
- throw new UsageError(`${token} requires a number`);
375
- const number = integer(operand);
376
- if (token === "-maxdepth")
377
- maxDepth = number;
378
- else
379
- minDepth = number;
380
- return () => true;
381
- }
382
- if (["-name", "-iname", "-path", "-ipath", "-wholename", "-iwholename", "-regex", "-iregex", "-type", "-perm", "-links", "-size", "-mtime", "-mmin", "-amin", "-cmin", "-newer"].includes(token)) {
383
- const operand = args[offset++];
384
- if (operand === undefined)
385
- throw new UsageError(`${token} requires an argument`);
386
- if (token === "-regex" || token === "-iregex") {
387
- needsDisplay = true;
388
- let regex;
389
- try {
390
- regex = new RegExp(`^(?:${operand})$`, token === "-iregex" ? "iu" : "u");
391
- }
392
- catch {
393
- throw new UsageError(`invalid regular expression '${operand}'`);
394
- }
395
- return entry => regex.test(entry.display);
396
- }
397
- if (token === "-newer") {
398
- needsStat = true;
399
- references.set(operand, 0);
400
- return entry => entry.stat.mtimeMs > references.get(operand);
401
- }
402
- if (token === "-mtime" || token === "-mmin" || token === "-amin" || token === "-cmin") {
403
- needsStat = true;
404
- const match = /^([+-]?)([0-9]+)$/u.exec(operand);
405
- if (!match)
406
- throw new UsageError(`invalid time '${operand}'`);
407
- const amount = integer(match[2]);
408
- const unit = token === "-mtime" ? 86_400_000 : 60_000;
409
- const origin = startedAt - (token === "-mtime" ? match[1] === "-" ? 1000 : unit : 0);
410
- const reference = origin - amount * unit;
411
- if (!Number.isSafeInteger(amount * unit) || !Number.isSafeInteger(reference) || !Number.isSafeInteger(reference + unit)) {
412
- throw new UsageError(`invalid time '${operand}': comparison is out of range`);
413
- }
414
- return async (entry) => {
415
- const stamp = token === "-amin" ? (entry.stat.atimeMs ?? entry.stat.mtimeMs) : token === "-cmin" ? (entry.stat.ctimeMs ?? entry.stat.mtimeMs) : entry.stat.mtimeMs;
416
- const delta = stamp - reference;
417
- return match[1] === "+" ? delta < 0 : match[1] === "-" ? delta > 0 : delta > 0 && delta <= unit;
418
- };
419
- }
420
- if (token === "-type") {
421
- const types = { f: "file", d: "directory", l: "symlink", c: "character" };
422
- const specialModes = { b: 0o060000, p: 0o010000, s: 0o140000 };
423
- const requested = operand.split(",");
424
- if (requested.some(type => !types[type] && !specialModes[type]))
425
- throw new UsageError(`unsupported file type '${operand}'`);
426
- if (requested.some(type => Boolean(specialModes[type])))
427
- needsStat = true;
428
- if (requested.length === 1 && types[requested[0]]) {
429
- const expectedType = types[requested[0]];
430
- return entry => entry.stat.type === expectedType;
431
- }
432
- return entry => requested.some(type => specialModes[type]
433
- ? (entry.stat.mode & 0o170000) === specialModes[type] : entry.stat.type === types[type]);
434
- }
435
- if (token === "-perm") {
436
- needsStat = true;
437
- const comparison = operand[0] === "-" || operand[0] === "/" || (operand[0] === "+" && /^[0-7]/u.test(operand.slice(1))) ? operand[0] : "";
438
- const spec = comparison ? operand.slice(1) : operand;
439
- const evalMode = modeChange(spec, 0);
440
- return async (entry) => {
441
- const bits = evalMode({ mode: 0, type: entry.stat.type });
442
- const permissions = entry.stat.mode & 0o7777;
443
- return comparison === "-" ? (permissions & bits) === bits
444
- : (comparison === "/" || comparison === "+") ? bits === 0 || (permissions & bits) !== 0 : permissions === bits;
445
- };
446
- }
447
- if (token === "-links") {
448
- needsStat = true;
449
- const comparison = operand[0] === "+" || operand[0] === "-" ? operand[0] : "";
450
- const digits = comparison ? operand.slice(1) : operand;
451
- if (!digits || [...digits].some(digit => digit < "0" || digit > "9"))
452
- throw new UsageError(`invalid link count '${operand}'`);
453
- const count = integer(digits);
454
- return async (entry) => {
455
- if (entry.stat.nlink === undefined)
456
- throw new FsError("ENOTSUP", { path: entry.path, message: "link count unavailable" });
457
- return comparison === "+" ? entry.stat.nlink > count : comparison === "-" ? entry.stat.nlink < count : entry.stat.nlink === count;
458
- };
459
- }
460
- if (token === "-size") {
461
- needsStat = true;
462
- const comparison = operand[0] === "+" || operand[0] === "-" ? operand[0] : "";
463
- const units = { c: 1, w: 2, b: 512, k: 1024, M: 1048576, G: 1073741824 };
464
- const suffix = operand.at(-1);
465
- const unit = units[suffix] ?? 512;
466
- const digits = operand.slice(comparison ? 1 : 0, units[suffix] === undefined ? undefined : -1);
467
- if (!digits || [...digits].some(digit => digit < "0" || digit > "9"))
468
- throw new UsageError(`invalid size '${operand}'`);
469
- const size = integer(digits);
470
- return async (entry) => comparison === "+" ? Math.ceil(entry.stat.size / unit) > size : comparison === "-" ? Math.ceil(entry.stat.size / unit) < size : Math.ceil(entry.stat.size / unit) === size;
471
- }
472
- const ignoreCase = token === "-iname" || token === "-ipath" || token === "-iwholename";
473
- const work = {
474
- remaining: Infinity,
475
- signal: context.signal,
476
- exhausted() { throw new UsageError(`pattern work limit exceeded for '${operand}'`); },
477
- };
478
- const matcherPromise = compilePattern(operand, work, ignoreCase);
479
- let compiledMatcher;
480
- formats.push(async () => { compiledMatcher = await matcherPromise; });
481
- const useName = token === "-name" || token === "-iname";
482
- if (!useName)
483
- needsDisplay = true;
484
- return entry => compiledMatcher(useName ? entry.name : entry.display);
485
- }
486
- if (token === "-true" || token === "-false")
487
- return () => token === "-true";
488
- if (token === "-empty") {
489
- needsStat = true;
490
- return async (entry) => entry.stat.type === "directory" ? !(await readDirectory(context, entry.path)).length : entry.stat.type === "file" && entry.stat.size === 0;
491
- }
492
- if (token === "-prune") {
493
- prunes = true;
494
- return entry => { entry.prune = true; return true; };
495
- }
496
- if (token === "-quit") {
497
- explicitAction = true;
498
- return () => { quitRequested = true; return true; };
499
- }
500
- if (token === "-delete") {
501
- explicitAction = true;
502
- depthFirst = true;
503
- deletes = true;
504
- return async (entry) => {
505
- context.signal.throwIfAborted();
506
- if (basename(entry.display) === ".")
507
- return true;
508
- try {
509
- const directory = entry.stat.type === "directory" && !entry.symlink;
510
- const capabilities = await context.fs.capabilitiesFor?.(entry.path, { signal: context.signal }) ?? context.fs.capabilities;
511
- assertCommandRequirements(context, directory ? filesystemCommandRequirements.rmdir : filesystemCommandRequirements.rm, [directory ? "directory" : "file"], capabilities);
512
- if (directory) {
513
- if (!context.fs.rmdir || capabilities.snapshotRmdir)
514
- throw new FsError("ENOTSUP", { syscall: "rmdir", path: entry.path });
515
- await context.fs.rmdir(entry.path, { signal: context.signal });
516
- }
517
- else
518
- await context.fs.rm(entry.path, { recursive: false, signal: context.signal });
519
- context.signal.throwIfAborted();
520
- return true;
521
- }
522
- catch (error) {
523
- await diagnostic(context, error);
524
- exitCode = 1;
525
- return false;
526
- }
527
- };
528
- }
529
- if (token === "-print" || token === "-print0") {
530
- explicitAction = true;
531
- return async (entry) => { await output(context, token === "-print0" ? `${entry.display}\0` : `${escapeText(entry.display, "display")}\n`); return true; };
532
- }
533
- if (token === "-printf") {
534
- needsStat = true;
535
- if (args[offset] === undefined)
536
- throw new UsageError("-printf requires a format");
537
- const operand = values[offset++];
538
- let render;
539
- formats.push(async () => { render = await compileFindFormat(operand, formatBudget); });
540
- explicitAction = true;
541
- return async (entry) => { await render(entry); return true; };
542
- }
543
- if (token === "-exec") {
544
- explicitAction = true;
545
- const command = [];
546
- const start = offset;
547
- while (args[offset] !== undefined && args[offset] !== ";" && !(args[offset] === "+" && args[offset - 1] === "{}"))
548
- command.push(args[offset++]);
549
- const commandArguments = (rawArgumentValues ?? getCommandArguments(context)).withValues(values.slice(start, offset));
550
- const terminator = args[offset++];
551
- if (!command.length || terminator === undefined)
552
- throw new UsageError("-exec requires a command terminated by ';' or '+'");
553
- if (terminator === ";")
554
- return async (entry) => {
555
- const invocation = commandArguments.withValues(commandArguments.values.map((argument, index) => replaceArgument(typeof argument === "string" ? argument : commandArguments.bytes(index), "{}", entry.display)));
556
- const childArguments = invocation.slice(1);
557
- return (await execute({ ...context, command: invocation.args[0], args: childArguments.args, argumentValues: childArguments, env: { ...context.env } })).exitCode === 0;
558
- };
559
- if (command.at(-1) !== "{}" || command.slice(0, -1).some(argument => argument.includes("{}")))
560
- throw new UsageError("batched -exec requires exactly one final '{}' argument");
561
- const pending = [];
562
- let bytes = 0;
563
- const flush = async () => {
564
- if (!pending.length)
565
- return;
566
- const childArguments = commandArguments.withValues([...commandArguments.values.slice(1, -1), ...pending]);
567
- const result = await execute({ ...context, command: command[0], args: childArguments.args, argumentValues: childArguments, env: { ...context.env } });
568
- if (result.exitCode !== 0)
569
- exitCode = 1;
570
- pending.length = 0;
571
- bytes = 0;
572
- };
573
- flushes.push(flush);
574
- return async (entry) => {
575
- const size = byteLength(entry.display) + 1;
576
- if (pending.length >= 1000 || bytes + size > 65536)
577
- await flush();
578
- pending.push(entry.display);
579
- bytes += size;
580
- return true;
581
- };
582
- }
583
- throw new UsageError(`unsupported expression '${token}'`);
584
- };
585
- const conjunction = () => {
586
- let predicate = primary();
587
- while (offset < args.length && !["-o", "-or", ",", ")"].includes(args[offset])) {
588
- if (args[offset] === "-a" || args[offset] === "-and")
589
- offset++;
590
- const left = predicate;
591
- const right = primary();
592
- predicate = entry => {
593
- const l = left(entry);
594
- return typeof l === "boolean" ? (l ? right(entry) : false) : l.then(lv => lv ? right(entry) : false);
595
- };
596
- if (debugTree)
597
- trees.set(predicate, `AND(${trees.get(left)}, ${trees.get(right)})`);
598
- }
599
- return predicate;
600
- };
601
- const disjunction = () => {
602
- let predicate = conjunction();
603
- while (args[offset] === "-o" || args[offset] === "-or") {
604
- offset++;
605
- const left = predicate;
606
- const right = conjunction();
607
- predicate = entry => {
608
- const l = left(entry);
609
- return typeof l === "boolean" ? (l ? true : right(entry)) : l.then(lv => lv ? true : right(entry));
610
- };
611
- if (debugTree)
612
- trees.set(predicate, `OR(${trees.get(left)}, ${trees.get(right)})`);
613
- }
614
- while (args[offset] === ",") {
615
- offset++;
616
- const left = predicate;
617
- const right = conjunction();
618
- predicate = entry => {
619
- const l = left(entry);
620
- return typeof l === "boolean" ? right(entry) : l.then(() => right(entry));
621
- };
622
- if (debugTree)
623
- trees.set(predicate, `LIST(${trees.get(left)}, ${trees.get(right)})`);
624
- }
625
- return predicate;
626
- };
627
- const evaluate = args.length ? disjunction() : () => true;
628
- if (offset !== args.length)
629
- throw new UsageError(`unexpected expression '${args[offset]}'`);
630
- for (const prepare of formats)
631
- await prepare();
632
- if (deletes && prunes && !explicitDepth)
633
- throw new PublicDiagnostic("-delete implies -depth; -prune is ineffective unless -depth is explicitly supplied");
634
- if (debugTree) {
635
- const tree = trees.get(evaluate) ?? "true";
636
- await context.stderr.write(new TextEncoder().encode(`find: virtual expression tree (evaluation order; no optimizer)\n${explicitAction ? tree : `AND(${tree}, implicit -print)`}\n`));
637
- }
638
- for (const reference of references.keys()) {
639
- context.signal.throwIfAborted();
640
- const path = pathOf(context, reference);
641
- let stat;
642
- try {
643
- stat = await context.fs[follow !== "-P" ? "stat" : "lstat"](path, { signal: context.signal });
644
- }
645
- catch (error) {
646
- context.signal.throwIfAborted();
647
- if (follow === "-P" || codeOf(error) !== "ENOENT")
648
- throw error;
649
- stat = await context.fs.lstat(path, { signal: context.signal });
650
- }
651
- context.signal.throwIfAborted();
652
- references.set(reference, stat.mtimeMs);
653
- }
654
- const useSharedPrintBuf = !sharedFindPrintBufInUse;
655
- if (useSharedPrintBuf)
656
- sharedFindPrintBufInUse = true;
657
- const printBuf = useSharedPrintBuf ? sharedFindPrintBuf : new Uint8Array(8192);
658
- let printPos = 0;
659
- const flushPrintBuffer = () => {
660
- if (printPos === 0)
661
- return undefined;
662
- const chunk = Uint8Array.prototype.slice.call(printBuf, 0, printPos);
663
- printPos = 0;
664
- const p = output(context, chunk);
665
- return isSyncResolved(p) ? undefined : p;
666
- };
667
- const appendPrintLine = async (escaped) => {
668
- const maxNeed = escaped.length * 3 + 1;
669
- if (printPos + maxNeed > printBuf.length) {
670
- const fp = flushPrintBuffer();
671
- if (fp)
672
- await fp;
673
- }
674
- if (maxNeed > printBuf.length) {
675
- const p = output(context, `${escaped}\n`);
676
- if (!isSyncResolved(p))
677
- await p;
678
- return;
679
- }
680
- printPos += writeUtf8(printBuf, printPos, escaped);
681
- printBuf[printPos++] = 10;
682
- };
683
- const appendPrintChild = (escapedParent, escapedChild) => {
684
- const maxNeed = (escapedParent.length + escapedChild.length) * 3 + 2;
685
- if (printPos + maxNeed <= printBuf.length) {
686
- printPos += writeUtf8(printBuf, printPos, escapedParent);
687
- printBuf[printPos++] = 47;
688
- printPos += writeUtf8(printBuf, printPos, escapedChild);
689
- printBuf[printPos++] = 10;
690
- return;
691
- }
692
- return (async () => {
693
- const fp = flushPrintBuffer();
694
- if (fp)
695
- await fp;
696
- if (maxNeed > printBuf.length) {
697
- const p = output(context, `${escapedParent}/${escapedChild}\n`);
698
- if (!isSyncResolved(p))
699
- await p;
700
- return;
701
- }
702
- printPos += writeUtf8(printBuf, printPos, escapedParent);
703
- printBuf[printPos++] = 47;
704
- printPos += writeUtf8(printBuf, printPos, escapedChild);
705
- printBuf[printPos++] = 10;
706
- })();
707
- };
708
- const canSkipChildStat = !needsStat && !explicitAction && follow !== "-L";
709
- const backing = getRuntimeBackingFileSystem(context.fs);
710
- const maxEntriesLimit = maxDirectoryEntries ?? Infinity;
711
- let uniformDirAdmitted = false;
712
- const scratchChildEntry = { path: "", display: "", name: "", stat: SYNTHETIC_FILE_STAT, symlink: false, depth: 0, root: "", relative: "", prune: false };
713
- const visit = async (display, depth, ancestors, root, relative, knownName, knownType) => {
714
- if (quitRequested)
715
- return;
716
- context.signal.throwIfAborted();
717
- const path = pathOf(context, display);
718
- try {
719
- const memDirEntries = canSkipChildStat && backing !== undefined && backing.capabilitiesFor === undefined
720
- && context.fs.capabilities.readOnly !== true && context.fs.capabilities.readdir !== false && context.fs.capabilities.realpath !== false
721
- && path !== "/dev" && !path.startsWith("/dev/")
722
- ? tryGetMemoryDirectoryEntryNamesSync(backing, path)
723
- : undefined;
724
- let stat;
725
- let symlink;
726
- if (memDirEntries !== undefined) {
727
- if (!uniformDirAdmitted) {
728
- assertCommandRequirements(context, filesystemCommandRequirements.ls, ["directory"]);
729
- uniformDirAdmitted = true;
730
- }
731
- stat = SYNTHETIC_DIR_STAT;
732
- symlink = false;
733
- }
734
- else if (knownType !== undefined && canSkipChildStat && !(knownType === "symlink" && follow === "-H" && depth === 0)) {
735
- stat = syntheticStatFor(knownType);
736
- symlink = knownType === "symlink";
737
- }
738
- else {
739
- stat = await context.fs.lstat(path, { signal: context.signal });
740
- symlink = stat.type === "symlink";
741
- if ((follow === "-L" || follow === "-H" && depth === 0) && symlink) {
742
- try {
743
- stat = await context.fs.stat(path, { signal: context.signal });
744
- }
745
- catch (error) {
746
- if (codeOf(error) !== "ENOENT")
747
- throw error;
748
- }
749
- }
750
- }
751
- const entry = { path, display, name: knownName ?? (basename(display) || "/"), stat, symlink, depth, root, relative, prune: false };
752
- if (!depthFirst && depth >= minDepth) {
753
- const res = evaluate(entry);
754
- const ok = typeof res === "boolean" ? res : await res;
755
- if (ok && !explicitAction)
756
- await appendPrintLine(escapeText(display, "display"));
757
- if (quitRequested)
758
- return;
759
- }
760
- if (stat.type === "directory" && depth < maxDepth && (!entry.prune || depthFirst)) {
761
- const physical = memDirEntries !== undefined ? path : await context.fs.realpath(path, { signal: context.signal });
762
- if (ancestors.has(physical))
763
- throw new FsError("ELOOP", { path });
764
- let next;
765
- let parent = display;
766
- while (parent.endsWith("/"))
767
- parent = parent.slice(0, -1);
768
- const escapedParent = canSkipChildStat && !needsDisplay ? escapeText(parent, "display") : "";
769
- const childDepth = depth + 1;
770
- if (memDirEntries !== undefined && memDirEntries.size <= maxEntriesLimit) {
771
- const keyBase = findKeyScratchTop;
772
- const keyEnd = stageAndSortFindKeys(memDirEntries, keyBase);
773
- try {
774
- for (let i = keyBase; i < keyEnd; i++) {
775
- if (quitRequested)
776
- return;
777
- const childName = findKeyScratch[i];
778
- const childType = memDirEntries.get(childName).type;
779
- if (childType === "file" && childDepth <= 1024) {
780
- if (childDepth >= minDepth) {
781
- scratchChildEntry.name = childName;
782
- scratchChildEntry.depth = childDepth;
783
- scratchChildEntry.root = root;
784
- scratchChildEntry.prune = false;
785
- if (needsDisplay) {
786
- const childDisplay = `${parent}/${childName}`;
787
- scratchChildEntry.display = childDisplay;
788
- scratchChildEntry.path = pathOf(context, childDisplay);
789
- scratchChildEntry.relative = relative ? `${relative}/${childName}` : childName;
790
- }
791
- const res = evaluate(scratchChildEntry);
792
- const ok = typeof res === "boolean" ? res : await res;
793
- if (ok) {
794
- if (needsDisplay)
795
- await appendPrintLine(escapeText(scratchChildEntry.display, "display"));
796
- else {
797
- const pending = appendPrintChild(escapedParent, escapeText(childName, "display"));
798
- if (pending)
799
- await pending;
800
- }
801
- }
802
- }
803
- continue;
804
- }
805
- next ??= new Set(ancestors).add(physical);
806
- const childDisplay = `${parent}/${childName}`;
807
- const childRel = relative ? `${relative}/${childName}` : childName;
808
- await visit(childDisplay, childDepth, next, root, childRel, childName, childType);
809
- }
810
- }
811
- finally {
812
- findKeyScratch.fill("", keyBase, keyEnd);
813
- findKeyScratchTop = keyBase;
814
- }
815
- }
816
- else {
817
- const children = await readDirectory(context, path, true);
818
- for (const child of children) {
819
- if (quitRequested)
820
- return;
821
- if (canSkipChildStat && child.type === "file" && childDepth <= 1024) {
822
- if (childDepth >= minDepth) {
823
- scratchChildEntry.name = child.name;
824
- scratchChildEntry.depth = childDepth;
825
- scratchChildEntry.root = root;
826
- scratchChildEntry.prune = false;
827
- if (needsDisplay) {
828
- const childDisplay = `${parent}/${child.name}`;
829
- scratchChildEntry.display = childDisplay;
830
- scratchChildEntry.path = pathOf(context, childDisplay);
831
- scratchChildEntry.relative = relative ? `${relative}/${child.name}` : child.name;
832
- }
833
- const res = evaluate(scratchChildEntry);
834
- const ok = typeof res === "boolean" ? res : await res;
835
- if (ok) {
836
- if (needsDisplay)
837
- await appendPrintLine(escapeText(scratchChildEntry.display, "display"));
838
- else {
839
- const pending = appendPrintChild(escapedParent, escapeText(child.name, "display"));
840
- if (pending)
841
- await pending;
842
- }
843
- }
844
- }
845
- continue;
846
- }
847
- next ??= new Set(ancestors).add(physical);
848
- const childDisplay = `${parent}/${child.name}`;
849
- const childRel = relative ? `${relative}/${child.name}` : child.name;
850
- await visit(childDisplay, childDepth, next, root, childRel, child.name, child.type);
851
- }
852
- }
853
- }
854
- if (depthFirst && depth >= minDepth) {
855
- const res = evaluate(entry);
856
- const ok = typeof res === "boolean" ? res : await res;
857
- if (ok && !explicitAction)
858
- await appendPrintLine(escapeText(display, "display"));
859
- }
860
- if (depth === 0 && printPos > 0) {
861
- const fp = flushPrintBuffer();
862
- if (fp)
863
- await fp;
864
- }
865
- }
866
- catch (error) {
867
- const fp = flushPrintBuffer();
868
- if (fp)
869
- await fp;
870
- await diagnostic(context, error);
871
- exitCode = 1;
872
- }
873
- };
874
- try {
875
- for (const root of roots) {
876
- if (quitRequested)
877
- break;
878
- await visit(root, 0, new Set(), root, "");
879
- }
880
- const fp = flushPrintBuffer();
881
- if (fp)
882
- await fp;
883
- for (const flush of flushes)
884
- await flush();
885
- return { exitCode };
886
- }
887
- finally {
888
- if (useSharedPrintBuf)
889
- sharedFindPrintBufInUse = false;
890
- }
891
- }
892
- }
893
- export function evalSyncFind(rawArgs, cwd, inspectNode, allowNullBytes = false) {
894
- try {
895
- const args = [...rawArgs];
896
- let follow = "-P";
897
- while (args[0] === "-P" || args[0] === "-L" || args[0] === "-H") {
898
- follow = args.shift();
899
- }
900
- if (args[0] === "-D")
901
- return undefined;
902
- if (args[0] === "--")
903
- args.shift();
904
- const roots = [];
905
- while (args.length && !args[0].startsWith("-") && args[0] !== "!" && args[0] !== "(") {
906
- roots.push(args.shift());
907
- }
908
- if (roots.length === 0)
909
- roots.push(".");
910
- if (roots.length > 16)
911
- return undefined;
912
- for (let i = 0; i < roots.length; i++) {
913
- const rp = resolvePath(cwd, roots[i]);
914
- if (rp === "/dev" || rp.startsWith("/dev/"))
915
- return undefined;
916
- }
917
- let maxDepth = Infinity;
918
- let minDepth = 0;
919
- let depthFirst = false;
920
- let explicitAction = false;
921
- let quitNow = false;
922
- let offset = 0;
923
- let customOut = "";
924
- let usedCustomOut = false;
925
- const outLines = [];
926
- const primary = () => {
927
- const token = args[offset++];
928
- if (token === undefined)
929
- throw new Error("eof");
930
- if (token === "(") {
931
- const inner = disjunction();
932
- if (args[offset++] !== ")")
933
- throw new Error("unclosed");
934
- return inner;
935
- }
936
- if (token === "!" || token === "-not") {
937
- const inner = primary();
938
- return entry => !inner(entry);
939
- }
940
- if (token === "-depth" || token === "-d") {
941
- depthFirst = true;
942
- return () => true;
943
- }
944
- if (token === "-maxdepth" || token === "-mindepth") {
945
- const operand = args[offset++];
946
- if (operand === undefined || !/^[0-9]+$/.test(operand))
947
- throw new Error("depth");
948
- const parsed = Number(operand);
949
- if (token === "-maxdepth")
950
- maxDepth = parsed;
951
- else
952
- minDepth = parsed;
953
- return () => true;
954
- }
955
- if (token === "-true" || token === "-false")
956
- return () => token === "-true";
957
- if (token === "-empty") {
958
- return entry => entry.type === "directory" ? entry.childrenCount === 0 : entry.type === "file" && entry.size === 0;
959
- }
960
- if (token === "-prune") {
961
- return entry => {
962
- entry.prune = true;
963
- return true;
964
- };
965
- }
966
- if (token === "-quit") {
967
- explicitAction = true;
968
- return () => {
969
- quitNow = true;
970
- return true;
971
- };
972
- }
973
- if (token === "-print") {
974
- explicitAction = true;
975
- return entry => {
976
- if (usedCustomOut)
977
- customOut += escapeText(entry.display, "display") + "\n";
978
- else
979
- outLines.push(escapeText(entry.display, "display"));
980
- return true;
981
- };
982
- }
983
- if (token === "-print0") {
984
- if (!allowNullBytes)
985
- throw new Error("print0");
986
- explicitAction = true;
987
- usedCustomOut = true;
988
- return entry => {
989
- customOut += escapeText(entry.display, "display") + "\0";
990
- return true;
991
- };
992
- }
993
- if (token === "-printf") {
994
- const fmt = args[offset++];
995
- if (fmt === undefined)
996
- throw new Error("printf");
997
- for (let k = 0; k < fmt.length; k++) {
998
- if (fmt[k] === "\\") {
999
- const nxt = fmt[++k];
1000
- if (nxt !== "n" && nxt !== "t" && nxt !== "r" && nxt !== "\\")
1001
- throw new Error("printf-esc");
1002
- }
1003
- else if (fmt[k] === "%") {
1004
- const nxt = fmt[++k];
1005
- if (!nxt || !"pfhPsdym%".includes(nxt))
1006
- throw new Error("printf-dir");
1007
- }
1008
- }
1009
- explicitAction = true;
1010
- usedCustomOut = true;
1011
- return entry => {
1012
- let rendered = "";
1013
- for (let k = 0; k < fmt.length; k++) {
1014
- if (fmt[k] === "\\") {
1015
- const nxt = fmt[++k];
1016
- rendered += nxt === "n" ? "\n" : nxt === "t" ? "\t" : nxt === "r" ? "\r" : "\\";
1017
- }
1018
- else if (fmt[k] === "%") {
1019
- const nxt = fmt[++k];
1020
- if (nxt === "%")
1021
- rendered += "%";
1022
- else if (nxt === "p")
1023
- rendered += entry.display;
1024
- else if (nxt === "f")
1025
- rendered += entry.name;
1026
- else if (nxt === "h") {
1027
- const slash = entry.display.lastIndexOf("/");
1028
- rendered += slash < 0 ? "." : slash === 0 ? "/" : entry.display.slice(0, slash);
1029
- }
1030
- else if (nxt === "P")
1031
- rendered += entry.relative;
1032
- else if (nxt === "s")
1033
- rendered += String(entry.size);
1034
- else if (nxt === "d")
1035
- rendered += String(entry.depth);
1036
- else if (nxt === "y")
1037
- rendered += entry.type === "directory" ? "d" : entry.type === "symlink" ? "l" : "f";
1038
- else if (nxt === "m")
1039
- rendered += (entry.mode & 0o7777).toString(8).padStart(3, "0");
1040
- }
1041
- else {
1042
- rendered += fmt[k];
1043
- }
1044
- }
1045
- customOut += rendered;
1046
- return true;
1047
- };
1048
- }
1049
- if (token === "-regex" || token === "-iregex") {
1050
- const operand = args[offset++];
1051
- if (operand === undefined)
1052
- throw new Error("regex");
1053
- const re = new RegExp("^(?:" + operand + ")$", token === "-iregex" ? "i" : "");
1054
- return entry => re.test(entry.display);
1055
- }
1056
- if (token === "-name" ||
1057
- token === "-iname" ||
1058
- token === "-path" ||
1059
- token === "-wholename" ||
1060
- token === "-ipath" ||
1061
- token === "-iwholename" ||
1062
- token === "-type" ||
1063
- token === "-size" ||
1064
- token === "-links" ||
1065
- token === "-perm") {
1066
- const operand = args[offset++];
1067
- if (operand === undefined)
1068
- throw new Error("operand");
1069
- if (token === "-type") {
1070
- const types = { f: "file", d: "directory", l: "symlink" };
1071
- const specialModes = { c: 0o020000, b: 0o060000, p: 0o010000, s: 0o140000 };
1072
- const requested = operand.split(",");
1073
- if (requested.some(t => t.length !== 1 || !(t in types || t in specialModes)))
1074
- throw new Error("type");
1075
- return entry => requested.some(t => specialModes[t] ? (entry.mode & 0o170000) === specialModes[t] : entry.type === types[t]);
1076
- }
1077
- if (token === "-size") {
1078
- const comparison = operand[0] === "+" || operand[0] === "-" ? operand[0] : "";
1079
- const units = { c: 1, w: 2, b: 512, k: 1024, M: 1048576, G: 1073741824 };
1080
- const suffix = operand.at(-1);
1081
- const unit = units[suffix] ?? 512;
1082
- const digits = operand.slice(comparison ? 1 : 0, units[suffix] === undefined ? undefined : -1);
1083
- if (!digits || !/^[0-9]+$/.test(digits))
1084
- throw new Error("size");
1085
- const size = Number(digits);
1086
- return entry => comparison === "+"
1087
- ? Math.ceil(entry.size / unit) > size
1088
- : comparison === "-"
1089
- ? Math.ceil(entry.size / unit) < size
1090
- : Math.ceil(entry.size / unit) === size;
1091
- }
1092
- if (token === "-links") {
1093
- const comparison = operand[0] === "+" || operand[0] === "-" ? operand[0] : "";
1094
- const digits = comparison ? operand.slice(1) : operand;
1095
- if (!digits || !/^[0-9]+$/.test(digits))
1096
- throw new Error("links");
1097
- const count = Number(digits);
1098
- return entry => comparison === "+" ? entry.nlink > count : comparison === "-" ? entry.nlink < count : entry.nlink === count;
1099
- }
1100
- if (token === "-perm") {
1101
- const comparison = operand[0] === "-" || operand[0] === "/" || (operand[0] === "+" && /^[0-7]/u.test(operand.slice(1)))
1102
- ? operand[0]
1103
- : "";
1104
- const spec = comparison ? operand.slice(1) : operand;
1105
- const evalMode = modeChange(spec, 0);
1106
- return entry => {
1107
- const bits = evalMode({ mode: 0, type: entry.type });
1108
- const permissions = entry.mode & 0o7777;
1109
- return comparison === "-"
1110
- ? (permissions & bits) === bits
1111
- : comparison === "/" || comparison === "+"
1112
- ? bits === 0 || (permissions & bits) !== 0
1113
- : permissions === bits;
1114
- };
1115
- }
1116
- const ignoreCase = token === "-iname" || token === "-ipath" || token === "-iwholename";
1117
- const fn = getCachedFindPattern(operand, ignoreCase);
1118
- if (!fn)
1119
- throw new Error("pattern");
1120
- const useName = token === "-name" || token === "-iname";
1121
- return entry => fn(useName ? entry.name : entry.display);
1122
- }
1123
- throw new Error("unsupported");
1124
- };
1125
- const conjunction = () => {
1126
- let pred = primary();
1127
- while (offset < args.length && !["-o", "-or", ",", ")"].includes(args[offset])) {
1128
- if (args[offset] === "-a" || args[offset] === "-and")
1129
- offset++;
1130
- const left = pred;
1131
- const right = primary();
1132
- pred = entry => left(entry) && right(entry);
1133
- }
1134
- return pred;
1135
- };
1136
- const disjunction = () => {
1137
- let pred = conjunction();
1138
- while (args[offset] === "-o" || args[offset] === "-or") {
1139
- offset++;
1140
- const left = pred;
1141
- const right = conjunction();
1142
- pred = entry => left(entry) || right(entry);
1143
- }
1144
- while (args[offset] === ",") {
1145
- offset++;
1146
- const left = pred;
1147
- const right = conjunction();
1148
- pred = entry => {
1149
- left(entry);
1150
- return right(entry);
1151
- };
1152
- }
1153
- return pred;
1154
- };
1155
- const evaluate = args.length ? disjunction() : () => true;
1156
- if (offset !== args.length)
1157
- return undefined;
1158
- let visitedNodes = 0;
1159
- const visit = (display, relative, depth, ancestors, knownName) => {
1160
- if (quitNow)
1161
- return true;
1162
- if (++visitedNodes > 1024)
1163
- return false;
1164
- const absPath = resolvePath(cwd, display);
1165
- if (absPath === "/dev" || absPath.startsWith("/dev/"))
1166
- return false;
1167
- const shouldFollow = follow === "-L" || (follow === "-H" && depth === 0);
1168
- let info = inspectNode(absPath, false);
1169
- if (!info)
1170
- return false;
1171
- if (shouldFollow && info.type === "symlink") {
1172
- const followed = inspectNode(absPath, true);
1173
- if (followed)
1174
- info = followed;
1175
- }
1176
- const entry = {
1177
- display,
1178
- name: knownName ?? (basename(display) || "/"),
1179
- relative,
1180
- depth,
1181
- type: info.type,
1182
- size: info.size,
1183
- mode: info.mode,
1184
- nlink: info.nlink ?? (info.type === "directory" ? 2 : 1),
1185
- childrenCount: info.children ? info.children.length : 0,
1186
- prune: false,
1187
- };
1188
- if (!depthFirst && depth >= minDepth) {
1189
- const ok = evaluate(entry);
1190
- if (ok && !explicitAction)
1191
- outLines.push(escapeText(display, "display"));
1192
- if (quitNow)
1193
- return true;
1194
- }
1195
- if (info.type === "directory" && depth < maxDepth && (!entry.prune || depthFirst)) {
1196
- const ino = info.ino ?? -1;
1197
- if (ino !== -1 && ancestors.has(ino))
1198
- return false;
1199
- const nextAncestors = ino !== -1 ? new Set(ancestors).add(ino) : ancestors;
1200
- let parent = display;
1201
- while (parent.endsWith("/"))
1202
- parent = parent.slice(0, -1);
1203
- const sorted = info.children
1204
- ? [...info.children].sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0))
1205
- : [];
1206
- for (let i = 0; i < sorted.length; i++) {
1207
- if (quitNow)
1208
- break;
1209
- const child = sorted[i];
1210
- const childDisplay = `${parent}/${child.name}`;
1211
- const childRel = relative ? `${relative}/${child.name}` : child.name;
1212
- if (!visit(childDisplay, childRel, depth + 1, nextAncestors, child.name))
1213
- return false;
1214
- }
1215
- }
1216
- if (!quitNow && depthFirst && depth >= minDepth) {
1217
- const ok = evaluate(entry);
1218
- if (ok && !explicitAction)
1219
- outLines.push(escapeText(display, "display"));
1220
- }
1221
- return true;
1222
- };
1223
- for (let i = 0; i < roots.length; i++) {
1224
- if (quitNow)
1225
- break;
1226
- if (!visit(roots[i], "", 0, new Set()))
1227
- return undefined;
1228
- }
1229
- if (usedCustomOut)
1230
- return customOut;
1231
- return outLines.length > 0 ? outLines.join("\n") + "\n" : "";
1232
- }
1233
- catch {
1234
- return undefined;
1235
- }
1236
- }
1
+ export * from "../../safe-bash-command-find/find.js";
2
+ export { createFindDefinitions as findCommands } from "../../safe-bash-command-find/find.js";
1237
3
  //# sourceMappingURL=find.js.map