just-bash 2.5.5 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/README.md +2 -2
  2. package/dist/AGENTS.md +2 -2
  3. package/dist/ast/types.d.ts +100 -11
  4. package/dist/bin/chunks/alias-EGIS5LUE.js +7 -0
  5. package/dist/bin/chunks/awk2-GFEJOWML.js +21 -0
  6. package/dist/bin/chunks/bash-PGDTHIM2.js +6 -0
  7. package/dist/bin/chunks/chmod-TYLTHXFR.js +9 -0
  8. package/dist/bin/chunks/chunk-D5WP4CKS.js +3 -0
  9. package/dist/bin/chunks/chunk-FSAGDARS.js +74 -0
  10. package/dist/bin/chunks/chunk-FSZWFMB4.js +16 -0
  11. package/dist/bin/chunks/chunk-IRUD2E3M.js +17 -0
  12. package/dist/bin/chunks/chunk-K5IXNHO5.js +8 -0
  13. package/dist/bin/chunks/chunk-KD3EODLB.js +6 -0
  14. package/dist/bin/{shell/chunks/echo-WSKTON6U.js → chunks/echo-7I42V66Q.js} +2 -2
  15. package/dist/bin/chunks/env-7A4MH7BJ.js +9 -0
  16. package/dist/bin/chunks/expansion-BOR3ELLC.js +2 -0
  17. package/dist/bin/{shell/chunks/find-CBEJ35BR.js → chunks/find-PHDZK64M.js} +1 -1
  18. package/dist/bin/{shell/chunks/grep-IIVQXFNI.js → chunks/grep-VX7MJMVN.js} +2 -2
  19. package/dist/bin/chunks/{head-DYK37Z24.js → head-TJHLLIMR.js} +1 -1
  20. package/dist/bin/{shell/chunks/jq-XXZPU5CA.js → chunks/jq-RGZHJNXC.js} +1 -1
  21. package/dist/bin/chunks/od-KRKGC2U3.js +5 -0
  22. package/dist/bin/chunks/printf-YPXD4CRE.js +15 -0
  23. package/dist/bin/chunks/pwd-L26WH2K4.js +3 -0
  24. package/dist/bin/{shell/chunks/rg-Q4OTJOEF.js → chunks/rg-RSDLLECO.js} +1 -1
  25. package/dist/bin/chunks/rmdir-GOODLY5W.js +14 -0
  26. package/dist/bin/chunks/sed-JPDTWF4W.js +100 -0
  27. package/dist/bin/{shell/chunks/tail-BES27CZT.js → chunks/tail-YAUIERGN.js} +1 -1
  28. package/dist/bin/{shell/chunks/tar-C27YYUAS.js → chunks/tar-LFENC54A.js} +7 -7
  29. package/dist/bin/chunks/time-37F5EBPK.js +14 -0
  30. package/dist/bin/chunks/touch-IBPHJBM3.js +7 -0
  31. package/dist/bin/chunks/wc-SAOHEZYP.js +6 -0
  32. package/dist/bin/chunks/{which-73KOOLC6.js → which-FCDFBOMN.js} +1 -1
  33. package/dist/bin/chunks/whoami-JVLUNKSG.js +3 -0
  34. package/dist/bin/{shell/chunks/xan-6K2NGTHM.js → chunks/xan-5HNHTFMB.js} +19 -19
  35. package/dist/bin/chunks/{yq-MF2SNFGL.js → yq-PFV4T2PV.js} +1 -1
  36. package/dist/bin/just-bash.js +659 -135
  37. package/dist/bin/shell/chunks/alias-EGIS5LUE.js +7 -0
  38. package/dist/bin/shell/chunks/awk2-GFEJOWML.js +21 -0
  39. package/dist/bin/shell/chunks/bash-PGDTHIM2.js +6 -0
  40. package/dist/bin/shell/chunks/chmod-TYLTHXFR.js +9 -0
  41. package/dist/bin/shell/chunks/chunk-D5WP4CKS.js +3 -0
  42. package/dist/bin/shell/chunks/chunk-FSAGDARS.js +74 -0
  43. package/dist/bin/shell/chunks/chunk-FSZWFMB4.js +16 -0
  44. package/dist/bin/shell/chunks/chunk-IRUD2E3M.js +17 -0
  45. package/dist/bin/shell/chunks/chunk-K5IXNHO5.js +8 -0
  46. package/dist/bin/shell/chunks/chunk-KD3EODLB.js +6 -0
  47. package/dist/bin/{chunks/echo-WSKTON6U.js → shell/chunks/echo-7I42V66Q.js} +2 -2
  48. package/dist/bin/shell/chunks/env-7A4MH7BJ.js +9 -0
  49. package/dist/bin/shell/chunks/expansion-BOR3ELLC.js +2 -0
  50. package/dist/bin/{chunks/find-CBEJ35BR.js → shell/chunks/find-PHDZK64M.js} +1 -1
  51. package/dist/bin/{chunks/grep-IIVQXFNI.js → shell/chunks/grep-VX7MJMVN.js} +2 -2
  52. package/dist/bin/shell/chunks/{head-DYK37Z24.js → head-TJHLLIMR.js} +1 -1
  53. package/dist/bin/{chunks/jq-XXZPU5CA.js → shell/chunks/jq-RGZHJNXC.js} +1 -1
  54. package/dist/bin/shell/chunks/od-KRKGC2U3.js +5 -0
  55. package/dist/bin/shell/chunks/printf-YPXD4CRE.js +15 -0
  56. package/dist/bin/shell/chunks/pwd-L26WH2K4.js +3 -0
  57. package/dist/bin/{chunks/rg-Q4OTJOEF.js → shell/chunks/rg-RSDLLECO.js} +1 -1
  58. package/dist/bin/shell/chunks/rmdir-GOODLY5W.js +14 -0
  59. package/dist/bin/shell/chunks/sed-JPDTWF4W.js +100 -0
  60. package/dist/bin/{chunks/tail-BES27CZT.js → shell/chunks/tail-YAUIERGN.js} +1 -1
  61. package/dist/bin/{chunks/tar-C27YYUAS.js → shell/chunks/tar-LFENC54A.js} +7 -7
  62. package/dist/bin/shell/chunks/time-37F5EBPK.js +14 -0
  63. package/dist/bin/shell/chunks/touch-IBPHJBM3.js +7 -0
  64. package/dist/bin/shell/chunks/wc-SAOHEZYP.js +6 -0
  65. package/dist/bin/shell/chunks/{which-73KOOLC6.js → which-FCDFBOMN.js} +1 -1
  66. package/dist/bin/shell/chunks/whoami-JVLUNKSG.js +3 -0
  67. package/dist/bin/{chunks/xan-6K2NGTHM.js → shell/chunks/xan-5HNHTFMB.js} +19 -19
  68. package/dist/bin/shell/chunks/{yq-MF2SNFGL.js → yq-PFV4T2PV.js} +1 -1
  69. package/dist/bin/shell/shell.js +664 -140
  70. package/dist/bundle/browser.js +1251 -606
  71. package/dist/bundle/chunks/alias-ATFBB6D2.js +6 -0
  72. package/dist/bundle/chunks/awk2-6FBZTP57.js +20 -0
  73. package/dist/bundle/chunks/bash-OLRNM52U.js +5 -0
  74. package/dist/bundle/chunks/chmod-ODWUR7E6.js +8 -0
  75. package/dist/bundle/chunks/chunk-3AWP5CWK.js +73 -0
  76. package/dist/bundle/chunks/chunk-CXEWLFNE.js +16 -0
  77. package/dist/bundle/chunks/chunk-CZPA5RBA.js +5 -0
  78. package/dist/bundle/chunks/chunk-EEXR5ZDP.js +2 -0
  79. package/dist/bundle/chunks/chunk-HDQ56CKY.js +15 -0
  80. package/dist/bundle/chunks/chunk-PSW6BMXW.js +7 -0
  81. package/dist/bundle/chunks/{echo-VUHWYV6L.js → echo-6S7WE7XB.js} +2 -2
  82. package/dist/bundle/chunks/env-2UI6XINU.js +8 -0
  83. package/dist/bundle/chunks/expansion-RIGCFEMA.js +1 -0
  84. package/dist/bundle/chunks/{find-ACOAWALE.js → find-YGMSVGUV.js} +1 -1
  85. package/dist/bundle/chunks/{grep-ACVE42JK.js → grep-NIC6JNLH.js} +2 -2
  86. package/dist/bundle/chunks/{head-FZ6IQHYW.js → head-SA7P5NJ7.js} +1 -1
  87. package/dist/bundle/chunks/{jq-3YU5HRKE.js → jq-RLRYRPOJ.js} +1 -1
  88. package/dist/bundle/chunks/od-3FPDPLWJ.js +4 -0
  89. package/dist/bundle/chunks/printf-66XGXFCD.js +14 -0
  90. package/dist/bundle/chunks/pwd-S4NVAMC4.js +2 -0
  91. package/dist/bundle/chunks/{rg-YLZJWCEJ.js → rg-SRMB7L6G.js} +1 -1
  92. package/dist/bundle/chunks/rmdir-XFQE4ZYV.js +13 -0
  93. package/dist/bundle/chunks/sed-IV6HLDXU.js +99 -0
  94. package/dist/bundle/chunks/{tail-PD4RZR6J.js → tail-52LRAWXT.js} +1 -1
  95. package/dist/bundle/chunks/{tar-QWBXMF7K.js → tar-LWIHPMT6.js} +7 -7
  96. package/dist/bundle/chunks/time-UWXBG6CS.js +13 -0
  97. package/dist/bundle/chunks/touch-TDTEBHHI.js +6 -0
  98. package/dist/bundle/chunks/wc-HE5XARI4.js +5 -0
  99. package/dist/bundle/chunks/{which-M5MQ6QXQ.js → which-UBLRBDHN.js} +1 -1
  100. package/dist/bundle/chunks/whoami-YUDAIS32.js +2 -0
  101. package/dist/bundle/chunks/{xan-2R2APJJ4.js → xan-A6VPI4HJ.js} +19 -19
  102. package/dist/bundle/chunks/{yq-KANM4MD2.js → yq-L665QPQU.js} +1 -1
  103. package/dist/bundle/index.js +657 -133
  104. package/dist/commands/awk/ast.d.ts +1 -0
  105. package/dist/commands/awk/interpreter/context.d.ts +14 -0
  106. package/dist/commands/awk/interpreter/interpreter.d.ts +2 -0
  107. package/dist/commands/awk/interpreter/{helpers.d.ts → type-coercion.d.ts} +4 -1
  108. package/dist/commands/awk/parser2-print.d.ts +35 -0
  109. package/dist/commands/awk/parser2.d.ts +42 -34
  110. package/dist/commands/printf/strftime.d.ts +9 -0
  111. package/dist/commands/query-engine/builtins/array-builtins.d.ts +20 -0
  112. package/dist/commands/query-engine/builtins/control-builtins.d.ts +18 -0
  113. package/dist/commands/query-engine/builtins/date-builtins.d.ts +15 -0
  114. package/dist/commands/query-engine/builtins/format-builtins.d.ts +11 -0
  115. package/dist/commands/query-engine/builtins/index-builtins.d.ts +16 -0
  116. package/dist/commands/query-engine/builtins/index.d.ts +17 -0
  117. package/dist/commands/query-engine/builtins/math-builtins.d.ts +15 -0
  118. package/dist/commands/query-engine/builtins/navigation-builtins.d.ts +18 -0
  119. package/dist/commands/query-engine/builtins/object-builtins.d.ts +15 -0
  120. package/dist/commands/query-engine/builtins/path-builtins.d.ts +20 -0
  121. package/dist/commands/query-engine/builtins/sql-builtins.d.ts +16 -0
  122. package/dist/commands/query-engine/builtins/string-builtins.d.ts +15 -0
  123. package/dist/commands/query-engine/builtins/type-builtins.d.ts +11 -0
  124. package/dist/commands/query-engine/evaluator.d.ts +10 -2
  125. package/dist/commands/query-engine/parser-types.d.ts +171 -0
  126. package/dist/commands/query-engine/parser.d.ts +2 -132
  127. package/dist/commands/query-engine/path-operations.d.ts +15 -0
  128. package/dist/commands/query-engine/value-operations.d.ts +39 -0
  129. package/dist/commands/registry.d.ts +1 -1
  130. package/dist/commands/rmdir/rmdir.d.ts +2 -0
  131. package/dist/commands/sed/lexer.d.ts +12 -0
  132. package/dist/commands/sed/parser.d.ts +9 -0
  133. package/dist/commands/sed/sed-regex.d.ts +23 -0
  134. package/dist/commands/sed/types.d.ts +13 -1
  135. package/dist/commands/tar/tar-options.d.ts +36 -0
  136. package/dist/commands/time/time.d.ts +25 -0
  137. package/dist/commands/whoami/whoami.d.ts +9 -0
  138. package/dist/commands/xan/moonblade-tokenizer.d.ts +25 -0
  139. package/dist/fs/in-memory-fs/in-memory-fs.d.ts +12 -0
  140. package/dist/fs/interface.d.ts +16 -0
  141. package/dist/fs/mountable-fs/mountable-fs.d.ts +12 -0
  142. package/dist/fs/overlay-fs/overlay-fs.d.ts +13 -1
  143. package/dist/fs/read-write-fs/read-write-fs.d.ts +13 -1
  144. package/dist/interpreter/alias-expansion.d.ts +23 -0
  145. package/dist/interpreter/arithmetic.d.ts +1 -6
  146. package/dist/interpreter/assignment-expansion.d.ts +24 -0
  147. package/dist/interpreter/builtin-dispatch.d.ts +39 -0
  148. package/dist/interpreter/builtins/compgen.d.ts +26 -0
  149. package/dist/interpreter/builtins/complete.d.ts +17 -0
  150. package/dist/interpreter/builtins/compopt.d.ts +28 -0
  151. package/dist/interpreter/builtins/declare-array-parsing.d.ts +14 -0
  152. package/dist/interpreter/builtins/declare-print.d.ts +39 -0
  153. package/dist/interpreter/builtins/declare.d.ts +10 -4
  154. package/dist/interpreter/builtins/dirs.d.ts +29 -0
  155. package/dist/interpreter/builtins/eval.d.ts +1 -1
  156. package/dist/interpreter/builtins/export.d.ts +1 -0
  157. package/dist/interpreter/builtins/getopts.d.ts +18 -0
  158. package/dist/interpreter/builtins/hash.d.ts +19 -0
  159. package/dist/interpreter/builtins/help.d.ts +12 -0
  160. package/dist/interpreter/builtins/index.d.ts +9 -1
  161. package/dist/interpreter/builtins/local.d.ts +1 -1
  162. package/dist/interpreter/builtins/read.d.ts +1 -1
  163. package/dist/interpreter/builtins/set.d.ts +3 -0
  164. package/dist/interpreter/builtins/shift.d.ts +3 -0
  165. package/dist/interpreter/builtins/shopt.d.ts +7 -0
  166. package/dist/interpreter/builtins/unset.d.ts +5 -1
  167. package/dist/interpreter/builtins/variable-assignment.d.ts +66 -0
  168. package/dist/interpreter/command-resolution.d.ts +43 -0
  169. package/dist/interpreter/conditionals.d.ts +1 -1
  170. package/dist/interpreter/errors.d.ts +36 -1
  171. package/dist/interpreter/expansion/analysis.d.ts +15 -17
  172. package/dist/interpreter/expansion/arith-text-expansion.d.ts +20 -0
  173. package/dist/interpreter/expansion/array-pattern-ops.d.ts +21 -0
  174. package/dist/interpreter/expansion/array-prefix-suffix.d.ts +46 -0
  175. package/dist/interpreter/expansion/array-slice-transform.d.ts +36 -0
  176. package/dist/interpreter/expansion/array-word-expansion.d.ts +39 -0
  177. package/dist/interpreter/expansion/command-substitution.d.ts +23 -0
  178. package/dist/interpreter/expansion/glob-escape.d.ts +32 -0
  179. package/dist/interpreter/expansion/indirect-expansion.d.ts +42 -0
  180. package/dist/interpreter/expansion/parameter-ops.d.ts +113 -0
  181. package/dist/interpreter/expansion/pattern-expansion.d.ts +23 -0
  182. package/dist/interpreter/expansion/pattern-removal.d.ts +18 -0
  183. package/dist/interpreter/expansion/pattern.d.ts +2 -1
  184. package/dist/interpreter/expansion/positional-params.d.ts +59 -0
  185. package/dist/interpreter/expansion/prompt.d.ts +39 -0
  186. package/dist/interpreter/expansion/quoting.d.ts +13 -0
  187. package/dist/interpreter/expansion/tilde.d.ts +12 -0
  188. package/dist/interpreter/expansion/unquoted-expansion.d.ts +76 -0
  189. package/dist/interpreter/expansion/variable-attrs.d.ts +19 -0
  190. package/dist/interpreter/expansion/variable.d.ts +10 -1
  191. package/dist/interpreter/expansion/word-glob-expansion.d.ts +33 -0
  192. package/dist/interpreter/expansion/word-split.d.ts +11 -6
  193. package/dist/interpreter/expansion.d.ts +30 -4
  194. package/dist/interpreter/functions.d.ts +1 -1
  195. package/dist/interpreter/helpers/array.d.ts +20 -0
  196. package/dist/interpreter/helpers/ifs.d.ts +66 -5
  197. package/dist/interpreter/helpers/nameref.d.ts +65 -0
  198. package/dist/interpreter/helpers/quoting.d.ts +24 -0
  199. package/dist/interpreter/helpers/readonly.d.ts +28 -4
  200. package/dist/interpreter/helpers/shell-constants.d.ts +25 -0
  201. package/dist/interpreter/helpers/shellopts.d.ts +28 -0
  202. package/dist/interpreter/helpers/string-compare.d.ts +3 -1
  203. package/dist/interpreter/helpers/tilde.d.ts +13 -0
  204. package/dist/interpreter/helpers/variable-tests.d.ts +1 -1
  205. package/dist/interpreter/helpers/word-matching.d.ts +26 -0
  206. package/dist/interpreter/helpers/xtrace.d.ts +18 -0
  207. package/dist/interpreter/interpreter.d.ts +13 -14
  208. package/dist/interpreter/pipeline-execution.d.ts +16 -0
  209. package/dist/interpreter/redirections.d.ts +38 -1
  210. package/dist/interpreter/simple-command-assignments.d.ts +29 -0
  211. package/dist/interpreter/subshell-group.d.ts +32 -0
  212. package/dist/interpreter/type-command.d.ts +37 -0
  213. package/dist/interpreter/types.d.ts +255 -21
  214. package/dist/parser/arithmetic-parser.d.ts +2 -4
  215. package/dist/parser/arithmetic-primaries.d.ts +45 -0
  216. package/dist/parser/compound-parser.d.ts +21 -7
  217. package/dist/parser/expansion-parser.d.ts +7 -1
  218. package/dist/parser/lexer.d.ts +57 -0
  219. package/dist/parser/parser-substitution.d.ts +62 -0
  220. package/dist/parser/parser.d.ts +39 -2
  221. package/dist/parser/types.d.ts +1 -0
  222. package/dist/types.d.ts +17 -0
  223. package/package.json +4 -1
  224. package/dist/bin/chunks/alias-PCMLRCRW.js +0 -7
  225. package/dist/bin/chunks/awk2-D2US2LMM.js +0 -20
  226. package/dist/bin/chunks/bash-UT3MT5UU.js +0 -7
  227. package/dist/bin/chunks/chmod-3DIKREF7.js +0 -9
  228. package/dist/bin/chunks/chunk-ACRTDIBO.js +0 -6
  229. package/dist/bin/chunks/chunk-DV5HL4K2.js +0 -17
  230. package/dist/bin/chunks/chunk-J7BCMQDI.js +0 -16
  231. package/dist/bin/chunks/chunk-NWWB2XRE.js +0 -6
  232. package/dist/bin/chunks/chunk-PM2DS2YW.js +0 -3
  233. package/dist/bin/chunks/env-YLLSNZZN.js +0 -9
  234. package/dist/bin/chunks/od-SLM7SRWU.js +0 -7
  235. package/dist/bin/chunks/printf-HWUQKYUM.js +0 -14
  236. package/dist/bin/chunks/pwd-53KG2MCJ.js +0 -3
  237. package/dist/bin/chunks/sed-5LQMJYRJ.js +0 -80
  238. package/dist/bin/chunks/touch-TSNAXMZ2.js +0 -4
  239. package/dist/bin/chunks/wc-QSBRKIF5.js +0 -6
  240. package/dist/bin/shell/chunks/alias-PCMLRCRW.js +0 -7
  241. package/dist/bin/shell/chunks/awk2-D2US2LMM.js +0 -20
  242. package/dist/bin/shell/chunks/bash-UT3MT5UU.js +0 -7
  243. package/dist/bin/shell/chunks/chmod-3DIKREF7.js +0 -9
  244. package/dist/bin/shell/chunks/chunk-ACRTDIBO.js +0 -6
  245. package/dist/bin/shell/chunks/chunk-DV5HL4K2.js +0 -17
  246. package/dist/bin/shell/chunks/chunk-J7BCMQDI.js +0 -16
  247. package/dist/bin/shell/chunks/chunk-NWWB2XRE.js +0 -6
  248. package/dist/bin/shell/chunks/chunk-PM2DS2YW.js +0 -3
  249. package/dist/bin/shell/chunks/env-YLLSNZZN.js +0 -9
  250. package/dist/bin/shell/chunks/od-SLM7SRWU.js +0 -7
  251. package/dist/bin/shell/chunks/printf-HWUQKYUM.js +0 -14
  252. package/dist/bin/shell/chunks/pwd-53KG2MCJ.js +0 -3
  253. package/dist/bin/shell/chunks/sed-5LQMJYRJ.js +0 -80
  254. package/dist/bin/shell/chunks/touch-TSNAXMZ2.js +0 -4
  255. package/dist/bin/shell/chunks/wc-QSBRKIF5.js +0 -6
  256. package/dist/bundle/chunks/alias-4UGRF4DM.js +0 -6
  257. package/dist/bundle/chunks/awk2-46RTIZKB.js +0 -19
  258. package/dist/bundle/chunks/bash-ZILV3VHA.js +0 -6
  259. package/dist/bundle/chunks/chmod-FBHLEIY6.js +0 -8
  260. package/dist/bundle/chunks/chunk-4JO5BKO4.js +0 -5
  261. package/dist/bundle/chunks/chunk-BOJ3OAZB.js +0 -16
  262. package/dist/bundle/chunks/chunk-CG2HXOFG.js +0 -5
  263. package/dist/bundle/chunks/chunk-NWEGHOXL.js +0 -2
  264. package/dist/bundle/chunks/chunk-W2EKKAIL.js +0 -15
  265. package/dist/bundle/chunks/env-EG5SQSAQ.js +0 -8
  266. package/dist/bundle/chunks/od-ECWXNUB4.js +0 -6
  267. package/dist/bundle/chunks/printf-VG2POOXB.js +0 -13
  268. package/dist/bundle/chunks/pwd-AC4P3JKI.js +0 -2
  269. package/dist/bundle/chunks/sed-ZKODWZ6F.js +0 -79
  270. package/dist/bundle/chunks/touch-MVQSKQKT.js +0 -3
  271. package/dist/bundle/chunks/wc-DFQKWSIZ.js +0 -5
  272. package/dist/interpreter/builtins/variable-helpers.d.ts +0 -30
  273. /package/dist/bin/chunks/{curl-LCMREE7R.js → curl-TH7YRBSA.js} +0 -0
  274. /package/dist/bin/chunks/{file-LNCFDPQZ.js → file-6PCTL3MH.js} +0 -0
  275. /package/dist/bin/shell/chunks/{curl-LCMREE7R.js → curl-TH7YRBSA.js} +0 -0
  276. /package/dist/bin/shell/chunks/{file-LNCFDPQZ.js → file-6PCTL3MH.js} +0 -0
  277. /package/dist/bundle/chunks/{curl-TVZH24MD.js → curl-XLP4VABU.js} +0 -0
  278. /package/dist/bundle/chunks/{file-XPA6O6H2.js → file-NQP3CKRV.js} +0 -0
  279. /package/dist/commands/curl/{utils.d.ts → response-formatting.d.ts} +0 -0
  280. /package/dist/commands/xan/{xan-utils.d.ts → column-selection.d.ts} +0 -0
  281. /package/dist/fs/{utils.d.ts → encoding.d.ts} +0 -0
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env node
2
- import{a as C,c as F}from"./chunk-PM2DS2YW.js";import{a as $}from"./chunk-4VDEBYW7.js";import{a as E,b as I}from"./chunk-GTNBSMZR.js";import{c as M,e as j}from"./chunk-KGOUQS5A.js";var A=M(S=>{(function(){"use strict";var e={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(l){return n(i(l),arguments)}function t(l,a){return o.apply(null,[l].concat(a||[]))}function n(l,a){var f=1,p=l.length,s,h="",d,u,c,m,v,w,y,b;for(d=0;d<p;d++)if(typeof l[d]=="string")h+=l[d];else if(typeof l[d]=="object"){if(c=l[d],c.keys)for(s=a[f],u=0;u<c.keys.length;u++){if(s==null)throw new Error(o('[sprintf] Cannot access property "%s" of undefined value "%s"',c.keys[u],c.keys[u-1]));s=s[c.keys[u]]}else c.param_no?s=a[c.param_no]:s=a[f++];if(e.not_type.test(c.type)&&e.not_primitive.test(c.type)&&s instanceof Function&&(s=s()),e.numeric_arg.test(c.type)&&typeof s!="number"&&isNaN(s))throw new TypeError(o("[sprintf] expecting number but found %T",s));switch(e.number.test(c.type)&&(y=s>=0),c.type){case"b":s=parseInt(s,10).toString(2);break;case"c":s=String.fromCharCode(parseInt(s,10));break;case"d":case"i":s=parseInt(s,10);break;case"j":s=JSON.stringify(s,null,c.width?parseInt(c.width):0);break;case"e":s=c.precision?parseFloat(s).toExponential(c.precision):parseFloat(s).toExponential();break;case"f":s=c.precision?parseFloat(s).toFixed(c.precision):parseFloat(s);break;case"g":s=c.precision?String(Number(s.toPrecision(c.precision))):parseFloat(s);break;case"o":s=(parseInt(s,10)>>>0).toString(8);break;case"s":s=String(s),s=c.precision?s.substring(0,c.precision):s;break;case"t":s=String(!!s),s=c.precision?s.substring(0,c.precision):s;break;case"T":s=Object.prototype.toString.call(s).slice(8,-1).toLowerCase(),s=c.precision?s.substring(0,c.precision):s;break;case"u":s=parseInt(s,10)>>>0;break;case"v":s=s.valueOf(),s=c.precision?s.substring(0,c.precision):s;break;case"x":s=(parseInt(s,10)>>>0).toString(16);break;case"X":s=(parseInt(s,10)>>>0).toString(16).toUpperCase();break}e.json.test(c.type)?h+=s:(e.number.test(c.type)&&(!y||c.sign)?(b=y?"+":"-",s=s.toString().replace(e.sign,"")):b="",v=c.pad_char?c.pad_char==="0"?"0":c.pad_char.charAt(1):" ",w=c.width-(b+s).length,m=c.width&&w>0?v.repeat(w):"",h+=c.align?b+s+m:v==="0"?b+m+s:m+b+s)}return h}var r=Object.create(null);function i(l){if(r[l])return r[l];for(var a=l,f,p=[],s=0;a;){if((f=e.text.exec(a))!==null)p.push(f[0]);else if((f=e.modulo.exec(a))!==null)p.push("%");else if((f=e.placeholder.exec(a))!==null){if(f[2]){s|=1;var h=[],d=f[2],u=[];if((u=e.key.exec(d))!==null)for(h.push(u[1]);(d=d.substring(u[0].length))!=="";)if((u=e.key_access.exec(d))!==null)h.push(u[1]);else if((u=e.index_access.exec(d))!==null)h.push(u[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");f[2]=h}else s|=2;if(s===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");p.push({placeholder:f[0],param_no:f[1],keys:f[2],sign:f[3],pad_char:f[4],align:f[5],width:f[6],precision:f[7],type:f[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");a=a.substring(f[0].length)}return r[l]=p}typeof S<"u"&&(S.sprintf=o,S.vsprintf=t),typeof window<"u"&&(window.sprintf=o,window.vsprintf=t,typeof define=="function"&&define.amd&&define(function(){return{sprintf:o,vsprintf:t}}))})()});var x=j(A(),1);var N={name:"printf",summary:"format and print data",usage:"printf [-v var] FORMAT [ARGUMENT...]",options:[" -v var assign the output to shell variable VAR rather than display it"," --help display this help and exit"],notes:["FORMAT controls the output like in C printf.","Escape sequences: \\n (newline), \\t (tab), \\\\ (backslash)","Format specifiers: %s (string), %d (integer), %f (float), %x (hex), %o (octal), %% (literal %)","Width and precision: %10s (width 10), %.2f (2 decimal places), %010d (zero-padded)","Flags: %- (left-justify), %+ (show sign), %0 (zero-pad)"]},J={name:"printf",async execute(e,o){if(I(e))return E(N);if(e.length===0)return{stdout:"",stderr:`printf: usage: printf format [arguments]
3
- `,exitCode:2};let t=null,n=0;for(;n<e.length;){let l=e[n];if(l==="--"){n++;break}if(l==="-v"){if(n+1>=e.length)return{stdout:"",stderr:`printf: -v: option requires an argument
4
- `,exitCode:1};if(t=e[n+1],!/^[a-zA-Z_][a-zA-Z0-9_]*(\[[^\]]+\])?$/.test(t))return{stdout:"",stderr:`printf: \`${t}': not a valid identifier
5
- `,exitCode:2};n+=2}else{if(l.startsWith("-")&&l!=="-")break;break}}if(n>=e.length)return{stdout:"",stderr:`printf: usage: printf format [arguments]
6
- `,exitCode:1};let r=e[n],i=e.slice(n+1);try{let l=F(r),a="",f=0,p=!1,s="";do{let{result:h,argsConsumed:d,error:u,errMsg:c,stopped:m}=W(l,i,f);if(a+=h,f+=d,u&&(p=!0,c&&(s=c)),m)break}while(f<i.length&&f>0);return f===0&&i.length>0,t?(o.env[t]=a,{stdout:"",stderr:s,exitCode:p?1:0}):{stdout:a,stderr:s,exitCode:p?1:0}}catch(l){return{stdout:"",stderr:`printf: ${$(l)}
7
- `,exitCode:1}}}};function W(e,o,t){let n="",r=0,i=0,l=!1,a="";for(;r<e.length;)if(e[r]==="%"&&r+1<e.length){let f=r;if(r++,e[r]==="%"){n+="%",r++;continue}for(;r<e.length&&"+-0 #'".includes(e[r]);)r++;let p=!1;if(e[r]==="*")p=!0,r++;else for(;r<e.length&&/\d/.test(e[r]);)r++;let s=!1;if(e[r]===".")if(r++,e[r]==="*")s=!0,r++;else for(;r<e.length&&/\d/.test(e[r]);)r++;r<e.length&&"hlL".includes(e[r])&&r++;let h=e[r]||"";r++;let u=e.slice(f,r);if(p){let b=parseInt(o[t+i]||"0",10);i++,u=u.replace("*",String(b))}if(s){let b=parseInt(o[t+i]||"0",10);i++,u=u.replace(".*",`.${b}`)}let c=o[t+i]||"";i++;let{value:m,parseError:v,parseErrMsg:w,stopped:y}=z(u,h,c);if(n+=m,v&&(l=!0,w&&(a=w)),y)return{result:n,argsConsumed:i,error:l,errMsg:a,stopped:!0}}else n+=e[r],r++;return{result:n,argsConsumed:i,error:l,errMsg:a,stopped:!1}}function z(e,o,t){let n=!1,r="";switch(o){case"d":case"i":{let i=k(t);return n=g,n&&(r=`printf: ${t}: invalid number
8
- `),{value:_(e,i),parseError:n,parseErrMsg:r}}case"o":{let i=k(t);return n=g,n&&(r=`printf: ${t}: invalid number
9
- `),{value:T(e,i),parseError:n,parseErrMsg:r}}case"u":{let i=k(t);n=g,n&&(r=`printf: ${t}: invalid number
10
- `);let l=i<0?i>>>0:i;return{value:_(e.replace("u","d"),l),parseError:n,parseErrMsg:r}}case"x":case"X":{let i=k(t);return n=g,n&&(r=`printf: ${t}: invalid number
11
- `),{value:O(e,i),parseError:n,parseErrMsg:r}}case"e":case"E":case"f":case"F":case"g":case"G":{let i=parseFloat(t)||0;return{value:P(e,o,i),parseError:!1,parseErrMsg:""}}case"c":return{value:t.charAt(0)||"",parseError:!1,parseErrMsg:""};case"s":return{value:U(e,t),parseError:!1,parseErrMsg:""};case"q":return{value:q(e,t),parseError:!1,parseErrMsg:""};case"b":{let i=R(t);return{value:i.value,parseError:!1,parseErrMsg:"",stopped:i.stopped}}default:try{return{value:(0,x.sprintf)(e,t),parseError:!1,parseErrMsg:""}}catch{return{value:"",parseError:!0,parseErrMsg:`printf: [sprintf] unexpected placeholder
12
- `}}}}var g=!1;function k(e){g=!1;let o=e.trimStart(),t=o!==o.trimEnd();if(e=o.trimEnd(),e.startsWith("'")&&e.length>=2||e.startsWith('"')&&e.length>=2)return e.charCodeAt(1);if(e.startsWith("\\'")&&e.length>=3||e.startsWith('\\"')&&e.length>=3)return e.charCodeAt(2);if(e.startsWith("+")&&(e=e.slice(1)),e.startsWith("0x")||e.startsWith("0X")){let n=parseInt(e,16);return Number.isNaN(n)?(g=!0,0):(t&&(g=!0),n)}if(e.startsWith("0")&&e.length>1&&/^-?0[0-7]+$/.test(e))return t&&(g=!0),parseInt(e,8)||0;if(/^\d+#/.test(e)){g=!0;let n=e.match(/^(\d+)#/);return n?parseInt(n[1],10):0}if(e!==""&&!/^-?\d+$/.test(e)){g=!0;let n=parseInt(e,10);return Number.isNaN(n)?0:n}return t&&(g=!0),parseInt(e,10)||0}function _(e,o){let t=e.match(/^%([- +#0']*)(\d*)(\.(\d*))?[diu]$/);if(!t)return(0,x.sprintf)(e.replace(/\.\d*/,""),o);let n=t[1]||"",r=t[2]?parseInt(t[2],10):0,i=t[3]!==void 0?t[4]?parseInt(t[4],10):0:-1,l=o<0,a=Math.abs(o),f=String(a);i>=0&&(f=f.padStart(i,"0"));let p="";l?p="-":n.includes("+")?p="+":n.includes(" ")&&(p=" ");let s=p+f;return r>s.length&&(n.includes("-")?s=s.padEnd(r," "):n.includes("0")&&i<0?s=p+f.padStart(r-p.length,"0"):s=s.padStart(r," ")),s}function T(e,o){let t=e.match(/^%([- +#0']*)(\d*)(\.(\d*))?o$/);if(!t)return(0,x.sprintf)(e,o);let n=t[1]||"",r=t[2]?parseInt(t[2],10):0,i=t[3]!==void 0?t[4]?parseInt(t[4],10):0:-1,l=Math.abs(o).toString(8);i>=0&&(l=l.padStart(i,"0")),n.includes("#")&&!l.startsWith("0")&&(l=`0${l}`);let a=l;return r>a.length&&(n.includes("-")?a=a.padEnd(r," "):n.includes("0")&&i<0?a=a.padStart(r,"0"):a=a.padStart(r," ")),a}function O(e,o){let t=e.includes("X"),n=e.match(/^%([- +#0']*)(\d*)(\.(\d*))?[xX]$/);if(!n)return(0,x.sprintf)(e,o);let r=n[1]||"",i=n[2]?parseInt(n[2],10):0,l=n[3]!==void 0?n[4]?parseInt(n[4],10):0:-1,a=Math.abs(o).toString(16);t&&(a=a.toUpperCase()),l>=0&&(a=a.padStart(l,"0"));let f="";r.includes("#")&&o!==0&&(f=t?"0X":"0x");let p=f+a;return i>p.length&&(r.includes("-")?p=p.padEnd(i," "):r.includes("0")&&l<0?p=f+a.padStart(i-f.length,"0"):p=p.padStart(i," ")),p}function X(e){if(e==="")return"''";if(/^[a-zA-Z0-9_./-]+$/.test(e))return e;if(/[\x00-\x1f\x7f]/.test(e)){let n="$'";for(let r of e){let i=r.charCodeAt(0);r==="'"?n+="\\'":r==="\\"?n+="\\\\":r===`
13
- `?n+="\\n":r===" "?n+="\\t":r==="\r"?n+="\\r":r==="\x07"?n+="\\a":r==="\b"?n+="\\b":r==="\f"?n+="\\f":r==="\v"?n+="\\v":r==="\x1B"?n+="\\E":i<32||i>126?n+=`\\x${i.toString(16).padStart(2,"0")}`:r==='"'?n+='\\"':n+=r}return n+="'",n}let t="";for(let n of e)" |&;<>()$`\\\"'*?[#~=%!{}".includes(n)?t+=`\\${n}`:t+=n;return t}function U(e,o){let t=e.match(/^%(-?)(\d*)(\.(\d*))?s$/);if(!t)return(0,x.sprintf)(e.replace(/0+(?=\d)/,""),o);let n=t[1]==="-",r=t[2]?parseInt(t[2],10):0,i=t[3]!==void 0?t[4]?parseInt(t[4],10):0:-1,l=n?-r:r;return C(o,l,i)}function q(e,o){let t=X(o),n=e.match(/^%(-?)(\d*)q$/);if(!n)return t;let r=n[1]==="-",i=n[2]?parseInt(n[2],10):0,l=t;return i>l.length&&(r?l=l.padEnd(i," "):l=l.padStart(i," ")),l}function P(e,o,t){let n=e.match(/^%([- +#0']*)(\d*)(\.(\d*))?[eEfFgG]$/);if(!n)return(0,x.sprintf)(e,t);let r=n[1]||"",i=n[2]?parseInt(n[2],10):0,l=n[3]!==void 0?n[4]?parseInt(n[4],10):0:6,a,f=o.toLowerCase();if(f==="e"?(a=t.toExponential(l),a=a.replace(/e([+-])(\d)$/,"e$10$2"),o==="E"&&(a=a.toUpperCase())):f==="f"?(a=t.toFixed(l),r.includes("#")&&l===0&&!a.includes(".")&&(a+=".")):f==="g"?(a=t.toPrecision(l||1),r.includes("#")||(a=a.replace(/\.?0+$/,""),a=a.replace(/\.?0+e/,"e")),a=a.replace(/e([+-])(\d)$/,"e$10$2"),o==="G"&&(a=a.toUpperCase())):a=t.toString(),t>=0&&(r.includes("+")?a=`+${a}`:r.includes(" ")&&(a=` ${a}`)),i>a.length)if(r.includes("-"))a=a.padEnd(i," ");else if(r.includes("0")){let p=a.match(/^[+ -]/)?.[0]||"",s=p?a.slice(1):a;a=p+s.padStart(i-p.length,"0")}else a=a.padStart(i," ");return a}function R(e){let o="",t=0;for(;t<e.length;)if(e[t]==="\\"&&t+1<e.length)switch(e[t+1]){case"n":o+=`
14
- `,t+=2;break;case"t":o+=" ",t+=2;break;case"r":o+="\r",t+=2;break;case"\\":o+="\\",t+=2;break;case"a":o+="\x07",t+=2;break;case"b":o+="\b",t+=2;break;case"f":o+="\f",t+=2;break;case"v":o+="\v",t+=2;break;case"c":return{value:o,stopped:!0};case"x":{let r="",i=t+2;for(;i<e.length&&i<t+4&&/[0-9a-fA-F]/.test(e[i]);)r+=e[i],i++;r?(o+=String.fromCharCode(parseInt(r,16)),t=i):(o+="\\x",t+=2);break}case"u":{let r="",i=t+2;for(;i<e.length&&i<t+6&&/[0-9a-fA-F]/.test(e[i]);)r+=e[i],i++;r?(o+=String.fromCodePoint(parseInt(r,16)),t=i):(o+="\\u",t+=2);break}case"0":{let r="",i=t+2;for(;i<e.length&&i<t+5&&/[0-7]/.test(e[i]);)r+=e[i],i++;r?o+=String.fromCharCode(parseInt(r,8)):o+="\0",t=i;break}case"1":case"2":case"3":case"4":case"5":case"6":case"7":{let r="",i=t+1;for(;i<e.length&&i<t+4&&/[0-7]/.test(e[i]);)r+=e[i],i++;o+=String.fromCharCode(parseInt(r,8)),t=i;break}default:o+=e[t],t++}else o+=e[t],t++;return{value:o,stopped:!1}}export{J as printfCommand};
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- import"./chunk-KGOUQS5A.js";var d={name:"pwd",async execute(t,e){return{stdout:`${e.cwd}
3
- `,stderr:"",exitCode:0}}};export{d as pwdCommand};
@@ -1,80 +0,0 @@
1
- #!/usr/bin/env node
2
- import{i as g}from"./chunk-NWWB2XRE.js";import{a as D,b as W,c as y}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";var G=1e4;function U(i,e,t){return{patternSpace:"",holdSpace:"",lineNumber:0,totalLines:i,deleted:!1,printed:!1,quit:!1,quitSilent:!1,exitCode:void 0,appendBuffer:[],substitutionMade:!1,lineNumberOutput:[],restartCycle:!1,currentFilename:e,pendingFileReads:[],pendingFileWrites:[],pendingExecute:void 0,rangeStates:t||new Map}}function j(i){return typeof i=="object"&&"first"in i&&"step"in i}function N(i,e,t,n){if(i==="$")return e===t;if(typeof i=="number")return e===i;if(j(i)){let{first:r,step:s}=i;return s===0?e===r:(e-r)%s===0&&e>=r}if(typeof i=="object"&&"pattern"in i)try{return new RegExp(i.pattern).test(n)}catch{return!1}return!1}function Q(i){let e=t=>t===void 0?"undefined":t==="$"?"$":typeof t=="number"?String(t):"pattern"in t?`/${t.pattern}/`:"first"in t?`${t.first}~${t.step}`:"unknown";return`${e(i.start)},${e(i.end)}`}function k(i,e,t,n,r){if(!i||!i.start&&!i.end)return!0;let s=i.start,l=i.end;if(s!==void 0&&l===void 0)return N(s,e,t,n);if(s!==void 0&&l!==void 0){let h=typeof s=="object"&&"pattern"in s,p=typeof l=="object"&&"pattern"in l;if(!h&&!p){let o=typeof s=="number"?s:s==="$"?t:1,a=typeof l=="number"?l:t;return e>=o&&e<=a}if(r){let o=Q(i),a=r.get(o);return a||(a={active:!1},r.set(o,a)),a.active?(N(l,e,t,n)&&(a.active=!1,r.set(o,a)),!0):N(s,e,t,n)?(a.active=!0,a.startLine=e,r.set(o,a),N(l,e,t,n)&&(a.active=!1,r.set(o,a)),!0):!1}return N(s,e,t,n)}return!0}function K(i){let e="",t=0;for(;t<i.length;){if(i[t]==="\\"&&t+1<i.length){let n=i[t+1];if(n==="+"||n==="?"||n==="|"){e+=n,t+=2;continue}if(n==="("||n===")"){e+=n,t+=2;continue}if(n==="{"||n==="}"){e+=n,t+=2;continue}e+=i[t]+n,t+=2;continue}if(i[t]==="+"||i[t]==="?"||i[t]==="|"||i[t]==="("||i[t]===")"){e+=`\\${i[t]}`,t++;continue}e+=i[t],t++}return e}function J(i){let e="";for(let t=0;t<i.length;t++){let n=i[t],r=n.charCodeAt(0);n==="\\"?e+="\\\\":n===" "?e+="\\t":n===`
3
- `?e+=`$
4
- `:n==="\r"?e+="\\r":n==="\x07"?e+="\\a":n==="\b"?e+="\\b":n==="\f"?e+="\\f":n==="\v"?e+="\\v":r<32||r>=127?e+=`\\${r.toString(8).padStart(3,"0")}`:e+=n}return`${e}$`}function P(i,e,t){let n="",r=0;for(;r<i.length;){if(i[r]==="\\"&&r+1<i.length){let s=i[r+1];if(s==="&"){n+="&",r+=2;continue}if(s==="n"){n+=`
5
- `,r+=2;continue}if(s==="t"){n+=" ",r+=2;continue}let l=parseInt(s,10);if(l>=1&&l<=9){n+=t[l-1]||"",r+=2;continue}n+=s,r+=2;continue}if(i[r]==="&"){n+=e,r++;continue}n+=i[r],r++}return n}function V(i,e){let{lineNumber:t,totalLines:n,patternSpace:r}=e;if(i.type!=="label"&&k(i.address,t,n,r,e.rangeStates))switch(i.type){case"substitute":{let s=i,l="";s.global&&(l+="g"),s.ignoreCase&&(l+="i");let h=s.extendedRegex?s.pattern:K(s.pattern);try{let p=new RegExp(h,l),f=p.test(e.patternSpace);if(p.lastIndex=0,f){if(e.substitutionMade=!0,s.nthOccurrence&&s.nthOccurrence>0&&!s.global){let o=0,a=s.nthOccurrence;e.patternSpace=e.patternSpace.replace(new RegExp(h,`g${s.ignoreCase?"i":""}`),(u,...m)=>{if(o++,o===a){let v=m.slice(0,-2);return P(s.replacement,u,v)}return u})}else e.patternSpace=e.patternSpace.replace(p,(o,...a)=>{let u=a.slice(0,-2);return P(s.replacement,o,u)});s.printOnMatch&&(e.printed=!0)}}catch{}break}case"print":e.printed=!0;break;case"printFirstLine":{let s=e.patternSpace.indexOf(`
6
- `);s!==-1?e.lineNumberOutput.push(e.patternSpace.slice(0,s)):e.lineNumberOutput.push(e.patternSpace);break}case"delete":e.deleted=!0;break;case"deleteFirstLine":{let s=e.patternSpace.indexOf(`
7
- `);s!==-1?(e.patternSpace=e.patternSpace.slice(s+1),e.restartCycle=!0):e.deleted=!0;break}case"zap":e.patternSpace="";break;case"append":e.appendBuffer.push(i.text);break;case"insert":e.appendBuffer.unshift(`__INSERT__${i.text}`);break;case"change":e.patternSpace=i.text,e.deleted=!0,e.appendBuffer.push(i.text);break;case"hold":e.holdSpace=e.patternSpace;break;case"holdAppend":e.holdSpace?e.holdSpace+=`
8
- ${e.patternSpace}`:e.holdSpace=e.patternSpace;break;case"get":e.patternSpace=e.holdSpace;break;case"getAppend":e.patternSpace+=`
9
- ${e.holdSpace}`;break;case"exchange":{let s=e.patternSpace;e.patternSpace=e.holdSpace,e.holdSpace=s;break}case"next":e.printed=!0;break;case"quit":e.quit=!0,i.exitCode!==void 0&&(e.exitCode=i.exitCode);break;case"quitSilent":e.quit=!0,e.quitSilent=!0,i.exitCode!==void 0&&(e.exitCode=i.exitCode);break;case"list":{let s=J(e.patternSpace);e.lineNumberOutput.push(s);break}case"printFilename":e.currentFilename&&e.lineNumberOutput.push(e.currentFilename);break;case"version":break;case"readFile":e.pendingFileReads.push({filename:i.filename,wholeFile:!0});break;case"readFileLine":e.pendingFileReads.push({filename:i.filename,wholeFile:!1});break;case"writeFile":e.pendingFileWrites.push({filename:i.filename,content:`${e.patternSpace}
10
- `});break;case"writeFirstLine":{let s=e.patternSpace.indexOf(`
11
- `),l=s!==-1?e.patternSpace.slice(0,s):e.patternSpace;e.pendingFileWrites.push({filename:i.filename,content:`${l}
12
- `});break}case"execute":i.command?e.pendingExecute={command:i.command,replacePattern:!1}:e.pendingExecute={command:e.patternSpace,replacePattern:!0};break;case"transliterate":e.patternSpace=Y(e.patternSpace,i);break;case"lineNumber":e.lineNumberOutput.push(String(e.lineNumber));break;case"branch":break;case"branchOnSubst":break;case"branchOnNoSubst":break;case"group":break}}function Y(i,e){let t="";for(let n of i){let r=e.source.indexOf(n);r!==-1?t+=e.dest[r]:t+=n}return t}function A(i,e,t,n){let r=new Map;for(let f=0;f<i.length;f++){let o=i[f];o.type==="label"&&r.set(o.name,f)}let s=n?.maxIterations??G,l=0,h=0,p=0;for(;p<i.length;){if(l++,l>s)throw new g(`sed: command execution exceeded maximum iterations (${s})`,"iterations");if(e.deleted||e.quit||e.quitSilent||e.restartCycle)break;let f=i[p];if(f.type==="nextAppend"){if(k(f.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates))if(t&&t.currentLineIndex+h+1<t.lines.length){h++;let o=t.lines[t.currentLineIndex+h];e.patternSpace+=`
13
- ${o}`,e.lineNumber=t.currentLineIndex+h+1}else{e.quit=!0,e.deleted=!0;break}p++;continue}if(f.type==="branch"){let o=f;if(k(o.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates)){if(o.label){let a=r.get(o.label);if(a!==void 0){p=a;continue}}break}p++;continue}if(f.type==="branchOnSubst"){let o=f;if(k(o.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates)&&e.substitutionMade){if(e.substitutionMade=!1,o.label){let a=r.get(o.label);if(a!==void 0){p=a;continue}}break}p++;continue}if(f.type==="branchOnNoSubst"){let o=f;if(k(o.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates)&&!e.substitutionMade){if(o.label){let a=r.get(o.label);if(a!==void 0){p=a;continue}}break}p++;continue}if(f.type==="group"){let o=f;k(o.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates)&&A(o.commands,e,t,n),p++;continue}V(f,e),p++}return h}var c;(function(i){i.NUMBER="NUMBER",i.DOLLAR="DOLLAR",i.PATTERN="PATTERN",i.STEP="STEP",i.LBRACE="LBRACE",i.RBRACE="RBRACE",i.SEMICOLON="SEMICOLON",i.NEWLINE="NEWLINE",i.COMMA="COMMA",i.COMMAND="COMMAND",i.SUBSTITUTE="SUBSTITUTE",i.TRANSLITERATE="TRANSLITERATE",i.LABEL_DEF="LABEL_DEF",i.BRANCH="BRANCH",i.BRANCH_ON_SUBST="BRANCH_ON_SUBST",i.BRANCH_ON_NO_SUBST="BRANCH_ON_NO_SUBST",i.TEXT_CMD="TEXT_CMD",i.FILE_READ="FILE_READ",i.FILE_READ_LINE="FILE_READ_LINE",i.FILE_WRITE="FILE_WRITE",i.FILE_WRITE_LINE="FILE_WRITE_LINE",i.EXECUTE="EXECUTE",i.EOF="EOF",i.ERROR="ERROR"})(c||(c={}));var I=class{input;pos=0;line=1;column=1;constructor(e){this.input=e}tokenize(){let e=[];for(;this.pos<this.input.length;){let t=this.nextToken();t&&e.push(t)}return e.push(this.makeToken(c.EOF,"")),e}makeToken(e,t,n){return{type:e,value:t,line:this.line,column:this.column,...n}}peek(e=0){return this.input[this.pos+e]||""}advance(){let e=this.input[this.pos++]||"";return e===`
14
- `?(this.line++,this.column=1):this.column++,e}skipWhitespace(){for(;this.pos<this.input.length;){let e=this.peek();if(e===" "||e===" "||e==="\r")this.advance();else if(e==="#")for(;this.pos<this.input.length&&this.peek()!==`
15
- `;)this.advance();else break}}nextToken(){if(this.skipWhitespace(),this.pos>=this.input.length)return null;let e=this.line,t=this.column,n=this.peek();return n===`
16
- `?(this.advance(),{type:c.NEWLINE,value:`
17
- `,line:e,column:t}):n===";"?(this.advance(),{type:c.SEMICOLON,value:";",line:e,column:t}):n==="{"?(this.advance(),{type:c.LBRACE,value:"{",line:e,column:t}):n==="}"?(this.advance(),{type:c.RBRACE,value:"}",line:e,column:t}):n===","?(this.advance(),{type:c.COMMA,value:",",line:e,column:t}):n==="$"?(this.advance(),{type:c.DOLLAR,value:"$",line:e,column:t}):this.isDigit(n)?this.readNumber():n==="/"?this.readPattern():n===":"?this.readLabelDef():this.readCommand()}readNumber(){let e=this.line,t=this.column,n="";for(;this.isDigit(this.peek());)n+=this.advance();if(this.peek()==="~"){this.advance();let r="";for(;this.isDigit(this.peek());)r+=this.advance();let s=parseInt(n,10),l=parseInt(r,10)||0;return{type:c.STEP,value:`${s}~${l}`,first:s,step:l,line:e,column:t}}return{type:c.NUMBER,value:parseInt(n,10),line:e,column:t}}readPattern(){let e=this.line,t=this.column;this.advance();let n="";for(;this.pos<this.input.length&&this.peek()!=="/";)if(this.peek()==="\\")n+=this.advance(),this.pos<this.input.length&&(n+=this.advance());else{if(this.peek()===`
18
- `)break;n+=this.advance()}return this.peek()==="/"&&this.advance(),{type:c.PATTERN,value:n,pattern:n,line:e,column:t}}readLabelDef(){let e=this.line,t=this.column;this.advance();let n="";for(;this.pos<this.input.length;){let r=this.peek();if(r===" "||r===" "||r===`
19
- `||r===";"||r==="}"||r==="{")break;n+=this.advance()}return{type:c.LABEL_DEF,value:n,label:n,line:e,column:t}}readCommand(){let e=this.line,t=this.column,n=this.advance();switch(n){case"s":return this.readSubstitute(e,t);case"y":return this.readTransliterate(e,t);case"a":case"i":case"c":return this.readTextCommand(n,e,t);case"b":return this.readBranch(c.BRANCH,"b",e,t);case"t":return this.readBranch(c.BRANCH_ON_SUBST,"t",e,t);case"T":return this.readBranch(c.BRANCH_ON_NO_SUBST,"T",e,t);case"r":return this.readFileCommand(c.FILE_READ,"r",e,t);case"R":return this.readFileCommand(c.FILE_READ_LINE,"R",e,t);case"w":return this.readFileCommand(c.FILE_WRITE,"w",e,t);case"W":return this.readFileCommand(c.FILE_WRITE_LINE,"W",e,t);case"e":return this.readExecute(e,t);case"p":case"P":case"d":case"D":case"h":case"H":case"g":case"G":case"x":case"n":case"N":case"q":case"Q":case"z":case"=":case"l":case"F":case"v":return{type:c.COMMAND,value:n,line:e,column:t};default:return{type:c.ERROR,value:n,line:e,column:t}}}readSubstitute(e,t){let n=this.advance();if(!n||n===`
20
- `)return{type:c.ERROR,value:"s",line:e,column:t};let r="";for(;this.pos<this.input.length&&this.peek()!==n;)if(this.peek()==="\\")r+=this.advance(),this.pos<this.input.length&&this.peek()!==`
21
- `&&(r+=this.advance());else{if(this.peek()===`
22
- `)break;r+=this.advance()}if(this.peek()!==n)return{type:c.ERROR,value:"unterminated substitution pattern",line:e,column:t};this.advance();let s="";for(;this.pos<this.input.length&&this.peek()!==n;)if(this.peek()==="\\")s+=this.advance(),this.pos<this.input.length&&this.peek()!==`
23
- `&&(s+=this.advance());else{if(this.peek()===`
24
- `)break;s+=this.advance()}this.peek()===n&&this.advance();let l="";for(;this.pos<this.input.length;){let h=this.peek();if(h==="g"||h==="i"||h==="p"||h==="I"||this.isDigit(h))l+=this.advance();else break}return{type:c.SUBSTITUTE,value:`s${n}${r}${n}${s}${n}${l}`,pattern:r,replacement:s,flags:l,line:e,column:t}}readTransliterate(e,t){let n=this.advance();if(!n||n===`
25
- `)return{type:c.ERROR,value:"y",line:e,column:t};let r="";for(;this.pos<this.input.length&&this.peek()!==n;)if(this.peek()==="\\"){this.advance();let l=this.advance();l==="n"?r+=`
26
- `:l==="t"?r+=" ":r+=l}else{if(this.peek()===`
27
- `)break;r+=this.advance()}if(this.peek()!==n)return{type:c.ERROR,value:"unterminated transliteration source",line:e,column:t};this.advance();let s="";for(;this.pos<this.input.length&&this.peek()!==n;)if(this.peek()==="\\"){this.advance();let l=this.advance();l==="n"?s+=`
28
- `:l==="t"?s+=" ":s+=l}else{if(this.peek()===`
29
- `)break;s+=this.advance()}return this.peek()===n&&this.advance(),{type:c.TRANSLITERATE,value:`y${n}${r}${n}${s}${n}`,source:r,dest:s,line:e,column:t}}readTextCommand(e,t,n){this.peek()==="\\"&&this.advance(),this.peek()===" "&&this.advance();let r="";for(;this.pos<this.input.length&&this.peek()!==`
30
- `;)r+=this.advance();return{type:c.TEXT_CMD,value:e,text:r.trim(),line:t,column:n}}readBranch(e,t,n,r){for(;this.peek()===" "||this.peek()===" ";)this.advance();let s="";for(;this.pos<this.input.length;){let l=this.peek();if(l===" "||l===" "||l===`
31
- `||l===";"||l==="}"||l==="{")break;s+=this.advance()}return{type:e,value:t,label:s||void 0,line:n,column:r}}readFileCommand(e,t,n,r){for(;this.peek()===" "||this.peek()===" ";)this.advance();let s="";for(;this.pos<this.input.length;){let l=this.peek();if(l===`
32
- `||l===";")break;s+=this.advance()}return{type:e,value:t,filename:s.trim(),line:n,column:r}}readExecute(e,t){for(;this.peek()===" "||this.peek()===" ";)this.advance();let n="";for(;this.pos<this.input.length;){let r=this.peek();if(r===`
33
- `||r===";")break;n+=this.advance()}return{type:c.EXECUTE,value:"e",command:n.trim()||void 0,line:e,column:t}}isDigit(e){return e>="0"&&e<="9"}};var O=class{scripts;tokens=[];pos=0;extendedRegex=!1;constructor(e,t=!1){this.scripts=e,this.extendedRegex=t}parse(){let e=[];for(let t of this.scripts){let n=new I(t);for(this.tokens=n.tokenize(),this.pos=0;!this.isAtEnd();){if(this.check(c.NEWLINE)||this.check(c.SEMICOLON)){this.advance();continue}let r=this.parseCommand();if(r.error)return{commands:[],error:r.error};r.command&&e.push(r.command)}}return{commands:e}}parseCommand(){let e=this.parseAddressRange();for(;this.check(c.NEWLINE)||this.check(c.SEMICOLON);)this.advance();if(this.isAtEnd())return e&&(e.start!==void 0||e.end!==void 0)?{command:{type:"print",address:e}}:{command:null};let t=this.peek();switch(t.type){case c.COMMAND:return this.parseSimpleCommand(t,e);case c.SUBSTITUTE:return this.parseSubstituteFromToken(t,e);case c.TRANSLITERATE:return this.parseTransliterateFromToken(t,e);case c.LABEL_DEF:return this.advance(),{command:{type:"label",name:t.label||""}};case c.BRANCH:return this.advance(),{command:{type:"branch",address:e,label:t.label}};case c.BRANCH_ON_SUBST:return this.advance(),{command:{type:"branchOnSubst",address:e,label:t.label}};case c.BRANCH_ON_NO_SUBST:return this.advance(),{command:{type:"branchOnNoSubst",address:e,label:t.label}};case c.TEXT_CMD:return this.advance(),this.parseTextCommand(t,e);case c.FILE_READ:return this.advance(),{command:{type:"readFile",address:e,filename:t.filename||""}};case c.FILE_READ_LINE:return this.advance(),{command:{type:"readFileLine",address:e,filename:t.filename||""}};case c.FILE_WRITE:return this.advance(),{command:{type:"writeFile",address:e,filename:t.filename||""}};case c.FILE_WRITE_LINE:return this.advance(),{command:{type:"writeFirstLine",address:e,filename:t.filename||""}};case c.EXECUTE:return this.advance(),{command:{type:"execute",address:e,command:t.command}};case c.LBRACE:return this.parseGroup(e);case c.RBRACE:return{command:null};case c.ERROR:return{command:null,error:`invalid command: ${t.value}`};default:return e&&(e.start!==void 0||e.end!==void 0)?{command:{type:"print",address:e}}:{command:null}}}parseSimpleCommand(e,t){this.advance();let n=e.value;switch(n){case"p":return{command:{type:"print",address:t}};case"P":return{command:{type:"printFirstLine",address:t}};case"d":return{command:{type:"delete",address:t}};case"D":return{command:{type:"deleteFirstLine",address:t}};case"h":return{command:{type:"hold",address:t}};case"H":return{command:{type:"holdAppend",address:t}};case"g":return{command:{type:"get",address:t}};case"G":return{command:{type:"getAppend",address:t}};case"x":return{command:{type:"exchange",address:t}};case"n":return{command:{type:"next",address:t}};case"N":return{command:{type:"nextAppend",address:t}};case"q":return{command:{type:"quit",address:t}};case"Q":return{command:{type:"quitSilent",address:t}};case"z":return{command:{type:"zap",address:t}};case"=":return{command:{type:"lineNumber",address:t}};case"l":return{command:{type:"list",address:t}};case"F":return{command:{type:"printFilename",address:t}};case"v":return{command:{type:"version",address:t}};default:return{command:null,error:`unknown command: ${n}`}}}parseSubstituteFromToken(e,t){this.advance();let n=e.flags||"",r,s=n.match(/(\d+)/);return s&&(r=parseInt(s[1],10)),{command:{type:"substitute",address:t,pattern:e.pattern||"",replacement:e.replacement||"",global:n.includes("g"),ignoreCase:n.includes("i")||n.includes("I"),printOnMatch:n.includes("p"),nthOccurrence:r,extendedRegex:this.extendedRegex}}}parseTransliterateFromToken(e,t){this.advance();let n=e.source||"",r=e.dest||"";return n.length!==r.length?{command:null,error:"transliteration sets must have same length"}:{command:{type:"transliterate",address:t,source:n,dest:r}}}parseTextCommand(e,t){let n=e.value,r=e.text||"";switch(n){case"a":return{command:{type:"append",address:t,text:r}};case"i":return{command:{type:"insert",address:t,text:r}};case"c":return{command:{type:"change",address:t,text:r}};default:return{command:null,error:`unknown text command: ${n}`}}}parseGroup(e){this.advance();let t=[];for(;!this.isAtEnd()&&!this.check(c.RBRACE);){if(this.check(c.NEWLINE)||this.check(c.SEMICOLON)){this.advance();continue}let n=this.parseCommand();if(n.error)return{command:null,error:n.error};n.command&&t.push(n.command)}return this.check(c.RBRACE)?(this.advance(),{command:{type:"group",address:e,commands:t}}):{command:null,error:"unmatched brace in grouped commands"}}parseAddressRange(){let e=this.parseAddress();if(e===void 0)return;let t;return this.check(c.COMMA)&&(this.advance(),t=this.parseAddress()),{start:e,end:t}}parseAddress(){let e=this.peek();switch(e.type){case c.NUMBER:return this.advance(),e.value;case c.DOLLAR:return this.advance(),"$";case c.PATTERN:return this.advance(),{pattern:e.pattern||e.value};case c.STEP:return this.advance(),{first:e.first||0,step:e.step||0};default:return}}peek(){return this.tokens[this.pos]||{type:c.EOF,value:"",line:0,column:0}}advance(){return this.isAtEnd()||this.pos++,this.tokens[this.pos-1]}check(e){return this.peek().type===e}isAtEnd(){return this.peek().type===c.EOF}};function q(i,e=!1){return new O(i,e).parse()}var Z={name:"sed",summary:"stream editor for filtering and transforming text",usage:"sed [OPTION]... {script} [input-file]...",options:["-n, --quiet, --silent suppress automatic printing of pattern space","-e script add the script to commands to be executed","-f script-file read script from file","-i, --in-place edit files in place","-E, -r, --regexp-extended use extended regular expressions"," --help display this help and exit"],description:`Commands:
34
- s/regexp/replacement/[flags] substitute
35
- d delete pattern space
36
- p print pattern space
37
- a\\ text append text after line
38
- i\\ text insert text before line
39
- c\\ text change (replace) line with text
40
- h copy pattern space to hold space
41
- H append pattern space to hold space
42
- g copy hold space to pattern space
43
- G append hold space to pattern space
44
- x exchange pattern and hold spaces
45
- n read next line into pattern space
46
- N append next line to pattern space
47
- y/source/dest/ transliterate characters
48
- = print line number
49
- l list pattern space (escape special chars)
50
- b [label] branch to label
51
- t [label] branch on substitution
52
- T [label] branch if no substitution
53
- :label define label
54
- q quit
55
- Q quit without printing
56
-
57
- Addresses:
58
- N line number
59
- $ last line
60
- /regexp/ lines matching regexp
61
- N,M range from line N to M
62
- first~step every step-th line starting at first`};async function F(i,e,t,n={}){let{limits:r,filename:s,fs:l,cwd:h}=n,p=i.split(`
63
- `);p.length>0&&p[p.length-1]===""&&p.pop();let f=p.length,o="",a,u="",m=new Map,v=new Map,x=new Map,L=new Map,H=r?{maxIterations:r.maxSedIterations}:void 0;for(let C=0;C<p.length;C++){let d={...U(f,s,m),patternSpace:p[C],holdSpace:u,lineNumber:C+1,totalLines:f,substitutionMade:!1},_={lines:p,currentLineIndex:C},$=0,X=1e4,B=0;do{if($++,$>X)break;d.restartCycle=!1,d.pendingFileReads=[],d.pendingFileWrites=[];let E=A(e,d,_,H);if(B+=E,l&&h){for(let S of d.pendingFileReads){let b=l.resolvePath(h,S.filename);try{if(S.wholeFile){let R=await l.readFile(b);d.appendBuffer.push(R.replace(/\n$/,""))}else{if(!v.has(b)){let z=await l.readFile(b);v.set(b,z.split(`
64
- `)),x.set(b,0)}let R=v.get(b),w=x.get(b);R&&w!==void 0&&w<R.length&&(d.appendBuffer.push(R[w]),x.set(b,w+1))}}catch{}}for(let S of d.pendingFileWrites){let b=l.resolvePath(h,S.filename),R=L.get(b)||"";L.set(b,R+S.content)}}_.currentLineIndex+=E}while(d.restartCycle&&!d.deleted&&!d.quit&&!d.quitSilent);C+=B,u=d.holdSpace;for(let E of d.lineNumberOutput)o+=`${E}
65
- `;let M=[],T=[];for(let E of d.appendBuffer)E.startsWith("__INSERT__")?M.push(E.slice(10)):T.push(E);for(let E of M)o+=`${E}
66
- `;!d.deleted&&!d.quitSilent&&(t?d.printed&&(o+=`${d.patternSpace}
67
- `):o+=`${d.patternSpace}
68
- `);for(let E of T)o+=`${E}
69
- `;if(d.quit||d.quitSilent){d.exitCode!==void 0&&(a=d.exitCode);break}}if(l&&h)for(let[C,d]of L)try{await l.writeFile(C,d)}catch{}return{output:o,exitCode:a}}var oe={name:"sed",async execute(i,e){if(W(i))return D(Z);let t=[],n=[],r=!1,s=!1,l=!1,h=[];for(let a=0;a<i.length;a++){let u=i[a];if(u==="-n"||u==="--quiet"||u==="--silent")r=!0;else if(u==="-i"||u==="--in-place")s=!0;else if(u.startsWith("-i"))s=!0;else if(u==="-E"||u==="-r"||u==="--regexp-extended")l=!0;else if(u==="-e")a+1<i.length&&t.push(i[++a]);else if(u==="-f")a+1<i.length&&n.push(i[++a]);else{if(u.startsWith("--"))return y("sed",u);if(u.startsWith("-")&&u.length>1){for(let m of u.slice(1))if(m!=="n"&&m!=="e"&&m!=="f"&&m!=="i"&&m!=="E"&&m!=="r")return y("sed",`-${m}`);u.includes("n")&&(r=!0),u.includes("i")&&(s=!0),(u.includes("E")||u.includes("r"))&&(l=!0),u.includes("e")&&!u.includes("n")&&!u.includes("i")&&a+1<i.length&&t.push(i[++a]),u.includes("f")&&!u.includes("e")&&a+1<i.length&&n.push(i[++a])}else!u.startsWith("-")&&t.length===0&&n.length===0?t.push(u):u.startsWith("-")||h.push(u)}}for(let a of n){let u=e.fs.resolvePath(e.cwd,a);try{let m=await e.fs.readFile(u);for(let v of m.split(`
70
- `)){let x=v.trim();x&&!x.startsWith("#")&&t.push(x)}}catch{return{stdout:"",stderr:`sed: couldn't open file ${a}: No such file or directory
71
- `,exitCode:1}}}if(t.length===0)return{stdout:"",stderr:`sed: no script specified
72
- `,exitCode:1};let{commands:p,error:f}=q(t,l);if(f)return{stdout:"",stderr:`sed: ${f}
73
- `,exitCode:1};if(p.length===0)return{stdout:"",stderr:`sed: no valid commands
74
- `,exitCode:1};let o="";if(h.length===0){o=e.stdin;try{let a=await F(o,p,r,{limits:e.limits,fs:e.fs,cwd:e.cwd});return{stdout:a.output,stderr:"",exitCode:a.exitCode??0}}catch(a){if(a instanceof g)return{stdout:"",stderr:`sed: ${a.message}
75
- `,exitCode:g.EXIT_CODE};throw a}}if(s){for(let a of h){let u=e.fs.resolvePath(e.cwd,a);try{let m=await e.fs.readFile(u),v=await F(m,p,r,{limits:e.limits,filename:a,fs:e.fs,cwd:e.cwd});await e.fs.writeFile(u,v.output)}catch(m){return m instanceof g?{stdout:"",stderr:`sed: ${m.message}
76
- `,exitCode:g.EXIT_CODE}:{stdout:"",stderr:`sed: ${a}: No such file or directory
77
- `,exitCode:1}}}return{stdout:"",stderr:"",exitCode:0}}for(let a of h){let u=e.fs.resolvePath(e.cwd,a);try{o+=await e.fs.readFile(u)}catch(m){return m instanceof g?{stdout:"",stderr:`sed: ${m.message}
78
- `,exitCode:g.EXIT_CODE}:{stdout:"",stderr:`sed: ${a}: No such file or directory
79
- `,exitCode:1}}}try{let a=await F(o,p,r,{limits:e.limits,filename:h.length===1?h[0]:void 0,fs:e.fs,cwd:e.cwd});return{stdout:a.output,stderr:"",exitCode:a.exitCode??0}}catch(a){if(a instanceof g)return{stdout:"",stderr:`sed: ${a.message}
80
- `,exitCode:g.EXIT_CODE};throw a}}};export{oe as sedCommand};
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env node
2
- import{a as f}from"./chunk-4VDEBYW7.js";import{c as r}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";var l={name:"touch",async execute(u,e){let s=[];for(let t of u){if(t.startsWith("--"))return r("touch",t);if(t.startsWith("-")&&t.length>1)return r("touch",t);s.push(t)}if(s.length===0)return{stdout:"",stderr:`touch: missing file operand
3
- `,exitCode:1};let n="",i=0;for(let t of s)try{let o=e.fs.resolvePath(e.cwd,t);await e.fs.exists(o)||await e.fs.writeFile(o,"")}catch(o){n+=`touch: cannot touch '${t}': ${f(o)}
4
- `,i=1}return{stdout:"",stderr:n,exitCode:i}}};export{l as touchCommand};
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env node
2
- import{a as y}from"./chunk-5WFYIUU2.js";import"./chunk-OBH7XN5N.js";import{a as g}from"./chunk-TA7RUHGQ.js";import{a as w,b as m}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";var C={name:"wc",summary:"print newline, word, and byte counts for each file",usage:"wc [OPTION]... [FILE]...",options:["-c, --bytes print the byte counts","-m, --chars print the character counts","-l, --lines print the newline counts","-w, --words print the word counts"," --help display this help and exit"]},S={lines:{short:"l",long:"lines",type:"boolean"},words:{short:"w",long:"words",type:"boolean"},bytes:{short:"c",long:"bytes",type:"boolean"},chars:{short:"m",long:"chars",type:"boolean"}},L={name:"wc",async execute(n,l){if(m(n))return w(C);let r=g("wc",n,S);if(!r.ok)return r.error;let{lines:s,words:t}=r.result.flags,e=r.result.flags.bytes||r.result.flags.chars,o=r.result.positional;!s&&!t&&!e&&(s=t=e=!0);let i=await y(l,o,{cmdName:"wc",stopOnError:!1});if(o.length===0){let f=b(i.files[0].content);return{stdout:`${h(f,s,t,e,"")}
3
- `,stderr:"",exitCode:0}}let c="",u=0,d=0,p=0;for(let{filename:f,content:x}of i.files){let a=b(x);u+=a.lines,d+=a.words,p+=a.chars,c+=`${h(a,s,t,e,f)}
4
- `}return o.length>1&&(c+=`${h({lines:u,words:d,chars:p},s,t,e,"total")}
5
- `),{stdout:c,stderr:i.stderr,exitCode:i.exitCode}}};function b(n){let l=n.length,r=0,s=0,t=!1;for(let e=0;e<l;e++){let o=n[e];o===`
6
- `?(r++,t&&(s++,t=!1)):o===" "||o===" "||o==="\r"?t&&(s++,t=!1):t=!0}return t&&s++,{lines:r,words:s,chars:l}}function h(n,l,r,s,t){let e=[];l&&e.push(String(n.lines)),r&&e.push(String(n.words)),s&&e.push(String(n.chars));let o=e.join(" ");return t&&(o+=` ${t}`),o}export{L as wcCommand};
@@ -1,6 +0,0 @@
1
- import{a as l,b as r}from"./chunk-74CEPOFO.js";import"./chunk-DXB73IDG.js";var d={name:"alias",summary:"define or display aliases",usage:"alias [name[=value] ...]",options:[" --help display this help and exit"]},o="BASH_ALIAS_",f={name:"alias",async execute(i,n){if(r(i))return l(d);if(i.length===0){let e="";for(let[a,t]of Object.entries(n.env))if(a.startsWith(o)){let s=a.slice(o.length);e+=`alias ${s}='${t}'
2
- `}return{stdout:e,stderr:"",exitCode:0}}for(let e of i){let a=e.indexOf("=");if(a===-1){let t=o+e;return n.env[t]?{stdout:`alias ${e}='${n.env[t]}'
3
- `,stderr:"",exitCode:0}:{stdout:"",stderr:`alias: ${e}: not found
4
- `,exitCode:1}}else{let t=e.slice(0,a),s=e.slice(a+1);(s.startsWith("'")&&s.endsWith("'")||s.startsWith('"')&&s.endsWith('"'))&&(s=s.slice(1,-1)),n.env[o+t]=s}}return{stdout:"",stderr:"",exitCode:0}}},m={name:"unalias",async execute(i,n){if(r(i))return l({name:"unalias",summary:"remove alias definitions",usage:"unalias name [name ...]",options:["-a remove all aliases"," --help display this help and exit"]});if(i.length===0)return{stdout:"",stderr:`unalias: usage: unalias [-a] name [name ...]
5
- `,exitCode:1};if(i[0]==="-a"){for(let t of Object.keys(n.env))t.startsWith(o)&&delete n.env[t];return{stdout:"",stderr:"",exitCode:0}}let e=!1,a="";for(let t of i){let s=o+t;n.env[s]?delete n.env[s]:(a+=`unalias: ${t}: not found
6
- `,e=!0)}return{stdout:"",stderr:a,exitCode:e?1:0}}};export{f as aliasCommand,m as unaliasCommand};
@@ -1,19 +0,0 @@
1
- import{i as g}from"./chunk-CG2HXOFG.js";import{a as K,b as Q,c as U}from"./chunk-74CEPOFO.js";import"./chunk-DXB73IDG.js";function x(e={}){let{fieldSep:t=/\s+/,maxIterations:r=1e4,maxRecursionDepth:n=100,fs:a,cwd:s}=e;return{FS:" ",OFS:" ",ORS:`
2
- `,NR:0,NF:0,FNR:0,FILENAME:"",RSTART:0,RLENGTH:-1,SUBSEP:"",fields:[],line:"",vars:{},arrays:{},ARGC:0,ARGV:{},functions:new Map,fieldSep:t,maxIterations:r,maxRecursionDepth:n,currentRecursionDepth:0,exitCode:0,shouldExit:!1,shouldNext:!1,shouldNextFile:!1,loopBreak:!1,loopContinue:!1,hasReturn:!1,output:"",openedFiles:new Set,fs:a,cwd:s}}function j(e,t,r){switch(r){case"+":return e+t;case"-":return e-t;case"*":return e*t;case"/":return t!==0?e/t:0;case"%":return t!==0?e%t:0;case"^":case"**":return e**t;default:return 0}}function A(e){if(typeof e=="number")return e;let t=parseFloat(e);return Number.isNaN(t)?0:t}function w(e){return typeof e=="string"?e:(Number.isInteger(e),String(e))}async function ce(e,t,r){return e.length===0?t.line.length:w(await r.evalExpr(e[0])).length}async function he(e,t,r){if(e.length<2)return"";let n=w(await r.evalExpr(e[0])),a=Math.floor(A(await r.evalExpr(e[1])))-1;if(e.length>=3){let s=Math.floor(A(await r.evalExpr(e[2])));return n.substr(Math.max(0,a),s)}return n.substr(Math.max(0,a))}async function ue(e,t,r){if(e.length<2)return 0;let n=w(await r.evalExpr(e[0])),a=w(await r.evalExpr(e[1])),s=n.indexOf(a);return s===-1?0:s+1}async function pe(e,t,r){if(e.length<2)return 0;let n=w(await r.evalExpr(e[0])),a=e[1];if(a.type!=="variable")return 0;let s=a.name,o=t.FS;if(e.length>=3){let u=w(await r.evalExpr(e[2]));o=u===" "?/\s+/:u}else t.FS===" "&&(o=/\s+/);let l=n.split(o);t.arrays[s]={};for(let u=0;u<l.length;u++)t.arrays[s][String(u+1)]=l[u];return l.length}async function fe(e,t,r){if(e.length<2)return 0;let n;e[0].type==="regex"?n=e[0].pattern:(n=w(await r.evalExpr(e[0])),n.startsWith("/")&&n.endsWith("/")&&(n=n.slice(1,-1)));let a=w(await r.evalExpr(e[1])),s="$0";if(e.length>=3){let l=e[2];l.type==="variable"?s=l.name:l.type==="field"&&(s=`$${Math.floor(A(await r.evalExpr(l.index)))}`)}let o;if(s==="$0")o=t.line;else if(s.startsWith("$")){let l=parseInt(s.slice(1),10)-1;o=t.fields[l]||""}else o=w(t.vars[s]??"");try{let l=new RegExp(n),u=o.replace(l,z(a)),m=u!==o?1:0;if(s==="$0")t.line=u,t.fields=t.FS===" "?u.trim().split(/\s+/).filter(Boolean):u.split(t.fieldSep),t.NF=t.fields.length;else if(s.startsWith("$")){let N=parseInt(s.slice(1),10)-1;for(;t.fields.length<=N;)t.fields.push("");t.fields[N]=u,t.NF=t.fields.length,t.line=t.fields.join(t.OFS)}else t.vars[s]=u;return m}catch{return 0}}async function de(e,t,r){if(e.length<2)return 0;let n;e[0].type==="regex"?n=e[0].pattern:(n=w(await r.evalExpr(e[0])),n.startsWith("/")&&n.endsWith("/")&&(n=n.slice(1,-1)));let a=w(await r.evalExpr(e[1])),s="$0";if(e.length>=3){let l=e[2];l.type==="variable"?s=l.name:l.type==="field"&&(s=`$${Math.floor(A(await r.evalExpr(l.index)))}`)}let o;if(s==="$0")o=t.line;else if(s.startsWith("$")){let l=parseInt(s.slice(1),10)-1;o=t.fields[l]||""}else o=w(t.vars[s]??"");try{let l=new RegExp(n,"g"),u=o.match(l),m=u?u.length:0,N=o.replace(l,z(a));if(s==="$0")t.line=N,t.fields=t.FS===" "?N.trim().split(/\s+/).filter(Boolean):N.split(t.fieldSep),t.NF=t.fields.length;else if(s.startsWith("$")){let c=parseInt(s.slice(1),10)-1;for(;t.fields.length<=c;)t.fields.push("");t.fields[c]=N,t.NF=t.fields.length,t.line=t.fields.join(t.OFS)}else t.vars[s]=N;return m}catch{return 0}}function z(e){return t=>{let r="",n=0;for(;n<e.length;)if(e[n]==="\\"&&n+1<e.length){let a=e[n+1];a==="&"?(r+="&",n+=2):a==="\\"?(r+="\\",n+=2):(r+=e[n+1],n+=2)}else e[n]==="&"?(r+=t,n++):(r+=e[n],n++);return r}}async function Ee(e,t,r){if(e.length<2)return t.RSTART=0,t.RLENGTH=-1,0;let n=w(await r.evalExpr(e[0])),a;e[1].type==="regex"?a=e[1].pattern:(a=w(await r.evalExpr(e[1])),a.startsWith("/")&&a.endsWith("/")&&(a=a.slice(1,-1)));try{let o=new RegExp(a).exec(n);if(o)return t.RSTART=o.index+1,t.RLENGTH=o[0].length,t.RSTART}catch{}return t.RSTART=0,t.RLENGTH=-1,0}async function Ne(e,t,r){if(e.length<3)return"";let n;e[0].type==="regex"?n=e[0].pattern:(n=w(await r.evalExpr(e[0])),n.startsWith("/")&&n.endsWith("/")&&(n=n.slice(1,-1)));let a=w(await r.evalExpr(e[1])),s=w(await r.evalExpr(e[2])),o=e.length>=4?w(await r.evalExpr(e[3])):t.line;try{let l=s.toLowerCase()==="g",u=l?0:parseInt(s,10)||1;if(l){let m=new RegExp(n,"g");return o.replace(m,(N,...c)=>q(a,N,c.slice(0,-2)))}else{let m=0,N=new RegExp(n,"g");return o.replace(N,(c,...d)=>(m++,m===u?q(a,c,d.slice(0,-2)):c))}}catch{return o}}function q(e,t,r){let n="",a=0;for(;a<e.length;)if(e[a]==="\\"&&a+1<e.length){let s=e[a+1];if(s==="&")n+="&",a+=2;else if(s==="0")n+=t,a+=2;else if(s>="1"&&s<="9"){let o=parseInt(s,10)-1;n+=r[o]||"",a+=2}else s==="n"?(n+=`
3
- `,a+=2):s==="t"?(n+=" ",a+=2):(n+=s,a+=2)}else e[a]==="&"?(n+=t,a++):(n+=e[a],a++);return n}async function ye(e,t,r){return e.length===0?"":w(await r.evalExpr(e[0])).toLowerCase()}async function me(e,t,r){return e.length===0?"":w(await r.evalExpr(e[0])).toUpperCase()}async function we(e,t,r){if(e.length===0)return"";let n=w(await r.evalExpr(e[0])),a=[];for(let s=1;s<e.length;s++)a.push(await r.evalExpr(e[s]));return W(n,a)}async function Re(e,t,r){return e.length===0?0:Math.floor(A(await r.evalExpr(e[0])))}async function Se(e,t,r){return e.length===0?0:Math.sqrt(A(await r.evalExpr(e[0])))}async function Ae(e,t,r){return e.length===0?0:Math.sin(A(await r.evalExpr(e[0])))}async function ge(e,t,r){return e.length===0?0:Math.cos(A(await r.evalExpr(e[0])))}async function ve(e,t,r){let n=e.length>0?A(await r.evalExpr(e[0])):0,a=e.length>1?A(await r.evalExpr(e[1])):0;return Math.atan2(n,a)}async function ke(e,t,r){return e.length===0?0:Math.log(A(await r.evalExpr(e[0])))}async function Ie(e,t,r){return e.length===0?1:Math.exp(A(await r.evalExpr(e[0])))}function Ce(e,t,r){return t.random?t.random():Math.random()}async function be(e,t,r){let n=e.length>0?A(await r.evalExpr(e[0])):Date.now();return t.vars._srand_seed=n,n}function H(e,t){return()=>{throw new Error(`${e}() is not supported - ${t}`)}}function $(e){return()=>{throw new Error(`function '${e}()' is not implemented`)}}function W(e,t){let r=0,n="",a=0;for(;a<e.length;)if(e[a]==="%"&&a+1<e.length){let s=a+1,o="",l="",u="";for(;s<e.length&&/[-+ #0]/.test(e[s]);)o+=e[s++];for(;s<e.length&&/\d/.test(e[s]);)l+=e[s++];if(e[s]===".")for(s++;s<e.length&&/\d/.test(e[s]);)u+=e[s++];let m=e[s],N=t[r];switch(m){case"s":{let c=N!==void 0?String(N):"";if(u&&(c=c.substring(0,parseInt(u,10))),l){let d=parseInt(l,10);o.includes("-")?c=c.padEnd(d):c=c.padStart(d)}n+=c,r++;break}case"d":case"i":{let c=N!==void 0?Math.floor(Number(N)):0;Number.isNaN(c)&&(c=0);let d=String(c);if(l){let h=parseInt(l,10);if(o.includes("-"))d=d.padEnd(h);else if(o.includes("0")&&!o.includes("-")){let f=c<0?"-":"";d=f+Math.abs(c).toString().padStart(h-f.length,"0")}else d=d.padStart(h)}n+=d,r++;break}case"f":{let c=N!==void 0?Number(N):0;Number.isNaN(c)&&(c=0);let d=u?parseInt(u,10):6,h=c.toFixed(d);if(l){let f=parseInt(l,10);o.includes("-")?h=h.padEnd(f):h=h.padStart(f)}n+=h,r++;break}case"e":case"E":{let c=N!==void 0?Number(N):0;Number.isNaN(c)&&(c=0);let d=u?parseInt(u,10):6,h=c.toExponential(d);if(m==="E"&&(h=h.toUpperCase()),l){let f=parseInt(l,10);o.includes("-")?h=h.padEnd(f):h=h.padStart(f)}n+=h,r++;break}case"g":case"G":{let c=N!==void 0?Number(N):0;Number.isNaN(c)&&(c=0);let d=u?parseInt(u,10):6,h=c!==0?Math.floor(Math.log10(Math.abs(c))):0,f;if(c===0?f="0":h<-4||h>=d?(f=c.toExponential(d-1),m==="G"&&(f=f.toUpperCase())):f=c.toPrecision(d),f=f.replace(/\.?0+$/,"").replace(/\.?0+e/,"e"),l){let R=parseInt(l,10);o.includes("-")?f=f.padEnd(R):f=f.padStart(R)}n+=f,r++;break}case"x":case"X":{let c=N!==void 0?Math.floor(Number(N)):0;Number.isNaN(c)&&(c=0);let d=Math.abs(c).toString(16);if(m==="X"&&(d=d.toUpperCase()),l){let h=parseInt(l,10);o.includes("0")?d=d.padStart(h,"0"):o.includes("-")?d=d.padEnd(h):d=d.padStart(h)}n+=c<0?`-${d}`:d,r++;break}case"o":{let c=N!==void 0?Math.floor(Number(N)):0;Number.isNaN(c)&&(c=0);let d=Math.abs(c).toString(8);if(l){let h=parseInt(l,10);o.includes("0")?d=d.padStart(h,"0"):o.includes("-")?d=d.padEnd(h):d=d.padStart(h)}n+=c<0?`-${d}`:d,r++;break}case"c":{typeof N=="number"?n+=String.fromCharCode(N):n+=String(N??"").charAt(0)||"",r++;break}case"%":n+="%";break;default:n+=e.substring(a,s+1)}a=s+1}else if(e[a]==="\\"&&a+1<e.length){let s=e[a+1];switch(s){case"n":n+=`
4
- `;break;case"t":n+=" ";break;case"r":n+="\r";break;case"\\":n+="\\";break;default:n+=s}a+=2}else n+=e[a++];return n}var Z={length:ce,substr:he,index:ue,split:pe,sub:fe,gsub:de,match:Ee,gensub:Ne,tolower:ye,toupper:me,sprintf:we,int:Re,sqrt:Se,sin:Ae,cos:ge,atan2:ve,log:ke,exp:Ie,rand:Ce,srand:be,system:H("system","shell execution not allowed in sandboxed environment"),close:H("close","file operations not allowed"),fflush:H("fflush","file operations not allowed"),systime:$("systime"),mktime:$("mktime"),strftime:$("strftime")};function S(e){return typeof e=="number"?e!==0:e!==""}function E(e){if(typeof e=="number")return e;let t=parseFloat(e);return Number.isNaN(t)?0:t}function y(e){return typeof e=="string"?e:(Number.isInteger(e),String(e))}function X(e){if(typeof e=="number")return!0;let t=String(e).trim();return t===""?!1:!Number.isNaN(Number(t))}function F(e,t){try{return new RegExp(e).test(t)}catch{return!1}}function J(e,t){return e.FS===" "?t.trim().split(/\s+/).filter(Boolean):t.split(e.fieldSep)}function I(e,t){return t===0?e.line:t<0||t>e.fields.length?"":e.fields[t-1]??""}function O(e,t,r){if(t===0)e.line=y(r),e.fields=J(e,e.line),e.NF=e.fields.length;else if(t>0){for(;e.fields.length<t;)e.fields.push("");e.fields[t-1]=y(r),e.NF=e.fields.length,e.line=e.fields.join(e.OFS)}}function T(e,t){e.line=t,e.fields=J(e,t),e.NF=e.fields.length}function Y(e,t){if(e.FS=t,t===" ")e.fieldSep=/\s+/;else try{e.fieldSep=new RegExp(t)}catch{e.fieldSep=new RegExp(t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"))}}function C(e,t){switch(t){case"FS":return e.FS;case"OFS":return e.OFS;case"ORS":return e.ORS;case"NR":return e.NR;case"NF":return e.NF;case"FNR":return e.FNR;case"FILENAME":return e.FILENAME;case"RSTART":return e.RSTART;case"RLENGTH":return e.RLENGTH;case"SUBSEP":return e.SUBSEP;case"ARGC":return e.ARGC}return e.vars[t]??""}function v(e,t,r){switch(t){case"FS":Y(e,y(r));return;case"OFS":e.OFS=y(r);return;case"ORS":e.ORS=y(r);return;case"NR":e.NR=Math.floor(E(r));return;case"NF":{let n=Math.floor(E(r));if(n<e.NF)e.fields=e.fields.slice(0,n),e.line=e.fields.join(e.OFS);else if(n>e.NF){for(;e.fields.length<n;)e.fields.push("");e.line=e.fields.join(e.OFS)}e.NF=n;return}case"FNR":e.FNR=Math.floor(E(r));return;case"FILENAME":e.FILENAME=y(r);return;case"RSTART":e.RSTART=Math.floor(E(r));return;case"RLENGTH":e.RLENGTH=Math.floor(E(r));return;case"SUBSEP":e.SUBSEP=y(r);return}e.vars[t]=r}function b(e,t,r){return t==="ARGV"?e.ARGV[r]??"":e.arrays[t]?.[r]??""}function P(e,t,r,n){e.arrays[t]||(e.arrays[t]={}),e.arrays[t][r]=n}function ee(e,t,r){return t==="ARGV"?e.ARGV[r]!==void 0:e.arrays[t]?.[r]!==void 0}function te(e,t,r){e.arrays[t]&&delete e.arrays[t][r]}function re(e,t){delete e.arrays[t]}var V=null;function ie(e){V=e}async function p(e,t){switch(t.type){case"number":return t.value;case"string":return t.value;case"regex":return F(t.pattern,e.line)?1:0;case"field":return Le(e,t);case"variable":return C(e,t.name);case"array_access":return Oe(e,t);case"binary":return Pe(e,t);case"unary":return Te(e,t);case"ternary":return S(await p(e,t.condition))?p(e,t.consequent):p(e,t.alternate);case"call":return _e(e,t.name,t.args);case"assignment":return De(e,t);case"pre_increment":return Be(e,t.operand);case"pre_decrement":return Ue(e,t.operand);case"post_increment":return xe(e,t.operand);case"post_decrement":return He(e,t.operand);case"in":return $e(e,t.key,t.array);case"getline":return We(e,t.variable,t.file);case"tuple":return Ve(e,t.elements);default:return""}}async function Le(e,t){let r=Math.floor(E(await p(e,t.index)));return I(e,r)}async function Oe(e,t){let r=y(await p(e,t.key));return b(e,t.array,r)}async function Pe(e,t){let r=t.operator;if(r==="||")return S(await p(e,t.left))||S(await p(e,t.right))?1:0;if(r==="&&")return S(await p(e,t.left))&&S(await p(e,t.right))?1:0;if(r==="~"){let l=await p(e,t.left),u=t.right.type==="regex"?t.right.pattern:y(await p(e,t.right));try{return new RegExp(u).test(y(l))?1:0}catch{return 0}}if(r==="!~"){let l=await p(e,t.left),u=t.right.type==="regex"?t.right.pattern:y(await p(e,t.right));try{return new RegExp(u).test(y(l))?0:1}catch{return 1}}let n=await p(e,t.left),a=await p(e,t.right);if(r===" ")return y(n)+y(a);if(Me(r))return Fe(n,a,r);let s=E(n),o=E(a);return j(s,o,r)}function Me(e){return["<","<=",">",">=","==","!="].includes(e)}function Fe(e,t,r){let n=X(e),a=X(t);if(n&&a){let l=E(e),u=E(t);switch(r){case"<":return l<u?1:0;case"<=":return l<=u?1:0;case">":return l>u?1:0;case">=":return l>=u?1:0;case"==":return l===u?1:0;case"!=":return l!==u?1:0}}let s=y(e),o=y(t);switch(r){case"<":return s<o?1:0;case"<=":return s<=o?1:0;case">":return s>o?1:0;case">=":return s>=o?1:0;case"==":return s===o?1:0;case"!=":return s!==o?1:0}return 0}async function Te(e,t){let r=await p(e,t.operand);switch(t.operator){case"!":return S(r)?0:1;case"-":return-E(r);case"+":return+E(r);default:return r}}async function _e(e,t,r){let n=Z[t];if(n)return n(r,e,{evalExpr:s=>p(e,s)});let a=e.functions.get(t);return a?Ge(e,a,r):""}async function Ge(e,t,r){if(e.currentRecursionDepth++,e.currentRecursionDepth>e.maxRecursionDepth)throw e.currentRecursionDepth--,new g(`awk: recursion depth exceeded maximum (${e.maxRecursionDepth})`,"recursion",e.output);let n={};for(let s of t.params)n[s]=e.vars[s];for(let s=0;s<t.params.length;s++){let o=t.params[s],l=s<r.length?await p(e,r[s]):"";e.vars[o]=l}e.hasReturn=!1,e.returnValue=void 0,V&&await V(e,t.body.statements);let a=e.returnValue??"";for(let s of t.params)n[s]!==void 0?e.vars[s]=n[s]:delete e.vars[s];return e.hasReturn=!1,e.returnValue=void 0,e.currentRecursionDepth--,a}async function De(e,t){let r=await p(e,t.value),n=t.target,a=t.operator,s;if(a==="=")s=r;else{let o;if(n.type==="field"){let m=Math.floor(E(await p(e,n.index)));o=I(e,m)}else if(n.type==="variable")o=C(e,n.name);else{let m=y(await p(e,n.key));o=b(e,n.array,m)}let l=E(o),u=E(r);switch(a){case"+=":s=l+u;break;case"-=":s=l-u;break;case"*=":s=l*u;break;case"/=":s=u!==0?l/u:0;break;case"%=":s=u!==0?l%u:0;break;case"^=":s=l**u;break;default:s=r}}if(n.type==="field"){let o=Math.floor(E(await p(e,n.index)));O(e,o,s)}else if(n.type==="variable")v(e,n.name,s);else{let o=y(await p(e,n.key));P(e,n.array,o,s)}return s}async function Be(e,t){let r;if(t.type==="field"){let n=Math.floor(E(await p(e,t.index)));r=E(I(e,n))+1,O(e,n,r)}else if(t.type==="variable")r=E(C(e,t.name))+1,v(e,t.name,r);else{let n=y(await p(e,t.key));r=E(b(e,t.array,n))+1,P(e,t.array,n,r)}return r}async function Ue(e,t){let r;if(t.type==="field"){let n=Math.floor(E(await p(e,t.index)));r=E(I(e,n))-1,O(e,n,r)}else if(t.type==="variable")r=E(C(e,t.name))-1,v(e,t.name,r);else{let n=y(await p(e,t.key));r=E(b(e,t.array,n))-1,P(e,t.array,n,r)}return r}async function xe(e,t){let r;if(t.type==="field"){let n=Math.floor(E(await p(e,t.index)));r=E(I(e,n)),O(e,n,r+1)}else if(t.type==="variable")r=E(C(e,t.name)),v(e,t.name,r+1);else{let n=y(await p(e,t.key));r=E(b(e,t.array,n)),P(e,t.array,n,r+1)}return r}async function He(e,t){let r;if(t.type==="field"){let n=Math.floor(E(await p(e,t.index)));r=E(I(e,n)),O(e,n,r-1)}else if(t.type==="variable")r=E(C(e,t.name)),v(e,t.name,r-1);else{let n=y(await p(e,t.key));r=E(b(e,t.array,n)),P(e,t.array,n,r-1)}return r}async function $e(e,t,r){let n;if(t.type==="tuple"){let a=[];for(let s of t.elements)a.push(y(await p(e,s)));n=a.join(e.SUBSEP)}else n=y(await p(e,t));return ee(e,r,n)?1:0}async function We(e,t,r){if(r)return Xe(e,t,r);if(!e.lines||e.lineIndex===void 0)return-1;let n=e.lineIndex+1;if(n>=e.lines.length)return 0;let a=e.lines[n];return t?v(e,t,a):T(e,a),e.NR++,e.lineIndex=n,1}async function Xe(e,t,r){if(!e.fs||!e.cwd)return-1;let n=y(await p(e,r)),a=e.fs.resolvePath(e.cwd,n),s=`__fc_${a}`,o=`__fi_${a}`,l,u;if(e.vars[s]===void 0)try{l=(await e.fs.readFile(a)).split(`
5
- `),l.length>0&&l[l.length-1]===""&&l.pop(),e.vars[s]=JSON.stringify(l),e.vars[o]=-1,u=-1}catch{return-1}else l=JSON.parse(e.vars[s]),u=e.vars[o];let m=u+1;if(m>=l.length)return 0;let N=l[m];return e.vars[o]=m,t?v(e,t,N):T(e,N),1}async function Ve(e,t){if(t.length===0)return"";for(let r=0;r<t.length-1;r++)await p(e,t[r]);return p(e,t[t.length-1])}ie(M);async function M(e,t){for(let r of t)if(await L(e,r),Ke(e))break}function Ke(e){return e.shouldExit||e.shouldNext||e.shouldNextFile||e.loopBreak||e.loopContinue||e.hasReturn}async function L(e,t){switch(t.type){case"block":await M(e,t.statements);break;case"expr_stmt":await p(e,t.expression);break;case"print":await Qe(e,t.args,t.output);break;case"printf":await je(e,t.format,t.args,t.output);break;case"if":await qe(e,t);break;case"while":await ze(e,t);break;case"do_while":await Ze(e,t);break;case"for":await Je(e,t);break;case"for_in":await Ye(e,t);break;case"break":e.loopBreak=!0;break;case"continue":e.loopContinue=!0;break;case"next":e.shouldNext=!0;break;case"nextfile":e.shouldNextFile=!0;break;case"exit":e.shouldExit=!0,e.exitCode=t.code?Math.floor(E(await p(e,t.code))):0;break;case"return":e.hasReturn=!0,e.returnValue=t.value?await p(e,t.value):"";break;case"delete":await et(e,t.target);break}}async function Qe(e,t,r){let n=[];for(let s of t)n.push(y(await p(e,s)));let a=n.join(e.OFS)+e.ORS;r?await ne(e,r.redirect,r.file,a):e.output+=a}async function je(e,t,r,n){let a=y(await p(e,t)),s=[];for(let l of r)s.push(await p(e,l));let o=W(a,s);n?await ne(e,n.redirect,n.file,o):e.output+=o}async function ne(e,t,r,n){if(!e.fs||!e.cwd){e.output+=n;return}let a=y(await p(e,r)),s=e.fs.resolvePath(e.cwd,a);t===">"?e.openedFiles.has(s)?await e.fs.appendFile(s,n):(await e.fs.writeFile(s,n),e.openedFiles.add(s)):(e.openedFiles.has(s)||e.openedFiles.add(s),await e.fs.appendFile(s,n))}async function qe(e,t){S(await p(e,t.condition))?await L(e,t.consequent):t.alternate&&await L(e,t.alternate)}async function ze(e,t){let r=0;for(;S(await p(e,t.condition));){if(r++,r>e.maxIterations)throw new g(`awk: while loop exceeded maximum iterations (${e.maxIterations})`,"iterations",e.output);if(e.loopContinue=!1,await L(e,t.body),e.loopBreak){e.loopBreak=!1;break}if(e.shouldExit||e.shouldNext||e.hasReturn)break}}async function Ze(e,t){let r=0;do{if(r++,r>e.maxIterations)throw new g(`awk: do-while loop exceeded maximum iterations (${e.maxIterations})`,"iterations",e.output);if(e.loopContinue=!1,await L(e,t.body),e.loopBreak){e.loopBreak=!1;break}if(e.shouldExit||e.shouldNext||e.hasReturn)break}while(S(await p(e,t.condition)))}async function Je(e,t){t.init&&await p(e,t.init);let r=0;for(;!t.condition||S(await p(e,t.condition));){if(r++,r>e.maxIterations)throw new g(`awk: for loop exceeded maximum iterations (${e.maxIterations})`,"iterations",e.output);if(e.loopContinue=!1,await L(e,t.body),e.loopBreak){e.loopBreak=!1;break}if(e.shouldExit||e.shouldNext||e.hasReturn)break;t.update&&await p(e,t.update)}}async function Ye(e,t){let r=e.arrays[t.array];if(r)for(let n of Object.keys(r)){if(e.vars[t.variable]=n,e.loopContinue=!1,await L(e,t.body),e.loopBreak){e.loopBreak=!1;break}if(e.shouldExit||e.shouldNext||e.hasReturn)break}}async function et(e,t){if(t.type==="array_access"){let r=y(await p(e,t.key));te(e,t.array,r)}else t.type==="variable"&&re(e,t.name)}var _=class{ctx;program=null;rangeStates=[];constructor(t){this.ctx=t}execute(t){this.program=t,this.ctx.output="";for(let r of t.functions)this.ctx.functions.set(r.name,r);this.rangeStates=t.rules.map(()=>!1)}async executeBegin(){if(this.program){for(let t of this.program.rules)if(t.pattern?.type==="begin"&&(await M(this.ctx,t.action.statements),this.ctx.shouldExit))break}}async executeLine(t){if(!(!this.program||this.ctx.shouldExit)){T(this.ctx,t),this.ctx.NR++,this.ctx.FNR++,this.ctx.shouldNext=!1;for(let r=0;r<this.program.rules.length&&!(this.ctx.shouldExit||this.ctx.shouldNext||this.ctx.shouldNextFile);r++){let n=this.program.rules[r];n.pattern?.type==="begin"||n.pattern?.type==="end"||await this.matchesRule(n,r)&&await M(this.ctx,n.action.statements)}}}async executeEnd(){if(!(!this.program||this.ctx.shouldExit)){for(let t of this.program.rules)if(t.pattern?.type==="end"&&(await M(this.ctx,t.action.statements),this.ctx.shouldExit))break}}getOutput(){return this.ctx.output}getExitCode(){return this.ctx.exitCode}getContext(){return this.ctx}async matchesRule(t,r){let n=t.pattern;if(!n)return!0;switch(n.type){case"begin":case"end":return!1;case"regex_pattern":return F(n.pattern,this.ctx.line);case"expr_pattern":return S(await p(this.ctx,n.expression));case"range":{let a=await this.matchPattern(n.start),s=await this.matchPattern(n.end);return this.rangeStates[r]?(s&&(this.rangeStates[r]=!1),!0):a?(this.rangeStates[r]=!0,s&&(this.rangeStates[r]=!1),!0):!1}default:return!1}}async matchPattern(t){switch(t.type){case"regex_pattern":return F(t.pattern,this.ctx.line);case"expr_pattern":return S(await p(this.ctx,t.expression));default:return!1}}};var i;(function(e){e.NUMBER="NUMBER",e.STRING="STRING",e.REGEX="REGEX",e.IDENT="IDENT",e.BEGIN="BEGIN",e.END="END",e.IF="IF",e.ELSE="ELSE",e.WHILE="WHILE",e.DO="DO",e.FOR="FOR",e.IN="IN",e.BREAK="BREAK",e.CONTINUE="CONTINUE",e.NEXT="NEXT",e.NEXTFILE="NEXTFILE",e.EXIT="EXIT",e.RETURN="RETURN",e.DELETE="DELETE",e.FUNCTION="FUNCTION",e.PRINT="PRINT",e.PRINTF="PRINTF",e.GETLINE="GETLINE",e.PLUS="PLUS",e.MINUS="MINUS",e.STAR="STAR",e.SLASH="SLASH",e.PERCENT="PERCENT",e.CARET="CARET",e.EQ="EQ",e.NE="NE",e.LT="LT",e.GT="GT",e.LE="LE",e.GE="GE",e.MATCH="MATCH",e.NOT_MATCH="NOT_MATCH",e.AND="AND",e.OR="OR",e.NOT="NOT",e.ASSIGN="ASSIGN",e.PLUS_ASSIGN="PLUS_ASSIGN",e.MINUS_ASSIGN="MINUS_ASSIGN",e.STAR_ASSIGN="STAR_ASSIGN",e.SLASH_ASSIGN="SLASH_ASSIGN",e.PERCENT_ASSIGN="PERCENT_ASSIGN",e.CARET_ASSIGN="CARET_ASSIGN",e.INCREMENT="INCREMENT",e.DECREMENT="DECREMENT",e.QUESTION="QUESTION",e.COLON="COLON",e.COMMA="COMMA",e.SEMICOLON="SEMICOLON",e.NEWLINE="NEWLINE",e.LPAREN="LPAREN",e.RPAREN="RPAREN",e.LBRACE="LBRACE",e.RBRACE="RBRACE",e.LBRACKET="LBRACKET",e.RBRACKET="RBRACKET",e.DOLLAR="DOLLAR",e.APPEND="APPEND",e.PIPE="PIPE",e.EOF="EOF"})(i||(i={}));var tt={BEGIN:i.BEGIN,END:i.END,if:i.IF,else:i.ELSE,while:i.WHILE,do:i.DO,for:i.FOR,in:i.IN,break:i.BREAK,continue:i.CONTINUE,next:i.NEXT,nextfile:i.NEXTFILE,exit:i.EXIT,return:i.RETURN,delete:i.DELETE,function:i.FUNCTION,print:i.PRINT,printf:i.PRINTF,getline:i.GETLINE};function rt(e){return e.replace(/\[\[:space:\]\]/g,"[ \\t\\n\\r\\f\\v]").replace(/\[\[:blank:\]\]/g,"[ \\t]").replace(/\[\[:alpha:\]\]/g,"[a-zA-Z]").replace(/\[\[:digit:\]\]/g,"[0-9]").replace(/\[\[:alnum:\]\]/g,"[a-zA-Z0-9]").replace(/\[\[:upper:\]\]/g,"[A-Z]").replace(/\[\[:lower:\]\]/g,"[a-z]").replace(/\[\[:punct:\]\]/g,"[!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~]").replace(/\[\[:xdigit:\]\]/g,"[0-9A-Fa-f]").replace(/\[\[:graph:\]\]/g,"[!-~]").replace(/\[\[:print:\]\]/g,"[ -~]").replace(/\[\[:cntrl:\]\]/g,"[\\x00-\\x1f\\x7f]")}var D=class{input;pos=0;line=1;column=1;lastTokenType=null;constructor(t){this.input=t}tokenize(){let t=[];for(;this.pos<this.input.length;){let r=this.nextToken();r&&(t.push(r),this.lastTokenType=r.type)}return t.push(this.makeToken(i.EOF,"")),t}makeToken(t,r){return{type:t,value:r,line:this.line,column:this.column}}peek(t=0){return this.input[this.pos+t]||""}advance(){let t=this.input[this.pos++]||"";return t===`
6
- `?(this.line++,this.column=1):this.column++,t}skipWhitespace(){for(;this.pos<this.input.length;){let t=this.peek();if(t===" "||t===" "||t==="\r")this.advance();else if(t==="\\")if(this.peek(1)===`
7
- `)this.advance(),this.advance();else break;else if(t==="#")for(;this.pos<this.input.length&&this.peek()!==`
8
- `;)this.advance();else break}}nextToken(){if(this.skipWhitespace(),this.pos>=this.input.length)return null;let t=this.line,r=this.column,n=this.peek();return n===`
9
- `?(this.advance(),{type:i.NEWLINE,value:`
10
- `,line:t,column:r}):n==='"'?this.readString():n==="/"&&this.canBeRegex()?this.readRegex():this.isDigit(n)||n==="."&&this.isDigit(this.peek(1))?this.readNumber():this.isAlpha(n)||n==="_"?this.readIdentifier():this.readOperator()}canBeRegex(){return new Set([null,i.NEWLINE,i.SEMICOLON,i.LBRACE,i.RBRACE,i.LPAREN,i.LBRACKET,i.COMMA,i.ASSIGN,i.PLUS_ASSIGN,i.MINUS_ASSIGN,i.STAR_ASSIGN,i.SLASH_ASSIGN,i.PERCENT_ASSIGN,i.CARET_ASSIGN,i.AND,i.OR,i.NOT,i.MATCH,i.NOT_MATCH,i.QUESTION,i.COLON,i.LT,i.GT,i.LE,i.GE,i.EQ,i.NE,i.PLUS,i.MINUS,i.STAR,i.PERCENT,i.CARET,i.PRINT,i.PRINTF,i.IF,i.WHILE,i.DO,i.FOR,i.RETURN]).has(this.lastTokenType)}readString(){let t=this.line,r=this.column;this.advance();let n="";for(;this.pos<this.input.length&&this.peek()!=='"';)if(this.peek()==="\\"){this.advance();let a=this.advance();switch(a){case"n":n+=`
11
- `;break;case"t":n+=" ";break;case"r":n+="\r";break;case"\\":n+="\\";break;case'"':n+='"';break;case"/":n+="/";break;default:n+=a}}else n+=this.advance();return this.peek()==='"'&&this.advance(),{type:i.STRING,value:n,line:t,column:r}}readRegex(){let t=this.line,r=this.column;this.advance();let n="";for(;this.pos<this.input.length&&this.peek()!=="/";)if(this.peek()==="\\")n+=this.advance(),this.pos<this.input.length&&(n+=this.advance());else{if(this.peek()===`
12
- `)break;n+=this.advance()}return this.peek()==="/"&&this.advance(),n=rt(n),{type:i.REGEX,value:n,line:t,column:r}}readNumber(){let t=this.line,r=this.column,n="";for(;this.isDigit(this.peek());)n+=this.advance();if(this.peek()==="."&&this.isDigit(this.peek(1)))for(n+=this.advance();this.isDigit(this.peek());)n+=this.advance();if(this.peek()==="e"||this.peek()==="E")for(n+=this.advance(),(this.peek()==="+"||this.peek()==="-")&&(n+=this.advance());this.isDigit(this.peek());)n+=this.advance();return{type:i.NUMBER,value:parseFloat(n),line:t,column:r}}readIdentifier(){let t=this.line,r=this.column,n="";for(;this.isAlphaNumeric(this.peek())||this.peek()==="_";)n+=this.advance();let a=tt[n];return a?{type:a,value:n,line:t,column:r}:{type:i.IDENT,value:n,line:t,column:r}}readOperator(){let t=this.line,r=this.column,n=this.advance(),a=this.peek();switch(n){case"+":return a==="+"?(this.advance(),{type:i.INCREMENT,value:"++",line:t,column:r}):a==="="?(this.advance(),{type:i.PLUS_ASSIGN,value:"+=",line:t,column:r}):{type:i.PLUS,value:"+",line:t,column:r};case"-":return a==="-"?(this.advance(),{type:i.DECREMENT,value:"--",line:t,column:r}):a==="="?(this.advance(),{type:i.MINUS_ASSIGN,value:"-=",line:t,column:r}):{type:i.MINUS,value:"-",line:t,column:r};case"*":return a==="*"?(this.advance(),{type:i.CARET,value:"**",line:t,column:r}):a==="="?(this.advance(),{type:i.STAR_ASSIGN,value:"*=",line:t,column:r}):{type:i.STAR,value:"*",line:t,column:r};case"/":return a==="="?(this.advance(),{type:i.SLASH_ASSIGN,value:"/=",line:t,column:r}):{type:i.SLASH,value:"/",line:t,column:r};case"%":return a==="="?(this.advance(),{type:i.PERCENT_ASSIGN,value:"%=",line:t,column:r}):{type:i.PERCENT,value:"%",line:t,column:r};case"^":return a==="="?(this.advance(),{type:i.CARET_ASSIGN,value:"^=",line:t,column:r}):{type:i.CARET,value:"^",line:t,column:r};case"=":return a==="="?(this.advance(),{type:i.EQ,value:"==",line:t,column:r}):{type:i.ASSIGN,value:"=",line:t,column:r};case"!":return a==="="?(this.advance(),{type:i.NE,value:"!=",line:t,column:r}):a==="~"?(this.advance(),{type:i.NOT_MATCH,value:"!~",line:t,column:r}):{type:i.NOT,value:"!",line:t,column:r};case"<":return a==="="?(this.advance(),{type:i.LE,value:"<=",line:t,column:r}):{type:i.LT,value:"<",line:t,column:r};case">":return a==="="?(this.advance(),{type:i.GE,value:">=",line:t,column:r}):a===">"?(this.advance(),{type:i.APPEND,value:">>",line:t,column:r}):{type:i.GT,value:">",line:t,column:r};case"&":return a==="&"?(this.advance(),{type:i.AND,value:"&&",line:t,column:r}):{type:i.IDENT,value:"&",line:t,column:r};case"|":return a==="|"?(this.advance(),{type:i.OR,value:"||",line:t,column:r}):{type:i.PIPE,value:"|",line:t,column:r};case"~":return{type:i.MATCH,value:"~",line:t,column:r};case"?":return{type:i.QUESTION,value:"?",line:t,column:r};case":":return{type:i.COLON,value:":",line:t,column:r};case",":return{type:i.COMMA,value:",",line:t,column:r};case";":return{type:i.SEMICOLON,value:";",line:t,column:r};case"(":return{type:i.LPAREN,value:"(",line:t,column:r};case")":return{type:i.RPAREN,value:")",line:t,column:r};case"{":return{type:i.LBRACE,value:"{",line:t,column:r};case"}":return{type:i.RBRACE,value:"}",line:t,column:r};case"[":return{type:i.LBRACKET,value:"[",line:t,column:r};case"]":return{type:i.RBRACKET,value:"]",line:t,column:r};case"$":return{type:i.DOLLAR,value:"$",line:t,column:r};default:return{type:i.IDENT,value:n,line:t,column:r}}}isDigit(t){return t>="0"&&t<="9"}isAlpha(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"}isAlphaNumeric(t){return this.isDigit(t)||this.isAlpha(t)}};var B=class{tokens=[];pos=0;parse(t){let r=new D(t);return this.tokens=r.tokenize(),this.pos=0,this.parseProgram()}current(){return this.tokens[this.pos]||{type:i.EOF,value:"",line:0,column:0}}advance(){let t=this.current();return this.pos<this.tokens.length&&this.pos++,t}match(...t){return t.includes(this.current().type)}check(t){return this.current().type===t}expect(t,r){if(!this.check(t)){let n=this.current();throw new Error(r||`Expected ${t}, got ${n.type} at line ${n.line}:${n.column}`)}return this.advance()}skipNewlines(){for(;this.check(i.NEWLINE);)this.advance()}skipTerminators(){for(;this.check(i.NEWLINE)||this.check(i.SEMICOLON);)this.advance()}parseProgram(){let t=[],r=[];for(this.skipNewlines();!this.check(i.EOF)&&(this.skipNewlines(),!this.check(i.EOF));)this.check(i.FUNCTION)?t.push(this.parseFunction()):r.push(this.parseRule()),this.skipTerminators();return{functions:t,rules:r}}parseFunction(){this.expect(i.FUNCTION);let t=this.expect(i.IDENT).value;this.expect(i.LPAREN);let r=[];if(!this.check(i.RPAREN))for(r.push(this.expect(i.IDENT).value);this.check(i.COMMA);)this.advance(),r.push(this.expect(i.IDENT).value);this.expect(i.RPAREN),this.skipNewlines();let n=this.parseBlock();return{name:t,params:r,body:n}}parseRule(){let t;if(this.check(i.BEGIN))this.advance(),t={type:"begin"};else if(this.check(i.END))this.advance(),t={type:"end"};else if(this.check(i.LBRACE))t=void 0;else if(this.check(i.REGEX)){let n=this.advance();if(this.check(i.AND)||this.check(i.OR)){let a={type:"binary",operator:"~",left:{type:"field",index:{type:"number",value:0}},right:{type:"regex",pattern:n.value}};t={type:"expr_pattern",expression:this.parseLogicalOrRest(a)}}else{let a={type:"regex_pattern",pattern:n.value};if(this.check(i.COMMA)){this.advance();let s;this.check(i.REGEX)?s={type:"regex_pattern",pattern:this.advance().value}:s={type:"expr_pattern",expression:this.parseExpression()},t={type:"range",start:a,end:s}}else t=a}}else{let a={type:"expr_pattern",expression:this.parseExpression()};if(this.check(i.COMMA)){this.advance();let s;this.check(i.REGEX)?s={type:"regex_pattern",pattern:this.advance().value}:s={type:"expr_pattern",expression:this.parseExpression()},t={type:"range",start:a,end:s}}else t=a}this.skipNewlines();let r;return this.check(i.LBRACE)?r=this.parseBlock():r={type:"block",statements:[{type:"print",args:[{type:"field",index:{type:"number",value:0}}]}]},{pattern:t,action:r}}parseBlock(){this.expect(i.LBRACE),this.skipNewlines();let t=[];for(;!this.check(i.RBRACE)&&!this.check(i.EOF);)t.push(this.parseStatement()),this.skipTerminators();return this.expect(i.RBRACE),{type:"block",statements:t}}parseStatement(){if(this.check(i.LBRACE))return this.parseBlock();if(this.check(i.IF))return this.parseIf();if(this.check(i.WHILE))return this.parseWhile();if(this.check(i.DO))return this.parseDoWhile();if(this.check(i.FOR))return this.parseFor();if(this.check(i.BREAK))return this.advance(),{type:"break"};if(this.check(i.CONTINUE))return this.advance(),{type:"continue"};if(this.check(i.NEXT))return this.advance(),{type:"next"};if(this.check(i.NEXTFILE))return this.advance(),{type:"nextfile"};if(this.check(i.EXIT)){this.advance();let r;return!this.check(i.NEWLINE)&&!this.check(i.SEMICOLON)&&!this.check(i.RBRACE)&&!this.check(i.EOF)&&(r=this.parseExpression()),{type:"exit",code:r}}if(this.check(i.RETURN)){this.advance();let r;return!this.check(i.NEWLINE)&&!this.check(i.SEMICOLON)&&!this.check(i.RBRACE)&&!this.check(i.EOF)&&(r=this.parseExpression()),{type:"return",value:r}}if(this.check(i.DELETE)){this.advance();let r=this.parsePrimary();if(r.type!=="array_access"&&r.type!=="variable")throw new Error("delete requires array element or array");return{type:"delete",target:r}}return this.check(i.PRINT)?this.parsePrint():this.check(i.PRINTF)?this.parsePrintf():{type:"expr_stmt",expression:this.parseExpression()}}parseIf(){this.expect(i.IF),this.expect(i.LPAREN);let t=this.parseExpression();this.expect(i.RPAREN),this.skipNewlines();let r=this.parseStatement();this.skipTerminators();let n;return this.check(i.ELSE)&&(this.advance(),this.skipNewlines(),n=this.parseStatement()),{type:"if",condition:t,consequent:r,alternate:n}}parseWhile(){this.expect(i.WHILE),this.expect(i.LPAREN);let t=this.parseExpression();this.expect(i.RPAREN),this.skipNewlines();let r=this.parseStatement();return{type:"while",condition:t,body:r}}parseDoWhile(){this.expect(i.DO),this.skipNewlines();let t=this.parseStatement();this.skipNewlines(),this.expect(i.WHILE),this.expect(i.LPAREN);let r=this.parseExpression();return this.expect(i.RPAREN),{type:"do_while",body:t,condition:r}}parseFor(){if(this.expect(i.FOR),this.expect(i.LPAREN),this.check(i.IDENT)){let s=this.advance();if(this.check(i.IN)){this.advance();let o=this.expect(i.IDENT).value;this.expect(i.RPAREN),this.skipNewlines();let l=this.parseStatement();return{type:"for_in",variable:s.value,array:o,body:l}}this.pos--}let t;this.check(i.SEMICOLON)||(t=this.parseExpression()),this.expect(i.SEMICOLON);let r;this.check(i.SEMICOLON)||(r=this.parseExpression()),this.expect(i.SEMICOLON);let n;this.check(i.RPAREN)||(n=this.parseExpression()),this.expect(i.RPAREN),this.skipNewlines();let a=this.parseStatement();return{type:"for",init:t,condition:r,update:n,body:a}}parsePrint(){this.expect(i.PRINT);let t=[];if(this.check(i.NEWLINE)||this.check(i.SEMICOLON)||this.check(i.RBRACE)||this.check(i.PIPE)||this.check(i.GT)||this.check(i.APPEND))t.push({type:"field",index:{type:"number",value:0}});else for(t.push(this.parsePrintArg());this.check(i.COMMA);)this.advance(),t.push(this.parsePrintArg());let r;return this.check(i.GT)?(this.advance(),r={redirect:">",file:this.parsePrimary()}):this.check(i.APPEND)&&(this.advance(),r={redirect:">>",file:this.parsePrimary()}),{type:"print",args:t,output:r}}parsePrintArg(){return this.lookAheadForTernary()?this.parseTernary():this.parsePrintOr()}lookAheadForTernary(){let t=0,r=this.pos;for(;r<this.tokens.length;){let n=this.tokens[r];if(n.type===i.LPAREN&&t++,n.type===i.RPAREN&&t--,n.type===i.QUESTION&&t===0)return!0;if(n.type===i.NEWLINE||n.type===i.SEMICOLON||n.type===i.RBRACE||n.type===i.COMMA||n.type===i.PIPE)return!1;r++}return!1}parsePrintOr(){let t=this.parsePrintAnd();for(;this.check(i.OR);){this.advance();let r=this.parsePrintAnd();t={type:"binary",operator:"||",left:t,right:r}}return t}parsePrintAnd(){let t=this.parsePrintIn();for(;this.check(i.AND);){this.advance();let r=this.parsePrintIn();t={type:"binary",operator:"&&",left:t,right:r}}return t}parsePrintIn(){let t=this.parsePrintMatch();if(this.check(i.IN)){this.advance();let r=String(this.expect(i.IDENT).value);return{type:"in",key:t,array:r}}return t}parsePrintMatch(){let t=this.parsePrintComparison();for(;this.match(i.MATCH,i.NOT_MATCH);){let r=this.advance().type===i.MATCH?"~":"!~",n=this.parsePrintComparison();t={type:"binary",operator:r,left:t,right:n}}return t}parsePrintComparison(){let t=this.parseConcatenation();for(;this.match(i.LT,i.LE,i.GE,i.EQ,i.NE);){let r=this.advance(),n=this.parseConcatenation();t={type:"binary",operator:{"<":"<","<=":"<=",">=":">=","==":"==","!=":"!="}[r.value],left:t,right:n}}return t}parsePrintf(){this.expect(i.PRINTF);let t=this.parsePrintArg(),r=[];for(;this.check(i.COMMA);)this.advance(),r.push(this.parsePrintArg());let n;return this.check(i.GT)?(this.advance(),n={redirect:">",file:this.parsePrimary()}):this.check(i.APPEND)&&(this.advance(),n={redirect:">>",file:this.parsePrimary()}),{type:"printf",format:t,args:r,output:n}}parseExpression(){return this.parseAssignment()}parseAssignment(){let t=this.parseTernary();if(this.match(i.ASSIGN,i.PLUS_ASSIGN,i.MINUS_ASSIGN,i.STAR_ASSIGN,i.SLASH_ASSIGN,i.PERCENT_ASSIGN,i.CARET_ASSIGN)){let r=this.advance(),n=this.parseAssignment();if(t.type!=="variable"&&t.type!=="field"&&t.type!=="array_access")throw new Error("Invalid assignment target");return{type:"assignment",operator:{"=":"=","+=":"+=","-=":"-=","*=":"*=","/=":"/=","%=":"%=","^=":"^="}[r.value],target:t,value:n}}return t}parseTernary(){let t=this.parseOr();if(this.check(i.QUESTION)){this.advance();let r=this.parseExpression();this.expect(i.COLON);let n=this.parseExpression();t={type:"ternary",condition:t,consequent:r,alternate:n}}return t}parseOr(){let t=this.parseAnd();for(;this.check(i.OR);){this.advance();let r=this.parseAnd();t={type:"binary",operator:"||",left:t,right:r}}return t}parseLogicalOrRest(t){for(t=this.parseLogicalAndRest(t);this.check(i.OR);){this.advance();let r=this.parseAnd();t={type:"binary",operator:"||",left:t,right:r}}return t}parseLogicalAndRest(t){for(;this.check(i.AND);){this.advance();let r=this.parseIn();t={type:"binary",operator:"&&",left:t,right:r}}return t}parseAnd(){let t=this.parseIn();for(;this.check(i.AND);){this.advance();let r=this.parseIn();t={type:"binary",operator:"&&",left:t,right:r}}return t}parseIn(){let t=this.parseMatch();if(this.check(i.IN)){this.advance();let r=this.expect(i.IDENT).value;return{type:"in",key:t,array:r}}return t}parseMatch(){let t=this.parseComparison();for(;this.match(i.MATCH,i.NOT_MATCH);){let r=this.advance().type===i.MATCH?"~":"!~",n=this.parseComparison();t={type:"binary",operator:r,left:t,right:n}}return t}parseComparison(){let t=this.parseConcatenation();for(;this.match(i.LT,i.LE,i.GT,i.GE,i.EQ,i.NE);){let r=this.advance(),n=this.parseConcatenation();t={type:"binary",operator:{"<":"<","<=":"<=",">":">",">=":">=","==":"==","!=":"!="}[r.value],left:t,right:n}}return t}parseConcatenation(){let t=this.parseAddSub();for(;this.canStartExpression()&&!this.isComparisonOrHigherOp();){let r=this.parseAddSub();t={type:"binary",operator:" ",left:t,right:r}}return t}canStartExpression(){return this.match(i.NUMBER,i.STRING,i.IDENT,i.DOLLAR,i.LPAREN,i.NOT,i.MINUS,i.PLUS,i.INCREMENT,i.DECREMENT)}isComparisonOrHigherOp(){return this.match(i.LT,i.LE,i.GT,i.GE,i.EQ,i.NE,i.AND,i.OR,i.QUESTION,i.MATCH,i.NOT_MATCH,i.ASSIGN,i.PLUS_ASSIGN,i.MINUS_ASSIGN,i.STAR_ASSIGN,i.SLASH_ASSIGN,i.PERCENT_ASSIGN,i.CARET_ASSIGN,i.COMMA,i.SEMICOLON,i.NEWLINE,i.RBRACE,i.RPAREN,i.RBRACKET,i.COLON,i.PIPE,i.APPEND,i.IN)}parseAddSub(){let t=this.parseMulDiv();for(;this.match(i.PLUS,i.MINUS);){let r=this.advance().value,n=this.parseMulDiv();t={type:"binary",operator:r,left:t,right:n}}return t}parseMulDiv(){let t=this.parseUnary();for(;this.match(i.STAR,i.SLASH,i.PERCENT);){let r=this.advance(),n=this.parseUnary();t={type:"binary",operator:{"*":"*","/":"/","%":"%"}[r.value],left:t,right:n}}return t}parseUnary(){if(this.check(i.INCREMENT)){this.advance();let t=this.parseUnary();return t.type!=="variable"&&t.type!=="field"&&t.type!=="array_access"?{type:"unary",operator:"+",operand:{type:"unary",operator:"+",operand:t}}:{type:"pre_increment",operand:t}}if(this.check(i.DECREMENT)){this.advance();let t=this.parseUnary();return t.type!=="variable"&&t.type!=="field"&&t.type!=="array_access"?{type:"unary",operator:"-",operand:{type:"unary",operator:"-",operand:t}}:{type:"pre_decrement",operand:t}}if(this.match(i.NOT,i.MINUS,i.PLUS)){let t=this.advance().value,r=this.parseUnary();return{type:"unary",operator:t,operand:r}}return this.parsePower()}parsePower(){let t=this.parsePostfix();if(this.check(i.CARET)){this.advance();let r=this.parsePower();t={type:"binary",operator:"^",left:t,right:r}}return t}parsePostfix(){let t=this.parsePrimary();if(this.check(i.INCREMENT)){if(this.advance(),t.type!=="variable"&&t.type!=="field"&&t.type!=="array_access")throw new Error("Invalid increment operand");return{type:"post_increment",operand:t}}if(this.check(i.DECREMENT)){if(this.advance(),t.type!=="variable"&&t.type!=="field"&&t.type!=="array_access")throw new Error("Invalid decrement operand");return{type:"post_decrement",operand:t}}return t}parsePrimary(){if(this.check(i.NUMBER))return{type:"number",value:this.advance().value};if(this.check(i.STRING))return{type:"string",value:this.advance().value};if(this.check(i.REGEX))return{type:"regex",pattern:this.advance().value};if(this.check(i.DOLLAR))return this.advance(),{type:"field",index:this.parsePrimary()};if(this.check(i.LPAREN)){this.advance();let t=this.parseExpression();if(this.check(i.COMMA)){let r=[t];for(;this.check(i.COMMA);)this.advance(),r.push(this.parseExpression());return this.expect(i.RPAREN),{type:"tuple",elements:r}}return this.expect(i.RPAREN),t}if(this.check(i.GETLINE)){this.advance();let t,r;return this.check(i.IDENT)&&(t=this.advance().value),this.check(i.LT)&&(this.advance(),r=this.parsePrimary()),{type:"getline",variable:t,file:r}}if(this.check(i.IDENT)){let t=this.advance().value;if(this.check(i.LPAREN)){this.advance();let r=[];if(!this.check(i.RPAREN))for(r.push(this.parseExpression());this.check(i.COMMA);)this.advance(),r.push(this.parseExpression());return this.expect(i.RPAREN),{type:"call",name:t,args:r}}if(this.check(i.LBRACKET)){this.advance();let r=[this.parseExpression()];for(;this.check(i.COMMA);)this.advance(),r.push(this.parseExpression());this.expect(i.RBRACKET);let n;if(r.length===1)n=r[0];else{n=r[0];for(let a=1;a<r.length;a++)n={type:"binary",operator:" ",left:{type:"binary",operator:" ",left:n,right:{type:"variable",name:"SUBSEP"}},right:r[a]}}return{type:"array_access",array:t,key:n}}return{type:"variable",name:t}}throw new Error(`Unexpected token: ${this.current().type} at line ${this.current().line}:${this.current().column}`)}};var it={name:"awk",summary:"pattern scanning and text processing language",usage:"awk [OPTIONS] 'PROGRAM' [FILE...]",options:["-F FS use FS as field separator","-v VAR=VAL assign VAL to variable VAR"," --help display this help and exit"]},Ht={name:"awk",async execute(e,t){if(Q(e))return K(it);let r=/\s+/,n=" ",a={},s=0;for(let h=0;h<e.length;h++){let f=e[h];if(f==="-F"&&h+1<e.length)n=se(e[++h]),r=ae(n),s=h+1;else if(f.startsWith("-F"))n=se(f.slice(2)),r=ae(n),s=h+1;else if(f==="-v"&&h+1<e.length){let R=e[++h],G=R.indexOf("=");if(G>0){let k=R.slice(0,G),oe=R.slice(G+1);a[k]=oe}s=h+1}else{if(f.startsWith("--"))return U("awk",f);if(f.startsWith("-")&&f.length>1){let R=f[1];if(R!=="F"&&R!=="v")return U("awk",`-${R}`);s=h+1}else if(!f.startsWith("-")){s=h;break}}}if(s>=e.length)return{stdout:"",stderr:`awk: missing program
13
- `,exitCode:1};let o=e[s],l=e.slice(s+1),u=new B,m;try{m=u.parse(o)}catch(h){return{stdout:"",stderr:`awk: ${h instanceof Error?h.message:String(h)}
14
- `,exitCode:1}}let N={readFile:t.fs.readFile.bind(t.fs),writeFile:t.fs.writeFile.bind(t.fs),appendFile:async(h,f)=>{try{let R=await t.fs.readFile(h);await t.fs.writeFile(h,R+f)}catch{await t.fs.writeFile(h,f)}},resolvePath:t.fs.resolvePath.bind(t.fs)},c=x({fieldSep:r,maxIterations:t.limits?.maxAwkIterations,fs:N,cwd:t.cwd});c.FS=n,c.vars={...a},c.ARGC=l.length+1,c.ARGV={0:"awk"};for(let h=0;h<l.length;h++)c.ARGV[String(h+1)]=l[h];let d=new _(c);d.execute(m);try{if(await d.executeBegin(),c.shouldExit)return{stdout:d.getOutput(),stderr:"",exitCode:d.getExitCode()};let h=[];if(l.length>0)for(let f of l)try{let R=t.fs.resolvePath(t.cwd,f),k=(await t.fs.readFile(R)).split(`
15
- `);k.length>0&&k[k.length-1]===""&&k.pop(),h.push({filename:f,lines:k})}catch{return{stdout:"",stderr:`awk: ${f}: No such file or directory
16
- `,exitCode:1}}else{let f=t.stdin.split(`
17
- `);f.length>0&&f[f.length-1]===""&&f.pop(),h.push({filename:"",lines:f})}for(let f of h){for(c.FILENAME=f.filename,c.FNR=0,c.lines=f.lines,c.lineIndex=-1,c.shouldNextFile=!1;c.lineIndex<f.lines.length-1&&(c.lineIndex++,await d.executeLine(f.lines[c.lineIndex]),!(c.shouldExit||c.shouldNextFile)););if(c.shouldExit)break}return c.shouldExit||await d.executeEnd(),{stdout:d.getOutput(),stderr:"",exitCode:d.getExitCode()}}catch(h){let f=h instanceof Error?h.message:String(h),R=h instanceof g?g.EXIT_CODE:2;return{stdout:d.getOutput(),stderr:`awk: ${f}
18
- `,exitCode:R}}}};function se(e){return e.replace(/\\t/g," ").replace(/\\n/g,`
19
- `).replace(/\\r/g,"\r").replace(/\\\\/g,"\\")}function ae(e){if(e===" ")return/\s+/;if(/[[\](){}.*+?^$|\\]/.test(e))try{return new RegExp(e)}catch{return new RegExp(le(e))}return new RegExp(le(e))}function le(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}export{Ht as awkCommand2};
@@ -1,6 +0,0 @@
1
- import{a as l,b as d}from"./chunk-74CEPOFO.js";import"./chunk-DXB73IDG.js";var m={name:"bash",summary:"execute shell commands or scripts",usage:"bash [OPTIONS] [SCRIPT_FILE] [ARGUMENTS...]",options:["-c COMMAND execute COMMAND string"," --help display this help and exit"],notes:["Without -c, reads and executes commands from SCRIPT_FILE.","Arguments are passed as $1, $2, etc. to the script.",'$0 is set to the script name (or "bash" with -c).']},b={name:"bash",async execute(t,e){if(d(t))return l(m);if(t[0]==="-c"&&t.length>=2){let o=t[1],s=t[2]||"bash",i=t.slice(3);return h(o,s,i,e)}if(t.length===0)return{stdout:"",stderr:"",exitCode:0};let n=t[0],c=t.slice(1);try{let o=e.fs.resolvePath(e.cwd,n),s=await e.fs.readFile(o);return h(s,n,c,e)}catch{return{stdout:"",stderr:`bash: ${n}: No such file or directory
2
- `,exitCode:127}}}},w={name:"sh",async execute(t,e){if(d(t))return l({...m,name:"sh",summary:"execute shell commands or scripts (POSIX shell)"});if(t[0]==="-c"&&t.length>=2){let o=t[1],s=t[2]||"sh",i=t.slice(3);return h(o,s,i,e)}if(t.length===0)return{stdout:"",stderr:"",exitCode:0};let n=t[0],c=t.slice(1);try{let o=e.fs.resolvePath(e.cwd,n),s=await e.fs.readFile(o);return h(s,n,c,e)}catch{return{stdout:"",stderr:`sh: ${n}: No such file or directory
3
- `,exitCode:127}}}};async function h(t,e,n,c){if(!c.exec)return{stdout:"",stderr:`bash: internal error: exec function not available
4
- `,exitCode:1};let o={0:e,"#":String(n.length),"@":n.join(" "),"*":n.join(" ")};n.forEach((r,a)=>{o[String(a+1)]=r});let s=t;if(s.startsWith("#!")){let r=s.indexOf(`
5
- `);r!==-1&&(s=s.slice(r+1))}let i=s.split(`
6
- `),u=[];for(let r of i){let a=r.trim();a&&!a.startsWith("#")&&u.push(a)}let f=u.join("; ");return await c.exec(f,{env:o,cwd:c.cwd})}export{b as bashCommand,w as shCommand};
@@ -1,8 +0,0 @@
1
- import{a as h,b as m}from"./chunk-74CEPOFO.js";import"./chunk-DXB73IDG.js";var v={name:"chmod",summary:"change file mode bits",usage:"chmod [OPTIONS] MODE FILE...",options:["-R change files recursively","-v output a diagnostic for every file processed"," --help display this help and exit"]},C={name:"chmod",async execute(o,s){if(m(o))return h(v);if(o.length<2)return{stdout:"",stderr:`chmod: missing operand
2
- `,exitCode:1};let r=!1,n=!1,e=0;for(;e<o.length&&o[e].startsWith("-");){let t=o[e];if(t==="-R"||t==="--recursive")r=!0,e++;else if(t==="-v"||t==="--verbose")n=!0,e++;else if(t==="--"){e++;break}else{if(/^[+-]?[rwxugo]+/.test(t)||/^\d+$/.test(t))break;if(/^-[Rv]+$/.test(t)){t.includes("R")&&(r=!0),t.includes("v")&&(n=!0),e++;continue}return{stdout:"",stderr:`chmod: invalid option -- '${t.slice(1)}'
3
- `,exitCode:1}}}if(o.length-e<2)return{stdout:"",stderr:`chmod: missing operand
4
- `,exitCode:1};let a=o[e],f=o.slice(e+1),i;try{i=$(a)}catch{return{stdout:"",stderr:`chmod: invalid mode: '${a}'
5
- `,exitCode:1}}let c="",d="",l=!1;for(let t of f){let u=s.fs.resolvePath(s.cwd,t);try{if(await s.fs.chmod(u,i),n&&(c+=`mode of '${t}' changed to ${i.toString(8).padStart(4,"0")}
6
- `),r&&(await s.fs.stat(u)).isDirectory){let w=await p(s,u,i,n);c+=w}}catch{d+=`chmod: cannot access '${t}': No such file or directory
7
- `,l=!0}}return{stdout:c,stderr:d,exitCode:l?1:0}}};async function p(o,s,r,n){let e="",a=await o.fs.readdir(s);for(let f of a){let i=s==="/"?`/${f}`:`${s}/${f}`;await o.fs.chmod(i,r),n&&(e+=`mode of '${i}' changed to ${r.toString(8).padStart(4,"0")}
8
- `),(await o.fs.stat(i)).isDirectory&&(e+=await p(o,i,r,n))}return e}function $(o){if(/^[0-7]+$/.test(o))return parseInt(o,8);let s=420,r=o.split(",");for(let n of r){let e=n.match(/^([ugoa]*)([+\-=])([rwxXst]*)$/);if(!e)throw new Error(`Invalid mode: ${o}`);let a=e[1]||"a",f=e[2],i=e[3];(a==="a"||a==="")&&(a="ugo");let c=0;i.includes("r")&&(c|=4),i.includes("w")&&(c|=2),(i.includes("x")||i.includes("X"))&&(c|=1);for(let d of a){let l=0;d==="u"?l=6:d==="g"?l=3:d==="o"&&(l=0);let t=c<<l;f==="+"?s|=t:f==="-"?s&=~t:f==="="&&(s&=~(7<<l),s|=t)}}return s}export{C as chmodCommand};
@@ -1,5 +0,0 @@
1
- import{i as k}from"./chunk-CG2HXOFG.js";var M=1e4;function D(t){return{vars:new Map,limits:{maxIterations:t?.limits?.maxIterations??M},env:t?.env}}function N(t,e,n){let i=new Map(t.vars);return i.set(e,n),{vars:i,limits:t.limits,env:t.env,root:t.root,currentPath:t.currentPath}}function S(t,e){let n=t;for(let i of e)if(n&&typeof n=="object")n=n[i];else return;return n}function E(t){if(t.type==="Identity")return[];if(t.type==="Field"){let e=t.base?E(t.base):[];return e===null?null:[...e,t.name]}if(t.type==="Index"&&t.index.type==="Literal"){let e=t.base?E(t.base):[];if(e===null)return null;let n=t.index.value;return typeof n=="number"||typeof n=="string"?[...e,n]:null}if(t.type==="Pipe"){let e=E(t.left);return e===null?null:T(e,t.right)}return t.type==="Call"&&(t.name==="parent"||t.name==="root"),null}function T(t,e){if(e.type==="Call"){if(e.name==="parent"){let n=1;if(e.args.length>0&&e.args[0].type==="Literal"){let i=e.args[0].value;typeof i=="number"&&(n=i)}if(n>=0)return t.slice(0,Math.max(0,t.length-n));{let i=-n-1;return t.slice(0,Math.min(i,t.length))}}if(e.name==="root")return[]}if(e.type==="Field"){let n=E(e);if(n!==null)return[...t,...n]}if(e.type==="Index"&&e.index.type==="Literal"){let n=E(e);if(n!==null)return[...t,...n]}if(e.type==="Pipe"){let n=T(t,e.left);return n===null?null:T(n,e.right)}return e.type==="Identity"?t:null}function u(t,e,n){let i=n&&"vars"in n?n:D(n);switch(i.root===void 0&&(i={...i,root:t,currentPath:[]}),e.type){case"Identity":return[t];case"Field":return(e.base?u(t,e.base,i):[t]).flatMap(s=>{if(s&&typeof s=="object"&&!Array.isArray(s)){let o=s[e.name];return[o===void 0?null:o]}return[null]});case"Index":return(e.base?u(t,e.base,i):[t]).flatMap(s=>u(s,e.index,i).flatMap(f=>{if(typeof f=="number"&&Array.isArray(s)){let c=f<0?s.length+f:f;return c>=0&&c<s.length?[s[c]]:[null]}return typeof f=="string"&&s&&typeof s=="object"&&!Array.isArray(s)?[s[f]]:[null]}));case"Slice":return(e.base?u(t,e.base,i):[t]).flatMap(s=>{if(!Array.isArray(s)&&typeof s!="string")return[null];let o=s.length,f=e.start?u(t,e.start,i):[0],c=e.end?u(t,e.end,i):[o];return f.flatMap(p=>c.map(y=>{let h=I(p,o),a=I(y,o);return Array.isArray(s),s.slice(h,a)}))});case"Iterate":return(e.base?u(t,e.base,i):[t]).flatMap(s=>Array.isArray(s)?s:s&&typeof s=="object"?Object.values(s):[]);case"Pipe":{let r=u(t,e.left,i),s=E(e.left);return r.flatMap(o=>{if(s!==null){let f={...i,currentPath:[...i.currentPath??[],...s]};return u(o,e.right,f)}return u(o,e.right,i)})}case"Comma":{let r=u(t,e.left,i),s=u(t,e.right,i);return[...r,...s]}case"Literal":return[e.value];case"Array":return e.elements?[u(t,e.elements,i)]:[[]];case"Object":{let r=[{}];for(let s of e.entries){let o=typeof s.key=="string"?[s.key]:u(t,s.key,i),f=u(t,s.value,i),c=[];for(let p of r)for(let y of o)for(let h of f)c.push({...p,[String(y)]:h});r.length=0,r.push(...c)}return r}case"Paren":return u(t,e.expr,i);case"BinaryOp":return _(t,e.op,e.left,e.right,i);case"UnaryOp":return u(t,e.operand,i).map(s=>e.op==="-"?typeof s=="number"?-s:null:e.op==="not"?!d(s):null);case"Cond":return u(t,e.cond,i).flatMap(s=>{if(d(s))return u(t,e.then,i);for(let o of e.elifs)if(u(t,o.cond,i).some(d))return u(t,o.then,i);return e.else?u(t,e.else,i):[null]});case"Try":try{return u(t,e.body,i)}catch{return e.catch?u(t,e.catch,i):[]}case"Call":return C(t,e.name,e.args,i);case"VarBind":return u(t,e.value,i).flatMap(s=>{let o=N(i,e.name,s);return u(t,e.body,o)});case"VarRef":{if(e.name==="$ENV")return[i.env??{}];let r=i.vars.get(e.name);return r!==void 0?[r]:[null]}case"Recurse":{let r=[],s=new WeakSet,o=f=>{if(f&&typeof f=="object"){if(s.has(f))return;s.add(f)}if(r.push(f),Array.isArray(f))for(let c of f)o(c);else if(f&&typeof f=="object")for(let c of Object.keys(f))o(f[c])};return o(t),r}case"Optional":try{return u(t,e.expr,i)}catch{return[]}case"StringInterp":return[e.parts.map(s=>typeof s=="string"?s:u(t,s,i).map(f=>typeof f=="string"?f:JSON.stringify(f)).join("")).join("")];case"UpdateOp":return[U(t,e.path,e.op,e.value,i)];case"Reduce":{let r=u(t,e.expr,i),s=u(t,e.init,i)[0];for(let o of r){let f=N(i,e.varName,o);s=u(s,e.update,f)[0]}return[s]}case"Foreach":{let r=u(t,e.expr,i),s=u(t,e.init,i)[0],o=[];for(let f of r){let c=N(i,e.varName,f);if(s=u(s,e.update,c)[0],e.extract){let p=u(s,e.extract,c);o.push(...p)}else o.push(s)}return o}default:{let r=e;throw new Error(`Unknown AST node type: ${r.type}`)}}}function I(t,e){return t<0?Math.max(0,e+t):Math.min(t,e)}function U(t,e,n,i,r){function s(c,p){switch(n){case"=":return p;case"|=":return u(c,i,r)[0]??null;case"+=":return typeof c=="number"&&typeof p=="number"||typeof c=="string"&&typeof p=="string"?c+p:Array.isArray(c)&&Array.isArray(p)?[...c,...p]:c&&p&&typeof c=="object"&&typeof p=="object"?{...c,...p}:p;case"-=":return typeof c=="number"&&typeof p=="number"?c-p:c;case"*=":return typeof c=="number"&&typeof p=="number"?c*p:c;case"/=":return typeof c=="number"&&typeof p=="number"?c/p:c;case"%=":return typeof c=="number"&&typeof p=="number"?c%p:c;case"//=":return c===null||c===!1?p:c;default:return p}}function o(c,p,y){switch(p.type){case"Identity":return y(c);case"Field":{if(p.base)return o(c,p.base,h=>{if(h&&typeof h=="object"&&!Array.isArray(h)){let a={...h};return a[p.name]=y(a[p.name]),a}return h});if(c&&typeof c=="object"&&!Array.isArray(c)){let h={...c};return h[p.name]=y(h[p.name]),h}return c}case"Index":{let a=u(t,p.index,r)[0];if(p.base)return o(c,p.base,l=>{if(typeof a=="number"&&Array.isArray(l)){let A=[...l],b=a<0?A.length+a:a;return b>=0&&b<A.length&&(A[b]=y(A[b])),A}if(typeof a=="string"&&l&&typeof l=="object"&&!Array.isArray(l)){let A={...l};return A[a]=y(A[a]),A}return l});if(typeof a=="number"&&Array.isArray(c)){let l=[...c],A=a<0?l.length+a:a;return A>=0&&A<l.length&&(l[A]=y(l[A])),l}if(typeof a=="string"&&c&&typeof c=="object"&&!Array.isArray(c)){let l={...c};return l[a]=y(l[a]),l}return c}case"Iterate":{let h=a=>{if(Array.isArray(a))return a.map(l=>y(l));if(a&&typeof a=="object"){let l={};for(let[A,b]of Object.entries(a))l[A]=y(b);return l}return a};return p.base?o(c,p.base,h):h(c)}case"Pipe":{let h=o(c,p.left,a=>a);return o(h,p.right,y)}default:return y(c)}}return o(t,e,c=>{if(n==="|=")return s(c,c);let p=u(t,i,r);return s(c,p[0]??null)})}function B(t,e,n){function i(r,s){switch(s.type){case"Identity":return null;case"Field":{if(r&&typeof r=="object"&&!Array.isArray(r)){let o={...r};return delete o[s.name],o}return r}case"Index":{let f=u(t,s.index,n)[0];if(typeof f=="number"&&Array.isArray(r)){let c=[...r],p=f<0?c.length+f:f;return p>=0&&p<c.length&&c.splice(p,1),c}if(typeof f=="string"&&r&&typeof r=="object"&&!Array.isArray(r)){let c={...r};return delete c[f],c}return r}case"Iterate":return Array.isArray(r)?[]:r&&typeof r=="object"?{}:r;default:return r}}return i(t,e)}function d(t){return t!==null&&t!==!1}function _(t,e,n,i,r){if(e==="and")return u(t,n,r).flatMap(c=>d(c)?u(t,i,r).map(y=>d(y)):[!1]);if(e==="or")return u(t,n,r).flatMap(c=>d(c)?[!0]:u(t,i,r).map(y=>d(y)));if(e==="//"){let c=u(t,n,r).filter(p=>p!=null&&p!==!1);return c.length>0?c:u(t,i,r)}let s=u(t,n,r),o=u(t,i,r);return s.flatMap(f=>o.map(c=>{switch(e){case"+":return typeof f=="number"&&typeof c=="number"||typeof f=="string"&&typeof c=="string"?f+c:Array.isArray(f)&&Array.isArray(c)?[...f,...c]:f&&c&&typeof f=="object"&&typeof c=="object"&&!Array.isArray(f)&&!Array.isArray(c)?{...f,...c}:null;case"-":if(typeof f=="number"&&typeof c=="number")return f-c;if(Array.isArray(f)&&Array.isArray(c)){let p=new Set(c.map(y=>JSON.stringify(y)));return f.filter(y=>!p.has(JSON.stringify(y)))}return null;case"*":return typeof f=="number"&&typeof c=="number"?f*c:typeof f=="string"&&typeof c=="number"?f.repeat(c):f&&c&&typeof f=="object"&&typeof c=="object"&&!Array.isArray(f)&&!Array.isArray(c)?w(f,c):null;case"/":return typeof f=="number"&&typeof c=="number"?f/c:typeof f=="string"&&typeof c=="string"?f.split(c):null;case"%":return typeof f=="number"&&typeof c=="number"?f%c:null;case"==":return g(f,c);case"!=":return!g(f,c);case"<":return j(f,c)<0;case"<=":return j(f,c)<=0;case">":return j(f,c)>0;case">=":return j(f,c)>=0;default:return null}}))}function g(t,e){return JSON.stringify(t)===JSON.stringify(e)}function j(t,e){return typeof t=="number"&&typeof e=="number"?t-e:typeof t=="string"&&typeof e=="string"?t.localeCompare(e):0}function w(t,e){let n={...t};for(let i of Object.keys(e))i in n&&n[i]&&typeof n[i]=="object"&&!Array.isArray(n[i])&&e[i]&&typeof e[i]=="object"&&!Array.isArray(e[i])?n[i]=w(n[i],e[i]):n[i]=e[i];return n}function C(t,e,n,i){switch(e){case"keys":return Array.isArray(t)?[t.map((r,s)=>s)]:t&&typeof t=="object"?[Object.keys(t).sort()]:[null];case"keys_unsorted":return Array.isArray(t)?[t.map((r,s)=>s)]:t&&typeof t=="object"?[Object.keys(t)]:[null];case"values":return Array.isArray(t)?[t]:t&&typeof t=="object"?[Object.values(t)]:[null];case"length":return typeof t=="string"?[t.length]:Array.isArray(t)?[t.length]:t&&typeof t=="object"?[Object.keys(t).length]:t===null?[0]:[null];case"utf8bytelength":return typeof t=="string"?[new TextEncoder().encode(t).length]:[null];case"type":return t===null?["null"]:Array.isArray(t)?["array"]:typeof t=="boolean"?["boolean"]:typeof t=="number"?["number"]:typeof t=="string"?["string"]:typeof t=="object"?["object"]:["null"];case"empty":return[];case"error":{let r=n.length>0?u(t,n[0],i)[0]:t;throw new Error(String(r))}case"not":return[!d(t)];case"null":return[null];case"true":return[!0];case"false":return[!1];case"first":if(n.length>0){let r=u(t,n[0],i);return r.length>0?[r[0]]:[]}return Array.isArray(t)&&t.length>0?[t[0]]:[null];case"last":if(n.length>0){let r=u(t,n[0],i);return r.length>0?[r[r.length-1]]:[]}return Array.isArray(t)&&t.length>0?[t[t.length-1]]:[null];case"nth":{if(n.length<1)return[null];let s=u(t,n[0],i)[0];if(n.length>1){let o=u(t,n[1],i);return s>=0&&s<o.length?[o[s]]:[]}return Array.isArray(t)?s>=0&&s<t.length?[t[s]]:[null]:[null]}case"range":{if(n.length===0)return[];let r=u(t,n[0],i);if(n.length===1){let p=r[0];return Array.from({length:p},(y,h)=>h)}let s=u(t,n[1],i),o=r[0],f=s[0],c=[];for(let p=o;p<f;p++)c.push(p);return c}case"reverse":return Array.isArray(t)?[[...t].reverse()]:typeof t=="string"?[t.split("").reverse().join("")]:[null];case"sort":return Array.isArray(t)?[[...t].sort(m)]:[null];case"sort_by":return!Array.isArray(t)||n.length===0?[null]:[[...t].sort((s,o)=>{let f=u(s,n[0],i)[0],c=u(o,n[0],i)[0];return m(f,c)})];case"unique":if(Array.isArray(t)){let r=new Set,s=[];for(let o of t){let f=JSON.stringify(o);r.has(f)||(r.add(f),s.push(o))}return[s]}return[null];case"unique_by":{if(!Array.isArray(t)||n.length===0)return[null];let r=new Set,s=[];for(let o of t){let f=JSON.stringify(u(o,n[0],i)[0]);r.has(f)||(r.add(f),s.push(o))}return[s]}case"group_by":{if(!Array.isArray(t)||n.length===0)return[null];let r=new Map;for(let s of t){let o=JSON.stringify(u(s,n[0],i)[0]);r.has(o)||r.set(o,[]),r.get(o)?.push(s)}return[[...r.values()]]}case"max":return Array.isArray(t)&&t.length>0?[t.reduce((r,s)=>m(r,s)>0?r:s)]:[null];case"max_by":return!Array.isArray(t)||t.length===0||n.length===0?[null]:[t.reduce((r,s)=>{let o=u(r,n[0],i)[0],f=u(s,n[0],i)[0];return m(o,f)>0?r:s})];case"min":return Array.isArray(t)&&t.length>0?[t.reduce((r,s)=>m(r,s)<0?r:s)]:[null];case"min_by":return!Array.isArray(t)||t.length===0||n.length===0?[null]:[t.reduce((r,s)=>{let o=u(r,n[0],i)[0],f=u(s,n[0],i)[0];return m(o,f)<0?r:s})];case"flatten":{if(!Array.isArray(t))return[null];let r=n.length>0?u(t,n[0],i)[0]:Number.POSITIVE_INFINITY;return[t.flat(r)]}case"add":if(Array.isArray(t)){if(t.length===0)return[null];if(t.every(r=>typeof r=="number"))return[t.reduce((r,s)=>r+s,0)];if(t.every(r=>typeof r=="string"))return[t.join("")];if(t.every(r=>Array.isArray(r)))return[t.flat()];if(t.every(r=>r&&typeof r=="object"&&!Array.isArray(r)))return[Object.assign({},...t)]}return[null];case"any":return n.length>0?Array.isArray(t)?[t.some(r=>d(u(r,n[0],i)[0]))]:[!1]:Array.isArray(t)?[t.some(d)]:[!1];case"all":return n.length>0?Array.isArray(t)?[t.every(r=>d(u(r,n[0],i)[0]))]:[!0]:Array.isArray(t)?[t.every(d)]:[!0];case"select":return n.length===0?[t]:u(t,n[0],i).some(d)?[t]:[];case"map":return n.length===0||!Array.isArray(t)?[null]:[t.flatMap(s=>u(s,n[0],i))];case"map_values":{if(n.length===0)return[null];if(Array.isArray(t))return[t.flatMap(r=>u(r,n[0],i))];if(t&&typeof t=="object"){let r={};for(let[s,o]of Object.entries(t)){let f=u(o,n[0],i);f.length>0&&(r[s]=f[0])}return[r]}return[null]}case"has":{if(n.length===0)return[!1];let s=u(t,n[0],i)[0];return Array.isArray(t)&&typeof s=="number"?[s>=0&&s<t.length]:t&&typeof t=="object"&&typeof s=="string"?[s in t]:[!1]}case"in":{if(n.length===0)return[!1];let s=u(t,n[0],i)[0];return Array.isArray(s)&&typeof t=="number"?[t>=0&&t<s.length]:s&&typeof s=="object"&&typeof t=="string"?[t in s]:[!1]}case"contains":{if(n.length===0)return[!1];let r=u(t,n[0],i);return[O(t,r[0])]}case"inside":{if(n.length===0)return[!1];let r=u(t,n[0],i);return[O(r[0],t)]}case"getpath":{if(n.length===0)return[null];let s=u(t,n[0],i)[0],o=t;for(let f of s){if(o==null)return[null];if(Array.isArray(o)&&typeof f=="number")o=o[f];else if(typeof o=="object"&&typeof f=="string")o=o[f];else return[null]}return[o]}case"setpath":{if(n.length<2)return[null];let s=u(t,n[0],i)[0],f=u(t,n[1],i)[0];return[R(t,s,f)]}case"delpaths":{if(n.length===0)return[t];let s=u(t,n[0],i)[0],o=t;for(let f of s.sort((c,p)=>p.length-c.length))o=x(o,f);return[o]}case"path":{if(n.length===0)return[[]];let r=[];return $(t,n[0],i,[],r),r}case"del":return n.length===0?[t]:[B(t,n[0],i)];case"paths":{let r=[],s=(o,f)=>{if(o&&typeof o=="object")if(Array.isArray(o))for(let c=0;c<o.length;c++)r.push([...f,c]),s(o[c],[...f,c]);else for(let c of Object.keys(o))r.push([...f,c]),s(o[c],[...f,c])};return s(t,[]),n.length>0?r.filter(o=>{let f=t;for(let p of o)if(Array.isArray(f)&&typeof p=="number")f=f[p];else if(f&&typeof f=="object"&&typeof p=="string")f=f[p];else return!1;return u(f,n[0],i).some(d)}):r}case"leaf_paths":{let r=[],s=(o,f)=>{if(o===null||typeof o!="object")r.push(f);else if(Array.isArray(o))for(let c=0;c<o.length;c++)s(o[c],[...f,c]);else for(let c of Object.keys(o))s(o[c],[...f,c])};return s(t,[]),[r]}case"to_entries":return t&&typeof t=="object"&&!Array.isArray(t)?[Object.entries(t).map(([r,s])=>({key:r,value:s}))]:[null];case"from_entries":if(Array.isArray(t)){let r={};for(let s of t)if(s&&typeof s=="object"){let o=s,f=o.key??o.name??o.k,c=o.value??o.v;f!==void 0&&(r[String(f)]=c)}return[r]}return[null];case"with_entries":{if(n.length===0)return[t];if(t&&typeof t=="object"&&!Array.isArray(t)){let s=Object.entries(t).map(([f,c])=>({key:f,value:c})).flatMap(f=>u(f,n[0],i)),o={};for(let f of s)if(f&&typeof f=="object"){let c=f,p=c.key??c.name??c.k,y=c.value??c.v;p!==void 0&&(o[String(p)]=y)}return[o]}return[null]}case"join":{if(!Array.isArray(t))return[null];let r=n.length>0?u(t,n[0],i):[""],s=String(r[0]);return[t.map(o=>typeof o=="string"?o:JSON.stringify(o)).join(s)]}case"split":{if(typeof t!="string"||n.length===0)return[null];let r=u(t,n[0],i),s=String(r[0]);return[t.split(s)]}case"test":{if(typeof t!="string"||n.length===0)return[!1];let r=u(t,n[0],i),s=String(r[0]);try{let o=n.length>1?String(u(t,n[1],i)[0]):"";return[new RegExp(s,o).test(t)]}catch{return[!1]}}case"match":{if(typeof t!="string"||n.length===0)return[null];let r=u(t,n[0],i),s=String(r[0]);try{let o=n.length>1?String(u(t,n[1],i)[0]):"",c=new RegExp(s,`${o}d`).exec(t);if(!c)return[];let p=c.indices;return[{offset:c.index,length:c[0].length,string:c[0],captures:c.slice(1).map((y,h)=>({offset:p?.[h+1]?.[0]??null,length:y?.length??0,string:y??"",name:null}))}]}catch{return[null]}}case"capture":{if(typeof t!="string"||n.length===0)return[null];let r=u(t,n[0],i),s=String(r[0]);try{let o=n.length>1?String(u(t,n[1],i)[0]):"",f=new RegExp(s,o),c=t.match(f);return!c||!c.groups?[{}]:[c.groups]}catch{return[null]}}case"sub":{if(typeof t!="string"||n.length<2)return[null];let r=u(t,n[0],i),s=u(t,n[1],i),o=String(r[0]),f=String(s[0]);try{let c=n.length>2?String(u(t,n[2],i)[0]):"";return[t.replace(new RegExp(o,c),f)]}catch{return[t]}}case"gsub":{if(typeof t!="string"||n.length<2)return[null];let r=u(t,n[0],i),s=u(t,n[1],i),o=String(r[0]),f=String(s[0]);try{let c=n.length>2?String(u(t,n[2],i)[0]):"g",p=c.includes("g")?c:`${c}g`;return[t.replace(new RegExp(o,p),f)]}catch{return[t]}}case"ascii_downcase":return typeof t=="string"?[t.toLowerCase()]:[null];case"ascii_upcase":return typeof t=="string"?[t.toUpperCase()]:[null];case"ltrimstr":{if(typeof t!="string"||n.length===0)return[t];let r=u(t,n[0],i),s=String(r[0]);return[t.startsWith(s)?t.slice(s.length):t]}case"rtrimstr":{if(typeof t!="string"||n.length===0)return[t];let r=u(t,n[0],i),s=String(r[0]);return[t.endsWith(s)?t.slice(0,-s.length):t]}case"trim":return typeof t=="string"?[t.trim()]:[t];case"startswith":{if(typeof t!="string"||n.length===0)return[!1];let r=u(t,n[0],i);return[t.startsWith(String(r[0]))]}case"endswith":{if(typeof t!="string"||n.length===0)return[!1];let r=u(t,n[0],i);return[t.endsWith(String(r[0]))]}case"index":{if(n.length===0)return[null];let s=u(t,n[0],i)[0];if(typeof t=="string"&&typeof s=="string"){let o=t.indexOf(s);return[o>=0?o:null]}if(Array.isArray(t)){let o=t.findIndex(f=>g(f,s));return[o>=0?o:null]}return[null]}case"rindex":{if(n.length===0)return[null];let s=u(t,n[0],i)[0];if(typeof t=="string"&&typeof s=="string"){let o=t.lastIndexOf(s);return[o>=0?o:null]}if(Array.isArray(t)){for(let o=t.length-1;o>=0;o--)if(g(t[o],s))return[o];return[null]}return[null]}case"indices":{if(n.length===0)return[[]];let s=u(t,n[0],i)[0],o=[];if(typeof t=="string"&&typeof s=="string"){let f=t.indexOf(s);for(;f!==-1;)o.push(f),f=t.indexOf(s,f+1)}else if(Array.isArray(t))for(let f=0;f<t.length;f++)g(t[f],s)&&o.push(f);return[o]}case"floor":return typeof t=="number"?[Math.floor(t)]:[null];case"ceil":return typeof t=="number"?[Math.ceil(t)]:[null];case"round":return typeof t=="number"?[Math.round(t)]:[null];case"sqrt":return typeof t=="number"?[Math.sqrt(t)]:[null];case"fabs":case"abs":return typeof t=="number"?[Math.abs(t)]:[null];case"log":return typeof t=="number"?[Math.log(t)]:[null];case"log10":return typeof t=="number"?[Math.log10(t)]:[null];case"log2":return typeof t=="number"?[Math.log2(t)]:[null];case"exp":return typeof t=="number"?[Math.exp(t)]:[null];case"exp10":return typeof t=="number"?[10**t]:[null];case"exp2":return typeof t=="number"?[2**t]:[null];case"pow":{if(typeof t!="number"||n.length===0)return[null];let s=u(t,n[0],i)[0];return[t**s]}case"sin":return typeof t=="number"?[Math.sin(t)]:[null];case"cos":return typeof t=="number"?[Math.cos(t)]:[null];case"tan":return typeof t=="number"?[Math.tan(t)]:[null];case"asin":return typeof t=="number"?[Math.asin(t)]:[null];case"acos":return typeof t=="number"?[Math.acos(t)]:[null];case"atan":return typeof t=="number"?[Math.atan(t)]:[null];case"tostring":return typeof t=="string"?[t]:[JSON.stringify(t)];case"tonumber":if(typeof t=="number")return[t];if(typeof t=="string"){let r=Number(t);return[Number.isNaN(r)?null:r]}return[null];case"infinite":return[!Number.isFinite(t)];case"nan":return[Number.isNaN(t)];case"isinfinite":return[typeof t=="number"&&!Number.isFinite(t)];case"isnan":return[typeof t=="number"&&Number.isNaN(t)];case"isnormal":return[typeof t=="number"&&Number.isFinite(t)&&t!==0];case"isfinite":return[typeof t=="number"&&Number.isFinite(t)];case"numbers":return typeof t=="number"?[t]:[];case"strings":return typeof t=="string"?[t]:[];case"booleans":return typeof t=="boolean"?[t]:[];case"nulls":return t===null?[t]:[];case"arrays":return Array.isArray(t)?[t]:[];case"objects":return t&&typeof t=="object"&&!Array.isArray(t)?[t]:[];case"iterables":return Array.isArray(t)||t&&typeof t=="object"&&!Array.isArray(t)?[t]:[];case"scalars":return!Array.isArray(t)&&!(t&&typeof t=="object")?[t]:[];case"now":return[Date.now()/1e3];case"env":return[i.env??{}];case"recurse":{if(n.length===0){let f=[],c=p=>{if(f.push(p),Array.isArray(p))for(let y of p)c(y);else if(p&&typeof p=="object")for(let y of Object.keys(p))c(p[y])};return c(t),f}let r=[],s=new Set,o=f=>{let c=JSON.stringify(f);if(s.has(c))return;s.add(c),r.push(f);let p=u(f,n[0],i);for(let y of p)y!=null&&o(y)};return o(t),r}case"recurse_down":return C(t,"recurse",n,i);case"walk":{if(n.length===0)return[t];let r=new WeakSet,s=o=>{if(o&&typeof o=="object"){if(r.has(o))return o;r.add(o)}let f;if(Array.isArray(o))f=o.map(s);else if(o&&typeof o=="object"){let p={};for(let[y,h]of Object.entries(o))p[y]=s(h);f=p}else f=o;return u(f,n[0],i)[0]};return[s(t)]}case"transpose":{if(!Array.isArray(t))return[null];if(t.length===0)return[[]];let r=Math.max(...t.map(o=>Array.isArray(o)?o.length:0)),s=[];for(let o=0;o<r;o++)s.push(t.map(f=>Array.isArray(f)?f[o]:null));return[s]}case"ascii":return typeof t=="string"&&t.length>0?[t.charCodeAt(0)]:[null];case"explode":return typeof t=="string"?[Array.from(t).map(r=>r.codePointAt(0))]:[null];case"implode":return Array.isArray(t)?[String.fromCodePoint(...t)]:[null];case"tojson":case"tojsonstream":return[JSON.stringify(t)];case"fromjson":{if(typeof t=="string")try{return[JSON.parse(t)]}catch{return[null]}return[null]}case"limit":{if(n.length<2)return[];let s=u(t,n[0],i)[0];return u(t,n[1],i).slice(0,s)}case"until":{if(n.length<2)return[t];let r=t,s=i.limits.maxIterations;for(let o=0;o<s;o++){if(u(r,n[0],i).some(d))return[r];let c=u(r,n[1],i);if(c.length===0)return[r];r=c[0]}throw new k(`jq until: too many iterations (${s}), increase executionLimits.maxJqIterations`,"iterations")}case"while":{if(n.length<2)return[t];let r=[],s=t,o=i.limits.maxIterations;for(let f=0;f<o&&u(s,n[0],i).some(d);f++){r.push(s);let p=u(s,n[1],i);if(p.length===0)break;s=p[0]}if(r.length>=o)throw new k(`jq while: too many iterations (${o}), increase executionLimits.maxJqIterations`,"iterations");return r}case"repeat":{if(n.length===0)return[t];let r=[],s=t,o=i.limits.maxIterations;for(let f=0;f<o;f++){r.push(s);let c=u(s,n[0],i);if(c.length===0)break;s=c[0]}if(r.length>=o)throw new k(`jq repeat: too many iterations (${o}), increase executionLimits.maxJqIterations`,"iterations");return r}case"debug":return[t];case"input_line_number":return[1];case"@base64":return typeof t=="string"?typeof Buffer<"u"?[Buffer.from(t,"utf-8").toString("base64")]:[btoa(t)]:[null];case"@base64d":return typeof t=="string"?typeof Buffer<"u"?[Buffer.from(t,"base64").toString("utf-8")]:[atob(t)]:[null];case"@uri":return typeof t=="string"?[encodeURIComponent(t)]:[null];case"@csv":return Array.isArray(t)?[t.map(s=>{let o=String(s??"");return o.includes(",")||o.includes('"')||o.includes(`
2
- `)?`"${o.replace(/"/g,'""')}"`:o}).join(",")]:[null];case"@tsv":return Array.isArray(t)?[t.map(r=>String(r??"").replace(/\t/g,"\\t").replace(/\n/g,"\\n")).join(" ")]:[null];case"@json":return[JSON.stringify(t)];case"@html":return typeof t=="string"?[t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")]:[null];case"@sh":return typeof t=="string"?[`'${t.replace(/'/g,"'\\''")}'`]:[null];case"@text":return typeof t=="string"?[t]:t==null?[""]:[String(t)];case"parent":{if(i.root===void 0||i.currentPath===void 0)return[];let r=i.currentPath;if(r.length===0)return[];let s=n.length>0?u(t,n[0],i)[0]:1;if(s>=0){if(s>r.length)return[];let o=r.slice(0,r.length-s);return[S(i.root,o)]}else{let o=-s-1;if(o>=r.length)return[t];let f=r.slice(0,o);return[S(i.root,f)]}}case"parents":{if(i.root===void 0||i.currentPath===void 0)return[[]];let r=i.currentPath,s=[];for(let o=r.length-1;o>=0;o--)s.push(S(i.root,r.slice(0,o)));return[s]}case"root":return i.root!==void 0?[i.root]:[];default:throw new Error(`Unknown function: ${e}`)}}function m(t,e){let n=s=>s===null?0:typeof s=="boolean"?1:typeof s=="number"?2:typeof s=="string"?3:Array.isArray(s)?4:typeof s=="object"?5:6,i=n(t),r=n(e);if(i!==r)return i-r;if(typeof t=="number"&&typeof e=="number")return t-e;if(typeof t=="string"&&typeof e=="string")return t.localeCompare(e);if(typeof t=="boolean"&&typeof e=="boolean")return(t?1:0)-(e?1:0);if(Array.isArray(t)&&Array.isArray(e)){for(let s=0;s<Math.min(t.length,e.length);s++){let o=m(t[s],e[s]);if(o!==0)return o}return t.length-e.length}return 0}function O(t,e){if(g(t,e))return!0;if(Array.isArray(t)&&Array.isArray(e))return e.every(n=>t.some(i=>O(i,n)));if(t&&e&&typeof t=="object"&&typeof e=="object"&&!Array.isArray(t)&&!Array.isArray(e)){let n=t,i=e;return Object.keys(i).every(r=>r in n&&O(n[r],i[r]))}return!1}function R(t,e,n){if(e.length===0)return n;let[i,...r]=e;if(typeof i=="number"){let o=Array.isArray(t)?[...t]:[];for(;o.length<=i;)o.push(null);return o[i]=R(o[i],r,n),o}let s=t&&typeof t=="object"&&!Array.isArray(t)?{...t}:{};return s[i]=R(s[i],r,n),s}function x(t,e){if(e.length===0)return null;if(e.length===1){let r=e[0];if(Array.isArray(t)&&typeof r=="number"){let s=[...t];return s.splice(r,1),s}if(t&&typeof t=="object"&&!Array.isArray(t)){let s={...t};return delete s[String(r)],s}return t}let[n,...i]=e;if(Array.isArray(t)&&typeof n=="number"){let r=[...t];return r[n]=x(r[n],i),r}if(t&&typeof t=="object"&&!Array.isArray(t)){let r={...t};return r[String(n)]=x(r[String(n)],i),r}return t}function $(t,e,n,i,r){u(t,e,n).length>0&&r.push(i)}var F={and:"AND",or:"OR",not:"NOT",if:"IF",then:"THEN",elif:"ELIF",else:"ELSE",end:"END",as:"AS",try:"TRY",catch:"CATCH",true:"TRUE",false:"FALSE",null:"NULL",reduce:"REDUCE",foreach:"FOREACH"};function L(t){let e=[],n=0,i=(p=0)=>t[n+p],r=()=>t[n++],s=()=>n>=t.length,o=p=>p>="0"&&p<="9",f=p=>p>="a"&&p<="z"||p>="A"&&p<="Z"||p==="_",c=p=>f(p)||o(p);for(;!s();){let p=n,y=r();if(!(y===" "||y===" "||y===`
3
- `||y==="\r")){if(y==="#"){for(;!s()&&i()!==`
4
- `;)r();continue}if(y==="."&&i()==="."){r(),e.push({type:"DOTDOT",pos:p});continue}if(y==="="&&i()==="="){r(),e.push({type:"EQ",pos:p});continue}if(y==="!"&&i()==="="){r(),e.push({type:"NE",pos:p});continue}if(y==="<"&&i()==="="){r(),e.push({type:"LE",pos:p});continue}if(y===">"&&i()==="="){r(),e.push({type:"GE",pos:p});continue}if(y==="/"&&i()==="/"){r(),i()==="="?(r(),e.push({type:"UPDATE_ALT",pos:p})):e.push({type:"ALT",pos:p});continue}if(y==="+"&&i()==="="){r(),e.push({type:"UPDATE_ADD",pos:p});continue}if(y==="-"&&i()==="="){r(),e.push({type:"UPDATE_SUB",pos:p});continue}if(y==="*"&&i()==="="){r(),e.push({type:"UPDATE_MUL",pos:p});continue}if(y==="/"&&i()==="="){r(),e.push({type:"UPDATE_DIV",pos:p});continue}if(y==="%"&&i()==="="){r(),e.push({type:"UPDATE_MOD",pos:p});continue}if(y==="="&&i()!=="="){e.push({type:"ASSIGN",pos:p});continue}if(y==="."){e.push({type:"DOT",pos:p});continue}if(y==="|"){i()==="="?(r(),e.push({type:"UPDATE_PIPE",pos:p})):e.push({type:"PIPE",pos:p});continue}if(y===","){e.push({type:"COMMA",pos:p});continue}if(y===":"){e.push({type:"COLON",pos:p});continue}if(y===";"){e.push({type:"SEMICOLON",pos:p});continue}if(y==="("){e.push({type:"LPAREN",pos:p});continue}if(y===")"){e.push({type:"RPAREN",pos:p});continue}if(y==="["){e.push({type:"LBRACKET",pos:p});continue}if(y==="]"){e.push({type:"RBRACKET",pos:p});continue}if(y==="{"){e.push({type:"LBRACE",pos:p});continue}if(y==="}"){e.push({type:"RBRACE",pos:p});continue}if(y==="?"){e.push({type:"QUESTION",pos:p});continue}if(y==="+"){e.push({type:"PLUS",pos:p});continue}if(y==="-"){if(o(i())){let h=y;for(;!s()&&(o(i())||i()===".");)h+=r();e.push({type:"NUMBER",value:Number(h),pos:p});continue}e.push({type:"MINUS",pos:p});continue}if(y==="*"){e.push({type:"STAR",pos:p});continue}if(y==="/"){e.push({type:"SLASH",pos:p});continue}if(y==="%"){e.push({type:"PERCENT",pos:p});continue}if(y==="<"){e.push({type:"LT",pos:p});continue}if(y===">"){e.push({type:"GT",pos:p});continue}if(o(y)){let h=y;for(;!s()&&(o(i())||i()==="."||i()==="e"||i()==="E");)(i()==="e"||i()==="E")&&(t[n+1]==="+"||t[n+1]==="-")&&(h+=r()),h+=r();e.push({type:"NUMBER",value:Number(h),pos:p});continue}if(y==='"'){let h="";for(;!s()&&i()!=='"';)if(i()==="\\"){if(r(),s())break;let a=r();switch(a){case"n":h+=`
5
- `;break;case"r":h+="\r";break;case"t":h+=" ";break;case"\\":h+="\\";break;case'"':h+='"';break;case"(":h+="\\(";break;default:h+=a}}else h+=r();s()||r(),e.push({type:"STRING",value:h,pos:p});continue}if(f(y)||y==="$"||y==="@"){let h=y;for(;!s()&&c(i());)h+=r();let a=F[h];a?e.push({type:a,pos:p}):e.push({type:"IDENT",value:h,pos:p});continue}throw new Error(`Unexpected character '${y}' at position ${p}`)}}return e.push({type:"EOF",pos:n}),e}var P=class t{tokens;pos=0;constructor(e){this.tokens=e}peek(e=0){return this.tokens[this.pos+e]??{type:"EOF",pos:-1}}advance(){return this.tokens[this.pos++]}check(e){return this.peek().type===e}match(...e){for(let n of e)if(this.check(n))return this.advance();return null}expect(e,n){if(!this.check(e))throw new Error(`${n} at position ${this.peek().pos}, got ${this.peek().type}`);return this.advance()}parse(){let e=this.parseExpr();if(!this.check("EOF"))throw new Error(`Unexpected token ${this.peek().type} at position ${this.peek().pos}`);return e}parseExpr(){return this.parsePipe()}parsePipe(){let e=this.parseComma();for(;this.match("PIPE");){let n=this.parseComma();e={type:"Pipe",left:e,right:n}}return e}parseComma(){let e=this.parseVarBind();for(;this.match("COMMA");){let n=this.parseVarBind();e={type:"Comma",left:e,right:n}}return e}parseVarBind(){let e=this.parseUpdate();if(this.match("AS")){let n=this.expect("IDENT","Expected variable name after 'as'"),i=n.value;if(!i.startsWith("$"))throw new Error(`Variable name must start with $ at position ${n.pos}`);this.expect("PIPE","Expected '|' after variable binding");let r=this.parseExpr();return{type:"VarBind",name:i,value:e,body:r}}return e}parseUpdate(){let e=this.parseAlt(),n={ASSIGN:"=",UPDATE_ADD:"+=",UPDATE_SUB:"-=",UPDATE_MUL:"*=",UPDATE_DIV:"/=",UPDATE_MOD:"%=",UPDATE_ALT:"//=",UPDATE_PIPE:"|="},i=this.match("ASSIGN","UPDATE_ADD","UPDATE_SUB","UPDATE_MUL","UPDATE_DIV","UPDATE_MOD","UPDATE_ALT","UPDATE_PIPE");if(i){let r=this.parseVarBind();return{type:"UpdateOp",op:n[i.type],path:e,value:r}}return e}parseAlt(){let e=this.parseOr();for(;this.match("ALT");){let n=this.parseOr();e={type:"BinaryOp",op:"//",left:e,right:n}}return e}parseOr(){let e=this.parseAnd();for(;this.match("OR");){let n=this.parseAnd();e={type:"BinaryOp",op:"or",left:e,right:n}}return e}parseAnd(){let e=this.parseNot();for(;this.match("AND");){let n=this.parseNot();e={type:"BinaryOp",op:"and",left:e,right:n}}return e}parseNot(){return this.parseComparison()}parseComparison(){let e=this.parseAddSub(),n={EQ:"==",NE:"!=",LT:"<",LE:"<=",GT:">",GE:">="},i=this.match("EQ","NE","LT","LE","GT","GE");if(i){let r=this.parseAddSub();e={type:"BinaryOp",op:n[i.type],left:e,right:r}}return e}parseAddSub(){let e=this.parseMulDiv();for(;;)if(this.match("PLUS")){let n=this.parseMulDiv();e={type:"BinaryOp",op:"+",left:e,right:n}}else if(this.match("MINUS")){let n=this.parseMulDiv();e={type:"BinaryOp",op:"-",left:e,right:n}}else break;return e}parseMulDiv(){let e=this.parseUnary();for(;;)if(this.match("STAR")){let n=this.parseUnary();e={type:"BinaryOp",op:"*",left:e,right:n}}else if(this.match("SLASH")){let n=this.parseUnary();e={type:"BinaryOp",op:"/",left:e,right:n}}else if(this.match("PERCENT")){let n=this.parseUnary();e={type:"BinaryOp",op:"%",left:e,right:n}}else break;return e}parseUnary(){return this.match("MINUS")?{type:"UnaryOp",op:"-",operand:this.parseUnary()}:this.parsePostfix()}parsePostfix(){let e=this.parsePrimary();for(;;)if(this.match("QUESTION"))e={type:"Optional",expr:e};else if(this.check("DOT")&&this.peek(1).type==="IDENT")this.advance(),e={type:"Field",name:this.expect("IDENT","Expected field name").value,base:e};else if(this.check("LBRACKET"))if(this.advance(),this.match("RBRACKET"))e={type:"Iterate",base:e};else if(this.check("COLON")){this.advance();let n=this.check("RBRACKET")?void 0:this.parseExpr();this.expect("RBRACKET","Expected ']'"),e={type:"Slice",end:n,base:e}}else{let n=this.parseExpr();if(this.match("COLON")){let i=this.check("RBRACKET")?void 0:this.parseExpr();this.expect("RBRACKET","Expected ']'"),e={type:"Slice",start:n,end:i,base:e}}else this.expect("RBRACKET","Expected ']'"),e={type:"Index",index:n,base:e}}else break;return e}parsePrimary(){if(this.match("DOTDOT"))return{type:"Recurse"};if(this.match("DOT")){if(this.check("LBRACKET")){if(this.advance(),this.match("RBRACKET"))return{type:"Iterate"};if(this.check("COLON")){this.advance();let n=this.check("RBRACKET")?void 0:this.parseExpr();return this.expect("RBRACKET","Expected ']'"),{type:"Slice",end:n}}let e=this.parseExpr();if(this.match("COLON")){let n=this.check("RBRACKET")?void 0:this.parseExpr();return this.expect("RBRACKET","Expected ']'"),{type:"Slice",start:e,end:n}}return this.expect("RBRACKET","Expected ']'"),{type:"Index",index:e}}return this.check("IDENT")?{type:"Field",name:this.advance().value}:{type:"Identity"}}if(this.match("TRUE"))return{type:"Literal",value:!0};if(this.match("FALSE"))return{type:"Literal",value:!1};if(this.match("NULL"))return{type:"Literal",value:null};if(this.check("NUMBER"))return{type:"Literal",value:this.advance().value};if(this.check("STRING")){let n=this.advance().value;return n.includes("\\(")?this.parseStringInterpolation(n):{type:"Literal",value:n}}if(this.match("LBRACKET")){if(this.match("RBRACKET"))return{type:"Array"};let e=this.parseExpr();return this.expect("RBRACKET","Expected ']'"),{type:"Array",elements:e}}if(this.match("LBRACE"))return this.parseObjectConstruction();if(this.match("LPAREN")){let e=this.parseExpr();return this.expect("RPAREN","Expected ')'"),{type:"Paren",expr:e}}if(this.match("IF"))return this.parseIf();if(this.match("TRY")){let e=this.parsePostfix(),n;return this.match("CATCH")&&(n=this.parsePostfix()),{type:"Try",body:e,catch:n}}if(this.match("REDUCE")){let e=this.parsePostfix();this.expect("AS","Expected 'as' after reduce expression");let n=this.expect("IDENT","Expected variable name"),i=n.value;if(!i.startsWith("$"))throw new Error(`Variable name must start with $ at position ${n.pos}`);this.expect("LPAREN","Expected '(' after variable");let r=this.parseExpr();this.expect("SEMICOLON","Expected ';' after init expression");let s=this.parseExpr();return this.expect("RPAREN","Expected ')' after update expression"),{type:"Reduce",expr:e,varName:i,init:r,update:s}}if(this.match("FOREACH")){let e=this.parsePostfix();this.expect("AS","Expected 'as' after foreach expression");let n=this.expect("IDENT","Expected variable name"),i=n.value;if(!i.startsWith("$"))throw new Error(`Variable name must start with $ at position ${n.pos}`);this.expect("LPAREN","Expected '(' after variable");let r=this.parseExpr();this.expect("SEMICOLON","Expected ';' after init expression");let s=this.parseExpr(),o;return this.match("SEMICOLON")&&(o=this.parseExpr()),this.expect("RPAREN","Expected ')' after expressions"),{type:"Foreach",expr:e,varName:i,init:r,update:s,extract:o}}if(this.match("NOT"))return{type:"Call",name:"not",args:[]};if(this.check("IDENT")){let n=this.advance().value;if(n.startsWith("$"))return{type:"VarRef",name:n};if(this.match("LPAREN")){let i=[];if(!this.check("RPAREN"))for(i.push(this.parseExpr());this.match("SEMICOLON");)i.push(this.parseExpr());return this.expect("RPAREN","Expected ')'"),{type:"Call",name:n,args:i}}return{type:"Call",name:n,args:[]}}throw new Error(`Unexpected token ${this.peek().type} at position ${this.peek().pos}`)}parseObjectConstruction(){let e=[];if(!this.check("RBRACE"))do{let n,i;if(this.match("LPAREN"))n=this.parseExpr(),this.expect("RPAREN","Expected ')'"),this.expect("COLON","Expected ':'"),i=this.parseObjectValue();else if(this.check("IDENT")){let r=this.advance().value;this.match("COLON")?(n=r,i=this.parseObjectValue()):(n=r,i={type:"Field",name:r})}else if(this.check("STRING"))n=this.advance().value,this.expect("COLON","Expected ':'"),i=this.parseObjectValue();else throw new Error(`Expected object key at position ${this.peek().pos}`);e.push({key:n,value:i})}while(this.match("COMMA"));return this.expect("RBRACE","Expected '}'"),{type:"Object",entries:e}}parseObjectValue(){let e=this.parseVarBind();for(;this.match("PIPE");){let n=this.parseVarBind();e={type:"Pipe",left:e,right:n}}return e}parseIf(){let e=this.parseExpr();this.expect("THEN","Expected 'then'");let n=this.parseExpr(),i=[];for(;this.match("ELIF");){let s=this.parseExpr();this.expect("THEN","Expected 'then' after elif");let o=this.parseExpr();i.push({cond:s,then:o})}let r;return this.match("ELSE")&&(r=this.parseExpr()),this.expect("END","Expected 'end'"),{type:"Cond",cond:e,then:n,elifs:i,else:r}}parseStringInterpolation(e){let n=[],i="",r=0;for(;r<e.length;)if(e[r]==="\\"&&e[r+1]==="("){i&&(n.push(i),i=""),r+=2;let s=1,o="";for(;r<e.length&&s>0;)e[r]==="("?s++:e[r]===")"&&s--,s>0&&(o+=e[r]),r++;let f=L(o),c=new t(f);n.push(c.parse())}else i+=e[r],r++;return i&&n.push(i),{type:"StringInterp",parts:n}}};function q(t){let e=L(t);return new P(e).parse()}export{u as a,q as b};
@@ -1,16 +0,0 @@
1
- function _(t,n){return t.replace(/\$(&|\d+|<([^>]+)>)/g,(e,i,s)=>{if(i==="&")return n[0];if(s!==void 0)return n.groups?.[s]??"";let d=parseInt(i,10);return n[d]??""})}function F(t,n,e={}){let{invertMatch:i=!1,showLineNumbers:s=!1,countOnly:d=!1,countMatches:$=!1,filename:h="",onlyMatching:I=!1,beforeContext:z=0,afterContext:O=0,maxCount:A=0,contextSeparator:Z="--",showColumn:P=!1,vimgrep:E=!1,showByteOffset:S=!1,replace:b=null,passthru:R=!1,multiline:T=!1,kResetGroup:k}=e;if(T)return K(t,n,{invertMatch:i,showLineNumbers:s,countOnly:d,countMatches:$,filename:h,onlyMatching:I,beforeContext:z,afterContext:O,maxCount:A,contextSeparator:Z,showColumn:P,showByteOffset:S,replace:b,kResetGroup:k});let m=t.split(`
2
- `),j=m.length,v=j>0&&m[j-1]===""?j-1:j;if(d||$){let f=0,a=($||I)&&!i;for(let l=0;l<v;l++)if(n.lastIndex=0,a)for(let u=n.exec(m[l]);u!==null;u=n.exec(m[l]))f++,u[0].length===0&&n.lastIndex++;else n.test(m[l])!==i&&f++;return{output:`${h?`${h}:${f}`:String(f)}
3
- `,matched:f>0,matchCount:f}}if(z===0&&O===0&&!R){let f=[],a=!1,o=0,l=0;for(let u=0;u<v&&!(A>0&&o>=A);u++){let L=m[u];if(n.lastIndex=0,n.test(L)!==i)if(a=!0,o++,I){n.lastIndex=0;for(let r=n.exec(L);r!==null;r=n.exec(L)){let M=k!==void 0?r[k]??"":r[0],N=b!==null?_(b,r):M,y=h?`${h}:`:"";S&&(y+=`${l+r.index}:`),s&&(y+=`${u+1}:`),P&&(y+=`${r.index+1}:`),f.push(y+N),r[0].length===0&&n.lastIndex++}}else if(E){n.lastIndex=0;for(let r=n.exec(L);r!==null;r=n.exec(L)){let M=h?`${h}:`:"";S&&(M+=`${l+r.index}:`),s&&(M+=`${u+1}:`),P&&(M+=`${r.index+1}:`),f.push(M+L),r[0].length===0&&n.lastIndex++}}else{n.lastIndex=0;let r=n.exec(L),M=r?r.index+1:1,N=L;b!==null&&(n.lastIndex=0,N=L.replace(n,(...w)=>{if(w[0].length===0)return"";let U=w,B=w[w.length-1];return typeof B=="object"&&B!==null?(U.groups=B,U.input=w[w.length-2],U.index=w[w.length-3]):(U.input=w[w.length-1],U.index=w[w.length-2]),_(b,U)}));let y=h?`${h}:`:"";S&&(y+=`${l+(r?r.index:0)}:`),s&&(y+=`${u+1}:`),P&&(y+=`${M}:`),f.push(y+N)}l+=L.length+1}return{output:f.length>0?`${f.join(`
4
- `)}
5
- `:"",matched:a,matchCount:o}}if(R){let f=[],a=!1,o=0;for(let l=0;l<v;l++){let u=m[l];n.lastIndex=0;let G=n.test(u)!==i;G&&(a=!0,o++);let r=G?":":"-",M=h?`${h}${r}`:"";s&&(M+=`${l+1}${r}`),f.push(M+u)}return{output:f.length>0?`${f.join(`
6
- `)}
7
- `:"",matched:a,matchCount:o}}let x=[],C=0,p=new Set,g=-1,c=[];for(let f=0;f<v&&!(A>0&&C>=A);f++)n.lastIndex=0,n.test(m[f])!==i&&(c.push(f),C++);for(let f of c){let a=Math.max(0,f-z);g>=0&&a>g+1&&x.push(Z);for(let l=a;l<f;l++)if(!p.has(l)){p.add(l),g=l;let u=m[l];s&&(u=`${l+1}-${u}`),h&&(u=`${h}-${u}`),x.push(u)}if(!p.has(f)){p.add(f),g=f;let l=m[f];if(I){n.lastIndex=0;for(let u=n.exec(l);u!==null;u=n.exec(l)){let L=k!==void 0?u[k]??"":u[0],G=b!==null?b:L,r=h?`${h}:`:"";s&&(r+=`${f+1}:`),P&&(r+=`${u.index+1}:`),x.push(r+G),u[0].length===0&&n.lastIndex++}}else{let u=l;s&&(u=`${f+1}:${u}`),h&&(u=`${h}:${u}`),x.push(u)}}let o=Math.min(v-1,f+O);for(let l=f+1;l<=o;l++)if(!p.has(l)){p.add(l),g=l;let u=m[l];s&&(u=`${l+1}-${u}`),h&&(u=`${h}-${u}`),x.push(u)}}return{output:x.length>0?`${x.join(`
8
- `)}
9
- `:"",matched:C>0,matchCount:C}}function K(t,n,e){let{invertMatch:i,showLineNumbers:s,countOnly:d,countMatches:$,filename:h,onlyMatching:I,beforeContext:z,afterContext:O,maxCount:A,contextSeparator:Z,showColumn:P,showByteOffset:E,replace:S,kResetGroup:b}=e,R=t.split(`
10
- `),T=R.length,k=T>0&&R[T-1]===""?T-1:T,m=[0];for(let c=0;c<t.length;c++)t[c]===`
11
- `&&m.push(c+1);let j=c=>{let f=0;for(let a=0;a<m.length&&!(m[a]>c);a++)f=a;return f},v=c=>{let f=j(c);return c-m[f]+1},x=[];n.lastIndex=0;for(let c=n.exec(t);c!==null&&!(A>0&&x.length>=A);c=n.exec(t)){let f=j(c.index),a=j(c.index+Math.max(0,c[0].length-1)),o=b!==void 0?c[b]??"":c[0];x.push({startLine:f,endLine:a,byteOffset:c.index,column:v(c.index),matchText:o}),c[0].length===0&&n.lastIndex++}if(d||$){let c;if($)c=i?0:x.length;else{let a=new Set;for(let o of x)for(let l=o.startLine;l<=o.endLine;l++)a.add(l);c=i?k-a.size:a.size}return{output:`${h?`${h}:${c}`:String(c)}
12
- `,matched:c>0,matchCount:c}}if(i){let c=new Set;for(let a of x)for(let o=a.startLine;o<=a.endLine;o++)c.add(o);let f=[];for(let a=0;a<k;a++)if(!c.has(a)){let o=R[a];s&&(o=`${a+1}:${o}`),h&&(o=`${h}:${o}`),f.push(o)}return{output:f.length>0?`${f.join(`
13
- `)}
14
- `:"",matched:f.length>0,matchCount:f.length}}if(x.length===0)return{output:"",matched:!1,matchCount:0};let C=new Set,p=-1,g=[];for(let c of x){let f=Math.max(0,c.startLine-z),a=Math.min(k-1,c.endLine+O);p>=0&&f>p+1&&g.push(Z);for(let o=f;o<c.startLine;o++)if(!C.has(o)){C.add(o),p=o;let l=R[o];s&&(l=`${o+1}-${l}`),h&&(l=`${h}-${l}`),g.push(l)}if(I){let o=S!==null?S:c.matchText,l=h?`${h}:`:"";E&&(l+=`${c.byteOffset}:`),s&&(l+=`${c.startLine+1}:`),P&&(l+=`${c.column}:`),g.push(l+o);for(let u=c.startLine;u<=c.endLine;u++)C.add(u),p=u}else for(let o=c.startLine;o<=c.endLine&&o<k;o++)if(!C.has(o)){C.add(o),p=o;let l=R[o];S!==null&&o===c.startLine&&(n.lastIndex=0,l=l.replace(n,S));let u=h?`${h}:`:"";E&&o===c.startLine&&(u+=`${c.byteOffset}:`),s&&(u+=`${o+1}:`),P&&o===c.startLine&&(u+=`${c.column}:`),g.push(u+l)}for(let o=c.endLine+1;o<=a;o++)if(!C.has(o)){C.add(o),p=o;let l=R[o];s&&(l=`${o+1}-${l}`),h&&(l=`${h}-${l}`),g.push(l)}}return{output:g.length>0?`${g.join(`
15
- `)}
16
- `:"",matched:!0,matchCount:x.length}}function Q(t,n){let e,i;switch(n.mode){case"fixed":e=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");break;case"extended":case"perl":{if(e=t.replace(/\(\?P<([^>]+)>/g,"(?<$1>"),n.mode==="perl"){e=q(e),e=D(e),e=W(e);let $=X(e);e=$.pattern,i=$.kResetGroup}break}default:e=ne(t);break}n.wholeWord&&(e=`(?<![\\w])(?:${e})(?![\\w])`),n.lineRegexp&&(e=`^${e}$`);let s=/\\u\{[0-9A-Fa-f]+\}/.test(e),d="g"+(n.ignoreCase?"i":"")+(n.multiline?"m":"")+(n.multilineDotall?"s":"")+(s?"u":"");return{regex:new RegExp(e,d),kResetGroup:i}}function q(t){let n="",e=0;for(;e<t.length;)if(t[e]==="\\"&&e+1<t.length&&t[e+1]==="Q"){e+=2;let i="";for(;e<t.length;){if(t[e]==="\\"&&e+1<t.length&&t[e+1]==="E"){e+=2;break}i+=t[e],e++}n+=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}else n+=t[e],e++;return n}function D(t){return t.replace(/\\x\{([0-9A-Fa-f]+)\}/g,"\\u{$1}")}function W(t){let n="",e=0;for(;e<t.length;){if(t[e]==="("&&e+1<t.length&&t[e+1]==="?"){let i=t.slice(e).match(/^\(\?([imsx]*)(-[imsx]*)?(:|$|\))/);if(i){let s=i[1]||"",d=i[2]||"",$=i[3];if($===":"){let h=e+i[0].length-1,I=H(t,e);if(I!==-1){let z=t.slice(h+1,I),O=J(z,s,d);n+=`(?:${O})`,e=I+1;continue}}else if($===")"||$===""){e+=i[0].length;continue}}}n+=t[e],e++}return n}function H(t,n){let e=0,i=n;for(;i<t.length;){if(t[i]==="\\"){i+=2;continue}if(t[i]==="["){for(i++;i<t.length&&t[i]!=="]";)t[i]==="\\"&&i++,i++;i++;continue}if(t[i]==="(")e++;else if(t[i]===")"&&(e--,e===0))return i;i++}return-1}function J(t,n,e){let i=t;return n.includes("i")&&(i=V(i)),i}function V(t){let n="",e=0;for(;e<t.length;){let i=t[e];if(i==="\\"){e+1<t.length?(n+=i+t[e+1],e+=2):(n+=i,e++);continue}if(i==="["){n+=i,e++,e<t.length&&t[e]==="^"&&(n+=t[e],e++);let s=[];for(;e<t.length&&t[e]!=="]";)if(t[e]==="\\")s.push(t[e]),e++,e<t.length&&(s.push(t[e]),e++);else if(t[e]==="-"&&s.length>0&&e+1<t.length&&t[e+1]!=="]"){let d=s[s.length-1],$=t[e+1];s.push("-"),s.push($),/[a-z]/.test(d)&&/[a-z]/.test($)?(s.push(d.toUpperCase()),s.push("-"),s.push($.toUpperCase())):/[A-Z]/.test(d)&&/[A-Z]/.test($)&&(s.push(d.toLowerCase()),s.push("-"),s.push($.toLowerCase())),e+=2}else{let d=t[e];if(s.push(d),/[a-zA-Z]/.test(d)){let $=d===d.toLowerCase()?d.toUpperCase():d.toLowerCase();s.includes($)||s.push($)}e++}n+=s.join(""),e<t.length&&(n+=t[e],e++);continue}if(/[a-zA-Z]/.test(i)){let s=i.toLowerCase(),d=i.toUpperCase();n+=`[${d}${s}]`}else n+=i;e++}return n}function X(t){let n=Y(t);if(n===-1)return{pattern:t};let e=t.slice(0,n),i=t.slice(n+2),s=ee(e);return{pattern:`(?:${e})(${i})`,kResetGroup:s+1}}function Y(t){let n=0;for(;n<t.length-1;)if(t[n]==="\\"){if(t[n+1]==="K"){let e=0,i=n-1;for(;i>=0&&t[i]==="\\";)e++,i--;if(e%2===0)return n}n+=2}else n++;return-1}function ee(t){let n=0,e=0;for(;e<t.length;){if(t[e]==="\\"){e+=2;continue}if(t[e]==="["){for(e++;e<t.length&&t[e]!=="]";)t[e]==="\\"&&e++,e++;e++;continue}if(t[e]==="(")if(e+1<t.length&&t[e+1]==="?"){if(e+2<t.length){let i=t[e+2];if(i===":"||i==="="||i==="!"){e++;continue}if(i==="<"&&e+3<t.length){let s=t[e+3];if(s==="="||s==="!"){e++;continue}n++,e++;continue}}}else n++;e++}return n}function te(t){let n=t.replace(/\$\{0\}|\$0(?![0-9])/g,"$$&");return n=n.replace(/\$\{([^0-9}][^}]*)\}/g,"$$<$1>"),n=n.replace(/\$([a-zA-Z_][a-zA-Z0-9_]*)(?![>0-9])/g,"$$<$1>"),n}function ne(t){let n="",e=0;for(;e<t.length;){let i=t[e];if(i==="\\"&&e+1<t.length){let s=t[e+1];if(s==="|"||s==="("||s===")"){n+=s,e+=2;continue}else if(s==="{"||s==="}"){n+=`\\${s}`,e+=2;continue}}i==="+"||i==="?"||i==="|"||i==="("||i===")"||i==="{"||i==="}"?n+=`\\${i}`:n+=i,e++}return n}export{F as a,Q as b,te as c};
@@ -1,5 +0,0 @@
1
- var n=class extends Error{stdout;stderr;constructor(t,s="",e=""){super(t),this.stdout=s,this.stderr=e}prependOutput(t,s){this.stdout=t+this.stdout,this.stderr=s+this.stderr}},o=class extends n{levels;name="BreakError";constructor(t=1,s="",e=""){super("break",s,e),this.levels=t}},i=class extends n{levels;name="ContinueError";constructor(t=1,s="",e=""){super("continue",s,e),this.levels=t}},c=class extends n{exitCode;name="ReturnError";constructor(t=0,s="",e=""){super("return",s,e),this.exitCode=t}},a=class extends n{exitCode;name="ErrexitError";constructor(t,s="",e=""){super(`errexit: command exited with status ${t}`,s,e),this.exitCode=t}},x=class extends n{varName;name="NounsetError";constructor(t,s=""){super(`${t}: unbound variable`,s,`bash: ${t}: unbound variable
2
- `),this.varName=t}},d=class extends n{exitCode;name="ExitError";constructor(t,s="",e=""){super("exit",s,e),this.exitCode=t}},p=class extends n{name="ArithmeticError";constructor(t,s="",e=""){super(t,s,e),this.stderr=e||`bash: ${t}
3
- `}},l=class extends n{name="BadSubstitutionError";constructor(t,s="",e=""){super(t,s,e),this.stderr=e||`bash: ${t}: bad substitution
4
- `}},h=class extends n{limitType;name="ExecutionLimitError";static EXIT_CODE=126;constructor(t,s,e="",u=""){super(t,e,u),this.limitType=s,this.stderr=u||`bash: ${t}
5
- `}},b=class extends n{name="SubshellExitError";constructor(t="",s=""){super("subshell exit",t,s)}};function m(r){return r instanceof o||r instanceof i||r instanceof c}export{o as a,i as b,c,a as d,x as e,d as f,p as g,l as h,h as i,b as j,m as k};
@@ -1,2 +0,0 @@
1
- function i(t,a,e){let s=t;e>=0&&s.length>e&&(s=s.slice(0,e));let n=Math.abs(a);return n>s.length&&(a<0?s=s.padEnd(n," "):s=s.padStart(n," ")),s}function c(t,a){let e=a,s=0,n=-1,l=!1;for(e<t.length&&t[e]==="-"&&(l=!0,e++);e<t.length&&/\d/.test(t[e]);)s=s*10+parseInt(t[e],10),e++;if(e<t.length&&t[e]===".")for(e++,n=0;e<t.length&&/\d/.test(t[e]);)n=n*10+parseInt(t[e],10),e++;return l&&s>0&&(s=-s),[s,n,e-a]}function h(t){let a="",e=0;for(;e<t.length;)if(t[e]==="\\"&&e+1<t.length)switch(t[e+1]){case"n":a+=`
2
- `,e+=2;break;case"t":a+=" ",e+=2;break;case"r":a+="\r",e+=2;break;case"\\":a+="\\",e+=2;break;case"a":a+="\x07",e+=2;break;case"b":a+="\b",e+=2;break;case"f":a+="\f",e+=2;break;case"v":a+="\v",e+=2;break;case"e":case"E":a+="\x1B",e+=2;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":{let n="",l=e+1;for(;l<t.length&&l<e+4&&/[0-7]/.test(t[l]);)n+=t[l],l++;a+=String.fromCharCode(parseInt(n,8)),e=l;break}case"x":e+3<t.length&&/[0-9a-fA-F]{2}/.test(t.slice(e+2,e+4))?(a+=String.fromCharCode(parseInt(t.slice(e+2,e+4),16)),e+=4):(a+=t[e],e++);break;case"u":{let n="",l=e+2;for(;l<t.length&&l<e+6&&/[0-9a-fA-F]/.test(t[l]);)n+=t[l],l++;n?(a+=String.fromCodePoint(parseInt(n,16)),e=l):(a+="\\u",e+=2);break}case"U":{let n="",l=e+2;for(;l<t.length&&l<e+10&&/[0-9a-fA-F]/.test(t[l]);)n+=t[l],l++;n?(a+=String.fromCodePoint(parseInt(n,16)),e=l):(a+="\\U",e+=2);break}default:a+=t[e],e++}else a+=t[e],e++;return a}export{i as a,c as b,h as c};
@@ -1,15 +0,0 @@
1
- import{c as d}from"./chunk-74CEPOFO.js";function w(t,r){let i=10,s=null,o=!1,l=!1,n=!1,u=[];for(let f=0;f<t.length;f++){let e=t[f];if(e==="-n"&&f+1<t.length){let a=t[++f];r==="tail"&&a.startsWith("+")?(n=!0,i=parseInt(a.slice(1),10)):i=parseInt(a,10)}else if(r==="tail"&&e.startsWith("-n+"))n=!0,i=parseInt(e.slice(3),10);else if(e.startsWith("-n"))i=parseInt(e.slice(2),10);else if(e==="-c"&&f+1<t.length)s=parseInt(t[++f],10);else if(e.startsWith("-c"))s=parseInt(e.slice(2),10);else if(e.startsWith("--bytes="))s=parseInt(e.slice(8),10);else if(e.startsWith("--lines="))i=parseInt(e.slice(8),10);else if(e==="-q"||e==="--quiet"||e==="--silent")o=!0;else if(e==="-v"||e==="--verbose")l=!0;else if(e.match(/^-\d+$/))i=parseInt(e.slice(1),10);else{if(e.startsWith("--"))return{ok:!1,error:d(r,e)};if(e.startsWith("-")&&e!=="-")return{ok:!1,error:d(r,e)};u.push(e)}}return s!==null&&(Number.isNaN(s)||s<0)?{ok:!1,error:{stdout:"",stderr:`${r}: invalid number of bytes
2
- `,exitCode:1}}:Number.isNaN(i)||i<0?{ok:!1,error:{stdout:"",stderr:`${r}: invalid number of lines
3
- `,exitCode:1}}:{ok:!0,options:{lines:i,bytes:s,quiet:o,verbose:l,files:u,fromLine:n}}}async function I(t,r,i,s){let{quiet:o,verbose:l,files:n}=r;if(n.length===0)return{stdout:s(t.stdin),stderr:"",exitCode:0};let u="",f="",e=0,a=l||!o&&n.length>1;for(let h=0;h<n.length;h++){let p=n[h];a&&(h>0&&(u+=`
4
- `),u+=`==> ${p} <==
5
- `);try{let c=t.fs.resolvePath(t.cwd,p),b=await t.fs.readFile(c);u+=s(b)}catch{f+=`${i}: ${p}: No such file or directory
6
- `,e=1}}return{stdout:u,stderr:f,exitCode:e}}function W(t,r,i){if(i!==null)return t.slice(0,i);if(r===0)return"";let s=0,o=0,l=t.length;for(;s<l&&o<r;){let n=t.indexOf(`
7
- `,s);if(n===-1)return`${t}
8
- `;o++,s=n+1}return s>0?t.slice(0,s):""}function $(t,r,i,s){if(i!==null)return t.slice(-i);let o=t.length;if(o===0)return"";if(s){let f=0,e=1;for(;f<o&&e<r;){let h=t.indexOf(`
9
- `,f);if(h===-1)break;e++,f=h+1}let a=t.slice(f);return a.endsWith(`
10
- `)?a:`${a}
11
- `}if(r===0)return"";let l=o-1;t[l]===`
12
- `&&l--;let n=0;for(;l>=0&&n<r;){if(t[l]===`
13
- `&&(n++,n===r)){l++;break}l--}l<0&&(l=0);let u=t.slice(l);return t[o-1]===`
14
- `?u:`${u}
15
- `}export{w as a,I as b,W as c,$ as d};
@@ -1,8 +0,0 @@
1
- import{a as m,b as f,c as p}from"./chunk-74CEPOFO.js";import"./chunk-DXB73IDG.js";var O={name:"env",summary:"run a program in a modified environment",usage:"env [OPTION]... [NAME=VALUE]... [COMMAND [ARG]...]",options:["-i, --ignore-environment start with an empty environment","-u NAME, --unset=NAME remove NAME from the environment"," --help display this help and exit"]},y={name:"env",async execute(s,i){if(f(s))return m(O);let u=!1,o=[],l={},t=-1;for(let n=0;n<s.length;n++){let e=s[n];if(e==="-i"||e==="--ignore-environment")u=!0;else if(e==="-u"&&n+1<s.length)o.push(s[++n]);else if(e.startsWith("-u"))o.push(e.slice(2));else if(e.startsWith("--unset="))o.push(e.slice(8));else{if(e.startsWith("--")&&e!=="--")return p("env",e);if(e.startsWith("-")&&e!=="-"){for(let r of e.slice(1))if(r!=="i"&&r!=="u")return p("env",`-${r}`);e.includes("i")&&(u=!0)}else if(e.includes("=")&&t===-1){let r=e.indexOf("="),h=e.slice(0,r),x=e.slice(r+1);l[h]=x}else{t=n;break}}}let a;if(u)a={...l};else{a={...i.env};for(let n of o)delete a[n];Object.assign(a,l)}if(t===-1){let n=[];for(let[e,r]of Object.entries(a))n.push(`${e}=${r}`);return{stdout:n.join(`
2
- `)+(n.length>0?`
3
- `:""),stderr:"",exitCode:0}}if(!i.exec)return{stdout:"",stderr:`env: command execution not supported in this context
4
- `,exitCode:1};let c=s.slice(t).join(" "),d=Object.entries(l).map(([n,e])=>`${n}="${e}"`).join(" "),v=d?`${d} ${c}`:c;return i.exec(v,{cwd:i.cwd})}},g={name:"printenv",summary:"print all or part of environment",usage:"printenv [OPTION]... [VARIABLE]...",options:[" --help display this help and exit"]},A={name:"printenv",async execute(s,i){if(f(s))return m(g);let u=s.filter(t=>!t.startsWith("-"));if(u.length===0){let t=[];for(let[a,c]of Object.entries(i.env))t.push(`${a}=${c}`);return{stdout:t.join(`
5
- `)+(t.length>0?`
6
- `:""),stderr:"",exitCode:0}}let o=[],l=0;for(let t of u)t in i.env?o.push(i.env[t]):l=1;return{stdout:o.join(`
7
- `)+(o.length>0?`
8
- `:""),stderr:"",exitCode:l}}};export{y as envCommand,A as printenvCommand};