just-bash 2.0.0 → 2.2.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 (270) hide show
  1. package/README.md +2 -2
  2. package/dist/AGENTS.md +131 -3
  3. package/dist/bin/chunks/{alias-ZAQAKC5X.js → alias-PCMLRCRW.js} +1 -1
  4. package/dist/bin/chunks/{awk2-A73ZNFXJ.js → awk2-D2US2LMM.js} +1 -1
  5. package/dist/bin/{shell/chunks/base64-JPITV4MD.js → chunks/base64-RJX7MYGG.js} +1 -1
  6. package/dist/bin/{shell/chunks/basename-IYEP3AMY.js → chunks/basename-SO5MVUEX.js} +1 -1
  7. package/dist/bin/chunks/{bash-WZYHIZP6.js → bash-UT3MT5UU.js} +1 -1
  8. package/dist/bin/{shell/chunks/cat-XILYL7NW.js → chunks/cat-7TVSOZLU.js} +1 -1
  9. package/dist/bin/{shell/chunks/chmod-EXWX4N7Y.js → chunks/chmod-3DIKREF7.js} +1 -1
  10. package/dist/bin/chunks/chunk-ACRTDIBO.js +6 -0
  11. package/dist/bin/chunks/chunk-KGOUQS5A.js +2 -0
  12. package/dist/bin/chunks/chunk-OQRRF62X.js +10 -0
  13. package/dist/bin/chunks/chunk-QSDVMMYI.js +21 -0
  14. package/dist/bin/chunks/{clear-2APRIRCF.js → clear-CI7A5IXQ.js} +1 -1
  15. package/dist/bin/chunks/column-TSFEMTG6.js +8 -0
  16. package/dist/bin/chunks/{comm-KY3COLF5.js → comm-CPIFQTKY.js} +1 -1
  17. package/dist/bin/{shell/chunks/cp-HES4UN7K.js → chunks/cp-XXWRVG2D.js} +1 -1
  18. package/dist/bin/chunks/{curl-BN5M3BUX.js → curl-LCMREE7R.js} +1 -1
  19. package/dist/bin/chunks/{cut-JSIPAKOX.js → cut-VCKWLT2T.js} +1 -1
  20. package/dist/bin/chunks/{date-CU4J7GHI.js → date-IQLPMFYI.js} +1 -1
  21. package/dist/bin/{shell/chunks/diff-W4JRNHXW.js → chunks/diff-GI3QVUGD.js} +1 -1
  22. package/dist/bin/chunks/{dirname-UTCUUILN.js → dirname-EES7TR26.js} +1 -1
  23. package/dist/bin/chunks/{du-2JU3PUTM.js → du-ZONJJZUK.js} +1 -1
  24. package/dist/bin/{shell/chunks/echo-HKLPYMNC.js → chunks/echo-WSKTON6U.js} +1 -1
  25. package/dist/bin/chunks/{env-2SBJNP7X.js → env-YLLSNZZN.js} +1 -1
  26. package/dist/bin/chunks/expand-77K5HH2M.js +11 -0
  27. package/dist/bin/chunks/{expr-M74QZQ6C.js → expr-RMGXYNQJ.js} +1 -1
  28. package/dist/bin/chunks/{file-QPD3U2H7.js → file-XMPFXMUJ.js} +1 -1
  29. package/dist/bin/{shell/chunks/find-TRBVCSI6.js → chunks/find-P6UQXFKX.js} +1 -1
  30. package/dist/bin/chunks/fold-452R4I2C.js +12 -0
  31. package/dist/bin/{shell/chunks/grep-BEZRXAWL.js → chunks/grep-L5HBHEEQ.js} +1 -1
  32. package/dist/bin/chunks/{gzip-VLTXZB2V.js → gzip-MNCJB6OR.js} +1 -1
  33. package/dist/bin/chunks/{head-YGMY3DHE.js → head-DYK37Z24.js} +1 -1
  34. package/dist/bin/chunks/{help-UEF7LW7F.js → help-7C5JICNL.js} +1 -1
  35. package/dist/bin/{shell/chunks/history-OGBCIAR5.js → chunks/history-G5C2J2OY.js} +1 -1
  36. package/dist/bin/chunks/{hostname-CV7CGKRN.js → hostname-WXDKRL2Z.js} +1 -1
  37. package/dist/bin/chunks/{html-to-markdown-HTGML4TH.js → html-to-markdown-EPEXKI4B.js} +1 -1
  38. package/dist/bin/chunks/join-3IXMEGNA.js +14 -0
  39. package/dist/bin/chunks/jq-MTQKMJJI.js +16 -0
  40. package/dist/bin/chunks/{ln-RUR4ALOJ.js → ln-EFFNQ3RY.js} +1 -1
  41. package/dist/bin/chunks/{ls-GU5227KE.js → ls-FSSC77F4.js} +1 -1
  42. package/dist/bin/chunks/{md5sum-C7WDEYN5.js → md5sum-VGXAOUBA.js} +1 -1
  43. package/dist/bin/chunks/{mkdir-4OYU22AA.js → mkdir-XJABRAUN.js} +1 -1
  44. package/dist/bin/chunks/{mv-H3S4FEWR.js → mv-3ATZ2ABL.js} +1 -1
  45. package/dist/bin/chunks/nl-DSM3NUGM.js +17 -0
  46. package/dist/bin/{shell/chunks/od-TXTSFFJY.js → chunks/od-SLM7SRWU.js} +1 -1
  47. package/dist/bin/chunks/{paste-HHCFASL4.js → paste-FT6WBQZG.js} +1 -1
  48. package/dist/bin/chunks/{printf-2JFCUFOA.js → printf-HWUQKYUM.js} +1 -1
  49. package/dist/bin/{shell/chunks/pwd-T5Q3JEBO.js → chunks/pwd-53KG2MCJ.js} +1 -1
  50. package/dist/bin/chunks/{readlink-M44TLMFS.js → readlink-VL3R4LAM.js} +1 -1
  51. package/dist/bin/chunks/rev-VP42N2JN.js +7 -0
  52. package/dist/bin/chunks/{rm-R4M647EC.js → rm-2PKAWTSQ.js} +1 -1
  53. package/dist/bin/chunks/{sed-QLLAZYHH.js → sed-5LQMJYRJ.js} +1 -1
  54. package/dist/bin/chunks/{seq-GJMQM7SP.js → seq-AVK43XM2.js} +1 -1
  55. package/dist/bin/chunks/{sha1sum-WKCGV66X.js → sha1sum-BIUH233Z.js} +1 -1
  56. package/dist/bin/{shell/chunks/sha256sum-3ZDGP5WC.js → chunks/sha256sum-SUIK2MT2.js} +1 -1
  57. package/dist/bin/chunks/{sleep-OJPODQGM.js → sleep-O5BOTJGJ.js} +1 -1
  58. package/dist/bin/chunks/{sort-JL33INQB.js → sort-J5ARYV56.js} +1 -1
  59. package/dist/bin/chunks/split-JJFZRWRC.js +16 -0
  60. package/dist/bin/{shell/chunks/stat-CR2INBC2.js → chunks/stat-UEQ7KMY5.js} +1 -1
  61. package/dist/bin/chunks/strings-ZEKN6D4Q.js +14 -0
  62. package/dist/bin/chunks/{tac-F4GC3MAI.js → tac-KNRFDAY7.js} +1 -1
  63. package/dist/bin/chunks/{tail-BYPLMYMZ.js → tail-BES27CZT.js} +1 -1
  64. package/dist/bin/chunks/{tee-HOMRRC3X.js → tee-ZFIT2GTM.js} +1 -1
  65. package/dist/bin/{shell/chunks/timeout-MYKG34DQ.js → chunks/timeout-JED4EKFH.js} +1 -1
  66. package/dist/bin/{shell/chunks/touch-3ZANYAXI.js → chunks/touch-TSNAXMZ2.js} +1 -1
  67. package/dist/bin/{shell/chunks/tr-E66N7IS2.js → chunks/tr-MBLEXZBI.js} +1 -1
  68. package/dist/bin/chunks/{tree-EE2PYIMV.js → tree-ESVATRDW.js} +1 -1
  69. package/dist/bin/chunks/{true-OWPVS7U4.js → true-OVATH2SQ.js} +1 -1
  70. package/dist/bin/chunks/unexpand-BFVYAPOU.js +11 -0
  71. package/dist/bin/chunks/{uniq-F5NP3LLU.js → uniq-7JNZWE5D.js} +1 -1
  72. package/dist/bin/chunks/{wc-NBMNJDZL.js → wc-OFU3HUEZ.js} +1 -1
  73. package/dist/bin/chunks/{which-6MRG2UCF.js → which-73KOOLC6.js} +1 -1
  74. package/dist/bin/chunks/xan-ASGSTJP4.js +140 -0
  75. package/dist/bin/chunks/xan-view-YGORUYA2.js +2 -0
  76. package/dist/bin/chunks/{xargs-EMY5BOJ2.js → xargs-WIJC4RTG.js} +1 -1
  77. package/dist/bin/chunks/yq-MF2SNFGL.js +287 -0
  78. package/dist/bin/just-bash.js +47 -47
  79. package/dist/bin/shell/chunks/{alias-ZAQAKC5X.js → alias-PCMLRCRW.js} +1 -1
  80. package/dist/bin/shell/chunks/{awk2-A73ZNFXJ.js → awk2-D2US2LMM.js} +1 -1
  81. package/dist/bin/{chunks/base64-JPITV4MD.js → shell/chunks/base64-RJX7MYGG.js} +1 -1
  82. package/dist/bin/{chunks/basename-IYEP3AMY.js → shell/chunks/basename-SO5MVUEX.js} +1 -1
  83. package/dist/bin/shell/chunks/{bash-WZYHIZP6.js → bash-UT3MT5UU.js} +1 -1
  84. package/dist/bin/{chunks/cat-XILYL7NW.js → shell/chunks/cat-7TVSOZLU.js} +1 -1
  85. package/dist/bin/{chunks/chmod-EXWX4N7Y.js → shell/chunks/chmod-3DIKREF7.js} +1 -1
  86. package/dist/bin/shell/chunks/chunk-ACRTDIBO.js +6 -0
  87. package/dist/bin/shell/chunks/chunk-KGOUQS5A.js +2 -0
  88. package/dist/bin/shell/chunks/chunk-OQRRF62X.js +10 -0
  89. package/dist/bin/shell/chunks/chunk-QSDVMMYI.js +21 -0
  90. package/dist/bin/shell/chunks/{clear-2APRIRCF.js → clear-CI7A5IXQ.js} +1 -1
  91. package/dist/bin/shell/chunks/column-TSFEMTG6.js +8 -0
  92. package/dist/bin/shell/chunks/{comm-KY3COLF5.js → comm-CPIFQTKY.js} +1 -1
  93. package/dist/bin/{chunks/cp-HES4UN7K.js → shell/chunks/cp-XXWRVG2D.js} +1 -1
  94. package/dist/bin/shell/chunks/{curl-BN5M3BUX.js → curl-LCMREE7R.js} +1 -1
  95. package/dist/bin/shell/chunks/{cut-JSIPAKOX.js → cut-VCKWLT2T.js} +1 -1
  96. package/dist/bin/shell/chunks/{date-CU4J7GHI.js → date-IQLPMFYI.js} +1 -1
  97. package/dist/bin/{chunks/diff-W4JRNHXW.js → shell/chunks/diff-GI3QVUGD.js} +1 -1
  98. package/dist/bin/shell/chunks/{dirname-UTCUUILN.js → dirname-EES7TR26.js} +1 -1
  99. package/dist/bin/shell/chunks/{du-2JU3PUTM.js → du-ZONJJZUK.js} +1 -1
  100. package/dist/bin/{chunks/echo-HKLPYMNC.js → shell/chunks/echo-WSKTON6U.js} +1 -1
  101. package/dist/bin/shell/chunks/{env-2SBJNP7X.js → env-YLLSNZZN.js} +1 -1
  102. package/dist/bin/shell/chunks/expand-77K5HH2M.js +11 -0
  103. package/dist/bin/shell/chunks/{expr-M74QZQ6C.js → expr-RMGXYNQJ.js} +1 -1
  104. package/dist/bin/shell/chunks/{file-QPD3U2H7.js → file-XMPFXMUJ.js} +1 -1
  105. package/dist/bin/{chunks/find-TRBVCSI6.js → shell/chunks/find-P6UQXFKX.js} +1 -1
  106. package/dist/bin/shell/chunks/fold-452R4I2C.js +12 -0
  107. package/dist/bin/{chunks/grep-BEZRXAWL.js → shell/chunks/grep-L5HBHEEQ.js} +1 -1
  108. package/dist/bin/shell/chunks/{gzip-VLTXZB2V.js → gzip-MNCJB6OR.js} +1 -1
  109. package/dist/bin/shell/chunks/{head-YGMY3DHE.js → head-DYK37Z24.js} +1 -1
  110. package/dist/bin/shell/chunks/{help-UEF7LW7F.js → help-7C5JICNL.js} +1 -1
  111. package/dist/bin/{chunks/history-OGBCIAR5.js → shell/chunks/history-G5C2J2OY.js} +1 -1
  112. package/dist/bin/shell/chunks/{hostname-CV7CGKRN.js → hostname-WXDKRL2Z.js} +1 -1
  113. package/dist/bin/shell/chunks/{html-to-markdown-HTGML4TH.js → html-to-markdown-EPEXKI4B.js} +1 -1
  114. package/dist/bin/shell/chunks/join-3IXMEGNA.js +14 -0
  115. package/dist/bin/shell/chunks/jq-MTQKMJJI.js +16 -0
  116. package/dist/bin/shell/chunks/{ln-RUR4ALOJ.js → ln-EFFNQ3RY.js} +1 -1
  117. package/dist/bin/shell/chunks/{ls-GU5227KE.js → ls-FSSC77F4.js} +1 -1
  118. package/dist/bin/shell/chunks/{md5sum-C7WDEYN5.js → md5sum-VGXAOUBA.js} +1 -1
  119. package/dist/bin/shell/chunks/{mkdir-4OYU22AA.js → mkdir-XJABRAUN.js} +1 -1
  120. package/dist/bin/shell/chunks/{mv-H3S4FEWR.js → mv-3ATZ2ABL.js} +1 -1
  121. package/dist/bin/shell/chunks/nl-DSM3NUGM.js +17 -0
  122. package/dist/bin/{chunks/od-TXTSFFJY.js → shell/chunks/od-SLM7SRWU.js} +1 -1
  123. package/dist/bin/shell/chunks/{paste-HHCFASL4.js → paste-FT6WBQZG.js} +1 -1
  124. package/dist/bin/shell/chunks/{printf-2JFCUFOA.js → printf-HWUQKYUM.js} +1 -1
  125. package/dist/bin/{chunks/pwd-T5Q3JEBO.js → shell/chunks/pwd-53KG2MCJ.js} +1 -1
  126. package/dist/bin/shell/chunks/{readlink-M44TLMFS.js → readlink-VL3R4LAM.js} +1 -1
  127. package/dist/bin/shell/chunks/rev-VP42N2JN.js +7 -0
  128. package/dist/bin/shell/chunks/{rm-R4M647EC.js → rm-2PKAWTSQ.js} +1 -1
  129. package/dist/bin/shell/chunks/{sed-QLLAZYHH.js → sed-5LQMJYRJ.js} +1 -1
  130. package/dist/bin/shell/chunks/{seq-GJMQM7SP.js → seq-AVK43XM2.js} +1 -1
  131. package/dist/bin/shell/chunks/{sha1sum-WKCGV66X.js → sha1sum-BIUH233Z.js} +1 -1
  132. package/dist/bin/{chunks/sha256sum-3ZDGP5WC.js → shell/chunks/sha256sum-SUIK2MT2.js} +1 -1
  133. package/dist/bin/shell/chunks/{sleep-OJPODQGM.js → sleep-O5BOTJGJ.js} +1 -1
  134. package/dist/bin/shell/chunks/{sort-JL33INQB.js → sort-J5ARYV56.js} +1 -1
  135. package/dist/bin/shell/chunks/split-JJFZRWRC.js +16 -0
  136. package/dist/bin/{chunks/stat-CR2INBC2.js → shell/chunks/stat-UEQ7KMY5.js} +1 -1
  137. package/dist/bin/shell/chunks/strings-ZEKN6D4Q.js +14 -0
  138. package/dist/bin/shell/chunks/{tac-F4GC3MAI.js → tac-KNRFDAY7.js} +1 -1
  139. package/dist/bin/shell/chunks/{tail-BYPLMYMZ.js → tail-BES27CZT.js} +1 -1
  140. package/dist/bin/shell/chunks/{tee-HOMRRC3X.js → tee-ZFIT2GTM.js} +1 -1
  141. package/dist/bin/{chunks/timeout-MYKG34DQ.js → shell/chunks/timeout-JED4EKFH.js} +1 -1
  142. package/dist/bin/{chunks/touch-3ZANYAXI.js → shell/chunks/touch-TSNAXMZ2.js} +1 -1
  143. package/dist/bin/{chunks/tr-E66N7IS2.js → shell/chunks/tr-MBLEXZBI.js} +1 -1
  144. package/dist/bin/shell/chunks/{tree-EE2PYIMV.js → tree-ESVATRDW.js} +1 -1
  145. package/dist/bin/shell/chunks/{true-OWPVS7U4.js → true-OVATH2SQ.js} +1 -1
  146. package/dist/bin/shell/chunks/unexpand-BFVYAPOU.js +11 -0
  147. package/dist/bin/shell/chunks/{uniq-F5NP3LLU.js → uniq-7JNZWE5D.js} +1 -1
  148. package/dist/bin/shell/chunks/{wc-NBMNJDZL.js → wc-OFU3HUEZ.js} +1 -1
  149. package/dist/bin/shell/chunks/{which-6MRG2UCF.js → which-73KOOLC6.js} +1 -1
  150. package/dist/bin/shell/chunks/xan-ASGSTJP4.js +140 -0
  151. package/dist/bin/shell/chunks/xan-view-YGORUYA2.js +2 -0
  152. package/dist/bin/shell/chunks/{xargs-EMY5BOJ2.js → xargs-WIJC4RTG.js} +1 -1
  153. package/dist/bin/shell/chunks/yq-MF2SNFGL.js +287 -0
  154. package/dist/bin/shell/shell.js +78 -78
  155. package/dist/bundle/browser.js +486 -393
  156. package/dist/bundle/chunks/{alias-JFIUWFGE.js → alias-4UGRF4DM.js} +1 -1
  157. package/dist/bundle/chunks/{awk2-QWBT4IFJ.js → awk2-46RTIZKB.js} +1 -1
  158. package/dist/bundle/chunks/{base64-TUA2XORD.js → base64-F5R4G5EG.js} +1 -1
  159. package/dist/bundle/chunks/{basename-5UVU5RXR.js → basename-CFA5ZIGT.js} +1 -1
  160. package/dist/bundle/chunks/{bash-BASUPKHJ.js → bash-ZILV3VHA.js} +1 -1
  161. package/dist/bundle/chunks/{cat-47EP4IAV.js → cat-CE7XIAD2.js} +1 -1
  162. package/dist/bundle/chunks/{chmod-XJXFAD4M.js → chmod-FBHLEIY6.js} +1 -1
  163. package/dist/bundle/chunks/chunk-4JO5BKO4.js +5 -0
  164. package/dist/bundle/chunks/chunk-DXB73IDG.js +1 -0
  165. package/dist/bundle/chunks/chunk-SYMJJMQ4.js +20 -0
  166. package/dist/bundle/chunks/chunk-U4UYWYTO.js +9 -0
  167. package/dist/bundle/chunks/{clear-XD3TJRVQ.js → clear-VT2LJIDX.js} +1 -1
  168. package/dist/bundle/chunks/column-XPDNNO5Y.js +7 -0
  169. package/dist/bundle/chunks/{comm-KSJ4BBRQ.js → comm-AXQM7FFF.js} +1 -1
  170. package/dist/bundle/chunks/{cp-37OVLNLD.js → cp-PBJT3GBF.js} +1 -1
  171. package/dist/bundle/chunks/{curl-C43O5WQS.js → curl-TVZH24MD.js} +1 -1
  172. package/dist/bundle/chunks/{cut-FIZRELKC.js → cut-MCCSW2TZ.js} +1 -1
  173. package/dist/bundle/chunks/{date-NN5C354M.js → date-PN3CMG7K.js} +1 -1
  174. package/dist/bundle/chunks/{diff-GLRVCAKJ.js → diff-ZLJYSBRK.js} +1 -1
  175. package/dist/bundle/chunks/{dirname-U2KVUSQY.js → dirname-YPJLCQYA.js} +1 -1
  176. package/dist/bundle/chunks/{du-KRAFOIQK.js → du-3NURMGXT.js} +1 -1
  177. package/dist/bundle/chunks/{echo-WUKBESC7.js → echo-VUHWYV6L.js} +1 -1
  178. package/dist/bundle/chunks/{env-MSPSPGCD.js → env-EG5SQSAQ.js} +1 -1
  179. package/dist/bundle/chunks/expand-VSTNOVF5.js +10 -0
  180. package/dist/bundle/chunks/{expr-HYOCSWK6.js → expr-DG4E7SIS.js} +1 -1
  181. package/dist/bundle/chunks/{file-LQXX6P4Y.js → file-AWZ3TUFP.js} +1 -1
  182. package/dist/bundle/chunks/{find-GM7FJ4D3.js → find-QJDJJ5KW.js} +1 -1
  183. package/dist/bundle/chunks/fold-6CFXIPYZ.js +11 -0
  184. package/dist/bundle/chunks/{grep-ZJVDG3FA.js → grep-4K5T3MYL.js} +1 -1
  185. package/dist/bundle/chunks/{gzip-UQS7KRTV.js → gzip-7QAS5P2Y.js} +1 -1
  186. package/dist/bundle/chunks/{head-6PAUYCDP.js → head-FZ6IQHYW.js} +1 -1
  187. package/dist/bundle/chunks/{help-5E6PYJWQ.js → help-75YOGKM4.js} +1 -1
  188. package/dist/bundle/chunks/{history-SG6VRATI.js → history-MQDK2OPD.js} +1 -1
  189. package/dist/bundle/chunks/{hostname-K4BA3P6X.js → hostname-NWR32CGF.js} +1 -1
  190. package/dist/bundle/chunks/{html-to-markdown-ZSZ34PAN.js → html-to-markdown-ZK6GQVSL.js} +1 -1
  191. package/dist/bundle/chunks/join-X3QYPZUA.js +13 -0
  192. package/dist/bundle/chunks/jq-QAA4WF2O.js +15 -0
  193. package/dist/bundle/chunks/{ln-XFYHBIFL.js → ln-Y7YB677N.js} +1 -1
  194. package/dist/bundle/chunks/{ls-JGYJQA2Y.js → ls-CS3TIKWR.js} +1 -1
  195. package/dist/bundle/chunks/{md5sum-PIH6F3O3.js → md5sum-LJHKXLVT.js} +1 -1
  196. package/dist/bundle/chunks/{mkdir-HA2FJX4O.js → mkdir-7UKY4B3B.js} +1 -1
  197. package/dist/bundle/chunks/{mv-7I62SB3I.js → mv-FXHEKRTB.js} +1 -1
  198. package/dist/bundle/chunks/nl-KWQGFZH5.js +16 -0
  199. package/dist/bundle/chunks/{od-SOCTFI2F.js → od-ECWXNUB4.js} +1 -1
  200. package/dist/bundle/chunks/{paste-QBGVCQFT.js → paste-QTGVEPH5.js} +1 -1
  201. package/dist/bundle/chunks/{printf-HBP44PXI.js → printf-VG2POOXB.js} +1 -1
  202. package/dist/bundle/chunks/{pwd-CEF235GL.js → pwd-AC4P3JKI.js} +1 -1
  203. package/dist/bundle/chunks/{readlink-MQIMKDSA.js → readlink-EM4O3U4P.js} +1 -1
  204. package/dist/bundle/chunks/rev-FKUV5GH5.js +6 -0
  205. package/dist/bundle/chunks/{rm-NF3FNLAY.js → rm-I2SRVF7H.js} +1 -1
  206. package/dist/bundle/chunks/{sed-H2RWPMTM.js → sed-ZKODWZ6F.js} +1 -1
  207. package/dist/bundle/chunks/{seq-VKYIUOPJ.js → seq-5VRIVQYP.js} +1 -1
  208. package/dist/bundle/chunks/{sha1sum-HVHNZSEC.js → sha1sum-NRUZZ4Q6.js} +1 -1
  209. package/dist/bundle/chunks/{sha256sum-REOOJORK.js → sha256sum-5ZGJ4NJL.js} +1 -1
  210. package/dist/bundle/chunks/{sleep-AFN3PHJW.js → sleep-AK4QE4WR.js} +1 -1
  211. package/dist/bundle/chunks/{sort-XODGFZC4.js → sort-PMLMEZ4E.js} +1 -1
  212. package/dist/bundle/chunks/split-YBTFW7MT.js +15 -0
  213. package/dist/bundle/chunks/{stat-FVFLDQGP.js → stat-IVQBBOKN.js} +1 -1
  214. package/dist/bundle/chunks/strings-LRU5XCFP.js +13 -0
  215. package/dist/bundle/chunks/{tac-VIFKNLII.js → tac-2X4JLF4W.js} +1 -1
  216. package/dist/bundle/chunks/{tail-QXKYHAML.js → tail-PD4RZR6J.js} +1 -1
  217. package/dist/bundle/chunks/{tee-W5HCCBPO.js → tee-2QU4NRSJ.js} +1 -1
  218. package/dist/bundle/chunks/{timeout-XAA3N7CF.js → timeout-X3X3N6IE.js} +1 -1
  219. package/dist/bundle/chunks/{touch-FOE745V2.js → touch-MVQSKQKT.js} +1 -1
  220. package/dist/bundle/chunks/{tr-LMLGE4IE.js → tr-EDGW5FG6.js} +1 -1
  221. package/dist/bundle/chunks/{tree-WBUGLVP5.js → tree-5TYW7S7K.js} +1 -1
  222. package/dist/bundle/chunks/{true-6LGCG4EY.js → true-CNJ54NE6.js} +1 -1
  223. package/dist/bundle/chunks/unexpand-I7A2VXFD.js +10 -0
  224. package/dist/bundle/chunks/{uniq-7PFWPNWK.js → uniq-ONGDGSEB.js} +1 -1
  225. package/dist/bundle/chunks/{wc-GV5WUREX.js → wc-Y5MNUNQQ.js} +1 -1
  226. package/dist/bundle/chunks/{which-KHFYPBWW.js → which-M5MQ6QXQ.js} +1 -1
  227. package/dist/bundle/chunks/xan-B3RI2BDO.js +139 -0
  228. package/dist/bundle/chunks/xan-view-33AU6NPN.js +1 -0
  229. package/dist/bundle/chunks/{xargs-NQBNFMCT.js → xargs-2IMBHM4N.js} +1 -1
  230. package/dist/bundle/chunks/yq-KANM4MD2.js +286 -0
  231. package/dist/bundle/index.js +41 -41
  232. package/dist/commands/column/column.d.ts +9 -0
  233. package/dist/commands/expand/expand.d.ts +10 -0
  234. package/dist/commands/expand/unexpand.d.ts +10 -0
  235. package/dist/commands/fold/fold.d.ts +10 -0
  236. package/dist/commands/join/join.d.ts +10 -0
  237. package/dist/commands/nl/nl.d.ts +10 -0
  238. package/dist/commands/query-engine/evaluator.d.ts +25 -0
  239. package/dist/commands/query-engine/index.d.ts +8 -0
  240. package/dist/commands/{jq → query-engine}/parser.d.ts +3 -2
  241. package/dist/commands/registry.d.ts +1 -1
  242. package/dist/commands/rev/rev.d.ts +11 -0
  243. package/dist/commands/split/split.d.ts +10 -0
  244. package/dist/commands/strings/strings.d.ts +10 -0
  245. package/dist/commands/xan/aggregation.d.ts +20 -0
  246. package/dist/commands/xan/csv.d.ts +16 -0
  247. package/dist/commands/xan/moonblade-parser.d.ts +80 -0
  248. package/dist/commands/xan/moonblade-to-jq.d.ts +12 -0
  249. package/dist/commands/xan/subcommands.d.ts +15 -0
  250. package/dist/commands/xan/xan-agg.d.ts +8 -0
  251. package/dist/commands/xan/xan-columns.d.ts +8 -0
  252. package/dist/commands/xan/xan-core.d.ts +10 -0
  253. package/dist/commands/xan/xan-data.d.ts +52 -0
  254. package/dist/commands/xan/xan-filter.d.ts +8 -0
  255. package/dist/commands/xan/xan-map.d.ts +11 -0
  256. package/dist/commands/xan/xan-reshape.d.ts +40 -0
  257. package/dist/commands/xan/xan-simple.d.ts +40 -0
  258. package/dist/commands/xan/xan-utils.d.ts +19 -0
  259. package/dist/commands/xan/xan-view.d.ts +12 -0
  260. package/dist/commands/xan/xan.d.ts +8 -0
  261. package/dist/commands/yq/formats.d.ts +64 -0
  262. package/dist/commands/yq/yq.d.ts +11 -0
  263. package/package.json +10 -3
  264. package/dist/bin/chunks/chunk-SJXDWN5X.js +0 -2
  265. package/dist/bin/chunks/jq-TRAUXD47.js +0 -19
  266. package/dist/bin/shell/chunks/chunk-SJXDWN5X.js +0 -2
  267. package/dist/bin/shell/chunks/jq-TRAUXD47.js +0 -19
  268. package/dist/bundle/chunks/chunk-2RUN43TJ.js +0 -1
  269. package/dist/bundle/chunks/jq-PO3DWIV2.js +0 -18
  270. package/dist/commands/jq/evaluator.d.ts +0 -18
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "just-bash",
3
- "version": "2.0.0",
3
+ "version": "2.2.0",
4
4
  "description": "A simulated bash environment with virtual filesystem",
5
5
  "repository": {
6
6
  "type": "git",
@@ -52,7 +52,9 @@
52
52
  "license": "Apache-2.0",
53
53
  "devDependencies": {
54
54
  "@biomejs/biome": "^2.3.10",
55
+ "@types/ini": "^4.1.1",
55
56
  "@types/node": "^25.0.3",
57
+ "@types/papaparse": "^5.5.2",
56
58
  "@types/sprintf-js": "^1.1.4",
57
59
  "@types/turndown": "^5.0.6",
58
60
  "esbuild": "^0.27.2",
@@ -62,17 +64,22 @@
62
64
  },
63
65
  "dependencies": {
64
66
  "diff": "^8.0.2",
67
+ "fast-xml-parser": "^5.3.3",
65
68
  "file-type": "^21.2.0",
69
+ "ini": "^6.0.0",
66
70
  "minimatch": "^10.1.1",
71
+ "papaparse": "^5.5.3",
72
+ "smol-toml": "^1.6.0",
67
73
  "sprintf-js": "^1.1.3",
68
- "turndown": "^7.2.2"
74
+ "turndown": "^7.2.2",
75
+ "yaml": "^2.8.2"
69
76
  },
70
77
  "packageManager": "pnpm@8.15.9+sha512.499434c9d8fdd1a2794ebf4552b3b25c0a633abcee5bb15e7b5de90f32f47b513aca98cd5cfd001c31f0db454bc3804edccd578501e4ca293a6816166bbd9f81",
71
78
  "scripts": {
72
79
  "build": "rm -rf dist && tsc && pnpm build:lib && pnpm build:browser && pnpm build:cli && pnpm build:shell && pnpm build:clean && sed '1,/^-->/d' AGENTS.npm.md > dist/AGENTS.md",
73
80
  "build:clean": "find dist -name '*.test.js' -delete && find dist -name '*.test.d.ts' -delete",
74
81
  "build:lib": "esbuild dist/index.js --bundle --splitting --platform=node --format=esm --minify --outdir=dist/bundle --chunk-names=chunks/[name]-[hash] --external:diff --external:minimatch --external:sprintf-js --external:turndown",
75
- "build:browser": "esbuild dist/browser.js --bundle --platform=browser --format=esm --minify --outfile=dist/bundle/browser.js --external:diff --external:minimatch --external:sprintf-js --external:turndown --external:node:*",
82
+ "build:browser": "esbuild dist/browser.js --bundle --platform=browser --format=esm --minify --outfile=dist/bundle/browser.js --external:diff --external:minimatch --external:sprintf-js --external:turndown --external:node:* --define:__BROWSER__=true",
76
83
  "build:cli": "esbuild dist/cli/just-bash.js --bundle --splitting --platform=node --format=esm --minify --outdir=dist/bin --entry-names=[name] --chunk-names=chunks/[name]-[hash] --banner:js='#!/usr/bin/env node'",
77
84
  "build:shell": "esbuild dist/cli/shell.js --bundle --splitting --platform=node --format=esm --minify --outdir=dist/bin/shell --entry-names=[name] --chunk-names=chunks/[name]-[hash] --banner:js='#!/usr/bin/env node'",
78
85
  "validate": "pnpm lint && pnpm knip && pnpm typecheck && pnpm build && pnpm test:run && pnpm test:dist",
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- var g=Object.create;var f=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(a=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(b,c)=>(typeof require<"u"?require:b)[c]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});var n=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports);var l=(a,b,c,e)=>{if(b&&typeof b=="object"||typeof b=="function")for(let d of i(b))!k.call(a,d)&&d!==c&&f(a,d,{get:()=>b[d],enumerable:!(e=h(b,d))||e.enumerable});return a};var o=(a,b,c)=>(c=a!=null?g(j(a)):{},l(b||!a||!a.__esModule?f(c,"default",{value:a,enumerable:!0}):c,a));export{m as a,n as b,o as c};
@@ -1,19 +0,0 @@
1
- #!/usr/bin/env node
2
- import{i as g}from"./chunk-NWWB2XRE.js";import{a as L,b as M,c as T}from"./chunk-GTNBSMZR.js";import"./chunk-SJXDWN5X.js";var K=1e4;function W(t){return{vars:new Map,limits:{maxIterations:t?.maxIterations??K}}}function w(t,r,s){let i=new Map(t.vars);return i.set(r,s),{vars:i,limits:t.limits}}function u(t,r,s){let i=s&&"vars"in s?s:W(s?.limits);switch(r.type){case"Identity":return[t];case"Field":return(r.base?u(t,r.base,i):[t]).flatMap(n=>n&&typeof n=="object"&&!Array.isArray(n)?[n[r.name]]:[null]);case"Index":return(r.base?u(t,r.base,i):[t]).flatMap(n=>u(n,r.index,i).flatMap(f=>{if(typeof f=="number"&&Array.isArray(n)){let c=f<0?n.length+f:f;return c>=0&&c<n.length?[n[c]]:[null]}return typeof f=="string"&&n&&typeof n=="object"&&!Array.isArray(n)?[n[f]]:[null]}));case"Slice":return(r.base?u(t,r.base,i):[t]).flatMap(n=>{if(!Array.isArray(n)&&typeof n!="string")return[null];let o=n.length,f=r.start?u(t,r.start,i):[0],c=r.end?u(t,r.end,i):[o];return f.flatMap(p=>c.map(y=>{let h=D(p,o),l=D(y,o);return Array.isArray(n),n.slice(h,l)}))});case"Iterate":return(r.base?u(t,r.base,i):[t]).flatMap(n=>Array.isArray(n)?n:n&&typeof n=="object"?Object.values(n):[]);case"Pipe":return u(t,r.left,i).flatMap(n=>u(n,r.right,i));case"Comma":{let e=u(t,r.left,i),n=u(t,r.right,i);return[...e,...n]}case"Literal":return[r.value];case"Array":return r.elements?[u(t,r.elements,i)]:[[]];case"Object":{let e=[{}];for(let n of r.entries){let o=typeof n.key=="string"?[n.key]:u(t,n.key,i),f=u(t,n.value,i),c=[];for(let p of e)for(let y of o)for(let h of f)c.push({...p,[String(y)]:h});e.length=0,e.push(...c)}return e}case"Paren":return u(t,r.expr,i);case"BinaryOp":return V(t,r.op,r.left,r.right,i);case"UnaryOp":return u(t,r.operand,i).map(n=>r.op==="-"?typeof n=="number"?-n:null:r.op==="not"?!b(n):null);case"Cond":return u(t,r.cond,i).flatMap(n=>{if(b(n))return u(t,r.then,i);for(let o of r.elifs)if(u(t,o.cond,i).some(b))return u(t,o.then,i);return r.else?u(t,r.else,i):[null]});case"Try":try{return u(t,r.body,i)}catch{return r.catch?u(t,r.catch,i):[]}case"Call":return B(t,r.name,r.args,i);case"VarBind":return u(t,r.value,i).flatMap(n=>{let o=w(i,r.name,n);return u(t,r.body,o)});case"VarRef":{let e=i.vars.get(r.name);return e!==void 0?[e]:[null]}case"Recurse":{let e=[],n=new WeakSet,o=f=>{if(f&&typeof f=="object"){if(n.has(f))return;n.add(f)}if(e.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),e}case"Optional":try{return u(t,r.expr,i)}catch{return[]}case"StringInterp":return[r.parts.map(n=>typeof n=="string"?n:u(t,n,i).map(f=>typeof f=="string"?f:JSON.stringify(f)).join("")).join("")];case"UpdateOp":return[G(t,r.path,r.op,r.value,i)];case"Reduce":{let e=u(t,r.expr,i),n=u(t,r.init,i)[0];for(let o of e){let f=w(i,r.varName,o);n=u(n,r.update,f)[0]}return[n]}case"Foreach":{let e=u(t,r.expr,i),n=u(t,r.init,i)[0],o=[];for(let f of e){let c=w(i,r.varName,f);if(n=u(n,r.update,c)[0],r.extract){let p=u(n,r.extract,c);o.push(...p)}else o.push(n)}return o}default:{let e=r;throw new Error(`Unknown AST node type: ${e.type}`)}}}function D(t,r){return t<0?Math.max(0,r+t):Math.min(t,r)}function G(t,r,s,i,e){function n(c,p){switch(s){case"=":return p;case"|=":return u(c,i,e)[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 l={...h};return l[p.name]=y(l[p.name]),l}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 l=u(t,p.index,e)[0];if(p.base)return o(c,p.base,A=>{if(typeof l=="number"&&Array.isArray(A)){let m=[...A],a=l<0?m.length+l:l;return a>=0&&a<m.length&&(m[a]=y(m[a])),m}if(typeof l=="string"&&A&&typeof A=="object"&&!Array.isArray(A)){let m={...A};return m[l]=y(m[l]),m}return A});if(typeof l=="number"&&Array.isArray(c)){let A=[...c],m=l<0?A.length+l:l;return m>=0&&m<A.length&&(A[m]=y(A[m])),A}if(typeof l=="string"&&c&&typeof c=="object"&&!Array.isArray(c)){let A={...c};return A[l]=y(A[l]),A}return c}case"Iterate":{let h=l=>{if(Array.isArray(l))return l.map(A=>y(A));if(l&&typeof l=="object"){let A={};for(let[m,a]of Object.entries(l))A[m]=y(a);return A}return l};return p.base?o(c,p.base,h):h(c)}case"Pipe":{let h=o(c,p.left,l=>l);return o(h,p.right,y)}default:return y(c)}}return o(t,r,c=>{if(s==="|=")return n(c,c);let p=u(t,i,e);return n(c,p[0]??null)})}function H(t,r,s){function i(e,n){switch(n.type){case"Identity":return null;case"Field":{if(e&&typeof e=="object"&&!Array.isArray(e)){let o={...e};return delete o[n.name],o}return e}case"Index":{let f=u(t,n.index,s)[0];if(typeof f=="number"&&Array.isArray(e)){let c=[...e],p=f<0?c.length+f:f;return p>=0&&p<c.length&&c.splice(p,1),c}if(typeof f=="string"&&e&&typeof e=="object"&&!Array.isArray(e)){let c={...e};return delete c[f],c}return e}case"Iterate":return Array.isArray(e)?[]:e&&typeof e=="object"?{}:e;default:return e}}return i(t,r)}function b(t){return t!==null&&t!==!1}function V(t,r,s,i,e){if(r==="and")return u(t,s,e).flatMap(c=>b(c)?u(t,i,e).map(y=>b(y)):[!1]);if(r==="or")return u(t,s,e).flatMap(c=>b(c)?[!0]:u(t,i,e).map(y=>b(y)));if(r==="//"){let c=u(t,s,e).filter(p=>p!=null&&p!==!1);return c.length>0?c:u(t,i,e)}let n=u(t,s,e),o=u(t,i,e);return n.flatMap(f=>o.map(c=>{switch(r){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)?U(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 O(f,c);case"!=":return!O(f,c);case"<":return N(f,c)<0;case"<=":return N(f,c)<=0;case">":return N(f,c)>0;case">=":return N(f,c)>=0;default:return null}}))}function O(t,r){return JSON.stringify(t)===JSON.stringify(r)}function N(t,r){return typeof t=="number"&&typeof r=="number"?t-r:typeof t=="string"&&typeof r=="string"?t.localeCompare(r):0}function U(t,r){let s={...t};for(let i of Object.keys(r))i in s&&s[i]&&typeof s[i]=="object"&&!Array.isArray(s[i])&&r[i]&&typeof r[i]=="object"&&!Array.isArray(r[i])?s[i]=U(s[i],r[i]):s[i]=r[i];return s}function B(t,r,s,i){switch(r){case"keys":return Array.isArray(t)?[t.map((e,n)=>n)]:t&&typeof t=="object"?[Object.keys(t).sort()]:[null];case"keys_unsorted":return Array.isArray(t)?[t.map((e,n)=>n)]: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 e=s.length>0?u(t,s[0],i)[0]:t;throw new Error(String(e))}case"not":return[!b(t)];case"null":return[null];case"true":return[!0];case"false":return[!1];case"first":if(s.length>0){let e=u(t,s[0],i);return e.length>0?[e[0]]:[]}return Array.isArray(t)&&t.length>0?[t[0]]:[null];case"last":if(s.length>0){let e=u(t,s[0],i);return e.length>0?[e[e.length-1]]:[]}return Array.isArray(t)&&t.length>0?[t[t.length-1]]:[null];case"nth":{if(s.length<1)return[null];let n=u(t,s[0],i)[0];if(s.length>1){let o=u(t,s[1],i);return n>=0&&n<o.length?[o[n]]:[]}return Array.isArray(t)?n>=0&&n<t.length?[t[n]]:[null]:[null]}case"range":{if(s.length===0)return[];let e=u(t,s[0],i);if(s.length===1){let p=e[0];return Array.from({length:p},(y,h)=>h)}let n=u(t,s[1],i),o=e[0],f=n[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(j)]:[null];case"sort_by":return!Array.isArray(t)||s.length===0?[null]:[[...t].sort((n,o)=>{let f=u(n,s[0],i)[0],c=u(o,s[0],i)[0];return j(f,c)})];case"unique":if(Array.isArray(t)){let e=new Set,n=[];for(let o of t){let f=JSON.stringify(o);e.has(f)||(e.add(f),n.push(o))}return[n]}return[null];case"unique_by":{if(!Array.isArray(t)||s.length===0)return[null];let e=new Set,n=[];for(let o of t){let f=JSON.stringify(u(o,s[0],i)[0]);e.has(f)||(e.add(f),n.push(o))}return[n]}case"group_by":{if(!Array.isArray(t)||s.length===0)return[null];let e=new Map;for(let n of t){let o=JSON.stringify(u(n,s[0],i)[0]);e.has(o)||e.set(o,[]),e.get(o)?.push(n)}return[[...e.values()]]}case"max":return Array.isArray(t)&&t.length>0?[t.reduce((e,n)=>j(e,n)>0?e:n)]:[null];case"max_by":return!Array.isArray(t)||t.length===0||s.length===0?[null]:[t.reduce((e,n)=>{let o=u(e,s[0],i)[0],f=u(n,s[0],i)[0];return j(o,f)>0?e:n})];case"min":return Array.isArray(t)&&t.length>0?[t.reduce((e,n)=>j(e,n)<0?e:n)]:[null];case"min_by":return!Array.isArray(t)||t.length===0||s.length===0?[null]:[t.reduce((e,n)=>{let o=u(e,s[0],i)[0],f=u(n,s[0],i)[0];return j(o,f)<0?e:n})];case"flatten":{if(!Array.isArray(t))return[null];let e=s.length>0?u(t,s[0],i)[0]:Number.POSITIVE_INFINITY;return[t.flat(e)]}case"add":if(Array.isArray(t)){if(t.length===0)return[null];if(t.every(e=>typeof e=="number"))return[t.reduce((e,n)=>e+n,0)];if(t.every(e=>typeof e=="string"))return[t.join("")];if(t.every(e=>Array.isArray(e)))return[t.flat()];if(t.every(e=>e&&typeof e=="object"&&!Array.isArray(e)))return[Object.assign({},...t)]}return[null];case"any":return s.length>0?Array.isArray(t)?[t.some(e=>b(u(e,s[0],i)[0]))]:[!1]:Array.isArray(t)?[t.some(b)]:[!1];case"all":return s.length>0?Array.isArray(t)?[t.every(e=>b(u(e,s[0],i)[0]))]:[!0]:Array.isArray(t)?[t.every(b)]:[!0];case"select":return s.length===0?[t]:u(t,s[0],i).some(b)?[t]:[];case"map":return s.length===0||!Array.isArray(t)?[null]:[t.flatMap(n=>u(n,s[0],i))];case"map_values":{if(s.length===0)return[null];if(Array.isArray(t))return[t.flatMap(e=>u(e,s[0],i))];if(t&&typeof t=="object"){let e={};for(let[n,o]of Object.entries(t)){let f=u(o,s[0],i);f.length>0&&(e[n]=f[0])}return[e]}return[null]}case"has":{if(s.length===0)return[!1];let n=u(t,s[0],i)[0];return Array.isArray(t)&&typeof n=="number"?[n>=0&&n<t.length]:t&&typeof t=="object"&&typeof n=="string"?[n in t]:[!1]}case"in":{if(s.length===0)return[!1];let n=u(t,s[0],i)[0];return Array.isArray(n)&&typeof t=="number"?[t>=0&&t<n.length]:n&&typeof n=="object"&&typeof t=="string"?[t in n]:[!1]}case"contains":{if(s.length===0)return[!1];let e=u(t,s[0],i);return[x(t,e[0])]}case"inside":{if(s.length===0)return[!1];let e=u(t,s[0],i);return[x(e[0],t)]}case"getpath":{if(s.length===0)return[null];let n=u(t,s[0],i)[0],o=t;for(let f of n){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(s.length<2)return[null];let n=u(t,s[0],i)[0],f=u(t,s[1],i)[0];return[I(t,n,f)]}case"delpaths":{if(s.length===0)return[t];let n=u(t,s[0],i)[0],o=t;for(let f of n.sort((c,p)=>p.length-c.length))o=C(o,f);return[o]}case"path":{if(s.length===0)return[[]];let e=[];return Q(t,s[0],i,[],e),e}case"del":return s.length===0?[t]:[H(t,s[0],i)];case"paths":{let e=[],n=(o,f)=>{if(o&&typeof o=="object")if(Array.isArray(o))for(let c=0;c<o.length;c++)e.push([...f,c]),n(o[c],[...f,c]);else for(let c of Object.keys(o))e.push([...f,c]),n(o[c],[...f,c])};return n(t,[]),s.length>0?e.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,s[0],i).some(b)}):e}case"leaf_paths":{let e=[],n=(o,f)=>{if(o===null||typeof o!="object")e.push(f);else if(Array.isArray(o))for(let c=0;c<o.length;c++)n(o[c],[...f,c]);else for(let c of Object.keys(o))n(o[c],[...f,c])};return n(t,[]),[e]}case"to_entries":return t&&typeof t=="object"&&!Array.isArray(t)?[Object.entries(t).map(([e,n])=>({key:e,value:n}))]:[null];case"from_entries":if(Array.isArray(t)){let e={};for(let n of t)if(n&&typeof n=="object"){let o=n,f=o.key??o.name??o.k,c=o.value??o.v;f!==void 0&&(e[String(f)]=c)}return[e]}return[null];case"with_entries":{if(s.length===0)return[t];if(t&&typeof t=="object"&&!Array.isArray(t)){let n=Object.entries(t).map(([f,c])=>({key:f,value:c})).flatMap(f=>u(f,s[0],i)),o={};for(let f of n)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 e=s.length>0?u(t,s[0],i):[""],n=String(e[0]);return[t.map(o=>typeof o=="string"?o:JSON.stringify(o)).join(n)]}case"split":{if(typeof t!="string"||s.length===0)return[null];let e=u(t,s[0],i),n=String(e[0]);return[t.split(n)]}case"test":{if(typeof t!="string"||s.length===0)return[!1];let e=u(t,s[0],i),n=String(e[0]);try{let o=s.length>1?String(u(t,s[1],i)[0]):"";return[new RegExp(n,o).test(t)]}catch{return[!1]}}case"match":{if(typeof t!="string"||s.length===0)return[null];let e=u(t,s[0],i),n=String(e[0]);try{let o=s.length>1?String(u(t,s[1],i)[0]):"",c=new RegExp(n,`${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"||s.length===0)return[null];let e=u(t,s[0],i),n=String(e[0]);try{let o=s.length>1?String(u(t,s[1],i)[0]):"",f=new RegExp(n,o),c=t.match(f);return!c||!c.groups?[{}]:[c.groups]}catch{return[null]}}case"sub":{if(typeof t!="string"||s.length<2)return[null];let e=u(t,s[0],i),n=u(t,s[1],i),o=String(e[0]),f=String(n[0]);try{let c=s.length>2?String(u(t,s[2],i)[0]):"";return[t.replace(new RegExp(o,c),f)]}catch{return[t]}}case"gsub":{if(typeof t!="string"||s.length<2)return[null];let e=u(t,s[0],i),n=u(t,s[1],i),o=String(e[0]),f=String(n[0]);try{let c=s.length>2?String(u(t,s[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"||s.length===0)return[t];let e=u(t,s[0],i),n=String(e[0]);return[t.startsWith(n)?t.slice(n.length):t]}case"rtrimstr":{if(typeof t!="string"||s.length===0)return[t];let e=u(t,s[0],i),n=String(e[0]);return[t.endsWith(n)?t.slice(0,-n.length):t]}case"startswith":{if(typeof t!="string"||s.length===0)return[!1];let e=u(t,s[0],i);return[t.startsWith(String(e[0]))]}case"endswith":{if(typeof t!="string"||s.length===0)return[!1];let e=u(t,s[0],i);return[t.endsWith(String(e[0]))]}case"index":{if(s.length===0)return[null];let n=u(t,s[0],i)[0];if(typeof t=="string"&&typeof n=="string"){let o=t.indexOf(n);return[o>=0?o:null]}if(Array.isArray(t)){let o=t.findIndex(f=>O(f,n));return[o>=0?o:null]}return[null]}case"rindex":{if(s.length===0)return[null];let n=u(t,s[0],i)[0];if(typeof t=="string"&&typeof n=="string"){let o=t.lastIndexOf(n);return[o>=0?o:null]}if(Array.isArray(t)){for(let o=t.length-1;o>=0;o--)if(O(t[o],n))return[o];return[null]}return[null]}case"indices":{if(s.length===0)return[[]];let n=u(t,s[0],i)[0],o=[];if(typeof t=="string"&&typeof n=="string"){let f=t.indexOf(n);for(;f!==-1;)o.push(f),f=t.indexOf(n,f+1)}else if(Array.isArray(t))for(let f=0;f<t.length;f++)O(t[f],n)&&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"||s.length===0)return[null];let n=u(t,s[0],i)[0];return[t**n]}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 e=Number(t);return[Number.isNaN(e)?null:e]}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[{}];case"recurse":{if(s.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 e=[],n=new Set,o=f=>{let c=JSON.stringify(f);if(n.has(c))return;n.add(c),e.push(f);let p=u(f,s[0],i);for(let y of p)y!=null&&o(y)};return o(t),e}case"recurse_down":return B(t,"recurse",s,i);case"walk":{if(s.length===0)return[t];let e=new WeakSet,n=o=>{if(o&&typeof o=="object"){if(e.has(o))return o;e.add(o)}let f;if(Array.isArray(o))f=o.map(n);else if(o&&typeof o=="object"){let p={};for(let[y,h]of Object.entries(o))p[y]=n(h);f=p}else f=o;return u(f,s[0],i)[0]};return[n(t)]}case"transpose":{if(!Array.isArray(t))return[null];if(t.length===0)return[[]];let e=Math.max(...t.map(o=>Array.isArray(o)?o.length:0)),n=[];for(let o=0;o<e;o++)n.push(t.map(f=>Array.isArray(f)?f[o]:null));return[n]}case"ascii":return typeof t=="string"&&t.length>0?[t.charCodeAt(0)]:[null];case"explode":return typeof t=="string"?[Array.from(t).map(e=>e.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(s.length<2)return[];let n=u(t,s[0],i)[0];return u(t,s[1],i).slice(0,n)}case"until":{if(s.length<2)return[t];let e=t,n=i.limits.maxIterations;for(let o=0;o<n;o++){if(u(e,s[0],i).some(b))return[e];let c=u(e,s[1],i);if(c.length===0)return[e];e=c[0]}throw new g(`jq until: too many iterations (${n}), increase executionLimits.maxJqIterations`,"iterations")}case"while":{if(s.length<2)return[t];let e=[],n=t,o=i.limits.maxIterations;for(let f=0;f<o&&u(n,s[0],i).some(b);f++){e.push(n);let p=u(n,s[1],i);if(p.length===0)break;n=p[0]}if(e.length>=o)throw new g(`jq while: too many iterations (${o}), increase executionLimits.maxJqIterations`,"iterations");return e}case"repeat":{if(s.length===0)return[t];let e=[],n=t,o=i.limits.maxIterations;for(let f=0;f<o;f++){e.push(n);let c=u(n,s[0],i);if(c.length===0)break;n=c[0]}if(e.length>=o)throw new g(`jq repeat: too many iterations (${o}), increase executionLimits.maxJqIterations`,"iterations");return e}case"debug":return[t];case"input_line_number":return[1];default:throw new Error(`Unknown function: ${r}`)}}function j(t,r){let s=n=>n===null?0:typeof n=="boolean"?1:typeof n=="number"?2:typeof n=="string"?3:Array.isArray(n)?4:typeof n=="object"?5:6,i=s(t),e=s(r);if(i!==e)return i-e;if(typeof t=="number"&&typeof r=="number")return t-r;if(typeof t=="string"&&typeof r=="string")return t.localeCompare(r);if(typeof t=="boolean"&&typeof r=="boolean")return(t?1:0)-(r?1:0);if(Array.isArray(t)&&Array.isArray(r)){for(let n=0;n<Math.min(t.length,r.length);n++){let o=j(t[n],r[n]);if(o!==0)return o}return t.length-r.length}return 0}function x(t,r){if(O(t,r))return!0;if(Array.isArray(t)&&Array.isArray(r))return r.every(s=>t.some(i=>x(i,s)));if(t&&r&&typeof t=="object"&&typeof r=="object"&&!Array.isArray(t)&&!Array.isArray(r)){let s=t,i=r;return Object.keys(i).every(e=>e in s&&x(s[e],i[e]))}return!1}function I(t,r,s){if(r.length===0)return s;let[i,...e]=r;if(typeof i=="number"){let o=Array.isArray(t)?[...t]:[];for(;o.length<=i;)o.push(null);return o[i]=I(o[i],e,s),o}let n=t&&typeof t=="object"&&!Array.isArray(t)?{...t}:{};return n[i]=I(n[i],e,s),n}function C(t,r){if(r.length===0)return null;if(r.length===1){let e=r[0];if(Array.isArray(t)&&typeof e=="number"){let n=[...t];return n.splice(e,1),n}if(t&&typeof t=="object"&&!Array.isArray(t)){let n={...t};return delete n[String(e)],n}return t}let[s,...i]=r;if(Array.isArray(t)&&typeof s=="number"){let e=[...t];return e[s]=C(e[s],i),e}if(t&&typeof t=="object"&&!Array.isArray(t)){let e={...t};return e[String(s)]=C(e[String(s)],i),e}return t}function Q(t,r,s,i,e){u(t,r,s).length>0&&e.push(i)}var z={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 _(t){let r=[],s=0,i=(p=0)=>t[s+p],e=()=>t[s++],n=()=>s>=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(;!n();){let p=s,y=e();if(!(y===" "||y===" "||y===`
3
- `||y==="\r")){if(y==="#"){for(;!n()&&i()!==`
4
- `;)e();continue}if(y==="."&&i()==="."){e(),r.push({type:"DOTDOT",pos:p});continue}if(y==="="&&i()==="="){e(),r.push({type:"EQ",pos:p});continue}if(y==="!"&&i()==="="){e(),r.push({type:"NE",pos:p});continue}if(y==="<"&&i()==="="){e(),r.push({type:"LE",pos:p});continue}if(y===">"&&i()==="="){e(),r.push({type:"GE",pos:p});continue}if(y==="/"&&i()==="/"){e(),i()==="="?(e(),r.push({type:"UPDATE_ALT",pos:p})):r.push({type:"ALT",pos:p});continue}if(y==="+"&&i()==="="){e(),r.push({type:"UPDATE_ADD",pos:p});continue}if(y==="-"&&i()==="="){e(),r.push({type:"UPDATE_SUB",pos:p});continue}if(y==="*"&&i()==="="){e(),r.push({type:"UPDATE_MUL",pos:p});continue}if(y==="/"&&i()==="="){e(),r.push({type:"UPDATE_DIV",pos:p});continue}if(y==="%"&&i()==="="){e(),r.push({type:"UPDATE_MOD",pos:p});continue}if(y==="="&&i()!=="="){r.push({type:"ASSIGN",pos:p});continue}if(y==="."){r.push({type:"DOT",pos:p});continue}if(y==="|"){i()==="="?(e(),r.push({type:"UPDATE_PIPE",pos:p})):r.push({type:"PIPE",pos:p});continue}if(y===","){r.push({type:"COMMA",pos:p});continue}if(y===":"){r.push({type:"COLON",pos:p});continue}if(y===";"){r.push({type:"SEMICOLON",pos:p});continue}if(y==="("){r.push({type:"LPAREN",pos:p});continue}if(y===")"){r.push({type:"RPAREN",pos:p});continue}if(y==="["){r.push({type:"LBRACKET",pos:p});continue}if(y==="]"){r.push({type:"RBRACKET",pos:p});continue}if(y==="{"){r.push({type:"LBRACE",pos:p});continue}if(y==="}"){r.push({type:"RBRACE",pos:p});continue}if(y==="?"){r.push({type:"QUESTION",pos:p});continue}if(y==="+"){r.push({type:"PLUS",pos:p});continue}if(y==="-"){if(o(i())){let h=y;for(;!n()&&(o(i())||i()===".");)h+=e();r.push({type:"NUMBER",value:Number(h),pos:p});continue}r.push({type:"MINUS",pos:p});continue}if(y==="*"){r.push({type:"STAR",pos:p});continue}if(y==="/"){r.push({type:"SLASH",pos:p});continue}if(y==="%"){r.push({type:"PERCENT",pos:p});continue}if(y==="<"){r.push({type:"LT",pos:p});continue}if(y===">"){r.push({type:"GT",pos:p});continue}if(o(y)){let h=y;for(;!n()&&(o(i())||i()==="."||i()==="e"||i()==="E");)(i()==="e"||i()==="E")&&(t[s+1]==="+"||t[s+1]==="-")&&(h+=e()),h+=e();r.push({type:"NUMBER",value:Number(h),pos:p});continue}if(y==='"'){let h="";for(;!n()&&i()!=='"';)if(i()==="\\"){if(e(),n())break;let l=e();switch(l){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+=l}}else h+=e();n()||e(),r.push({type:"STRING",value:h,pos:p});continue}if(f(y)||y==="$"||y==="@"){let h=y;for(;!n()&&c(i());)h+=e();let l=z[h];l?r.push({type:l,pos:p}):r.push({type:"IDENT",value:h,pos:p});continue}throw new Error(`Unexpected character '${y}' at position ${p}`)}}return r.push({type:"EOF",pos:s}),r}var P=class t{tokens;pos=0;constructor(r){this.tokens=r}peek(r=0){return this.tokens[this.pos+r]??{type:"EOF",pos:-1}}advance(){return this.tokens[this.pos++]}check(r){return this.peek().type===r}match(...r){for(let s of r)if(this.check(s))return this.advance();return null}expect(r,s){if(!this.check(r))throw new Error(`${s} at position ${this.peek().pos}, got ${this.peek().type}`);return this.advance()}parse(){let r=this.parseExpr();if(!this.check("EOF"))throw new Error(`Unexpected token ${this.peek().type} at position ${this.peek().pos}`);return r}parseExpr(){return this.parsePipe()}parsePipe(){let r=this.parseComma();for(;this.match("PIPE");){let s=this.parseComma();r={type:"Pipe",left:r,right:s}}return r}parseComma(){let r=this.parseVarBind();for(;this.match("COMMA");){let s=this.parseVarBind();r={type:"Comma",left:r,right:s}}return r}parseVarBind(){let r=this.parseUpdate();if(this.match("AS")){let s=this.expect("IDENT","Expected variable name after 'as'"),i=s.value;if(!i.startsWith("$"))throw new Error(`Variable name must start with $ at position ${s.pos}`);this.expect("PIPE","Expected '|' after variable binding");let e=this.parseExpr();return{type:"VarBind",name:i,value:r,body:e}}return r}parseUpdate(){let r=this.parseAlt(),s={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 e=this.parseVarBind();return{type:"UpdateOp",op:s[i.type],path:r,value:e}}return r}parseAlt(){let r=this.parseOr();for(;this.match("ALT");){let s=this.parseOr();r={type:"BinaryOp",op:"//",left:r,right:s}}return r}parseOr(){let r=this.parseAnd();for(;this.match("OR");){let s=this.parseAnd();r={type:"BinaryOp",op:"or",left:r,right:s}}return r}parseAnd(){let r=this.parseNot();for(;this.match("AND");){let s=this.parseNot();r={type:"BinaryOp",op:"and",left:r,right:s}}return r}parseNot(){return this.parseComparison()}parseComparison(){let r=this.parseAddSub(),s={EQ:"==",NE:"!=",LT:"<",LE:"<=",GT:">",GE:">="},i=this.match("EQ","NE","LT","LE","GT","GE");if(i){let e=this.parseAddSub();r={type:"BinaryOp",op:s[i.type],left:r,right:e}}return r}parseAddSub(){let r=this.parseMulDiv();for(;;)if(this.match("PLUS")){let s=this.parseMulDiv();r={type:"BinaryOp",op:"+",left:r,right:s}}else if(this.match("MINUS")){let s=this.parseMulDiv();r={type:"BinaryOp",op:"-",left:r,right:s}}else break;return r}parseMulDiv(){let r=this.parseUnary();for(;;)if(this.match("STAR")){let s=this.parseUnary();r={type:"BinaryOp",op:"*",left:r,right:s}}else if(this.match("SLASH")){let s=this.parseUnary();r={type:"BinaryOp",op:"/",left:r,right:s}}else if(this.match("PERCENT")){let s=this.parseUnary();r={type:"BinaryOp",op:"%",left:r,right:s}}else break;return r}parseUnary(){return this.match("MINUS")?{type:"UnaryOp",op:"-",operand:this.parseUnary()}:this.parsePostfix()}parsePostfix(){let r=this.parsePrimary();for(;;)if(this.match("QUESTION"))r={type:"Optional",expr:r};else if(this.check("DOT")&&this.peek(1).type==="IDENT")this.advance(),r={type:"Field",name:this.expect("IDENT","Expected field name").value,base:r};else if(this.check("LBRACKET"))if(this.advance(),this.match("RBRACKET"))r={type:"Iterate",base:r};else if(this.check("COLON")){this.advance();let s=this.check("RBRACKET")?void 0:this.parseExpr();this.expect("RBRACKET","Expected ']'"),r={type:"Slice",end:s,base:r}}else{let s=this.parseExpr();if(this.match("COLON")){let i=this.check("RBRACKET")?void 0:this.parseExpr();this.expect("RBRACKET","Expected ']'"),r={type:"Slice",start:s,end:i,base:r}}else this.expect("RBRACKET","Expected ']'"),r={type:"Index",index:s,base:r}}else break;return r}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 s=this.check("RBRACKET")?void 0:this.parseExpr();return this.expect("RBRACKET","Expected ']'"),{type:"Slice",end:s}}let r=this.parseExpr();if(this.match("COLON")){let s=this.check("RBRACKET")?void 0:this.parseExpr();return this.expect("RBRACKET","Expected ']'"),{type:"Slice",start:r,end:s}}return this.expect("RBRACKET","Expected ']'"),{type:"Index",index:r}}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 s=this.advance().value;return s.includes("\\(")?this.parseStringInterpolation(s):{type:"Literal",value:s}}if(this.match("LBRACKET")){if(this.match("RBRACKET"))return{type:"Array"};let r=this.parseExpr();return this.expect("RBRACKET","Expected ']'"),{type:"Array",elements:r}}if(this.match("LBRACE"))return this.parseObjectConstruction();if(this.match("LPAREN")){let r=this.parseExpr();return this.expect("RPAREN","Expected ')'"),{type:"Paren",expr:r}}if(this.match("IF"))return this.parseIf();if(this.match("TRY")){let r=this.parsePostfix(),s;return this.match("CATCH")&&(s=this.parsePostfix()),{type:"Try",body:r,catch:s}}if(this.match("REDUCE")){let r=this.parsePostfix();this.expect("AS","Expected 'as' after reduce expression");let s=this.expect("IDENT","Expected variable name"),i=s.value;if(!i.startsWith("$"))throw new Error(`Variable name must start with $ at position ${s.pos}`);this.expect("LPAREN","Expected '(' after variable");let e=this.parseExpr();this.expect("SEMICOLON","Expected ';' after init expression");let n=this.parseExpr();return this.expect("RPAREN","Expected ')' after update expression"),{type:"Reduce",expr:r,varName:i,init:e,update:n}}if(this.match("FOREACH")){let r=this.parsePostfix();this.expect("AS","Expected 'as' after foreach expression");let s=this.expect("IDENT","Expected variable name"),i=s.value;if(!i.startsWith("$"))throw new Error(`Variable name must start with $ at position ${s.pos}`);this.expect("LPAREN","Expected '(' after variable");let e=this.parseExpr();this.expect("SEMICOLON","Expected ';' after init expression");let n=this.parseExpr(),o;return this.match("SEMICOLON")&&(o=this.parseExpr()),this.expect("RPAREN","Expected ')' after expressions"),{type:"Foreach",expr:r,varName:i,init:e,update:n,extract:o}}if(this.match("NOT"))return{type:"Call",name:"not",args:[]};if(this.check("IDENT")){let s=this.advance().value;if(s.startsWith("$"))return{type:"VarRef",name:s};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:s,args:i}}return{type:"Call",name:s,args:[]}}throw new Error(`Unexpected token ${this.peek().type} at position ${this.peek().pos}`)}parseObjectConstruction(){let r=[];if(!this.check("RBRACE"))do{let s,i;if(this.match("LPAREN"))s=this.parseExpr(),this.expect("RPAREN","Expected ')'"),this.expect("COLON","Expected ':'"),i=this.parseObjectValue();else if(this.check("IDENT")){let e=this.advance().value;this.match("COLON")?(s=e,i=this.parseObjectValue()):(s=e,i={type:"Field",name:e})}else if(this.check("STRING"))s=this.advance().value,this.expect("COLON","Expected ':'"),i=this.parseObjectValue();else throw new Error(`Expected object key at position ${this.peek().pos}`);r.push({key:s,value:i})}while(this.match("COMMA"));return this.expect("RBRACE","Expected '}'"),{type:"Object",entries:r}}parseObjectValue(){let r=this.parseVarBind();for(;this.match("PIPE");){let s=this.parseVarBind();r={type:"Pipe",left:r,right:s}}return r}parseIf(){let r=this.parseExpr();this.expect("THEN","Expected 'then'");let s=this.parseExpr(),i=[];for(;this.match("ELIF");){let n=this.parseExpr();this.expect("THEN","Expected 'then' after elif");let o=this.parseExpr();i.push({cond:n,then:o})}let e;return this.match("ELSE")&&(e=this.parseExpr()),this.expect("END","Expected 'end'"),{type:"Cond",cond:r,then:s,elifs:i,else:e}}parseStringInterpolation(r){let s=[],i="",e=0;for(;e<r.length;)if(r[e]==="\\"&&r[e+1]==="("){i&&(s.push(i),i=""),e+=2;let n=1,o="";for(;e<r.length&&n>0;)r[e]==="("?n++:r[e]===")"&&n--,n>0&&(o+=r[e]),e++;let f=_(o),c=new t(f);s.push(c.parse())}else i+=r[e],e++;return i&&s.push(i),{type:"StringInterp",parts:s}}};function $(t){let r=_(t);return new P(r).parse()}var Y={name:"jq",summary:"command-line JSON processor",usage:"jq [OPTIONS] FILTER [FILE]",options:["-r, --raw-output output strings without quotes","-c, --compact compact output (no pretty printing)","-e, --exit-status set exit status based on output","-s, --slurp read entire input into array","-n, --null-input don't read any input","-j, --join-output don't print newlines after each output","-a, --ascii force ASCII output","-S, --sort-keys sort object keys","-C, --color colorize output (ignored)","-M, --monochrome monochrome output (ignored)"," --tab use tabs for indentation"," --help display this help and exit"]};function S(t,r,s,i,e,n=0){if(t===null||t===void 0)return"null";if(typeof t=="boolean")return String(t);if(typeof t=="number")return Number.isFinite(t)?String(t):"null";if(typeof t=="string")return s?t:JSON.stringify(t);let o=e?" ":" ";if(Array.isArray(t))return t.length===0?"[]":r?`[${t.map(c=>S(c,!0,!1,i,e)).join(",")}]`:`[
6
- ${t.map(c=>o.repeat(n+1)+S(c,!1,!1,i,e,n+1)).join(`,
7
- `)}
8
- ${o.repeat(n)}]`;if(typeof t=="object"){let f=Object.keys(t);return i&&(f=f.sort()),f.length===0?"{}":r?`{${f.map(p=>`${JSON.stringify(p)}:${S(t[p],!0,!1,i,e)}`).join(",")}}`:`{
9
- ${f.map(p=>{let y=S(t[p],!1,!1,i,e,n+1);return`${o.repeat(n+1)}${JSON.stringify(p)}: ${y}`}).join(`,
10
- `)}
11
- ${o.repeat(n)}}`}return String(t)}var st={name:"jq",async execute(t,r){if(M(t))return L(Y);let s=!1,i=!1,e=!1,n=!1,o=!1,f=!1,c=!1,p=!1,y=".",h=!1,l=[];for(let m=0;m<t.length;m++){let a=t[m];if(a==="-r"||a==="--raw-output")s=!0;else if(a==="-c"||a==="--compact-output")i=!0;else if(a==="-e"||a==="--exit-status")e=!0;else if(a==="-s"||a==="--slurp")n=!0;else if(a==="-n"||a==="--null-input")o=!0;else if(a==="-j"||a==="--join-output")f=!0;else if(!(a==="-a"||a==="--ascii")){if(a==="-S"||a==="--sort-keys")c=!0;else if(!(a==="-C"||a==="--color")){if(!(a==="-M"||a==="--monochrome"))if(a==="--tab")p=!0;else if(a==="-")l.push("-");else{if(a.startsWith("--"))return T("jq",a);if(a.startsWith("-")){for(let d of a.slice(1))if(d==="r")s=!0;else if(d==="c")i=!0;else if(d==="e")e=!0;else if(d==="s")n=!0;else if(d==="n")o=!0;else if(d==="j")f=!0;else if(d!=="a"){if(d==="S")c=!0;else if(d!=="C"){if(d!=="M")return T("jq",`-${d}`)}}}else h?l.push(a):(y=a,h=!0)}}}}let A;if(o)A="";else if(l.length===0||l.length===1&&l[0]==="-")A=r.stdin;else try{let m=r.fs.resolvePath(r.cwd,l[0]);A=await r.fs.readFile(m)}catch{return{stdout:"",stderr:`jq: ${l[0]}: No such file or directory
12
- `,exitCode:2}}try{let m=$(y),a,d={limits:r.limits?{maxIterations:r.limits.maxJqIterations}:void 0};if(o)a=u(null,m,d);else if(n){let E=[];for(let k of A.trim().split(`
13
- `))k.trim()&&E.push(JSON.parse(k));a=u(E,m,d)}else{let E=A.trim();if(E.startsWith("{")||E.startsWith("["))a=u(JSON.parse(E),m,d);else{a=[];for(let k of E.split(`
14
- `))k.trim()&&a.push(...u(JSON.parse(k),m,d))}}let F=a.map(E=>S(E,i,s,c,p)),J=f?"":`
15
- `,R=F.join(J),q=e&&(a.length===0||a.every(E=>E==null||E===!1))?1:0;return{stdout:R?f?R:`${R}
16
- `:"",stderr:"",exitCode:q}}catch(m){if(m instanceof g)return{stdout:"",stderr:`jq: ${m.message}
17
- `,exitCode:g.EXIT_CODE};let a=m.message;return a.includes("Unknown function")?{stdout:"",stderr:`jq: error: ${a}
18
- `,exitCode:3}:{stdout:"",stderr:`jq: parse error: ${a}
19
- `,exitCode:5}}}};export{st as jqCommand};
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- var g=Object.create;var f=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(a=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(b,c)=>(typeof require<"u"?require:b)[c]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});var n=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports);var l=(a,b,c,e)=>{if(b&&typeof b=="object"||typeof b=="function")for(let d of i(b))!k.call(a,d)&&d!==c&&f(a,d,{get:()=>b[d],enumerable:!(e=h(b,d))||e.enumerable});return a};var o=(a,b,c)=>(c=a!=null?g(j(a)):{},l(b||!a||!a.__esModule?f(c,"default",{value:a,enumerable:!0}):c,a));export{m as a,n as b,o as c};
@@ -1,19 +0,0 @@
1
- #!/usr/bin/env node
2
- import{i as g}from"./chunk-NWWB2XRE.js";import{a as L,b as M,c as T}from"./chunk-GTNBSMZR.js";import"./chunk-SJXDWN5X.js";var K=1e4;function W(t){return{vars:new Map,limits:{maxIterations:t?.maxIterations??K}}}function w(t,r,s){let i=new Map(t.vars);return i.set(r,s),{vars:i,limits:t.limits}}function u(t,r,s){let i=s&&"vars"in s?s:W(s?.limits);switch(r.type){case"Identity":return[t];case"Field":return(r.base?u(t,r.base,i):[t]).flatMap(n=>n&&typeof n=="object"&&!Array.isArray(n)?[n[r.name]]:[null]);case"Index":return(r.base?u(t,r.base,i):[t]).flatMap(n=>u(n,r.index,i).flatMap(f=>{if(typeof f=="number"&&Array.isArray(n)){let c=f<0?n.length+f:f;return c>=0&&c<n.length?[n[c]]:[null]}return typeof f=="string"&&n&&typeof n=="object"&&!Array.isArray(n)?[n[f]]:[null]}));case"Slice":return(r.base?u(t,r.base,i):[t]).flatMap(n=>{if(!Array.isArray(n)&&typeof n!="string")return[null];let o=n.length,f=r.start?u(t,r.start,i):[0],c=r.end?u(t,r.end,i):[o];return f.flatMap(p=>c.map(y=>{let h=D(p,o),l=D(y,o);return Array.isArray(n),n.slice(h,l)}))});case"Iterate":return(r.base?u(t,r.base,i):[t]).flatMap(n=>Array.isArray(n)?n:n&&typeof n=="object"?Object.values(n):[]);case"Pipe":return u(t,r.left,i).flatMap(n=>u(n,r.right,i));case"Comma":{let e=u(t,r.left,i),n=u(t,r.right,i);return[...e,...n]}case"Literal":return[r.value];case"Array":return r.elements?[u(t,r.elements,i)]:[[]];case"Object":{let e=[{}];for(let n of r.entries){let o=typeof n.key=="string"?[n.key]:u(t,n.key,i),f=u(t,n.value,i),c=[];for(let p of e)for(let y of o)for(let h of f)c.push({...p,[String(y)]:h});e.length=0,e.push(...c)}return e}case"Paren":return u(t,r.expr,i);case"BinaryOp":return V(t,r.op,r.left,r.right,i);case"UnaryOp":return u(t,r.operand,i).map(n=>r.op==="-"?typeof n=="number"?-n:null:r.op==="not"?!b(n):null);case"Cond":return u(t,r.cond,i).flatMap(n=>{if(b(n))return u(t,r.then,i);for(let o of r.elifs)if(u(t,o.cond,i).some(b))return u(t,o.then,i);return r.else?u(t,r.else,i):[null]});case"Try":try{return u(t,r.body,i)}catch{return r.catch?u(t,r.catch,i):[]}case"Call":return B(t,r.name,r.args,i);case"VarBind":return u(t,r.value,i).flatMap(n=>{let o=w(i,r.name,n);return u(t,r.body,o)});case"VarRef":{let e=i.vars.get(r.name);return e!==void 0?[e]:[null]}case"Recurse":{let e=[],n=new WeakSet,o=f=>{if(f&&typeof f=="object"){if(n.has(f))return;n.add(f)}if(e.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),e}case"Optional":try{return u(t,r.expr,i)}catch{return[]}case"StringInterp":return[r.parts.map(n=>typeof n=="string"?n:u(t,n,i).map(f=>typeof f=="string"?f:JSON.stringify(f)).join("")).join("")];case"UpdateOp":return[G(t,r.path,r.op,r.value,i)];case"Reduce":{let e=u(t,r.expr,i),n=u(t,r.init,i)[0];for(let o of e){let f=w(i,r.varName,o);n=u(n,r.update,f)[0]}return[n]}case"Foreach":{let e=u(t,r.expr,i),n=u(t,r.init,i)[0],o=[];for(let f of e){let c=w(i,r.varName,f);if(n=u(n,r.update,c)[0],r.extract){let p=u(n,r.extract,c);o.push(...p)}else o.push(n)}return o}default:{let e=r;throw new Error(`Unknown AST node type: ${e.type}`)}}}function D(t,r){return t<0?Math.max(0,r+t):Math.min(t,r)}function G(t,r,s,i,e){function n(c,p){switch(s){case"=":return p;case"|=":return u(c,i,e)[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 l={...h};return l[p.name]=y(l[p.name]),l}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 l=u(t,p.index,e)[0];if(p.base)return o(c,p.base,A=>{if(typeof l=="number"&&Array.isArray(A)){let m=[...A],a=l<0?m.length+l:l;return a>=0&&a<m.length&&(m[a]=y(m[a])),m}if(typeof l=="string"&&A&&typeof A=="object"&&!Array.isArray(A)){let m={...A};return m[l]=y(m[l]),m}return A});if(typeof l=="number"&&Array.isArray(c)){let A=[...c],m=l<0?A.length+l:l;return m>=0&&m<A.length&&(A[m]=y(A[m])),A}if(typeof l=="string"&&c&&typeof c=="object"&&!Array.isArray(c)){let A={...c};return A[l]=y(A[l]),A}return c}case"Iterate":{let h=l=>{if(Array.isArray(l))return l.map(A=>y(A));if(l&&typeof l=="object"){let A={};for(let[m,a]of Object.entries(l))A[m]=y(a);return A}return l};return p.base?o(c,p.base,h):h(c)}case"Pipe":{let h=o(c,p.left,l=>l);return o(h,p.right,y)}default:return y(c)}}return o(t,r,c=>{if(s==="|=")return n(c,c);let p=u(t,i,e);return n(c,p[0]??null)})}function H(t,r,s){function i(e,n){switch(n.type){case"Identity":return null;case"Field":{if(e&&typeof e=="object"&&!Array.isArray(e)){let o={...e};return delete o[n.name],o}return e}case"Index":{let f=u(t,n.index,s)[0];if(typeof f=="number"&&Array.isArray(e)){let c=[...e],p=f<0?c.length+f:f;return p>=0&&p<c.length&&c.splice(p,1),c}if(typeof f=="string"&&e&&typeof e=="object"&&!Array.isArray(e)){let c={...e};return delete c[f],c}return e}case"Iterate":return Array.isArray(e)?[]:e&&typeof e=="object"?{}:e;default:return e}}return i(t,r)}function b(t){return t!==null&&t!==!1}function V(t,r,s,i,e){if(r==="and")return u(t,s,e).flatMap(c=>b(c)?u(t,i,e).map(y=>b(y)):[!1]);if(r==="or")return u(t,s,e).flatMap(c=>b(c)?[!0]:u(t,i,e).map(y=>b(y)));if(r==="//"){let c=u(t,s,e).filter(p=>p!=null&&p!==!1);return c.length>0?c:u(t,i,e)}let n=u(t,s,e),o=u(t,i,e);return n.flatMap(f=>o.map(c=>{switch(r){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)?U(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 O(f,c);case"!=":return!O(f,c);case"<":return N(f,c)<0;case"<=":return N(f,c)<=0;case">":return N(f,c)>0;case">=":return N(f,c)>=0;default:return null}}))}function O(t,r){return JSON.stringify(t)===JSON.stringify(r)}function N(t,r){return typeof t=="number"&&typeof r=="number"?t-r:typeof t=="string"&&typeof r=="string"?t.localeCompare(r):0}function U(t,r){let s={...t};for(let i of Object.keys(r))i in s&&s[i]&&typeof s[i]=="object"&&!Array.isArray(s[i])&&r[i]&&typeof r[i]=="object"&&!Array.isArray(r[i])?s[i]=U(s[i],r[i]):s[i]=r[i];return s}function B(t,r,s,i){switch(r){case"keys":return Array.isArray(t)?[t.map((e,n)=>n)]:t&&typeof t=="object"?[Object.keys(t).sort()]:[null];case"keys_unsorted":return Array.isArray(t)?[t.map((e,n)=>n)]: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 e=s.length>0?u(t,s[0],i)[0]:t;throw new Error(String(e))}case"not":return[!b(t)];case"null":return[null];case"true":return[!0];case"false":return[!1];case"first":if(s.length>0){let e=u(t,s[0],i);return e.length>0?[e[0]]:[]}return Array.isArray(t)&&t.length>0?[t[0]]:[null];case"last":if(s.length>0){let e=u(t,s[0],i);return e.length>0?[e[e.length-1]]:[]}return Array.isArray(t)&&t.length>0?[t[t.length-1]]:[null];case"nth":{if(s.length<1)return[null];let n=u(t,s[0],i)[0];if(s.length>1){let o=u(t,s[1],i);return n>=0&&n<o.length?[o[n]]:[]}return Array.isArray(t)?n>=0&&n<t.length?[t[n]]:[null]:[null]}case"range":{if(s.length===0)return[];let e=u(t,s[0],i);if(s.length===1){let p=e[0];return Array.from({length:p},(y,h)=>h)}let n=u(t,s[1],i),o=e[0],f=n[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(j)]:[null];case"sort_by":return!Array.isArray(t)||s.length===0?[null]:[[...t].sort((n,o)=>{let f=u(n,s[0],i)[0],c=u(o,s[0],i)[0];return j(f,c)})];case"unique":if(Array.isArray(t)){let e=new Set,n=[];for(let o of t){let f=JSON.stringify(o);e.has(f)||(e.add(f),n.push(o))}return[n]}return[null];case"unique_by":{if(!Array.isArray(t)||s.length===0)return[null];let e=new Set,n=[];for(let o of t){let f=JSON.stringify(u(o,s[0],i)[0]);e.has(f)||(e.add(f),n.push(o))}return[n]}case"group_by":{if(!Array.isArray(t)||s.length===0)return[null];let e=new Map;for(let n of t){let o=JSON.stringify(u(n,s[0],i)[0]);e.has(o)||e.set(o,[]),e.get(o)?.push(n)}return[[...e.values()]]}case"max":return Array.isArray(t)&&t.length>0?[t.reduce((e,n)=>j(e,n)>0?e:n)]:[null];case"max_by":return!Array.isArray(t)||t.length===0||s.length===0?[null]:[t.reduce((e,n)=>{let o=u(e,s[0],i)[0],f=u(n,s[0],i)[0];return j(o,f)>0?e:n})];case"min":return Array.isArray(t)&&t.length>0?[t.reduce((e,n)=>j(e,n)<0?e:n)]:[null];case"min_by":return!Array.isArray(t)||t.length===0||s.length===0?[null]:[t.reduce((e,n)=>{let o=u(e,s[0],i)[0],f=u(n,s[0],i)[0];return j(o,f)<0?e:n})];case"flatten":{if(!Array.isArray(t))return[null];let e=s.length>0?u(t,s[0],i)[0]:Number.POSITIVE_INFINITY;return[t.flat(e)]}case"add":if(Array.isArray(t)){if(t.length===0)return[null];if(t.every(e=>typeof e=="number"))return[t.reduce((e,n)=>e+n,0)];if(t.every(e=>typeof e=="string"))return[t.join("")];if(t.every(e=>Array.isArray(e)))return[t.flat()];if(t.every(e=>e&&typeof e=="object"&&!Array.isArray(e)))return[Object.assign({},...t)]}return[null];case"any":return s.length>0?Array.isArray(t)?[t.some(e=>b(u(e,s[0],i)[0]))]:[!1]:Array.isArray(t)?[t.some(b)]:[!1];case"all":return s.length>0?Array.isArray(t)?[t.every(e=>b(u(e,s[0],i)[0]))]:[!0]:Array.isArray(t)?[t.every(b)]:[!0];case"select":return s.length===0?[t]:u(t,s[0],i).some(b)?[t]:[];case"map":return s.length===0||!Array.isArray(t)?[null]:[t.flatMap(n=>u(n,s[0],i))];case"map_values":{if(s.length===0)return[null];if(Array.isArray(t))return[t.flatMap(e=>u(e,s[0],i))];if(t&&typeof t=="object"){let e={};for(let[n,o]of Object.entries(t)){let f=u(o,s[0],i);f.length>0&&(e[n]=f[0])}return[e]}return[null]}case"has":{if(s.length===0)return[!1];let n=u(t,s[0],i)[0];return Array.isArray(t)&&typeof n=="number"?[n>=0&&n<t.length]:t&&typeof t=="object"&&typeof n=="string"?[n in t]:[!1]}case"in":{if(s.length===0)return[!1];let n=u(t,s[0],i)[0];return Array.isArray(n)&&typeof t=="number"?[t>=0&&t<n.length]:n&&typeof n=="object"&&typeof t=="string"?[t in n]:[!1]}case"contains":{if(s.length===0)return[!1];let e=u(t,s[0],i);return[x(t,e[0])]}case"inside":{if(s.length===0)return[!1];let e=u(t,s[0],i);return[x(e[0],t)]}case"getpath":{if(s.length===0)return[null];let n=u(t,s[0],i)[0],o=t;for(let f of n){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(s.length<2)return[null];let n=u(t,s[0],i)[0],f=u(t,s[1],i)[0];return[I(t,n,f)]}case"delpaths":{if(s.length===0)return[t];let n=u(t,s[0],i)[0],o=t;for(let f of n.sort((c,p)=>p.length-c.length))o=C(o,f);return[o]}case"path":{if(s.length===0)return[[]];let e=[];return Q(t,s[0],i,[],e),e}case"del":return s.length===0?[t]:[H(t,s[0],i)];case"paths":{let e=[],n=(o,f)=>{if(o&&typeof o=="object")if(Array.isArray(o))for(let c=0;c<o.length;c++)e.push([...f,c]),n(o[c],[...f,c]);else for(let c of Object.keys(o))e.push([...f,c]),n(o[c],[...f,c])};return n(t,[]),s.length>0?e.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,s[0],i).some(b)}):e}case"leaf_paths":{let e=[],n=(o,f)=>{if(o===null||typeof o!="object")e.push(f);else if(Array.isArray(o))for(let c=0;c<o.length;c++)n(o[c],[...f,c]);else for(let c of Object.keys(o))n(o[c],[...f,c])};return n(t,[]),[e]}case"to_entries":return t&&typeof t=="object"&&!Array.isArray(t)?[Object.entries(t).map(([e,n])=>({key:e,value:n}))]:[null];case"from_entries":if(Array.isArray(t)){let e={};for(let n of t)if(n&&typeof n=="object"){let o=n,f=o.key??o.name??o.k,c=o.value??o.v;f!==void 0&&(e[String(f)]=c)}return[e]}return[null];case"with_entries":{if(s.length===0)return[t];if(t&&typeof t=="object"&&!Array.isArray(t)){let n=Object.entries(t).map(([f,c])=>({key:f,value:c})).flatMap(f=>u(f,s[0],i)),o={};for(let f of n)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 e=s.length>0?u(t,s[0],i):[""],n=String(e[0]);return[t.map(o=>typeof o=="string"?o:JSON.stringify(o)).join(n)]}case"split":{if(typeof t!="string"||s.length===0)return[null];let e=u(t,s[0],i),n=String(e[0]);return[t.split(n)]}case"test":{if(typeof t!="string"||s.length===0)return[!1];let e=u(t,s[0],i),n=String(e[0]);try{let o=s.length>1?String(u(t,s[1],i)[0]):"";return[new RegExp(n,o).test(t)]}catch{return[!1]}}case"match":{if(typeof t!="string"||s.length===0)return[null];let e=u(t,s[0],i),n=String(e[0]);try{let o=s.length>1?String(u(t,s[1],i)[0]):"",c=new RegExp(n,`${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"||s.length===0)return[null];let e=u(t,s[0],i),n=String(e[0]);try{let o=s.length>1?String(u(t,s[1],i)[0]):"",f=new RegExp(n,o),c=t.match(f);return!c||!c.groups?[{}]:[c.groups]}catch{return[null]}}case"sub":{if(typeof t!="string"||s.length<2)return[null];let e=u(t,s[0],i),n=u(t,s[1],i),o=String(e[0]),f=String(n[0]);try{let c=s.length>2?String(u(t,s[2],i)[0]):"";return[t.replace(new RegExp(o,c),f)]}catch{return[t]}}case"gsub":{if(typeof t!="string"||s.length<2)return[null];let e=u(t,s[0],i),n=u(t,s[1],i),o=String(e[0]),f=String(n[0]);try{let c=s.length>2?String(u(t,s[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"||s.length===0)return[t];let e=u(t,s[0],i),n=String(e[0]);return[t.startsWith(n)?t.slice(n.length):t]}case"rtrimstr":{if(typeof t!="string"||s.length===0)return[t];let e=u(t,s[0],i),n=String(e[0]);return[t.endsWith(n)?t.slice(0,-n.length):t]}case"startswith":{if(typeof t!="string"||s.length===0)return[!1];let e=u(t,s[0],i);return[t.startsWith(String(e[0]))]}case"endswith":{if(typeof t!="string"||s.length===0)return[!1];let e=u(t,s[0],i);return[t.endsWith(String(e[0]))]}case"index":{if(s.length===0)return[null];let n=u(t,s[0],i)[0];if(typeof t=="string"&&typeof n=="string"){let o=t.indexOf(n);return[o>=0?o:null]}if(Array.isArray(t)){let o=t.findIndex(f=>O(f,n));return[o>=0?o:null]}return[null]}case"rindex":{if(s.length===0)return[null];let n=u(t,s[0],i)[0];if(typeof t=="string"&&typeof n=="string"){let o=t.lastIndexOf(n);return[o>=0?o:null]}if(Array.isArray(t)){for(let o=t.length-1;o>=0;o--)if(O(t[o],n))return[o];return[null]}return[null]}case"indices":{if(s.length===0)return[[]];let n=u(t,s[0],i)[0],o=[];if(typeof t=="string"&&typeof n=="string"){let f=t.indexOf(n);for(;f!==-1;)o.push(f),f=t.indexOf(n,f+1)}else if(Array.isArray(t))for(let f=0;f<t.length;f++)O(t[f],n)&&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"||s.length===0)return[null];let n=u(t,s[0],i)[0];return[t**n]}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 e=Number(t);return[Number.isNaN(e)?null:e]}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[{}];case"recurse":{if(s.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 e=[],n=new Set,o=f=>{let c=JSON.stringify(f);if(n.has(c))return;n.add(c),e.push(f);let p=u(f,s[0],i);for(let y of p)y!=null&&o(y)};return o(t),e}case"recurse_down":return B(t,"recurse",s,i);case"walk":{if(s.length===0)return[t];let e=new WeakSet,n=o=>{if(o&&typeof o=="object"){if(e.has(o))return o;e.add(o)}let f;if(Array.isArray(o))f=o.map(n);else if(o&&typeof o=="object"){let p={};for(let[y,h]of Object.entries(o))p[y]=n(h);f=p}else f=o;return u(f,s[0],i)[0]};return[n(t)]}case"transpose":{if(!Array.isArray(t))return[null];if(t.length===0)return[[]];let e=Math.max(...t.map(o=>Array.isArray(o)?o.length:0)),n=[];for(let o=0;o<e;o++)n.push(t.map(f=>Array.isArray(f)?f[o]:null));return[n]}case"ascii":return typeof t=="string"&&t.length>0?[t.charCodeAt(0)]:[null];case"explode":return typeof t=="string"?[Array.from(t).map(e=>e.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(s.length<2)return[];let n=u(t,s[0],i)[0];return u(t,s[1],i).slice(0,n)}case"until":{if(s.length<2)return[t];let e=t,n=i.limits.maxIterations;for(let o=0;o<n;o++){if(u(e,s[0],i).some(b))return[e];let c=u(e,s[1],i);if(c.length===0)return[e];e=c[0]}throw new g(`jq until: too many iterations (${n}), increase executionLimits.maxJqIterations`,"iterations")}case"while":{if(s.length<2)return[t];let e=[],n=t,o=i.limits.maxIterations;for(let f=0;f<o&&u(n,s[0],i).some(b);f++){e.push(n);let p=u(n,s[1],i);if(p.length===0)break;n=p[0]}if(e.length>=o)throw new g(`jq while: too many iterations (${o}), increase executionLimits.maxJqIterations`,"iterations");return e}case"repeat":{if(s.length===0)return[t];let e=[],n=t,o=i.limits.maxIterations;for(let f=0;f<o;f++){e.push(n);let c=u(n,s[0],i);if(c.length===0)break;n=c[0]}if(e.length>=o)throw new g(`jq repeat: too many iterations (${o}), increase executionLimits.maxJqIterations`,"iterations");return e}case"debug":return[t];case"input_line_number":return[1];default:throw new Error(`Unknown function: ${r}`)}}function j(t,r){let s=n=>n===null?0:typeof n=="boolean"?1:typeof n=="number"?2:typeof n=="string"?3:Array.isArray(n)?4:typeof n=="object"?5:6,i=s(t),e=s(r);if(i!==e)return i-e;if(typeof t=="number"&&typeof r=="number")return t-r;if(typeof t=="string"&&typeof r=="string")return t.localeCompare(r);if(typeof t=="boolean"&&typeof r=="boolean")return(t?1:0)-(r?1:0);if(Array.isArray(t)&&Array.isArray(r)){for(let n=0;n<Math.min(t.length,r.length);n++){let o=j(t[n],r[n]);if(o!==0)return o}return t.length-r.length}return 0}function x(t,r){if(O(t,r))return!0;if(Array.isArray(t)&&Array.isArray(r))return r.every(s=>t.some(i=>x(i,s)));if(t&&r&&typeof t=="object"&&typeof r=="object"&&!Array.isArray(t)&&!Array.isArray(r)){let s=t,i=r;return Object.keys(i).every(e=>e in s&&x(s[e],i[e]))}return!1}function I(t,r,s){if(r.length===0)return s;let[i,...e]=r;if(typeof i=="number"){let o=Array.isArray(t)?[...t]:[];for(;o.length<=i;)o.push(null);return o[i]=I(o[i],e,s),o}let n=t&&typeof t=="object"&&!Array.isArray(t)?{...t}:{};return n[i]=I(n[i],e,s),n}function C(t,r){if(r.length===0)return null;if(r.length===1){let e=r[0];if(Array.isArray(t)&&typeof e=="number"){let n=[...t];return n.splice(e,1),n}if(t&&typeof t=="object"&&!Array.isArray(t)){let n={...t};return delete n[String(e)],n}return t}let[s,...i]=r;if(Array.isArray(t)&&typeof s=="number"){let e=[...t];return e[s]=C(e[s],i),e}if(t&&typeof t=="object"&&!Array.isArray(t)){let e={...t};return e[String(s)]=C(e[String(s)],i),e}return t}function Q(t,r,s,i,e){u(t,r,s).length>0&&e.push(i)}var z={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 _(t){let r=[],s=0,i=(p=0)=>t[s+p],e=()=>t[s++],n=()=>s>=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(;!n();){let p=s,y=e();if(!(y===" "||y===" "||y===`
3
- `||y==="\r")){if(y==="#"){for(;!n()&&i()!==`
4
- `;)e();continue}if(y==="."&&i()==="."){e(),r.push({type:"DOTDOT",pos:p});continue}if(y==="="&&i()==="="){e(),r.push({type:"EQ",pos:p});continue}if(y==="!"&&i()==="="){e(),r.push({type:"NE",pos:p});continue}if(y==="<"&&i()==="="){e(),r.push({type:"LE",pos:p});continue}if(y===">"&&i()==="="){e(),r.push({type:"GE",pos:p});continue}if(y==="/"&&i()==="/"){e(),i()==="="?(e(),r.push({type:"UPDATE_ALT",pos:p})):r.push({type:"ALT",pos:p});continue}if(y==="+"&&i()==="="){e(),r.push({type:"UPDATE_ADD",pos:p});continue}if(y==="-"&&i()==="="){e(),r.push({type:"UPDATE_SUB",pos:p});continue}if(y==="*"&&i()==="="){e(),r.push({type:"UPDATE_MUL",pos:p});continue}if(y==="/"&&i()==="="){e(),r.push({type:"UPDATE_DIV",pos:p});continue}if(y==="%"&&i()==="="){e(),r.push({type:"UPDATE_MOD",pos:p});continue}if(y==="="&&i()!=="="){r.push({type:"ASSIGN",pos:p});continue}if(y==="."){r.push({type:"DOT",pos:p});continue}if(y==="|"){i()==="="?(e(),r.push({type:"UPDATE_PIPE",pos:p})):r.push({type:"PIPE",pos:p});continue}if(y===","){r.push({type:"COMMA",pos:p});continue}if(y===":"){r.push({type:"COLON",pos:p});continue}if(y===";"){r.push({type:"SEMICOLON",pos:p});continue}if(y==="("){r.push({type:"LPAREN",pos:p});continue}if(y===")"){r.push({type:"RPAREN",pos:p});continue}if(y==="["){r.push({type:"LBRACKET",pos:p});continue}if(y==="]"){r.push({type:"RBRACKET",pos:p});continue}if(y==="{"){r.push({type:"LBRACE",pos:p});continue}if(y==="}"){r.push({type:"RBRACE",pos:p});continue}if(y==="?"){r.push({type:"QUESTION",pos:p});continue}if(y==="+"){r.push({type:"PLUS",pos:p});continue}if(y==="-"){if(o(i())){let h=y;for(;!n()&&(o(i())||i()===".");)h+=e();r.push({type:"NUMBER",value:Number(h),pos:p});continue}r.push({type:"MINUS",pos:p});continue}if(y==="*"){r.push({type:"STAR",pos:p});continue}if(y==="/"){r.push({type:"SLASH",pos:p});continue}if(y==="%"){r.push({type:"PERCENT",pos:p});continue}if(y==="<"){r.push({type:"LT",pos:p});continue}if(y===">"){r.push({type:"GT",pos:p});continue}if(o(y)){let h=y;for(;!n()&&(o(i())||i()==="."||i()==="e"||i()==="E");)(i()==="e"||i()==="E")&&(t[s+1]==="+"||t[s+1]==="-")&&(h+=e()),h+=e();r.push({type:"NUMBER",value:Number(h),pos:p});continue}if(y==='"'){let h="";for(;!n()&&i()!=='"';)if(i()==="\\"){if(e(),n())break;let l=e();switch(l){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+=l}}else h+=e();n()||e(),r.push({type:"STRING",value:h,pos:p});continue}if(f(y)||y==="$"||y==="@"){let h=y;for(;!n()&&c(i());)h+=e();let l=z[h];l?r.push({type:l,pos:p}):r.push({type:"IDENT",value:h,pos:p});continue}throw new Error(`Unexpected character '${y}' at position ${p}`)}}return r.push({type:"EOF",pos:s}),r}var P=class t{tokens;pos=0;constructor(r){this.tokens=r}peek(r=0){return this.tokens[this.pos+r]??{type:"EOF",pos:-1}}advance(){return this.tokens[this.pos++]}check(r){return this.peek().type===r}match(...r){for(let s of r)if(this.check(s))return this.advance();return null}expect(r,s){if(!this.check(r))throw new Error(`${s} at position ${this.peek().pos}, got ${this.peek().type}`);return this.advance()}parse(){let r=this.parseExpr();if(!this.check("EOF"))throw new Error(`Unexpected token ${this.peek().type} at position ${this.peek().pos}`);return r}parseExpr(){return this.parsePipe()}parsePipe(){let r=this.parseComma();for(;this.match("PIPE");){let s=this.parseComma();r={type:"Pipe",left:r,right:s}}return r}parseComma(){let r=this.parseVarBind();for(;this.match("COMMA");){let s=this.parseVarBind();r={type:"Comma",left:r,right:s}}return r}parseVarBind(){let r=this.parseUpdate();if(this.match("AS")){let s=this.expect("IDENT","Expected variable name after 'as'"),i=s.value;if(!i.startsWith("$"))throw new Error(`Variable name must start with $ at position ${s.pos}`);this.expect("PIPE","Expected '|' after variable binding");let e=this.parseExpr();return{type:"VarBind",name:i,value:r,body:e}}return r}parseUpdate(){let r=this.parseAlt(),s={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 e=this.parseVarBind();return{type:"UpdateOp",op:s[i.type],path:r,value:e}}return r}parseAlt(){let r=this.parseOr();for(;this.match("ALT");){let s=this.parseOr();r={type:"BinaryOp",op:"//",left:r,right:s}}return r}parseOr(){let r=this.parseAnd();for(;this.match("OR");){let s=this.parseAnd();r={type:"BinaryOp",op:"or",left:r,right:s}}return r}parseAnd(){let r=this.parseNot();for(;this.match("AND");){let s=this.parseNot();r={type:"BinaryOp",op:"and",left:r,right:s}}return r}parseNot(){return this.parseComparison()}parseComparison(){let r=this.parseAddSub(),s={EQ:"==",NE:"!=",LT:"<",LE:"<=",GT:">",GE:">="},i=this.match("EQ","NE","LT","LE","GT","GE");if(i){let e=this.parseAddSub();r={type:"BinaryOp",op:s[i.type],left:r,right:e}}return r}parseAddSub(){let r=this.parseMulDiv();for(;;)if(this.match("PLUS")){let s=this.parseMulDiv();r={type:"BinaryOp",op:"+",left:r,right:s}}else if(this.match("MINUS")){let s=this.parseMulDiv();r={type:"BinaryOp",op:"-",left:r,right:s}}else break;return r}parseMulDiv(){let r=this.parseUnary();for(;;)if(this.match("STAR")){let s=this.parseUnary();r={type:"BinaryOp",op:"*",left:r,right:s}}else if(this.match("SLASH")){let s=this.parseUnary();r={type:"BinaryOp",op:"/",left:r,right:s}}else if(this.match("PERCENT")){let s=this.parseUnary();r={type:"BinaryOp",op:"%",left:r,right:s}}else break;return r}parseUnary(){return this.match("MINUS")?{type:"UnaryOp",op:"-",operand:this.parseUnary()}:this.parsePostfix()}parsePostfix(){let r=this.parsePrimary();for(;;)if(this.match("QUESTION"))r={type:"Optional",expr:r};else if(this.check("DOT")&&this.peek(1).type==="IDENT")this.advance(),r={type:"Field",name:this.expect("IDENT","Expected field name").value,base:r};else if(this.check("LBRACKET"))if(this.advance(),this.match("RBRACKET"))r={type:"Iterate",base:r};else if(this.check("COLON")){this.advance();let s=this.check("RBRACKET")?void 0:this.parseExpr();this.expect("RBRACKET","Expected ']'"),r={type:"Slice",end:s,base:r}}else{let s=this.parseExpr();if(this.match("COLON")){let i=this.check("RBRACKET")?void 0:this.parseExpr();this.expect("RBRACKET","Expected ']'"),r={type:"Slice",start:s,end:i,base:r}}else this.expect("RBRACKET","Expected ']'"),r={type:"Index",index:s,base:r}}else break;return r}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 s=this.check("RBRACKET")?void 0:this.parseExpr();return this.expect("RBRACKET","Expected ']'"),{type:"Slice",end:s}}let r=this.parseExpr();if(this.match("COLON")){let s=this.check("RBRACKET")?void 0:this.parseExpr();return this.expect("RBRACKET","Expected ']'"),{type:"Slice",start:r,end:s}}return this.expect("RBRACKET","Expected ']'"),{type:"Index",index:r}}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 s=this.advance().value;return s.includes("\\(")?this.parseStringInterpolation(s):{type:"Literal",value:s}}if(this.match("LBRACKET")){if(this.match("RBRACKET"))return{type:"Array"};let r=this.parseExpr();return this.expect("RBRACKET","Expected ']'"),{type:"Array",elements:r}}if(this.match("LBRACE"))return this.parseObjectConstruction();if(this.match("LPAREN")){let r=this.parseExpr();return this.expect("RPAREN","Expected ')'"),{type:"Paren",expr:r}}if(this.match("IF"))return this.parseIf();if(this.match("TRY")){let r=this.parsePostfix(),s;return this.match("CATCH")&&(s=this.parsePostfix()),{type:"Try",body:r,catch:s}}if(this.match("REDUCE")){let r=this.parsePostfix();this.expect("AS","Expected 'as' after reduce expression");let s=this.expect("IDENT","Expected variable name"),i=s.value;if(!i.startsWith("$"))throw new Error(`Variable name must start with $ at position ${s.pos}`);this.expect("LPAREN","Expected '(' after variable");let e=this.parseExpr();this.expect("SEMICOLON","Expected ';' after init expression");let n=this.parseExpr();return this.expect("RPAREN","Expected ')' after update expression"),{type:"Reduce",expr:r,varName:i,init:e,update:n}}if(this.match("FOREACH")){let r=this.parsePostfix();this.expect("AS","Expected 'as' after foreach expression");let s=this.expect("IDENT","Expected variable name"),i=s.value;if(!i.startsWith("$"))throw new Error(`Variable name must start with $ at position ${s.pos}`);this.expect("LPAREN","Expected '(' after variable");let e=this.parseExpr();this.expect("SEMICOLON","Expected ';' after init expression");let n=this.parseExpr(),o;return this.match("SEMICOLON")&&(o=this.parseExpr()),this.expect("RPAREN","Expected ')' after expressions"),{type:"Foreach",expr:r,varName:i,init:e,update:n,extract:o}}if(this.match("NOT"))return{type:"Call",name:"not",args:[]};if(this.check("IDENT")){let s=this.advance().value;if(s.startsWith("$"))return{type:"VarRef",name:s};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:s,args:i}}return{type:"Call",name:s,args:[]}}throw new Error(`Unexpected token ${this.peek().type} at position ${this.peek().pos}`)}parseObjectConstruction(){let r=[];if(!this.check("RBRACE"))do{let s,i;if(this.match("LPAREN"))s=this.parseExpr(),this.expect("RPAREN","Expected ')'"),this.expect("COLON","Expected ':'"),i=this.parseObjectValue();else if(this.check("IDENT")){let e=this.advance().value;this.match("COLON")?(s=e,i=this.parseObjectValue()):(s=e,i={type:"Field",name:e})}else if(this.check("STRING"))s=this.advance().value,this.expect("COLON","Expected ':'"),i=this.parseObjectValue();else throw new Error(`Expected object key at position ${this.peek().pos}`);r.push({key:s,value:i})}while(this.match("COMMA"));return this.expect("RBRACE","Expected '}'"),{type:"Object",entries:r}}parseObjectValue(){let r=this.parseVarBind();for(;this.match("PIPE");){let s=this.parseVarBind();r={type:"Pipe",left:r,right:s}}return r}parseIf(){let r=this.parseExpr();this.expect("THEN","Expected 'then'");let s=this.parseExpr(),i=[];for(;this.match("ELIF");){let n=this.parseExpr();this.expect("THEN","Expected 'then' after elif");let o=this.parseExpr();i.push({cond:n,then:o})}let e;return this.match("ELSE")&&(e=this.parseExpr()),this.expect("END","Expected 'end'"),{type:"Cond",cond:r,then:s,elifs:i,else:e}}parseStringInterpolation(r){let s=[],i="",e=0;for(;e<r.length;)if(r[e]==="\\"&&r[e+1]==="("){i&&(s.push(i),i=""),e+=2;let n=1,o="";for(;e<r.length&&n>0;)r[e]==="("?n++:r[e]===")"&&n--,n>0&&(o+=r[e]),e++;let f=_(o),c=new t(f);s.push(c.parse())}else i+=r[e],e++;return i&&s.push(i),{type:"StringInterp",parts:s}}};function $(t){let r=_(t);return new P(r).parse()}var Y={name:"jq",summary:"command-line JSON processor",usage:"jq [OPTIONS] FILTER [FILE]",options:["-r, --raw-output output strings without quotes","-c, --compact compact output (no pretty printing)","-e, --exit-status set exit status based on output","-s, --slurp read entire input into array","-n, --null-input don't read any input","-j, --join-output don't print newlines after each output","-a, --ascii force ASCII output","-S, --sort-keys sort object keys","-C, --color colorize output (ignored)","-M, --monochrome monochrome output (ignored)"," --tab use tabs for indentation"," --help display this help and exit"]};function S(t,r,s,i,e,n=0){if(t===null||t===void 0)return"null";if(typeof t=="boolean")return String(t);if(typeof t=="number")return Number.isFinite(t)?String(t):"null";if(typeof t=="string")return s?t:JSON.stringify(t);let o=e?" ":" ";if(Array.isArray(t))return t.length===0?"[]":r?`[${t.map(c=>S(c,!0,!1,i,e)).join(",")}]`:`[
6
- ${t.map(c=>o.repeat(n+1)+S(c,!1,!1,i,e,n+1)).join(`,
7
- `)}
8
- ${o.repeat(n)}]`;if(typeof t=="object"){let f=Object.keys(t);return i&&(f=f.sort()),f.length===0?"{}":r?`{${f.map(p=>`${JSON.stringify(p)}:${S(t[p],!0,!1,i,e)}`).join(",")}}`:`{
9
- ${f.map(p=>{let y=S(t[p],!1,!1,i,e,n+1);return`${o.repeat(n+1)}${JSON.stringify(p)}: ${y}`}).join(`,
10
- `)}
11
- ${o.repeat(n)}}`}return String(t)}var st={name:"jq",async execute(t,r){if(M(t))return L(Y);let s=!1,i=!1,e=!1,n=!1,o=!1,f=!1,c=!1,p=!1,y=".",h=!1,l=[];for(let m=0;m<t.length;m++){let a=t[m];if(a==="-r"||a==="--raw-output")s=!0;else if(a==="-c"||a==="--compact-output")i=!0;else if(a==="-e"||a==="--exit-status")e=!0;else if(a==="-s"||a==="--slurp")n=!0;else if(a==="-n"||a==="--null-input")o=!0;else if(a==="-j"||a==="--join-output")f=!0;else if(!(a==="-a"||a==="--ascii")){if(a==="-S"||a==="--sort-keys")c=!0;else if(!(a==="-C"||a==="--color")){if(!(a==="-M"||a==="--monochrome"))if(a==="--tab")p=!0;else if(a==="-")l.push("-");else{if(a.startsWith("--"))return T("jq",a);if(a.startsWith("-")){for(let d of a.slice(1))if(d==="r")s=!0;else if(d==="c")i=!0;else if(d==="e")e=!0;else if(d==="s")n=!0;else if(d==="n")o=!0;else if(d==="j")f=!0;else if(d!=="a"){if(d==="S")c=!0;else if(d!=="C"){if(d!=="M")return T("jq",`-${d}`)}}}else h?l.push(a):(y=a,h=!0)}}}}let A;if(o)A="";else if(l.length===0||l.length===1&&l[0]==="-")A=r.stdin;else try{let m=r.fs.resolvePath(r.cwd,l[0]);A=await r.fs.readFile(m)}catch{return{stdout:"",stderr:`jq: ${l[0]}: No such file or directory
12
- `,exitCode:2}}try{let m=$(y),a,d={limits:r.limits?{maxIterations:r.limits.maxJqIterations}:void 0};if(o)a=u(null,m,d);else if(n){let E=[];for(let k of A.trim().split(`
13
- `))k.trim()&&E.push(JSON.parse(k));a=u(E,m,d)}else{let E=A.trim();if(E.startsWith("{")||E.startsWith("["))a=u(JSON.parse(E),m,d);else{a=[];for(let k of E.split(`
14
- `))k.trim()&&a.push(...u(JSON.parse(k),m,d))}}let F=a.map(E=>S(E,i,s,c,p)),J=f?"":`
15
- `,R=F.join(J),q=e&&(a.length===0||a.every(E=>E==null||E===!1))?1:0;return{stdout:R?f?R:`${R}
16
- `:"",stderr:"",exitCode:q}}catch(m){if(m instanceof g)return{stdout:"",stderr:`jq: ${m.message}
17
- `,exitCode:g.EXIT_CODE};let a=m.message;return a.includes("Unknown function")?{stdout:"",stderr:`jq: error: ${a}
18
- `,exitCode:3}:{stdout:"",stderr:`jq: parse error: ${a}
19
- `,exitCode:5}}}};export{st as jqCommand};
@@ -1 +0,0 @@
1
- var g=Object.create;var f=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(a=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(b,c)=>(typeof require<"u"?require:b)[c]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});var n=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports);var l=(a,b,c,e)=>{if(b&&typeof b=="object"||typeof b=="function")for(let d of i(b))!k.call(a,d)&&d!==c&&f(a,d,{get:()=>b[d],enumerable:!(e=h(b,d))||e.enumerable});return a};var o=(a,b,c)=>(c=a!=null?g(j(a)):{},l(b||!a||!a.__esModule?f(c,"default",{value:a,enumerable:!0}):c,a));export{m as a,n as b,o as c};
@@ -1,18 +0,0 @@
1
- import{i as g}from"./chunk-CG2HXOFG.js";import{a as L,b as M,c as T}from"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.js";var K=1e4;function W(t){return{vars:new Map,limits:{maxIterations:t?.maxIterations??K}}}function w(t,r,s){let i=new Map(t.vars);return i.set(r,s),{vars:i,limits:t.limits}}function u(t,r,s){let i=s&&"vars"in s?s:W(s?.limits);switch(r.type){case"Identity":return[t];case"Field":return(r.base?u(t,r.base,i):[t]).flatMap(n=>n&&typeof n=="object"&&!Array.isArray(n)?[n[r.name]]:[null]);case"Index":return(r.base?u(t,r.base,i):[t]).flatMap(n=>u(n,r.index,i).flatMap(f=>{if(typeof f=="number"&&Array.isArray(n)){let c=f<0?n.length+f:f;return c>=0&&c<n.length?[n[c]]:[null]}return typeof f=="string"&&n&&typeof n=="object"&&!Array.isArray(n)?[n[f]]:[null]}));case"Slice":return(r.base?u(t,r.base,i):[t]).flatMap(n=>{if(!Array.isArray(n)&&typeof n!="string")return[null];let o=n.length,f=r.start?u(t,r.start,i):[0],c=r.end?u(t,r.end,i):[o];return f.flatMap(p=>c.map(y=>{let h=D(p,o),l=D(y,o);return Array.isArray(n),n.slice(h,l)}))});case"Iterate":return(r.base?u(t,r.base,i):[t]).flatMap(n=>Array.isArray(n)?n:n&&typeof n=="object"?Object.values(n):[]);case"Pipe":return u(t,r.left,i).flatMap(n=>u(n,r.right,i));case"Comma":{let e=u(t,r.left,i),n=u(t,r.right,i);return[...e,...n]}case"Literal":return[r.value];case"Array":return r.elements?[u(t,r.elements,i)]:[[]];case"Object":{let e=[{}];for(let n of r.entries){let o=typeof n.key=="string"?[n.key]:u(t,n.key,i),f=u(t,n.value,i),c=[];for(let p of e)for(let y of o)for(let h of f)c.push({...p,[String(y)]:h});e.length=0,e.push(...c)}return e}case"Paren":return u(t,r.expr,i);case"BinaryOp":return V(t,r.op,r.left,r.right,i);case"UnaryOp":return u(t,r.operand,i).map(n=>r.op==="-"?typeof n=="number"?-n:null:r.op==="not"?!b(n):null);case"Cond":return u(t,r.cond,i).flatMap(n=>{if(b(n))return u(t,r.then,i);for(let o of r.elifs)if(u(t,o.cond,i).some(b))return u(t,o.then,i);return r.else?u(t,r.else,i):[null]});case"Try":try{return u(t,r.body,i)}catch{return r.catch?u(t,r.catch,i):[]}case"Call":return B(t,r.name,r.args,i);case"VarBind":return u(t,r.value,i).flatMap(n=>{let o=w(i,r.name,n);return u(t,r.body,o)});case"VarRef":{let e=i.vars.get(r.name);return e!==void 0?[e]:[null]}case"Recurse":{let e=[],n=new WeakSet,o=f=>{if(f&&typeof f=="object"){if(n.has(f))return;n.add(f)}if(e.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),e}case"Optional":try{return u(t,r.expr,i)}catch{return[]}case"StringInterp":return[r.parts.map(n=>typeof n=="string"?n:u(t,n,i).map(f=>typeof f=="string"?f:JSON.stringify(f)).join("")).join("")];case"UpdateOp":return[G(t,r.path,r.op,r.value,i)];case"Reduce":{let e=u(t,r.expr,i),n=u(t,r.init,i)[0];for(let o of e){let f=w(i,r.varName,o);n=u(n,r.update,f)[0]}return[n]}case"Foreach":{let e=u(t,r.expr,i),n=u(t,r.init,i)[0],o=[];for(let f of e){let c=w(i,r.varName,f);if(n=u(n,r.update,c)[0],r.extract){let p=u(n,r.extract,c);o.push(...p)}else o.push(n)}return o}default:{let e=r;throw new Error(`Unknown AST node type: ${e.type}`)}}}function D(t,r){return t<0?Math.max(0,r+t):Math.min(t,r)}function G(t,r,s,i,e){function n(c,p){switch(s){case"=":return p;case"|=":return u(c,i,e)[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 l={...h};return l[p.name]=y(l[p.name]),l}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 l=u(t,p.index,e)[0];if(p.base)return o(c,p.base,A=>{if(typeof l=="number"&&Array.isArray(A)){let m=[...A],a=l<0?m.length+l:l;return a>=0&&a<m.length&&(m[a]=y(m[a])),m}if(typeof l=="string"&&A&&typeof A=="object"&&!Array.isArray(A)){let m={...A};return m[l]=y(m[l]),m}return A});if(typeof l=="number"&&Array.isArray(c)){let A=[...c],m=l<0?A.length+l:l;return m>=0&&m<A.length&&(A[m]=y(A[m])),A}if(typeof l=="string"&&c&&typeof c=="object"&&!Array.isArray(c)){let A={...c};return A[l]=y(A[l]),A}return c}case"Iterate":{let h=l=>{if(Array.isArray(l))return l.map(A=>y(A));if(l&&typeof l=="object"){let A={};for(let[m,a]of Object.entries(l))A[m]=y(a);return A}return l};return p.base?o(c,p.base,h):h(c)}case"Pipe":{let h=o(c,p.left,l=>l);return o(h,p.right,y)}default:return y(c)}}return o(t,r,c=>{if(s==="|=")return n(c,c);let p=u(t,i,e);return n(c,p[0]??null)})}function H(t,r,s){function i(e,n){switch(n.type){case"Identity":return null;case"Field":{if(e&&typeof e=="object"&&!Array.isArray(e)){let o={...e};return delete o[n.name],o}return e}case"Index":{let f=u(t,n.index,s)[0];if(typeof f=="number"&&Array.isArray(e)){let c=[...e],p=f<0?c.length+f:f;return p>=0&&p<c.length&&c.splice(p,1),c}if(typeof f=="string"&&e&&typeof e=="object"&&!Array.isArray(e)){let c={...e};return delete c[f],c}return e}case"Iterate":return Array.isArray(e)?[]:e&&typeof e=="object"?{}:e;default:return e}}return i(t,r)}function b(t){return t!==null&&t!==!1}function V(t,r,s,i,e){if(r==="and")return u(t,s,e).flatMap(c=>b(c)?u(t,i,e).map(y=>b(y)):[!1]);if(r==="or")return u(t,s,e).flatMap(c=>b(c)?[!0]:u(t,i,e).map(y=>b(y)));if(r==="//"){let c=u(t,s,e).filter(p=>p!=null&&p!==!1);return c.length>0?c:u(t,i,e)}let n=u(t,s,e),o=u(t,i,e);return n.flatMap(f=>o.map(c=>{switch(r){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)?U(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 O(f,c);case"!=":return!O(f,c);case"<":return N(f,c)<0;case"<=":return N(f,c)<=0;case">":return N(f,c)>0;case">=":return N(f,c)>=0;default:return null}}))}function O(t,r){return JSON.stringify(t)===JSON.stringify(r)}function N(t,r){return typeof t=="number"&&typeof r=="number"?t-r:typeof t=="string"&&typeof r=="string"?t.localeCompare(r):0}function U(t,r){let s={...t};for(let i of Object.keys(r))i in s&&s[i]&&typeof s[i]=="object"&&!Array.isArray(s[i])&&r[i]&&typeof r[i]=="object"&&!Array.isArray(r[i])?s[i]=U(s[i],r[i]):s[i]=r[i];return s}function B(t,r,s,i){switch(r){case"keys":return Array.isArray(t)?[t.map((e,n)=>n)]:t&&typeof t=="object"?[Object.keys(t).sort()]:[null];case"keys_unsorted":return Array.isArray(t)?[t.map((e,n)=>n)]: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 e=s.length>0?u(t,s[0],i)[0]:t;throw new Error(String(e))}case"not":return[!b(t)];case"null":return[null];case"true":return[!0];case"false":return[!1];case"first":if(s.length>0){let e=u(t,s[0],i);return e.length>0?[e[0]]:[]}return Array.isArray(t)&&t.length>0?[t[0]]:[null];case"last":if(s.length>0){let e=u(t,s[0],i);return e.length>0?[e[e.length-1]]:[]}return Array.isArray(t)&&t.length>0?[t[t.length-1]]:[null];case"nth":{if(s.length<1)return[null];let n=u(t,s[0],i)[0];if(s.length>1){let o=u(t,s[1],i);return n>=0&&n<o.length?[o[n]]:[]}return Array.isArray(t)?n>=0&&n<t.length?[t[n]]:[null]:[null]}case"range":{if(s.length===0)return[];let e=u(t,s[0],i);if(s.length===1){let p=e[0];return Array.from({length:p},(y,h)=>h)}let n=u(t,s[1],i),o=e[0],f=n[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(j)]:[null];case"sort_by":return!Array.isArray(t)||s.length===0?[null]:[[...t].sort((n,o)=>{let f=u(n,s[0],i)[0],c=u(o,s[0],i)[0];return j(f,c)})];case"unique":if(Array.isArray(t)){let e=new Set,n=[];for(let o of t){let f=JSON.stringify(o);e.has(f)||(e.add(f),n.push(o))}return[n]}return[null];case"unique_by":{if(!Array.isArray(t)||s.length===0)return[null];let e=new Set,n=[];for(let o of t){let f=JSON.stringify(u(o,s[0],i)[0]);e.has(f)||(e.add(f),n.push(o))}return[n]}case"group_by":{if(!Array.isArray(t)||s.length===0)return[null];let e=new Map;for(let n of t){let o=JSON.stringify(u(n,s[0],i)[0]);e.has(o)||e.set(o,[]),e.get(o)?.push(n)}return[[...e.values()]]}case"max":return Array.isArray(t)&&t.length>0?[t.reduce((e,n)=>j(e,n)>0?e:n)]:[null];case"max_by":return!Array.isArray(t)||t.length===0||s.length===0?[null]:[t.reduce((e,n)=>{let o=u(e,s[0],i)[0],f=u(n,s[0],i)[0];return j(o,f)>0?e:n})];case"min":return Array.isArray(t)&&t.length>0?[t.reduce((e,n)=>j(e,n)<0?e:n)]:[null];case"min_by":return!Array.isArray(t)||t.length===0||s.length===0?[null]:[t.reduce((e,n)=>{let o=u(e,s[0],i)[0],f=u(n,s[0],i)[0];return j(o,f)<0?e:n})];case"flatten":{if(!Array.isArray(t))return[null];let e=s.length>0?u(t,s[0],i)[0]:Number.POSITIVE_INFINITY;return[t.flat(e)]}case"add":if(Array.isArray(t)){if(t.length===0)return[null];if(t.every(e=>typeof e=="number"))return[t.reduce((e,n)=>e+n,0)];if(t.every(e=>typeof e=="string"))return[t.join("")];if(t.every(e=>Array.isArray(e)))return[t.flat()];if(t.every(e=>e&&typeof e=="object"&&!Array.isArray(e)))return[Object.assign({},...t)]}return[null];case"any":return s.length>0?Array.isArray(t)?[t.some(e=>b(u(e,s[0],i)[0]))]:[!1]:Array.isArray(t)?[t.some(b)]:[!1];case"all":return s.length>0?Array.isArray(t)?[t.every(e=>b(u(e,s[0],i)[0]))]:[!0]:Array.isArray(t)?[t.every(b)]:[!0];case"select":return s.length===0?[t]:u(t,s[0],i).some(b)?[t]:[];case"map":return s.length===0||!Array.isArray(t)?[null]:[t.flatMap(n=>u(n,s[0],i))];case"map_values":{if(s.length===0)return[null];if(Array.isArray(t))return[t.flatMap(e=>u(e,s[0],i))];if(t&&typeof t=="object"){let e={};for(let[n,o]of Object.entries(t)){let f=u(o,s[0],i);f.length>0&&(e[n]=f[0])}return[e]}return[null]}case"has":{if(s.length===0)return[!1];let n=u(t,s[0],i)[0];return Array.isArray(t)&&typeof n=="number"?[n>=0&&n<t.length]:t&&typeof t=="object"&&typeof n=="string"?[n in t]:[!1]}case"in":{if(s.length===0)return[!1];let n=u(t,s[0],i)[0];return Array.isArray(n)&&typeof t=="number"?[t>=0&&t<n.length]:n&&typeof n=="object"&&typeof t=="string"?[t in n]:[!1]}case"contains":{if(s.length===0)return[!1];let e=u(t,s[0],i);return[x(t,e[0])]}case"inside":{if(s.length===0)return[!1];let e=u(t,s[0],i);return[x(e[0],t)]}case"getpath":{if(s.length===0)return[null];let n=u(t,s[0],i)[0],o=t;for(let f of n){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(s.length<2)return[null];let n=u(t,s[0],i)[0],f=u(t,s[1],i)[0];return[I(t,n,f)]}case"delpaths":{if(s.length===0)return[t];let n=u(t,s[0],i)[0],o=t;for(let f of n.sort((c,p)=>p.length-c.length))o=C(o,f);return[o]}case"path":{if(s.length===0)return[[]];let e=[];return Q(t,s[0],i,[],e),e}case"del":return s.length===0?[t]:[H(t,s[0],i)];case"paths":{let e=[],n=(o,f)=>{if(o&&typeof o=="object")if(Array.isArray(o))for(let c=0;c<o.length;c++)e.push([...f,c]),n(o[c],[...f,c]);else for(let c of Object.keys(o))e.push([...f,c]),n(o[c],[...f,c])};return n(t,[]),s.length>0?e.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,s[0],i).some(b)}):e}case"leaf_paths":{let e=[],n=(o,f)=>{if(o===null||typeof o!="object")e.push(f);else if(Array.isArray(o))for(let c=0;c<o.length;c++)n(o[c],[...f,c]);else for(let c of Object.keys(o))n(o[c],[...f,c])};return n(t,[]),[e]}case"to_entries":return t&&typeof t=="object"&&!Array.isArray(t)?[Object.entries(t).map(([e,n])=>({key:e,value:n}))]:[null];case"from_entries":if(Array.isArray(t)){let e={};for(let n of t)if(n&&typeof n=="object"){let o=n,f=o.key??o.name??o.k,c=o.value??o.v;f!==void 0&&(e[String(f)]=c)}return[e]}return[null];case"with_entries":{if(s.length===0)return[t];if(t&&typeof t=="object"&&!Array.isArray(t)){let n=Object.entries(t).map(([f,c])=>({key:f,value:c})).flatMap(f=>u(f,s[0],i)),o={};for(let f of n)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 e=s.length>0?u(t,s[0],i):[""],n=String(e[0]);return[t.map(o=>typeof o=="string"?o:JSON.stringify(o)).join(n)]}case"split":{if(typeof t!="string"||s.length===0)return[null];let e=u(t,s[0],i),n=String(e[0]);return[t.split(n)]}case"test":{if(typeof t!="string"||s.length===0)return[!1];let e=u(t,s[0],i),n=String(e[0]);try{let o=s.length>1?String(u(t,s[1],i)[0]):"";return[new RegExp(n,o).test(t)]}catch{return[!1]}}case"match":{if(typeof t!="string"||s.length===0)return[null];let e=u(t,s[0],i),n=String(e[0]);try{let o=s.length>1?String(u(t,s[1],i)[0]):"",c=new RegExp(n,`${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"||s.length===0)return[null];let e=u(t,s[0],i),n=String(e[0]);try{let o=s.length>1?String(u(t,s[1],i)[0]):"",f=new RegExp(n,o),c=t.match(f);return!c||!c.groups?[{}]:[c.groups]}catch{return[null]}}case"sub":{if(typeof t!="string"||s.length<2)return[null];let e=u(t,s[0],i),n=u(t,s[1],i),o=String(e[0]),f=String(n[0]);try{let c=s.length>2?String(u(t,s[2],i)[0]):"";return[t.replace(new RegExp(o,c),f)]}catch{return[t]}}case"gsub":{if(typeof t!="string"||s.length<2)return[null];let e=u(t,s[0],i),n=u(t,s[1],i),o=String(e[0]),f=String(n[0]);try{let c=s.length>2?String(u(t,s[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"||s.length===0)return[t];let e=u(t,s[0],i),n=String(e[0]);return[t.startsWith(n)?t.slice(n.length):t]}case"rtrimstr":{if(typeof t!="string"||s.length===0)return[t];let e=u(t,s[0],i),n=String(e[0]);return[t.endsWith(n)?t.slice(0,-n.length):t]}case"startswith":{if(typeof t!="string"||s.length===0)return[!1];let e=u(t,s[0],i);return[t.startsWith(String(e[0]))]}case"endswith":{if(typeof t!="string"||s.length===0)return[!1];let e=u(t,s[0],i);return[t.endsWith(String(e[0]))]}case"index":{if(s.length===0)return[null];let n=u(t,s[0],i)[0];if(typeof t=="string"&&typeof n=="string"){let o=t.indexOf(n);return[o>=0?o:null]}if(Array.isArray(t)){let o=t.findIndex(f=>O(f,n));return[o>=0?o:null]}return[null]}case"rindex":{if(s.length===0)return[null];let n=u(t,s[0],i)[0];if(typeof t=="string"&&typeof n=="string"){let o=t.lastIndexOf(n);return[o>=0?o:null]}if(Array.isArray(t)){for(let o=t.length-1;o>=0;o--)if(O(t[o],n))return[o];return[null]}return[null]}case"indices":{if(s.length===0)return[[]];let n=u(t,s[0],i)[0],o=[];if(typeof t=="string"&&typeof n=="string"){let f=t.indexOf(n);for(;f!==-1;)o.push(f),f=t.indexOf(n,f+1)}else if(Array.isArray(t))for(let f=0;f<t.length;f++)O(t[f],n)&&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"||s.length===0)return[null];let n=u(t,s[0],i)[0];return[t**n]}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 e=Number(t);return[Number.isNaN(e)?null:e]}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[{}];case"recurse":{if(s.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 e=[],n=new Set,o=f=>{let c=JSON.stringify(f);if(n.has(c))return;n.add(c),e.push(f);let p=u(f,s[0],i);for(let y of p)y!=null&&o(y)};return o(t),e}case"recurse_down":return B(t,"recurse",s,i);case"walk":{if(s.length===0)return[t];let e=new WeakSet,n=o=>{if(o&&typeof o=="object"){if(e.has(o))return o;e.add(o)}let f;if(Array.isArray(o))f=o.map(n);else if(o&&typeof o=="object"){let p={};for(let[y,h]of Object.entries(o))p[y]=n(h);f=p}else f=o;return u(f,s[0],i)[0]};return[n(t)]}case"transpose":{if(!Array.isArray(t))return[null];if(t.length===0)return[[]];let e=Math.max(...t.map(o=>Array.isArray(o)?o.length:0)),n=[];for(let o=0;o<e;o++)n.push(t.map(f=>Array.isArray(f)?f[o]:null));return[n]}case"ascii":return typeof t=="string"&&t.length>0?[t.charCodeAt(0)]:[null];case"explode":return typeof t=="string"?[Array.from(t).map(e=>e.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(s.length<2)return[];let n=u(t,s[0],i)[0];return u(t,s[1],i).slice(0,n)}case"until":{if(s.length<2)return[t];let e=t,n=i.limits.maxIterations;for(let o=0;o<n;o++){if(u(e,s[0],i).some(b))return[e];let c=u(e,s[1],i);if(c.length===0)return[e];e=c[0]}throw new g(`jq until: too many iterations (${n}), increase executionLimits.maxJqIterations`,"iterations")}case"while":{if(s.length<2)return[t];let e=[],n=t,o=i.limits.maxIterations;for(let f=0;f<o&&u(n,s[0],i).some(b);f++){e.push(n);let p=u(n,s[1],i);if(p.length===0)break;n=p[0]}if(e.length>=o)throw new g(`jq while: too many iterations (${o}), increase executionLimits.maxJqIterations`,"iterations");return e}case"repeat":{if(s.length===0)return[t];let e=[],n=t,o=i.limits.maxIterations;for(let f=0;f<o;f++){e.push(n);let c=u(n,s[0],i);if(c.length===0)break;n=c[0]}if(e.length>=o)throw new g(`jq repeat: too many iterations (${o}), increase executionLimits.maxJqIterations`,"iterations");return e}case"debug":return[t];case"input_line_number":return[1];default:throw new Error(`Unknown function: ${r}`)}}function j(t,r){let s=n=>n===null?0:typeof n=="boolean"?1:typeof n=="number"?2:typeof n=="string"?3:Array.isArray(n)?4:typeof n=="object"?5:6,i=s(t),e=s(r);if(i!==e)return i-e;if(typeof t=="number"&&typeof r=="number")return t-r;if(typeof t=="string"&&typeof r=="string")return t.localeCompare(r);if(typeof t=="boolean"&&typeof r=="boolean")return(t?1:0)-(r?1:0);if(Array.isArray(t)&&Array.isArray(r)){for(let n=0;n<Math.min(t.length,r.length);n++){let o=j(t[n],r[n]);if(o!==0)return o}return t.length-r.length}return 0}function x(t,r){if(O(t,r))return!0;if(Array.isArray(t)&&Array.isArray(r))return r.every(s=>t.some(i=>x(i,s)));if(t&&r&&typeof t=="object"&&typeof r=="object"&&!Array.isArray(t)&&!Array.isArray(r)){let s=t,i=r;return Object.keys(i).every(e=>e in s&&x(s[e],i[e]))}return!1}function I(t,r,s){if(r.length===0)return s;let[i,...e]=r;if(typeof i=="number"){let o=Array.isArray(t)?[...t]:[];for(;o.length<=i;)o.push(null);return o[i]=I(o[i],e,s),o}let n=t&&typeof t=="object"&&!Array.isArray(t)?{...t}:{};return n[i]=I(n[i],e,s),n}function C(t,r){if(r.length===0)return null;if(r.length===1){let e=r[0];if(Array.isArray(t)&&typeof e=="number"){let n=[...t];return n.splice(e,1),n}if(t&&typeof t=="object"&&!Array.isArray(t)){let n={...t};return delete n[String(e)],n}return t}let[s,...i]=r;if(Array.isArray(t)&&typeof s=="number"){let e=[...t];return e[s]=C(e[s],i),e}if(t&&typeof t=="object"&&!Array.isArray(t)){let e={...t};return e[String(s)]=C(e[String(s)],i),e}return t}function Q(t,r,s,i,e){u(t,r,s).length>0&&e.push(i)}var z={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 _(t){let r=[],s=0,i=(p=0)=>t[s+p],e=()=>t[s++],n=()=>s>=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(;!n();){let p=s,y=e();if(!(y===" "||y===" "||y===`
2
- `||y==="\r")){if(y==="#"){for(;!n()&&i()!==`
3
- `;)e();continue}if(y==="."&&i()==="."){e(),r.push({type:"DOTDOT",pos:p});continue}if(y==="="&&i()==="="){e(),r.push({type:"EQ",pos:p});continue}if(y==="!"&&i()==="="){e(),r.push({type:"NE",pos:p});continue}if(y==="<"&&i()==="="){e(),r.push({type:"LE",pos:p});continue}if(y===">"&&i()==="="){e(),r.push({type:"GE",pos:p});continue}if(y==="/"&&i()==="/"){e(),i()==="="?(e(),r.push({type:"UPDATE_ALT",pos:p})):r.push({type:"ALT",pos:p});continue}if(y==="+"&&i()==="="){e(),r.push({type:"UPDATE_ADD",pos:p});continue}if(y==="-"&&i()==="="){e(),r.push({type:"UPDATE_SUB",pos:p});continue}if(y==="*"&&i()==="="){e(),r.push({type:"UPDATE_MUL",pos:p});continue}if(y==="/"&&i()==="="){e(),r.push({type:"UPDATE_DIV",pos:p});continue}if(y==="%"&&i()==="="){e(),r.push({type:"UPDATE_MOD",pos:p});continue}if(y==="="&&i()!=="="){r.push({type:"ASSIGN",pos:p});continue}if(y==="."){r.push({type:"DOT",pos:p});continue}if(y==="|"){i()==="="?(e(),r.push({type:"UPDATE_PIPE",pos:p})):r.push({type:"PIPE",pos:p});continue}if(y===","){r.push({type:"COMMA",pos:p});continue}if(y===":"){r.push({type:"COLON",pos:p});continue}if(y===";"){r.push({type:"SEMICOLON",pos:p});continue}if(y==="("){r.push({type:"LPAREN",pos:p});continue}if(y===")"){r.push({type:"RPAREN",pos:p});continue}if(y==="["){r.push({type:"LBRACKET",pos:p});continue}if(y==="]"){r.push({type:"RBRACKET",pos:p});continue}if(y==="{"){r.push({type:"LBRACE",pos:p});continue}if(y==="}"){r.push({type:"RBRACE",pos:p});continue}if(y==="?"){r.push({type:"QUESTION",pos:p});continue}if(y==="+"){r.push({type:"PLUS",pos:p});continue}if(y==="-"){if(o(i())){let h=y;for(;!n()&&(o(i())||i()===".");)h+=e();r.push({type:"NUMBER",value:Number(h),pos:p});continue}r.push({type:"MINUS",pos:p});continue}if(y==="*"){r.push({type:"STAR",pos:p});continue}if(y==="/"){r.push({type:"SLASH",pos:p});continue}if(y==="%"){r.push({type:"PERCENT",pos:p});continue}if(y==="<"){r.push({type:"LT",pos:p});continue}if(y===">"){r.push({type:"GT",pos:p});continue}if(o(y)){let h=y;for(;!n()&&(o(i())||i()==="."||i()==="e"||i()==="E");)(i()==="e"||i()==="E")&&(t[s+1]==="+"||t[s+1]==="-")&&(h+=e()),h+=e();r.push({type:"NUMBER",value:Number(h),pos:p});continue}if(y==='"'){let h="";for(;!n()&&i()!=='"';)if(i()==="\\"){if(e(),n())break;let l=e();switch(l){case"n":h+=`
4
- `;break;case"r":h+="\r";break;case"t":h+=" ";break;case"\\":h+="\\";break;case'"':h+='"';break;case"(":h+="\\(";break;default:h+=l}}else h+=e();n()||e(),r.push({type:"STRING",value:h,pos:p});continue}if(f(y)||y==="$"||y==="@"){let h=y;for(;!n()&&c(i());)h+=e();let l=z[h];l?r.push({type:l,pos:p}):r.push({type:"IDENT",value:h,pos:p});continue}throw new Error(`Unexpected character '${y}' at position ${p}`)}}return r.push({type:"EOF",pos:s}),r}var P=class t{tokens;pos=0;constructor(r){this.tokens=r}peek(r=0){return this.tokens[this.pos+r]??{type:"EOF",pos:-1}}advance(){return this.tokens[this.pos++]}check(r){return this.peek().type===r}match(...r){for(let s of r)if(this.check(s))return this.advance();return null}expect(r,s){if(!this.check(r))throw new Error(`${s} at position ${this.peek().pos}, got ${this.peek().type}`);return this.advance()}parse(){let r=this.parseExpr();if(!this.check("EOF"))throw new Error(`Unexpected token ${this.peek().type} at position ${this.peek().pos}`);return r}parseExpr(){return this.parsePipe()}parsePipe(){let r=this.parseComma();for(;this.match("PIPE");){let s=this.parseComma();r={type:"Pipe",left:r,right:s}}return r}parseComma(){let r=this.parseVarBind();for(;this.match("COMMA");){let s=this.parseVarBind();r={type:"Comma",left:r,right:s}}return r}parseVarBind(){let r=this.parseUpdate();if(this.match("AS")){let s=this.expect("IDENT","Expected variable name after 'as'"),i=s.value;if(!i.startsWith("$"))throw new Error(`Variable name must start with $ at position ${s.pos}`);this.expect("PIPE","Expected '|' after variable binding");let e=this.parseExpr();return{type:"VarBind",name:i,value:r,body:e}}return r}parseUpdate(){let r=this.parseAlt(),s={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 e=this.parseVarBind();return{type:"UpdateOp",op:s[i.type],path:r,value:e}}return r}parseAlt(){let r=this.parseOr();for(;this.match("ALT");){let s=this.parseOr();r={type:"BinaryOp",op:"//",left:r,right:s}}return r}parseOr(){let r=this.parseAnd();for(;this.match("OR");){let s=this.parseAnd();r={type:"BinaryOp",op:"or",left:r,right:s}}return r}parseAnd(){let r=this.parseNot();for(;this.match("AND");){let s=this.parseNot();r={type:"BinaryOp",op:"and",left:r,right:s}}return r}parseNot(){return this.parseComparison()}parseComparison(){let r=this.parseAddSub(),s={EQ:"==",NE:"!=",LT:"<",LE:"<=",GT:">",GE:">="},i=this.match("EQ","NE","LT","LE","GT","GE");if(i){let e=this.parseAddSub();r={type:"BinaryOp",op:s[i.type],left:r,right:e}}return r}parseAddSub(){let r=this.parseMulDiv();for(;;)if(this.match("PLUS")){let s=this.parseMulDiv();r={type:"BinaryOp",op:"+",left:r,right:s}}else if(this.match("MINUS")){let s=this.parseMulDiv();r={type:"BinaryOp",op:"-",left:r,right:s}}else break;return r}parseMulDiv(){let r=this.parseUnary();for(;;)if(this.match("STAR")){let s=this.parseUnary();r={type:"BinaryOp",op:"*",left:r,right:s}}else if(this.match("SLASH")){let s=this.parseUnary();r={type:"BinaryOp",op:"/",left:r,right:s}}else if(this.match("PERCENT")){let s=this.parseUnary();r={type:"BinaryOp",op:"%",left:r,right:s}}else break;return r}parseUnary(){return this.match("MINUS")?{type:"UnaryOp",op:"-",operand:this.parseUnary()}:this.parsePostfix()}parsePostfix(){let r=this.parsePrimary();for(;;)if(this.match("QUESTION"))r={type:"Optional",expr:r};else if(this.check("DOT")&&this.peek(1).type==="IDENT")this.advance(),r={type:"Field",name:this.expect("IDENT","Expected field name").value,base:r};else if(this.check("LBRACKET"))if(this.advance(),this.match("RBRACKET"))r={type:"Iterate",base:r};else if(this.check("COLON")){this.advance();let s=this.check("RBRACKET")?void 0:this.parseExpr();this.expect("RBRACKET","Expected ']'"),r={type:"Slice",end:s,base:r}}else{let s=this.parseExpr();if(this.match("COLON")){let i=this.check("RBRACKET")?void 0:this.parseExpr();this.expect("RBRACKET","Expected ']'"),r={type:"Slice",start:s,end:i,base:r}}else this.expect("RBRACKET","Expected ']'"),r={type:"Index",index:s,base:r}}else break;return r}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 s=this.check("RBRACKET")?void 0:this.parseExpr();return this.expect("RBRACKET","Expected ']'"),{type:"Slice",end:s}}let r=this.parseExpr();if(this.match("COLON")){let s=this.check("RBRACKET")?void 0:this.parseExpr();return this.expect("RBRACKET","Expected ']'"),{type:"Slice",start:r,end:s}}return this.expect("RBRACKET","Expected ']'"),{type:"Index",index:r}}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 s=this.advance().value;return s.includes("\\(")?this.parseStringInterpolation(s):{type:"Literal",value:s}}if(this.match("LBRACKET")){if(this.match("RBRACKET"))return{type:"Array"};let r=this.parseExpr();return this.expect("RBRACKET","Expected ']'"),{type:"Array",elements:r}}if(this.match("LBRACE"))return this.parseObjectConstruction();if(this.match("LPAREN")){let r=this.parseExpr();return this.expect("RPAREN","Expected ')'"),{type:"Paren",expr:r}}if(this.match("IF"))return this.parseIf();if(this.match("TRY")){let r=this.parsePostfix(),s;return this.match("CATCH")&&(s=this.parsePostfix()),{type:"Try",body:r,catch:s}}if(this.match("REDUCE")){let r=this.parsePostfix();this.expect("AS","Expected 'as' after reduce expression");let s=this.expect("IDENT","Expected variable name"),i=s.value;if(!i.startsWith("$"))throw new Error(`Variable name must start with $ at position ${s.pos}`);this.expect("LPAREN","Expected '(' after variable");let e=this.parseExpr();this.expect("SEMICOLON","Expected ';' after init expression");let n=this.parseExpr();return this.expect("RPAREN","Expected ')' after update expression"),{type:"Reduce",expr:r,varName:i,init:e,update:n}}if(this.match("FOREACH")){let r=this.parsePostfix();this.expect("AS","Expected 'as' after foreach expression");let s=this.expect("IDENT","Expected variable name"),i=s.value;if(!i.startsWith("$"))throw new Error(`Variable name must start with $ at position ${s.pos}`);this.expect("LPAREN","Expected '(' after variable");let e=this.parseExpr();this.expect("SEMICOLON","Expected ';' after init expression");let n=this.parseExpr(),o;return this.match("SEMICOLON")&&(o=this.parseExpr()),this.expect("RPAREN","Expected ')' after expressions"),{type:"Foreach",expr:r,varName:i,init:e,update:n,extract:o}}if(this.match("NOT"))return{type:"Call",name:"not",args:[]};if(this.check("IDENT")){let s=this.advance().value;if(s.startsWith("$"))return{type:"VarRef",name:s};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:s,args:i}}return{type:"Call",name:s,args:[]}}throw new Error(`Unexpected token ${this.peek().type} at position ${this.peek().pos}`)}parseObjectConstruction(){let r=[];if(!this.check("RBRACE"))do{let s,i;if(this.match("LPAREN"))s=this.parseExpr(),this.expect("RPAREN","Expected ')'"),this.expect("COLON","Expected ':'"),i=this.parseObjectValue();else if(this.check("IDENT")){let e=this.advance().value;this.match("COLON")?(s=e,i=this.parseObjectValue()):(s=e,i={type:"Field",name:e})}else if(this.check("STRING"))s=this.advance().value,this.expect("COLON","Expected ':'"),i=this.parseObjectValue();else throw new Error(`Expected object key at position ${this.peek().pos}`);r.push({key:s,value:i})}while(this.match("COMMA"));return this.expect("RBRACE","Expected '}'"),{type:"Object",entries:r}}parseObjectValue(){let r=this.parseVarBind();for(;this.match("PIPE");){let s=this.parseVarBind();r={type:"Pipe",left:r,right:s}}return r}parseIf(){let r=this.parseExpr();this.expect("THEN","Expected 'then'");let s=this.parseExpr(),i=[];for(;this.match("ELIF");){let n=this.parseExpr();this.expect("THEN","Expected 'then' after elif");let o=this.parseExpr();i.push({cond:n,then:o})}let e;return this.match("ELSE")&&(e=this.parseExpr()),this.expect("END","Expected 'end'"),{type:"Cond",cond:r,then:s,elifs:i,else:e}}parseStringInterpolation(r){let s=[],i="",e=0;for(;e<r.length;)if(r[e]==="\\"&&r[e+1]==="("){i&&(s.push(i),i=""),e+=2;let n=1,o="";for(;e<r.length&&n>0;)r[e]==="("?n++:r[e]===")"&&n--,n>0&&(o+=r[e]),e++;let f=_(o),c=new t(f);s.push(c.parse())}else i+=r[e],e++;return i&&s.push(i),{type:"StringInterp",parts:s}}};function $(t){let r=_(t);return new P(r).parse()}var Y={name:"jq",summary:"command-line JSON processor",usage:"jq [OPTIONS] FILTER [FILE]",options:["-r, --raw-output output strings without quotes","-c, --compact compact output (no pretty printing)","-e, --exit-status set exit status based on output","-s, --slurp read entire input into array","-n, --null-input don't read any input","-j, --join-output don't print newlines after each output","-a, --ascii force ASCII output","-S, --sort-keys sort object keys","-C, --color colorize output (ignored)","-M, --monochrome monochrome output (ignored)"," --tab use tabs for indentation"," --help display this help and exit"]};function S(t,r,s,i,e,n=0){if(t===null||t===void 0)return"null";if(typeof t=="boolean")return String(t);if(typeof t=="number")return Number.isFinite(t)?String(t):"null";if(typeof t=="string")return s?t:JSON.stringify(t);let o=e?" ":" ";if(Array.isArray(t))return t.length===0?"[]":r?`[${t.map(c=>S(c,!0,!1,i,e)).join(",")}]`:`[
5
- ${t.map(c=>o.repeat(n+1)+S(c,!1,!1,i,e,n+1)).join(`,
6
- `)}
7
- ${o.repeat(n)}]`;if(typeof t=="object"){let f=Object.keys(t);return i&&(f=f.sort()),f.length===0?"{}":r?`{${f.map(p=>`${JSON.stringify(p)}:${S(t[p],!0,!1,i,e)}`).join(",")}}`:`{
8
- ${f.map(p=>{let y=S(t[p],!1,!1,i,e,n+1);return`${o.repeat(n+1)}${JSON.stringify(p)}: ${y}`}).join(`,
9
- `)}
10
- ${o.repeat(n)}}`}return String(t)}var st={name:"jq",async execute(t,r){if(M(t))return L(Y);let s=!1,i=!1,e=!1,n=!1,o=!1,f=!1,c=!1,p=!1,y=".",h=!1,l=[];for(let m=0;m<t.length;m++){let a=t[m];if(a==="-r"||a==="--raw-output")s=!0;else if(a==="-c"||a==="--compact-output")i=!0;else if(a==="-e"||a==="--exit-status")e=!0;else if(a==="-s"||a==="--slurp")n=!0;else if(a==="-n"||a==="--null-input")o=!0;else if(a==="-j"||a==="--join-output")f=!0;else if(!(a==="-a"||a==="--ascii")){if(a==="-S"||a==="--sort-keys")c=!0;else if(!(a==="-C"||a==="--color")){if(!(a==="-M"||a==="--monochrome"))if(a==="--tab")p=!0;else if(a==="-")l.push("-");else{if(a.startsWith("--"))return T("jq",a);if(a.startsWith("-")){for(let d of a.slice(1))if(d==="r")s=!0;else if(d==="c")i=!0;else if(d==="e")e=!0;else if(d==="s")n=!0;else if(d==="n")o=!0;else if(d==="j")f=!0;else if(d!=="a"){if(d==="S")c=!0;else if(d!=="C"){if(d!=="M")return T("jq",`-${d}`)}}}else h?l.push(a):(y=a,h=!0)}}}}let A;if(o)A="";else if(l.length===0||l.length===1&&l[0]==="-")A=r.stdin;else try{let m=r.fs.resolvePath(r.cwd,l[0]);A=await r.fs.readFile(m)}catch{return{stdout:"",stderr:`jq: ${l[0]}: No such file or directory
11
- `,exitCode:2}}try{let m=$(y),a,d={limits:r.limits?{maxIterations:r.limits.maxJqIterations}:void 0};if(o)a=u(null,m,d);else if(n){let E=[];for(let k of A.trim().split(`
12
- `))k.trim()&&E.push(JSON.parse(k));a=u(E,m,d)}else{let E=A.trim();if(E.startsWith("{")||E.startsWith("["))a=u(JSON.parse(E),m,d);else{a=[];for(let k of E.split(`
13
- `))k.trim()&&a.push(...u(JSON.parse(k),m,d))}}let F=a.map(E=>S(E,i,s,c,p)),J=f?"":`
14
- `,R=F.join(J),q=e&&(a.length===0||a.every(E=>E==null||E===!1))?1:0;return{stdout:R?f?R:`${R}
15
- `:"",stderr:"",exitCode:q}}catch(m){if(m instanceof g)return{stdout:"",stderr:`jq: ${m.message}
16
- `,exitCode:g.EXIT_CODE};let a=m.message;return a.includes("Unknown function")?{stdout:"",stderr:`jq: error: ${a}
17
- `,exitCode:3}:{stdout:"",stderr:`jq: parse error: ${a}
18
- `,exitCode:5}}}};export{st as jqCommand};
@@ -1,18 +0,0 @@
1
- /**
2
- * jq AST evaluator
3
- *
4
- * Evaluates a parsed jq AST against a JSON value.
5
- */
6
- import type { AstNode } from "./parser.js";
7
- export type JqValue = unknown;
8
- export interface JqExecutionLimits {
9
- maxIterations?: number;
10
- }
11
- export interface EvalContext {
12
- vars: Map<string, JqValue>;
13
- limits: Required<JqExecutionLimits>;
14
- }
15
- export interface EvaluateOptions {
16
- limits?: JqExecutionLimits;
17
- }
18
- export declare function evaluate(value: JqValue, ast: AstNode, ctxOrOptions?: EvalContext | EvaluateOptions): JqValue[];