@keystrokehq/cli 0.1.146 → 0.1.148

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 (178) hide show
  1. package/README.md +35 -42
  2. package/dist/{alias-RTYYYW3D-CLFgrowj.mjs → alias-RTYYYW3D-BDy5K94v.mjs} +2 -2
  3. package/dist/{alias-RTYYYW3D-CLFgrowj.mjs.map → alias-RTYYYW3D-BDy5K94v.mjs.map} +1 -1
  4. package/dist/{awk2-LA3USKJP-BbsfXVlR.mjs → awk2-LA3USKJP-bQiQEw4P.mjs} +8 -8
  5. package/dist/{awk2-LA3USKJP-BbsfXVlR.mjs.map → awk2-LA3USKJP-bQiQEw4P.mjs.map} +1 -1
  6. package/dist/{base64-C2AIWVNC-C0WIgu5V.mjs → base64-C2AIWVNC-DMnyEdfa.mjs} +2 -2
  7. package/dist/{base64-C2AIWVNC-C0WIgu5V.mjs.map → base64-C2AIWVNC-DMnyEdfa.mjs.map} +1 -1
  8. package/dist/{basename-UB3CIYNI-BgNN3bGm.mjs → basename-UB3CIYNI-DOxZLtwj.mjs} +2 -2
  9. package/dist/{basename-UB3CIYNI-BgNN3bGm.mjs.map → basename-UB3CIYNI-DOxZLtwj.mjs.map} +1 -1
  10. package/dist/{bash-YZ33HQZQ-N6YyKtUH.mjs → bash-YZ33HQZQ-D4vRBW1d.mjs} +2 -2
  11. package/dist/{bash-YZ33HQZQ-N6YyKtUH.mjs.map → bash-YZ33HQZQ-D4vRBW1d.mjs.map} +1 -1
  12. package/dist/{cat-TSFMZVYS-Dz3-oHsV.mjs → cat-TSFMZVYS-D8QgnfyP.mjs} +3 -3
  13. package/dist/{cat-TSFMZVYS-Dz3-oHsV.mjs.map → cat-TSFMZVYS-D8QgnfyP.mjs.map} +1 -1
  14. package/dist/{chmod-TFEPA42X-YF02QJUv.mjs → chmod-TFEPA42X-CRWIslQq.mjs} +2 -2
  15. package/dist/{chmod-TFEPA42X-YF02QJUv.mjs.map → chmod-TFEPA42X-CRWIslQq.mjs.map} +1 -1
  16. package/dist/{chunk-5H5SCKJM-BvfXlL01.mjs → chunk-5H5SCKJM-BaNr0aSJ.mjs} +4 -4
  17. package/dist/{chunk-5H5SCKJM-BvfXlL01.mjs.map → chunk-5H5SCKJM-BaNr0aSJ.mjs.map} +1 -1
  18. package/dist/{chunk-EBAPSGAO-Ctfslw2R.mjs → chunk-EBAPSGAO-BRba1GMs.mjs} +2 -2
  19. package/dist/{chunk-EBAPSGAO-Ctfslw2R.mjs.map → chunk-EBAPSGAO-BRba1GMs.mjs.map} +1 -1
  20. package/dist/{chunk-LEKBROJD-CJMrAyu9.mjs → chunk-LEKBROJD-D1fMh3yQ.mjs} +3 -3
  21. package/dist/{chunk-LEKBROJD-CJMrAyu9.mjs.map → chunk-LEKBROJD-D1fMh3yQ.mjs.map} +1 -1
  22. package/dist/{clear-HKGFEOF6-CekN2x-O.mjs → clear-HKGFEOF6-Cy0E2H3t.mjs} +2 -2
  23. package/dist/{clear-HKGFEOF6-CekN2x-O.mjs.map → clear-HKGFEOF6-Cy0E2H3t.mjs.map} +1 -1
  24. package/dist/{column-XT6UFXNQ-DHENV9D2.mjs → column-XT6UFXNQ-czPN0bKF.mjs} +2 -2
  25. package/dist/{column-XT6UFXNQ-DHENV9D2.mjs.map → column-XT6UFXNQ-czPN0bKF.mjs.map} +1 -1
  26. package/dist/{comm-VV2LDX2J-ppxDJFkY.mjs → comm-VV2LDX2J-nTDBS00q.mjs} +2 -2
  27. package/dist/{comm-VV2LDX2J-ppxDJFkY.mjs.map → comm-VV2LDX2J-nTDBS00q.mjs.map} +1 -1
  28. package/dist/{cp-BISAAS7A-CMWayU4n.mjs → cp-BISAAS7A-CXqDGSmH.mjs} +3 -3
  29. package/dist/{cp-BISAAS7A-CMWayU4n.mjs.map → cp-BISAAS7A-CXqDGSmH.mjs.map} +1 -1
  30. package/dist/{cut-OKARJCCV-Bt8b58eI.mjs → cut-OKARJCCV-8_v90N99.mjs} +3 -3
  31. package/dist/{cut-OKARJCCV-Bt8b58eI.mjs.map → cut-OKARJCCV-8_v90N99.mjs.map} +1 -1
  32. package/dist/{date-UUUPW43J-B7T5OTZZ.mjs → date-UUUPW43J-BiJvTWWs.mjs} +2 -2
  33. package/dist/{date-UUUPW43J-B7T5OTZZ.mjs.map → date-UUUPW43J-BiJvTWWs.mjs.map} +1 -1
  34. package/dist/{diff-MWJFIG7X-DhnPc_5r.mjs → diff-MWJFIG7X-D5by0o7Y.mjs} +2 -2
  35. package/dist/{diff-MWJFIG7X-DhnPc_5r.mjs.map → diff-MWJFIG7X-D5by0o7Y.mjs.map} +1 -1
  36. package/dist/{dirname-MPHRFUTI-Dkb3S4OX.mjs → dirname-MPHRFUTI-VCKXiC16.mjs} +2 -2
  37. package/dist/{dirname-MPHRFUTI-Dkb3S4OX.mjs.map → dirname-MPHRFUTI-VCKXiC16.mjs.map} +1 -1
  38. package/dist/{dist-B72RPrho.mjs → dist-BjwZD7UZ.mjs} +43817 -28658
  39. package/dist/dist-BjwZD7UZ.mjs.map +1 -0
  40. package/dist/{dist-E6dh6qXe.mjs → dist-C6adeAws.mjs} +1006 -138
  41. package/dist/dist-C6adeAws.mjs.map +1 -0
  42. package/dist/dist-CgDJj_3M.mjs +3 -0
  43. package/dist/dist-GDLyM5sd.mjs +4 -0
  44. package/dist/dist-xLTJXuWY.mjs +1827 -0
  45. package/dist/dist-xLTJXuWY.mjs.map +1 -0
  46. package/dist/{du-572XNP42-ClP4jXB1.mjs → du-572XNP42-C_zifijt.mjs} +3 -3
  47. package/dist/{du-572XNP42-ClP4jXB1.mjs.map → du-572XNP42-C_zifijt.mjs.map} +1 -1
  48. package/dist/{env-36M5BO7M-CsP_aiWr.mjs → env-36M5BO7M-CEbFSWHW.mjs} +6 -6
  49. package/dist/{env-36M5BO7M-CsP_aiWr.mjs.map → env-36M5BO7M-CEbFSWHW.mjs.map} +1 -1
  50. package/dist/{expand-JSPG6VOP-B-YUvYpu.mjs → expand-JSPG6VOP-CxlV2zRG.mjs} +2 -2
  51. package/dist/{expand-JSPG6VOP-B-YUvYpu.mjs.map → expand-JSPG6VOP-CxlV2zRG.mjs.map} +1 -1
  52. package/dist/{expr-5JAACS4X-1TBq84gG.mjs → expr-5JAACS4X-CM1VDr6S.mjs} +2 -2
  53. package/dist/{expr-5JAACS4X-1TBq84gG.mjs.map → expr-5JAACS4X-CM1VDr6S.mjs.map} +1 -1
  54. package/dist/{file-IPZJC3FQ-DcZNOWyY.mjs → file-IPZJC3FQ-DYa9X4WH.mjs} +17 -17
  55. package/dist/file-IPZJC3FQ-DYa9X4WH.mjs.map +1 -0
  56. package/dist/{find-INTH3OLC-6p47KeeT.mjs → find-INTH3OLC-CPiHWE9r.mjs} +4 -4
  57. package/dist/{find-INTH3OLC-6p47KeeT.mjs.map → find-INTH3OLC-CPiHWE9r.mjs.map} +1 -1
  58. package/dist/{fold-4TQNYMSW-C54bHzLd.mjs → fold-4TQNYMSW-B4tfWHg3.mjs} +2 -2
  59. package/dist/{fold-4TQNYMSW-C54bHzLd.mjs.map → fold-4TQNYMSW-B4tfWHg3.mjs.map} +1 -1
  60. package/dist/{grep-V3LQVMRQ-D99Bq7Kj.mjs → grep-V3LQVMRQ-BbRYJxzz.mjs} +3 -3
  61. package/dist/{grep-V3LQVMRQ-D99Bq7Kj.mjs.map → grep-V3LQVMRQ-BbRYJxzz.mjs.map} +1 -1
  62. package/dist/{gzip-O5ASJAFY-CZDRROqP.mjs → gzip-O5ASJAFY-rKFFXJyd.mjs} +2 -2
  63. package/dist/{gzip-O5ASJAFY-CZDRROqP.mjs.map → gzip-O5ASJAFY-rKFFXJyd.mjs.map} +1 -1
  64. package/dist/{head-442HYESI-D96RMdki.mjs → head-442HYESI-sl2UFkqV.mjs} +2 -2
  65. package/dist/{head-442HYESI-D96RMdki.mjs.map → head-442HYESI-sl2UFkqV.mjs.map} +1 -1
  66. package/dist/{history-WYYKSLSZ-ACNQVupn.mjs → history-WYYKSLSZ-BQO1BlWh.mjs} +2 -2
  67. package/dist/{history-WYYKSLSZ-ACNQVupn.mjs.map → history-WYYKSLSZ-BQO1BlWh.mjs.map} +1 -1
  68. package/dist/{html-to-markdown-JW4MSQZO-DQOxFIvF.mjs → html-to-markdown-JW4MSQZO-CJGwkgpQ.mjs} +2 -2
  69. package/dist/{html-to-markdown-JW4MSQZO-DQOxFIvF.mjs.map → html-to-markdown-JW4MSQZO-CJGwkgpQ.mjs.map} +1 -1
  70. package/dist/index.mjs +1 -1
  71. package/dist/{join-TBRGI3LQ-B8I9tkJ5.mjs → join-TBRGI3LQ-BAeS4llp.mjs} +2 -2
  72. package/dist/{join-TBRGI3LQ-B8I9tkJ5.mjs.map → join-TBRGI3LQ-BAeS4llp.mjs.map} +1 -1
  73. package/dist/{jq-4XLYLOS5-wFZYfsfJ.mjs → jq-4XLYLOS5-BqwoG7Hj.mjs} +7 -7
  74. package/dist/{jq-4XLYLOS5-wFZYfsfJ.mjs.map → jq-4XLYLOS5-BqwoG7Hj.mjs.map} +1 -1
  75. package/dist/{js-exec-N5KEZBH7-CoRL1IOd.mjs → js-exec-N5KEZBH7-DbXmMwbQ.mjs} +13 -13
  76. package/dist/{js-exec-N5KEZBH7-CoRL1IOd.mjs.map → js-exec-N5KEZBH7-DbXmMwbQ.mjs.map} +1 -1
  77. package/dist/{ln-4LGSXXGD-Dg0R9i5G.mjs → ln-4LGSXXGD-CpN9ORGB.mjs} +2 -2
  78. package/dist/{ln-4LGSXXGD-Dg0R9i5G.mjs.map → ln-4LGSXXGD-CpN9ORGB.mjs.map} +1 -1
  79. package/dist/{ls-ZJGQER7M-DLDSfI4x.mjs → ls-ZJGQER7M-B0J6G8Ao.mjs} +3 -3
  80. package/dist/{ls-ZJGQER7M-DLDSfI4x.mjs.map → ls-ZJGQER7M-B0J6G8Ao.mjs.map} +1 -1
  81. package/dist/{maybe-auto-update-CKoJBwJ_.mjs → maybe-auto-update-dzy8lzxn.mjs} +13 -8
  82. package/dist/maybe-auto-update-dzy8lzxn.mjs.map +1 -0
  83. package/dist/{md5sum-SPU24VSG-DQc8sqXO.mjs → md5sum-SPU24VSG-CETB591F.mjs} +3 -3
  84. package/dist/{md5sum-SPU24VSG-DQc8sqXO.mjs.map → md5sum-SPU24VSG-CETB591F.mjs.map} +1 -1
  85. package/dist/{mkdir-MEPGZOB6-BjUKzhdL.mjs → mkdir-MEPGZOB6-B5bpLWTB.mjs} +6 -6
  86. package/dist/{mkdir-MEPGZOB6-BjUKzhdL.mjs.map → mkdir-MEPGZOB6-B5bpLWTB.mjs.map} +1 -1
  87. package/dist/{mv-W5BIQ646-CdSIyY-U.mjs → mv-W5BIQ646-7tYLVIVw.mjs} +3 -3
  88. package/dist/{mv-W5BIQ646-CdSIyY-U.mjs.map → mv-W5BIQ646-7tYLVIVw.mjs.map} +1 -1
  89. package/dist/{nl-WSDW7I4O-DmtCnyKU.mjs → nl-WSDW7I4O-CHnycLPl.mjs} +2 -2
  90. package/dist/{nl-WSDW7I4O-DmtCnyKU.mjs.map → nl-WSDW7I4O-CHnycLPl.mjs.map} +1 -1
  91. package/dist/{paste-7JC6S4DX-CtmM5Qy8.mjs → paste-7JC6S4DX-CKUaf7iE.mjs} +2 -2
  92. package/dist/{paste-7JC6S4DX-CtmM5Qy8.mjs.map → paste-7JC6S4DX-CKUaf7iE.mjs.map} +1 -1
  93. package/dist/{printf-TWGXF445-B7cTysaa.mjs → printf-TWGXF445-Byg8yI9x.mjs} +3 -3
  94. package/dist/{printf-TWGXF445-B7cTysaa.mjs.map → printf-TWGXF445-Byg8yI9x.mjs.map} +1 -1
  95. package/dist/{program-OcNo9lRF.mjs → program-DU1iPR-p.mjs} +4482 -1013
  96. package/dist/program-DU1iPR-p.mjs.map +1 -0
  97. package/dist/{python3-POMOR4OA-CKy80mpF.mjs → python3-POMOR4OA-D-6P4EKs.mjs} +17 -17
  98. package/dist/python3-POMOR4OA-D-6P4EKs.mjs.map +1 -0
  99. package/dist/{readlink-OPJF4DL5-Rc1Mz_Xx.mjs → readlink-OPJF4DL5-CGS-PxkH.mjs} +2 -2
  100. package/dist/{readlink-OPJF4DL5-Rc1Mz_Xx.mjs.map → readlink-OPJF4DL5-CGS-PxkH.mjs.map} +1 -1
  101. package/dist/{rev-5EHFX4EJ-3dd9vwHW.mjs → rev-5EHFX4EJ-BLJdSt1D.mjs} +2 -2
  102. package/dist/{rev-5EHFX4EJ-3dd9vwHW.mjs.map → rev-5EHFX4EJ-BLJdSt1D.mjs.map} +1 -1
  103. package/dist/{rg-S4FXYXWB-BbXVo6JX.mjs → rg-S4FXYXWB-Ekm2aMrv.mjs} +14 -14
  104. package/dist/{rg-S4FXYXWB-BbXVo6JX.mjs.map → rg-S4FXYXWB-Ekm2aMrv.mjs.map} +1 -1
  105. package/dist/{rm-SSGETQVQ-Ch53Rmrr.mjs → rm-SSGETQVQ-DV-525hw.mjs} +6 -6
  106. package/dist/{rm-SSGETQVQ-Ch53Rmrr.mjs.map → rm-SSGETQVQ-DV-525hw.mjs.map} +1 -1
  107. package/dist/{rmdir-OC4ZLPYA-D3QCHlIB.mjs → rmdir-OC4ZLPYA-BGOrZMUa.mjs} +3 -3
  108. package/dist/{rmdir-OC4ZLPYA-D3QCHlIB.mjs.map → rmdir-OC4ZLPYA-BGOrZMUa.mjs.map} +1 -1
  109. package/dist/{run-package-manager-update-DgeSZuUc.mjs → run-package-manager-update-C4uA6xWB.mjs} +281 -66
  110. package/dist/run-package-manager-update-C4uA6xWB.mjs.map +1 -0
  111. package/dist/{sed-S5UIK574-DE1KeTk3.mjs → sed-S5UIK574-C3nurgzc.mjs} +4 -4
  112. package/dist/{sed-S5UIK574-DE1KeTk3.mjs.map → sed-S5UIK574-C3nurgzc.mjs.map} +1 -1
  113. package/dist/{sha1sum-2PTOAFR6-DNjSNcYK.mjs → sha1sum-2PTOAFR6-GDQNigjA.mjs} +3 -3
  114. package/dist/{sha1sum-2PTOAFR6-DNjSNcYK.mjs.map → sha1sum-2PTOAFR6-GDQNigjA.mjs.map} +1 -1
  115. package/dist/{sha256sum-NS7D3IXX-BMaCKkT5.mjs → sha256sum-NS7D3IXX-bI78J2Ek.mjs} +3 -3
  116. package/dist/{sha256sum-NS7D3IXX-BMaCKkT5.mjs.map → sha256sum-NS7D3IXX-bI78J2Ek.mjs.map} +1 -1
  117. package/dist/skills-bundle/_AGENTS.mcp.md +9 -9
  118. package/dist/skills-bundle/_AGENTS.md +88 -47
  119. package/dist/{sleep-X22JJINO-Do5hEQQW.mjs → sleep-X22JJINO-gsrMSr5k.mjs} +2 -2
  120. package/dist/{sleep-X22JJINO-Do5hEQQW.mjs.map → sleep-X22JJINO-gsrMSr5k.mjs.map} +1 -1
  121. package/dist/{sort-SW2YEO5B-B7j1zw8k.mjs → sort-SW2YEO5B-D5UsbJuA.mjs} +3 -3
  122. package/dist/{sort-SW2YEO5B-B7j1zw8k.mjs.map → sort-SW2YEO5B-D5UsbJuA.mjs.map} +1 -1
  123. package/dist/{split-4KKZZXXE-h8GD4HP4.mjs → split-4KKZZXXE-D_eM0wGE.mjs} +2 -2
  124. package/dist/{split-4KKZZXXE-h8GD4HP4.mjs.map → split-4KKZZXXE-D_eM0wGE.mjs.map} +1 -1
  125. package/dist/{sqlite3-CGOEFJAO-DvzzghDg.mjs → sqlite3-CGOEFJAO-Eu-N4sPa.mjs} +3 -3
  126. package/dist/{sqlite3-CGOEFJAO-DvzzghDg.mjs.map → sqlite3-CGOEFJAO-Eu-N4sPa.mjs.map} +1 -1
  127. package/dist/{stat-CD34IZ4P-B5ZOJh4J.mjs → stat-CD34IZ4P-BS1XgX8K.mjs} +2 -2
  128. package/dist/{stat-CD34IZ4P-B5ZOJh4J.mjs.map → stat-CD34IZ4P-BS1XgX8K.mjs.map} +1 -1
  129. package/dist/{strings-6WDHLGMX-DdiEdoL-.mjs → strings-6WDHLGMX-BGTuHTcR.mjs} +2 -2
  130. package/dist/{strings-6WDHLGMX-DdiEdoL-.mjs.map → strings-6WDHLGMX-BGTuHTcR.mjs.map} +1 -1
  131. package/dist/{tail-R4PCA2C4-CUfroNeu.mjs → tail-R4PCA2C4-CfCvDsXY.mjs} +2 -2
  132. package/dist/{tail-R4PCA2C4-CUfroNeu.mjs.map → tail-R4PCA2C4-CfCvDsXY.mjs.map} +1 -1
  133. package/dist/{tar-STHHZTZ6-DRf60e-G.mjs → tar-STHHZTZ6-CzlFhy51.mjs} +3 -3
  134. package/dist/{tar-STHHZTZ6-DRf60e-G.mjs.map → tar-STHHZTZ6-CzlFhy51.mjs.map} +1 -1
  135. package/dist/{tee-YUZ2FKCJ-po_dfyc_.mjs → tee-YUZ2FKCJ-rZEvi44P.mjs} +2 -2
  136. package/dist/{tee-YUZ2FKCJ-po_dfyc_.mjs.map → tee-YUZ2FKCJ-rZEvi44P.mjs.map} +1 -1
  137. package/dist/templates/hello-world/README.md +1 -1
  138. package/dist/templates/hello-world/package.json +2 -3
  139. package/dist/{time-D4LNBSWX-DVWhAldK.mjs → time-D4LNBSWX-D_2r6q9s.mjs} +6 -6
  140. package/dist/{time-D4LNBSWX-DVWhAldK.mjs.map → time-D4LNBSWX-D_2r6q9s.mjs.map} +1 -1
  141. package/dist/{timeout-YDCRSLPQ-B_yntmXU.mjs → timeout-YDCRSLPQ-BCyope7T.mjs} +7 -7
  142. package/dist/{timeout-YDCRSLPQ-B_yntmXU.mjs.map → timeout-YDCRSLPQ-BCyope7T.mjs.map} +1 -1
  143. package/dist/{touch-UA33VN3N-oW1SBT1r.mjs → touch-UA33VN3N-NfG_nyJw.mjs} +2 -2
  144. package/dist/{touch-UA33VN3N-oW1SBT1r.mjs.map → touch-UA33VN3N-NfG_nyJw.mjs.map} +1 -1
  145. package/dist/{tr-36LHWFRQ-CTq3z6wq.mjs → tr-36LHWFRQ-BqtCYOhC.mjs} +3 -3
  146. package/dist/{tr-36LHWFRQ-CTq3z6wq.mjs.map → tr-36LHWFRQ-BqtCYOhC.mjs.map} +1 -1
  147. package/dist/{tree-YLD52CNT-CIozNsLQ.mjs → tree-YLD52CNT-BjNKvvwq.mjs} +3 -3
  148. package/dist/{tree-YLD52CNT-CIozNsLQ.mjs.map → tree-YLD52CNT-BjNKvvwq.mjs.map} +1 -1
  149. package/dist/{unexpand-CADSA4VO-Cq9DTcUg.mjs → unexpand-CADSA4VO-BRBq66Ny.mjs} +2 -2
  150. package/dist/{unexpand-CADSA4VO-Cq9DTcUg.mjs.map → unexpand-CADSA4VO-BRBq66Ny.mjs.map} +1 -1
  151. package/dist/{uniq-XSIZR6PB-D5lt-IXF.mjs → uniq-XSIZR6PB-CEAOHvgb.mjs} +3 -3
  152. package/dist/{uniq-XSIZR6PB-D5lt-IXF.mjs.map → uniq-XSIZR6PB-CEAOHvgb.mjs.map} +1 -1
  153. package/dist/{wc-LF7NU4LA-BFPabrwD.mjs → wc-LF7NU4LA-DQsmzFSM.mjs} +3 -3
  154. package/dist/{wc-LF7NU4LA-BFPabrwD.mjs.map → wc-LF7NU4LA-DQsmzFSM.mjs.map} +1 -1
  155. package/dist/{which-XEM24D5D-2LvlkpUo.mjs → which-XEM24D5D-ClMwNewh.mjs} +2 -2
  156. package/dist/{which-XEM24D5D-2LvlkpUo.mjs.map → which-XEM24D5D-ClMwNewh.mjs.map} +1 -1
  157. package/dist/{xan-Y6WF3IRG-DjKO96Pj.mjs → xan-Y6WF3IRG-CvZAKNm2.mjs} +7 -7
  158. package/dist/{xan-Y6WF3IRG-DjKO96Pj.mjs.map → xan-Y6WF3IRG-CvZAKNm2.mjs.map} +1 -1
  159. package/dist/{xargs-MGZPH7AX-D2bIgrdg.mjs → xargs-MGZPH7AX-DaERa6_Q.mjs} +6 -6
  160. package/dist/{xargs-MGZPH7AX-D2bIgrdg.mjs.map → xargs-MGZPH7AX-DaERa6_Q.mjs.map} +1 -1
  161. package/dist/{yq-4QJW3EQG-XhB3aACo.mjs → yq-4QJW3EQG-DABmi_in.mjs} +88 -88
  162. package/dist/yq-4QJW3EQG-DABmi_in.mjs.map +1 -0
  163. package/package.json +1 -4
  164. package/dist/dist-B72RPrho.mjs.map +0 -1
  165. package/dist/dist-CBVf3SwI.mjs +0 -11661
  166. package/dist/dist-CBVf3SwI.mjs.map +0 -1
  167. package/dist/dist-CyKcvwuI.mjs +0 -816
  168. package/dist/dist-CyKcvwuI.mjs.map +0 -1
  169. package/dist/dist-Duu6X1Sh.mjs +0 -4
  170. package/dist/dist-E6dh6qXe.mjs.map +0 -1
  171. package/dist/file-IPZJC3FQ-DcZNOWyY.mjs.map +0 -1
  172. package/dist/maybe-auto-update-CKoJBwJ_.mjs.map +0 -1
  173. package/dist/program-OcNo9lRF.mjs.map +0 -1
  174. package/dist/python3-POMOR4OA-CKy80mpF.mjs.map +0 -1
  175. package/dist/run-package-manager-update-DgeSZuUc.mjs.map +0 -1
  176. package/dist/watch-app-DTIeKrbl-CSpsNzVG.mjs +0 -100
  177. package/dist/watch-app-DTIeKrbl-CSpsNzVG.mjs.map +0 -1
  178. package/dist/yq-4QJW3EQG-XhB3aACo.mjs.map +0 -1
@@ -4,9 +4,9 @@ Keystroke is a code-first AI automation platform — build specialized AI agents
4
4
 
5
5
  You are editing a **keystroke project** in a remote workspace via MCP. Author under `src/`, import from `@keystrokehq/*` npm packages. You do not have framework source — only this project and published deps.
6
6
 
7
- Use MCP tools to work on the project: `read_file`, `write_file`, `edit_file`, `list_files`, `delete_file`, `exec_command`, and `deploy_project`. Look up authoring guidance, APIs, and examples with `search_docs` and `query_docs` (see docs below) before editing files.
7
+ Use MCP tools to work on the project: `read_file`, `write_file`, `edit_file`, `list_files`, `delete_file`, and `exec_command`. Look up authoring guidance, APIs, and examples with `search_docs` and `query_docs` (see docs below) before editing files.
8
8
 
9
- The **keystroke platform** is the hosted control plane and the shared web workspace where your user works — viewing workflows on a canvas, chatting with agents, inspecting runs, and managing credentials. After you change code, run `deploy_project` to build and upload; that activates the cloud runtime. A project is a single live runtime — a deploy replaces what's running on that project (there's no separate dev and prod within one project), so use filtered deploys and `@keystroke ignore` to iterate quickly.
9
+ The **keystroke platform** is the hosted control plane and the shared web workspace where your user works — viewing workflows on a canvas, chatting with agents, inspecting runs, and managing credentials. After you change code, run `keystroke deploy` through `exec_command`; the dedicated `deploy_project` tool is temporarily disabled. For filtered deploys, use `--accept-impact` only when the local preflight reports expanded or unknown impact. A project is a single live runtime — a deploy replaces what's running on that project (there's no separate dev and prod within one project), so use filtered deploys and `@keystroke ignore` to iterate quickly.
10
10
 
11
11
  ## What you build
12
12
 
@@ -73,7 +73,7 @@ Workflows also render as an interactive **canvas** in the platform. Keep durable
73
73
  ### Common failures
74
74
 
75
75
  - **Search the catalog, then research the system** — check `keystroke apps search` thoroughly before assuming an integration is missing. For anything custom or unfamiliar, web-fetch/search the real docs — `llms.txt`, OpenAPI/GraphQL specs, API reference — before mirroring endpoints or payloads. Never guess.
76
- - **Run before you claim you are finished** — deploy with `deploy_project`, run it in the cloud via `exec_command`, and read the real output before activating live triggers or claiming you are finished. Chat with agents and run workflows to confirm they behave correctly.
76
+ - **Run before you claim you are finished** — deploy with `keystroke deploy` via `exec_command`, run it in the cloud, and read the real output before activating live triggers or claiming you are finished. Chat with agents and run workflows to confirm they behave correctly.
77
77
  - **Cover obvious edge cases** and write simple tests as needed (null field, empty array, a step that throws).
78
78
  - **Verify integration prerequisites** — before composing a catalog action into a workflow, run it once with `keystroke apps execute` (via `exec_command`) to confirm the IDs and fields exist in the connected account.
79
79
  - **Connect integrations in the web app** — use the `connect_app` tool to get a link for the user (a browser cannot open in this workspace). Keystroke projects don't use `.env`.
@@ -119,7 +119,7 @@ To discover apps/integrations and their actions, query the live catalog with the
119
119
  keystroke apps search "{query}" # find an app and its slug in the full catalog — start here
120
120
  keystroke apps list # apps registered/connectable in your org
121
121
  keystroke apps get <slug> # catalog toolkit OR custom org template (see kind)
122
- keystroke apps actions list <app> --search <q> # catalog toolkit actions (custom org apps kind:custom guidance)
122
+ keystroke apps actions list <app> --search <q> # catalog toolkit OR live MCP tools (kind:mcp) after connect
123
123
  keystroke apps actions get <app> <tool> # schema + how to run/import one catalog action
124
124
  keystroke apps execute <app> <tool> --input '{...}' # run a connected catalog action (no server)
125
125
  keystroke credentials list # what's already connected — check before asking the user to connect
@@ -127,9 +127,9 @@ keystroke credentials list # what's already connected
127
127
 
128
128
  Custom org apps (`{org}/{name}`) do not have catalog toolkit actions — use `apps get` / `apps sync` / `defineApp(...).action(...)` instead.
129
129
 
130
- **Gateway / channel binding:** to put an agent in a Slack channel, connect **`slackbot`** (not `slack`), then verify `channels accounts --platform slack` is non-empty before bind. Full detail: `search_docs "external channels"` → `/learn/agents/external-channels`.
130
+ **Gateway / channel binding:** use the `setup_agent_slack` tool (kind `keystroke` or `custom`), then follow its `nextCommands` via `exec_command` and share any OAuth/wizard URLs with the user. Keystroke path: OAuth for the Keystroke Slack App (catalog slug `slackbot`) if needed, then `keystroke channels setup <slug> [--channel <name>]`. Custom @handle: `keystroke channels setup <slug> --custom --print-url` and share the wizard link — user finishes in the browser. Do not use a Personal Slack Account (catalog slug `slack`, user token) for External Channels. Full detail: `search_docs "external channels"` → `/learn/agents/external-channels`.
131
131
 
132
- To connect an app's credentials, use the `connect_app` tool to get a link for the user — a browser cannot open in this workspace, so do not use `keystroke connect`. See `search_docs "use credentials"` for binding credentials to workflow steps and agent tools.
132
+ To connect an app's credentials, use the `connect_app` tool to get a link for the user — a browser cannot open in this workspace, so do not use `keystroke connect`. For Slack, pass `slackFlow` (`keystroke` = Keystroke Slack App, `personal` = Personal Slack Account, `custom` = Custom Slack App wizard) to open the right dialog; omit it to let the user pick in the chooser. See `search_docs "use credentials"` for binding credentials to workflow steps and agent tools.
133
133
 
134
134
  Credentials are for secrets. Non-secret config — spreadsheet IDs, channel names, base URLs — belongs in code as a literal constant or a workflow input. Keystroke projects don't use `.env`.
135
135
 
@@ -139,7 +139,7 @@ If a **credentialed** integration isn't supported, build a proper custom app —
139
139
  2. Author with `defineApp` in `src/apps/` + `app.action(...)`.
140
140
  3. Have the user connect (`connect_app` link), then deploy.
141
141
 
142
- Use `defineMcp` for MCP servers on agents. Credential-free project actions stay as plain `defineAction`. `search_docs "custom integration"`.
142
+ For MCP: `search_docs "custom apps MCP"` first, then connect, then `keystroke apps actions list <org>/<name>` for the live tool registry. Do not use `defineMcp`. Credential-free project actions stay as plain `defineAction`. `search_docs "custom integration"`.
143
143
 
144
144
  ## Report friction and feedback to the Keystroke team
145
145
 
@@ -149,7 +149,7 @@ Run `keystroke feedback create --help` for the message template and writing guid
149
149
 
150
150
  ## Docs
151
151
 
152
- Look things up in the Keystroke documentation as you work it's the source of truth for APIs, patterns, and examples. Prefer what the docs return over your prior knowledge.
152
+ Building blocks and working habits in this guide are the authoring contract. Docs are the expanded reference for APIs, patterns, and examples — look them up as you work. If this guide and the docs conflict, trust this guide and report via `keystroke feedback create`.
153
153
 
154
154
  - `search_docs` — broad/conceptual lookup (e.g. `search_docs "build an agent"`, `"webhook trigger"`, `"filtered deploy"`). Returns matching pages with their doc paths; read one by passing its path to `query_docs`.
155
155
  - `query_docs` — exact keyword/regex search, structure exploration, and reading pages by path against the docs filesystem: `head -n 200 /quickstart.mdx`, `rg -il "defineWorkflow" /`, `tree / -L 2`.
@@ -167,7 +167,7 @@ Common pages to read with `query_docs` (e.g. `cat /learn/agents/build-agents.mdx
167
167
  | `/cli` | Full command reference, flags, JSON output |
168
168
  | `/explore-features` | Guide to find relevant feature documentation |
169
169
  | `/learn/agents/build-agents` | Models, tools, subagents, sandboxes, MCP tools on agents |
170
- | `/learn/agents/external-channels` | Slack vs Slackbot; connect `slackbot` and bind channels |
170
+ | `/learn/agents/external-channels` | Keystroke vs custom Slack; `setup_agent_slack` / `channels setup` |
171
171
  | `/learn/workflows/build-workflows` | Steps, orchestration, sandboxes, durable waits |
172
172
  | `/learn/workflows/authoring-best-practices` | Canvas-legible, replayable workflow patterns (hard + soft rules) |
173
173
  | `/learn/actions/overview` | Action rules (leaf units, no action-in-action) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  This codebase is a Keystroke project. Keystroke is a code-first AI automation platform: you build AI agents, workflows, triggers, and actions in TypeScript under `src/`, deploy them to a managed cloud runtime, then run and inspect what's deployed.
4
4
 
5
- You are the user's AI automation engineer — the coding agent that builds and maintains this project. Read `src/` first (existing agents, workflows, actions, triggers). This guide is a map, not the manual: the docs are the source of truth (see [Documentation](#documentation)). Before building or changing any primitive, read its docs page first. The `keystroke` CLI drives everything else: deploy, run, inspect, credentials, integrations, triggers.
5
+ You are the user's AI automation engineer — the coding agent that builds and maintains this project. Keystroke projects are built two ways: from a local checkout like this one via the `keystroke` CLI (often with a coding agent), or in-app via the platform agent in the Keystroke web app — both edit the same source and deploy the same way. Read `src/` first (existing agents, workflows, actions, triggers). This guide is the authoring contract and is enough for standard primitives; consult the docs for gaps, advanced patterns, or unexplained failures. The `keystroke` CLI drives everything else: deploy, run, inspect, credentials, integrations, triggers.
6
6
 
7
7
  ## Match the user's level
8
8
 
@@ -32,7 +32,7 @@ Act as the user's automation engineer, not just an implementer. Before and while
32
32
 
33
33
  Most platform commands read `organization` / `project` from `keystroke.config.ts`; pass `--organization <slug>` / `--project <slug>` only to override or when config is missing. The usual bootstrap is `keystroke projects link --project <slug>` (writes both after you pass `--organization` on first link).
34
34
 
35
- `keystroke deploy` builds `src/` into `dist/`, runs lint and typecheck, uploads the artifact, and promotes it as the project's single live runtime. A deploy replaces what's running — no separate dev and prod within one project.
35
+ `keystroke deploy` (managed Git) uploads local changes to the shared draft, then plans and executes a healthy candidate deploy on the platform. Snapshot-only projects still lint, typecheck, build, and upload. A deploy replaces what's running — no separate dev and prod within one project.
36
36
 
37
37
  Once deployed, your user works in the **web platform** — a shared workspace with an interactive workflow canvas, agent chat, run/trace inspection, credentials, and teammates. Most users spend far more time there than in code, so frame what you build around what they'll see and do there, not CLI plumbing.
38
38
 
@@ -44,12 +44,13 @@ Everything under `src/` is discovered by convention.
44
44
  my-app/
45
45
  keystroke.config.ts # optional project + organization slugs (set via `keystroke projects link`)
46
46
  tsconfig.json # standalone strict config (committed) — includes noUncheckedIndexedAccess
47
- package.json # dev/build/lint/typecheck/test scripts
47
+ package.json # build/lint/typecheck/test/deploy scripts
48
48
  src/
49
49
  agents/ # LLM agents
50
50
  actions/ # reusable leaf units of work
51
51
  workflows/ # multi-step automations
52
52
  triggers/ # schedules, webhooks, app events
53
+ apps/ # custom defineApp modules
53
54
  skills/ # runtime playbooks for agents
54
55
  files/ # context files attached to agents
55
56
  AGENTS.md # this guide
@@ -66,33 +67,38 @@ Lint, typecheck, and test run through the globally installed CLI (`npm i -g @key
66
67
  - **Lint** — oxlint and its config are bundled in the CLI; a project `.oxlintrc.json` is ignored. `typescript/no-explicit-any` is an **error** and the same lint runs at deploy. At external-JSON boundaries, parse into a Zod schema (or type as `unknown` and narrow) instead of `any`.
67
68
  - **Typecheck** — the committed `tsconfig.json` is strict, including `noUncheckedIndexedAccess`: indexing (`arr[0]`, `record[key]`, regex `match[1]`) yields `T | undefined`, so guard before use.
68
69
 
69
- **Deploy is the gate.** `keystroke deploy` runs lint and typecheck before it builds and ships don't run them separately first. Attempt deploy, fix what it reports, redeploy. Use the commands below only for a faster local loop (especially `keystroke test`).
70
+ **Deploy is the gate.** For managed Git, `keystroke deploy` uploads the working tree to the shared draft, analyzes the pinned commits locally, and builds/uploads the accepted candidate. Expanded or unknown filtered impact requires confirmation or `--accept-impact`. For snapshot projects it still runs lint and typecheck before build/upload. Attempt deploy, fix what it reports, redeploy. Use the commands below for a faster local loop `keystroke typecheck` is a cheap pre-flight before pushing or deploying, and `keystroke test` covers logic.
70
71
 
71
- **Keep `@keystrokehq/*` on latest.** The CLI auto-updates itself (global install). `keystroke deploy` / `build` / `lint` / `typecheck` require installed project `@keystrokehq/*` packages to be on npm `latest` (CI skips the check). When they report outdated packagesor a build/deploy fails in a way that doesn't point at your code — run `keystroke update` and retry **before** debugging anything else. A registry minimum-release-age can hold a release back.
72
+ **Keep `@keystrokehq/*` on latest.** The CLI auto-updates itself (global install). `keystroke deploy` / `build` / `lint` / `typecheck` require installed project `@keystrokehq/*` packages to be on npm `latest` (CI skips the check) and say so when they aren't when a command reports outdated packages, run `keystroke update` and retry.
73
+
74
+ `keystroke update` writes any needed `minimum-release-age-exclude` entries for `@keystrokehq/*` into project `.npmrc` (do **not** create or commit `pnpm-workspace.yaml` for this — it is gitignored and only a pnpm allowBuilds artifact). Commit `.npmrc` with `package.json` / lockfile when update changes them. Do **not** hand-edit a pinned version and then rewrite it to `"latest"` — that leaves the lockfile out of sync and breaks frozen installs on deploy.
72
75
 
73
76
  ```bash
74
77
  keystroke update # bump @keystrokehq/* deps + CLI to latest
75
- keystroke deploy # lint + typecheck + build + ship dist/ — start here
78
+ keystroke pull # fetch/merge shared draft (`ks/draft`) into `.keystroke/git`
79
+ keystroke deploy # managed: sync + local preflight/build/upload; snapshot: lint + typecheck + build + ship
80
+ keystroke typecheck # fast pre-flight (CLI-bundled TypeScript)
76
81
  keystroke test # optional local loop (unit + integration)
77
82
  pnpm test # same — package.json scripts call the CLI
78
83
  ```
79
84
 
85
+ **Managed draft git** — `pull` / `deploy` use a sidecar at `.keystroke/git` (project-source-ignored) with the project as the work tree. Your optional user `.git` and `origin` (e.g. org GitHub) stay untouched; do not commit `.keystroke/`.
86
+
80
87
  ## The deploy-first loop
81
88
 
82
89
  Build, ship, then run and inspect what's live. Deploy often.
83
90
 
84
- 1. **Auth once** — `keystroke auth login` (token stored and reused).
85
- 2. **Link the directory** — `keystroke --organization <slug> projects link --project <slug>` writes `project` and `organization` into `keystroke.config.ts` (or pass the flags on every command).
86
- 3. **Verify prerequisites** run each integration action once for real with `keystroke apps execute` before wiring it in (see [Integrations & credentials](#integrations--credentials)).
87
- 4. **Edit** primitives under `src/`. Unit-test workflow logic in-process with `executeWorkflow` when a fast local check helps — deploying is still the shipping checkpoint.
88
- 5. **Deploy** — `keystroke deploy` (full) or `keystroke deploy --filter agents/support` (one module).
89
- 6. **Run** — `keystroke workflows run <slug> --input '{...}'` / `keystroke agents prompt <slug> --message "..."`.
90
- 7. **Inspect** — read the real run/trace before claiming done (see [Audit & debug](#audit--debug)).
91
- 8. Repeat.
91
+ 1. **Link the directory** — `keystroke --organization <slug> projects link --project <slug>` writes `project` and `organization` into `keystroke.config.ts` (or pass the flags on every command). Commands that need auth tell you how to log in.
92
+ 2. **Verify prerequisites** — run each integration action once for real with `keystroke apps execute` before wiring it in (see [Integrations & credentials](#integrations--credentials)).
93
+ 3. **Edit** primitives under `src/`. Unit-test workflow logic in-process with `executeWorkflow` when a fast local check helps deploying is still the shipping checkpoint.
94
+ 4. **Deploy** `keystroke deploy` (full) or `keystroke deploy --filter agents/support` (one module).
95
+ 5. **Run** — `keystroke workflows run <slug> --input '{...}' --wait` / `keystroke agents prompt <slug> --message "..." --wait`. Prefer `--wait` over `sleep`-and-recheck loops and choose its duration with `--timeout <seconds>`. A timeout means it is still running, not that it failed; continue with `keystroke workflows runs get <slug> <runId> --wait` or `keystroke agents sessions get <slug> <sessionId> --wait`.
96
+ 6. **Inspect** — read the real run/trace before claiming done (see [Audit & debug](#audit--debug)).
97
+ 7. Repeat.
92
98
 
93
99
  `keystroke auth status` shows the current user + org memberships; `keystroke --organization <slug> projects list` shows an org's projects.
94
100
 
95
- New project: `keystroke init my-app --yes`, link, then deploy. Join an existing cloud project: `keystroke pull --project <slug>` (with `--organization` or linked config).
101
+ New project: `keystroke init my-app --yes`, link, then deploy. Join an existing cloud project: `keystroke pull --project <slug>` (with `--organization` or linked config) to fetch/merge the shared draft. Use `keystroke pull --published` only when you need the active deploy revision.
96
102
 
97
103
  ## Choosing a primitive
98
104
 
@@ -107,7 +113,7 @@ Prefer a workflow (or a plain action / LLM step) unless the path genuinely varie
107
113
 
108
114
  ## Building blocks
109
115
 
110
- **Every primitive requires `slug`, `name`, and `description`** — agents, workflows, actions, and all trigger sources. Omitting `name` or `description` throws at module load, so it fails lint/typecheck-passing code at deploy. `name` is the human label in the platform; `description` is what the model sees when the primitive is a tool.
116
+ **Every primitive requires `slug`, `name`, and `description`** — agents, workflows, actions, and all trigger sources. Types require `name`/`description` for agents, actions, and workflows; omitting them also throws at module load / deploy. `name` is the human label in the platform; `description` is what the model sees when the primitive is a tool.
111
117
 
112
118
  ### Agent — `defineAgent`
113
119
 
@@ -164,7 +170,7 @@ export default defineWorkflow({
164
170
 
165
171
  `ctx` is the second `run` argument (`async run(input, ctx)`) — add it only when a step needs `ctx.sleep`/`ctx.hook`. Use `promptLlm(...)` (import from `@keystrokehq/keystroke/workflow`) for one-shot generation/classification; use `agent.prompt(...)` when the step needs tools, memory, or multi-turn reasoning.
166
172
 
167
- **Durability** — completed steps replay on retry: keep side effects inside steps; make steps idempotent; keep control flow deterministic (no `Date.now()` / randomness). Step ids come from each call's position in `run`, so adding or removing an unrelated step never shifts the others. `ctx.sleep`/`ctx.hook` work from triggers/CLI/HTTP but not when a workflow is inline as an agent tool.
173
+ **Durability** — completed steps replay on retry: keep side effects inside steps; make steps idempotent; keep control flow deterministic (no `Date.now()` / randomness). Step ids come from each call's position in `run`, so adding or removing an unrelated step never shifts the others. `ctx.sleep`/`ctx.hook` require queued execution trigger, CLI, API, sub-workflow, and agent-tool runs all use the queue, so they can suspend and resume normally.
168
174
 
169
175
  #### Canvas-legible, replayable workflows
170
176
 
@@ -227,8 +233,8 @@ export default defineWebhookSource({
227
233
 
228
234
  | Source | Use when |
229
235
  | --- | --- |
230
- | **Schedule** (`defineCronSource`) | The workflow should run **every** tick, unconditionally — no filters exist on cron. Cron fields are wall-clock times in optional `timezone` (IANA, e.g. `America/New_York`); omit for UTC. Prefer `timezone` for local times like "9am". Optional static `payload` on the source (defaults to `{}`); without a `transform`, the payload must match the workflow `input`. |
231
- | **Webhook** (`defineWebhookSource`) | Another system pushes events. Best option when available. |
236
+ | **Schedule** (`defineCronSource`) | The workflow should run **every** tick, unconditionally — no filters exist on cron. Cron fields are wall-clock times in optional `timezone` (IANA, e.g. `America/New_York`); omit for UTC. Prefer `timezone` for local times like "9am". Optional static `payload` on the source (defaults to `{}`); without a `transform`, the payload must match the workflow `input`. Standard 5-field cron: `minute hour day-of-month month day-of-week` (e.g. `0 9 * * 1-5` = 9:00 weekdays). |
237
+ | **Webhook** (`defineWebhookSource`) | Another system pushes events. Best option when available. Match on the source `payload` Zod schema (e.g. `z.object({ type: z.literal("invoice.paid") })`); attachment `transform` maps into the workflow input. |
232
238
  | **Poll** (`definePollSource`) | Check an external system each tick and fire **only when the result passes `.filter(...)`**. A filtered tick creates no run and doesn't count toward execution limits — for "run only if X", a poll is correct and a cron is wrong. Same optional `timezone` as cron. |
233
239
 
234
240
  Webhook match lives in the source `payload` schema; poll filters live on the source; `transform` lives on the workflow attachment. Agents use `.attach({ agent, prompt })` (not `transform`). Attachment id: `{sourceSlug}:{targetSlug}`.
@@ -247,13 +253,13 @@ run: async ({ state, setState }) => {
247
253
  },
248
254
  ```
249
255
 
250
- **Deploy timing** — webhooks are passive and safe to deploy any time. A poll fires immediately on deploy; a cron waits for its next slot, then runs unattended. Until the workflow is verified, pause with `keystroke triggers disable <trigger-slug>` — the disabled state survives redeploys.
256
+ **Deploy timing** — webhooks are passive and safe to deploy any time. A poll fires immediately on deploy; a cron waits for its next slot, then runs unattended. Until the workflow is verified, pause with `keystroke triggers disable <trigger-slug>` — the disabled state survives redeploys when the attachment target is unchanged (repointing creates a new enabled attachment).
251
257
 
252
258
  ## Integrations & credentials
253
259
 
254
260
  Keystroke has 1,000+ built-in integrations, and it's easy to build a custom one for any HTTP API or MCP server (including private/internal). **Research first, then build:** search the catalog thoroughly before assuming an app is missing; for anything custom or unfamiliar, web-fetch/search the system's real docs — `llms.txt`, OpenAPI/GraphQL specs, API reference — before writing code. Never guess endpoints or payloads.
255
261
 
256
- Discover apps and actions with the CLI — the docs integration index is **not** reliable for discovery. One `<app> <tool>` shape flows through discovery → inspect → run for **catalog** apps; `apps actions get` / `apps actions list` print the next step after their output. Custom org apps (`{org}/{name}` from `apps create`) are different: `apps get` returns `kind:"custom"` (credential template); `apps actions list` returns guidance, not toolkit tools — actions live in project code via `defineApp(...).action(...)`.
262
+ Discover apps and actions with the CLI — the docs integration index is **not** reliable for discovery. One `<app> <tool>` shape flows through discovery → inspect → run for **catalog** apps; `apps actions get` / `apps actions list` print the next step after their output. Custom org apps (`{org}/{name}` from `apps create`) differ by source: non-MCP custom apps return `kind:"custom"` guidance (actions live in project code via `defineApp(...).action(...)`); **MCP** apps (`source:"mcp"`) return `kind:"mcp"` with the live tool registry after connect. Always `keystroke docs search` Keystroke docs first for custom/MCP patterns.
257
263
 
258
264
  Think about testing as you build. Local tests don't link cloud credentials or the Keystroke client, so unit-test pure logic locally; for integrations, check needed apps/credentials and run each action once for real with `keystroke apps execute` (no deploy, no server) before wiring it into a workflow or agent — confirm the IDs, custom fields, and labels you're about to hard-code exist in the *connected* account. Schema inspection and dry-run flags prove nothing about the mutating path.
259
265
 
@@ -261,27 +267,59 @@ Think about testing as you build. Local tests don't link cloud credentials or th
261
267
  keystroke apps list # all registered apps
262
268
  keystroke apps search "{query}" # find an app + slug in the full catalog
263
269
  keystroke apps get <slug> # catalog toolkit OR custom credential template (kind)
264
- keystroke apps actions list <app> --search <q> # catalog toolkit actions (custom kind:custom guidance)
270
+ keystroke apps actions list <app> --search <q> # catalog toolkit OR live MCP tools (kind:mcp) after connect
265
271
  keystroke apps actions get <app> <tool> # schema + how to run/import one catalog action
266
272
  keystroke apps execute <app> <tool> --input '{...}' # run a connected catalog action (no server)
267
273
  keystroke credentials list # what's already connected
268
- keystroke connect <slug> # connect an app credential (opens web OAuth/api key flow for the user)
274
+ keystroke connect <slug> # connect an app credential (opens the web connect flow; --print-url prints it instead)
269
275
  keystroke credentials create <key> --set apiKey=@env:MY_KEY # static API key
270
276
  ```
271
277
 
272
- `keystroke credentials list` is the **only** reliable connection check (`apps actions get` doesn't show status) — check it before connecting anything; the credential often already exists.
278
+ `keystroke credentials list` is the **only** reliable connection check (`apps actions get` doesn't show status) — use it before connecting because the credential often already exists.
279
+
280
+ ### Action discovery (search well)
281
+
282
+ `--search` is keyword search over action names/slugs — not a natural-language Q&A. Hit rate tips:
283
+
284
+ - Prefer a **single domain noun** (`customer`, `thread`, `event`, `message`). Avoid phrases (`"Retrieve a customer by ID"`) and bare verbs (`get` / `list` match almost everything).
285
+ - When the task spans multiple concepts, run **one search per concept in parallel** in the same turn (`customer`, `subscription`, `webhook`) — don't re-rephrase a failed phrase query.
286
+ - **Small toolkits** (one page or less): plain `keystroke apps actions list <app>` once, then pick slugs — don't search repeatedly.
287
+ - **Large toolkits** (GitHub, Stripe): search with nouns. If an unfiltered list returns `nextCursor`, switch to focused searches instead of paging through the entire toolkit.
288
+ - Once candidate slugs are known, fetch every needed schema with parallel `keystroke apps actions get <app> <tool>` calls in one turn.
289
+
290
+ ### Slack: three connection kinds
291
+
292
+ Slack has three connection kinds (web: Apps → Connect Slack). Pick by what the user needs — never call any of them "Slackbot" when talking to the user:
293
+
294
+ | Need | Command | Notes |
295
+ | --- | --- | --- |
296
+ | Bot actions or channel bindings as **@Keystroke** | `keystroke connect slack --kind keystroke` | The **Keystroke Slack App** — catalog slug `slackbot` (same app; the credential lists under that slug). Add `--wait` to block until the workspace registers. |
297
+ | Act **as the human** (user token: their DMs, search, history) | `keystroke connect slack --kind personal` | **Personal Slack Account** — catalog slug `slack`. Not for External Channels. |
298
+ | Dedicated **@handle** identity for one agent | `keystroke channels setup <agent> --custom` | **Custom Slack App** wizard; user finishes in the browser. |
299
+ | User should decide | `keystroke connect slack` | Opens the chooser with all three. |
273
300
 
274
301
  ### Gateway / channel binding
275
302
 
276
- To put an agent in a Slack channel, connect **`slackbot`** — not `slack`.
303
+ Two Slack External Channels paths:
304
+
305
+ **Keystroke Slack App (default)** — agent responds as **@Keystroke** in a bound channel:
306
+
307
+ ```bash
308
+ keystroke channels accounts --platform slack
309
+ # If empty:
310
+ keystroke connect slack --kind keystroke --wait
311
+ # Create/bind channel (default name = agent slug):
312
+ keystroke channels setup <slug> [--channel <name>]
313
+ ```
314
+
315
+ **Custom Slack app (if the user wants a dedicated @handle anywhere):**
277
316
 
278
317
  ```bash
279
- keystroke connect slackbot
280
- keystroke channels accounts --platform slack # must be non-empty
281
- keystroke channels bind --agent <slug> --platform slack --account <team-id> --channel <channel-id>
318
+ keystroke channels setup <slug> --custom # opens agent wizard URL; user finishes in browser
319
+ keystroke channels list <slug> # verify after they finish
282
320
  ```
283
321
 
284
- Full detail: `/learn/agents/external-channels`.
322
+ Do not use a Personal Slack Account (`--kind personal`, user token) for External Channels — it does not register a gateway workspace. Advanced primitives: `channels directory`, `channels bind`. Full detail: `/learn/agents/external-channels`.
285
323
 
286
324
  Credentials are for secrets. Non-secret config — spreadsheet IDs, channel names, base URLs — belongs in code as a literal constant or a workflow input. Keystroke projects don't use `.env`.
287
325
 
@@ -291,12 +329,12 @@ Missing a built-in **credentialed** integration? After researching the system's
291
329
  2. **Code authoring** — always `defineApp` in `src/apps/` + `app.action(...)`. Do **not** invent `src/credentials/foo.ts` + a lone `defineAction` for a new API.
292
330
  3. **Connect** — `keystroke connect <slug>` (or `credentials create` when you already have the secret), then deploy.
293
331
 
294
- Use `defineMcp` for MCP servers attached to agents. Plain `defineAction` (no credentials) does not need an app. See `/learn/credentials/custom-integrations`.
332
+ For MCP apps: `keystroke docs search "custom apps MCP"` first, then `connect`, then `keystroke apps actions list <org>/<name>` for the live tool registry. Do not use `defineMcp`. Plain `defineAction` (no credentials) does not need an app. See `/learn/credentials/custom-integrations`.
295
333
 
296
334
  ## Skills & files
297
335
 
298
336
  - **Skills** (`src/skills/<name>/SKILL.md`) — runtime playbooks that teach an agent *how* to do a task. Attach with `skills: ["<name>"]`.
299
- - **Files** (`src/files/<set>/`) — static context an agent can access. Attach with `sandbox: defineSandbox({ files: true })` (set folder matches the agent `slug`).
337
+ - **Files** (`src/files/<set>/`) — static context an agent can access. Attach with `sandbox: defineSandbox({ files: "set" })` or `files: ["set-a", "set-b/file.md"]`.
300
338
 
301
339
  Both materialize into the agent's `/workspace/agent/...` environment before each prompt.
302
340
 
@@ -312,11 +350,15 @@ Both materialize into the agent's `/workspace/agent/...` environment before each
312
350
  Inspect deployed runs progressively — start lean, then request richer detail only when needed:
313
351
 
314
352
  ```bash
353
+ keystroke workflows run <workflow-slug> --input '{...}' --wait # block until done (or --timeout)
354
+ keystroke workflows runs get <workflow-slug> <run-id> --wait # re-wait after a timeout
315
355
  keystroke workflows runs list <workflow-slug>
316
356
  keystroke workflows runs get <workflow-slug> <run-id> --summary
317
357
  keystroke workflows runs get <workflow-slug> <run-id> --field output
318
358
  keystroke workflows runs get <workflow-slug> <run-id> --include steps,trace
319
359
 
360
+ keystroke agents prompt <agent-slug> --message "..." --wait # block until done (or --timeout)
361
+ keystroke agents sessions get <agent-slug> <session-id> --wait # re-wait after a timeout
320
362
  keystroke agents sessions list <agent-slug>
321
363
  keystroke agents sessions get <agent-slug> <session-id> --summary
322
364
  keystroke agents sessions get <agent-slug> <session-id> --field status
@@ -333,7 +375,7 @@ keystroke history list --kind workflow --status failed
333
375
 
334
376
  Workflows have durable **runs**; agents have durable **sessions** (use `agents sessions get`, not `agents runs get`).
335
377
 
336
- Invoke/inspect commands print JSON to stdout (exit 0 on success, 1 on failure) — pipe to `jq` when you need arbitrary paths. Prefer `--summary` / `--field` for common inspection so you don't dig through nested envelopes. Lifecycle commands (`init`/`dev`/`deploy`) print human status.
378
+ Invoke/inspect commands print JSON to stdout (exit 0 on success, 1 on failure) — pipe to `jq` when you need arbitrary paths. Prefer `--summary` / `--field` for common inspection so you don't dig through nested envelopes. Lifecycle commands (`init`/`build`/`deploy`) print human status.
337
379
 
338
380
  ## Before you claim you're done
339
381
 
@@ -354,24 +396,23 @@ Run `keystroke feedback create --help` for the message template and writing guid
354
396
 
355
397
  ## Common gotchas
356
398
 
357
- 1. **Stale `@keystrokehq/*` versions** — the first suspect for any build or deploy failure; run `keystroke update` and retry before debugging (see [Dev tooling](#dev-tooling)).
358
- 2. **Action calling an action** — throws at runtime and fails lint. Compose in a workflow, or attach the integration action directly.
359
- 3. **Bad model id** — must be exact `vendor/model-id` from the catalog; don't kebab the version. Fails at deploy, not typecheck.
360
- 4. **LLM structured output: prefer `.nullable()` for optional fields** — OpenAI/Azure strict mode requires every property key in `required`. Zod `.optional()` / `.nullish()` omit keys and the API rejects the schema before the model runs. Keystroke rewrites those wrappers to `.nullable()` on the wire, but authoring with `.nullable()` (always present, may be `null`) matches what the model returns and avoids surprises. Avoid bare `.optional()` in `outputSchema`.
361
- 5. **Structured output + tools is vendor-specific** — Anthropic Sonnet/Opus and OpenAI/Google/xAI are reliable; z-ai GLM uses a submit tool when tools are present; Alibaba Qwen is best-effort. See [structured output with tools](/learn/agents/build-agents#structured-output-with-tools).
362
- 6. **Silent fallbacks hide real failures** — for live config (Sheets, DBs, credentials), don't `catch` and quietly substitute fallback/empty data in production paths; a run that "completes" with empty inputs looks like success in the trace but is a silent failure. Throw when required config is missing or empty, and validate response shape, not just status.
363
- 7. **Side effects outside steps** — they re-run on every replay. Keep them inside `.run()` / `.prompt()`.
364
- 8. **Schedule input**a cron trigger defaults to `{}`, or pass `payload` on `defineCronSource` (and optional `transform` on `.attach`) when the workflow needs input.
365
- 9. **Missing `name`/`description`**required on every primitive (agents, workflows, actions, trigger sources). Typecheck passes without them; module load throws at deploy.
366
- 10. **Integration actions throw on failure** — prebuilt actions return their typed output directly (the shape `keystroke apps actions get` shows) and **throw** on failure; don't port `{ data, error, successful }` envelope checks from Composio docs.
367
- 11. **`.default()` on an input field makes it required in the `run()` call type** — action/workflow `run` inputs are typed from the schema's *parsed* output, so a defaulted field must still be passed at the call site. When callers should be able to omit a field, use `.optional()` and apply the fallback inside `run`.
368
- 12. **Slack gateway** — connect agents to Slack channels with `slackbot` (`keystroke connect slackbot`). See [Gateway / channel binding](#gateway--channel-binding).
399
+ 1. **Action calling an action** — throws at runtime and fails lint. Compose in a workflow, or attach the integration action directly.
400
+ 2. **Bad model id** — must be exact `vendor/model-id` from the catalog; don't kebab the version. Fails at deploy, not typecheck.
401
+ 3. **LLM structured output: prefer `.nullable()` for optional fields** — OpenAI/Azure strict mode requires every property key in `required`. Zod `.optional()` / `.nullish()` omit keys and the API rejects the schema before the model runs. Keystroke rewrites those wrappers to `.nullable()` on the wire, but authoring with `.nullable()` (always present, may be `null`) matches what the model returns and avoids surprises. Avoid bare `.optional()` in `outputSchema`.
402
+ 4. **Structured output + tools is vendor-specific** — Anthropic Sonnet/Opus and OpenAI/Google/xAI are reliable; z-ai GLM uses a submit tool when tools are present; Alibaba Qwen is best-effort. See [structured output with tools](/learn/agents/build-agents#structured-output-with-tools).
403
+ 5. **Silent fallbacks hide real failures** — for live config (Sheets, DBs, credentials), don't `catch` and quietly substitute fallback/empty data in production paths; a run that "completes" with empty inputs looks like success in the trace but is a silent failure. Throw when required config is missing or empty, and validate response shape, not just status.
404
+ 6. **Side effects outside steps** — they re-run on every replay. Keep them inside `.run()` / `.prompt()`.
405
+ 7. **Schedule input** — a cron trigger defaults to `{}`, or pass `payload` on `defineCronSource` (and optional `transform` on `.attach`) when the workflow needs input.
406
+ 8. **Missing `name`/`description`**required on every primitive (agents, workflows, actions, trigger sources). Types require them for agents, actions, and workflows; omitting them throws at module load / deploy.
407
+ 9. **Integration actions throw on failure** prebuilt actions return their typed output directly (the shape `keystroke apps actions get` shows) and **throw** on failure; don't port `{ data, error, successful }` envelope checks from Composio docs.
408
+ 10. **`.default()` on an input field makes it required in the `run()` call type** — action/workflow `run` inputs are typed from the schema's *parsed* output, so a defaulted field must still be passed at the call site. When callers should be able to omit a field, use `.optional()` and apply the fallback inside `run`.
409
+ 11. **Slack gateway** — prefer `keystroke channels setup <slug>`; custom @handle uses `channels setup <slug> --custom`. See [Gateway / channel binding](#gateway--channel-binding).
369
410
 
370
411
  ## Documentation
371
412
 
372
- Docs are the source of truth — this guide only orients you. Read the relevant page **before** building or changing any primitive; prefer docs over prior knowledge.
413
+ Building blocks and gotchas in this guide are the authoring contract — enough for standard agents, workflows, actions, and cron/webhook/poll triggers. Docs are the expanded reference for APIs, patterns, and examples read them when you deviate from this guide, need a topic it doesn't cover (custom integrations, channels, canvas fine points), or something fails in a way this guide doesn't explain. Never re-fetch a page already read this session. If this guide and the docs conflict, trust this guide and report via `keystroke feedback create`.
373
414
 
374
- - **CLI:** `keystroke docs search "<query>"` to find pages; `keystroke docs query "cat /<path>.mdx"` to read. Docs commands need no auth, org, project, or config.
415
+ - **CLI:** `keystroke docs search "<query>"` to find pages; `keystroke docs query "cat /<path>.mdx"` to read. Docs commands need no auth, org, project, or config. Independent docs lookups should run in parallel with action discovery — they don't depend on each other.
375
416
  - **Index:** <https://keystroke.ai/docs/llms.txt>
376
417
  - **HTTP fetch:** `https://keystroke.ai/docs/<path>.md` — e.g. `/learn/agents/build-agents` → `https://keystroke.ai/docs/learn/agents/build-agents.md`. Non-`.md` URLs are for humans; fetch `.md` only.
377
418
 
@@ -382,7 +423,7 @@ Key pages (every `Full detail:` pointer in this guide is also a docs path; the i
382
423
  | `/cli` | Full command reference, flags, JSON output |
383
424
  | `/explore-features` | Map of all feature documentation |
384
425
  | `/learn/agents/build-agents` | Models, tools, subagents, sandboxes, MCP tools on agents |
385
- | `/learn/agents/external-channels` | Slack vs Slackbot; connect `slackbot` and bind channels |
426
+ | `/learn/agents/external-channels` | Keystroke vs custom Slack; `channels setup` and wizard deeplinks |
386
427
  | `/learn/workflows/authoring-best-practices` | Canvas-legible, replayable workflow patterns |
387
428
  | `/learn/triggers/overview` | Choosing a trigger type (per-source pages live alongside) |
388
429
  | `/learn/credentials/connect-credentials` | `keystroke connect`, OAuth, project credentials |
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
- import { r as s, t as o } from "./chunk-QAYAQNCG-Bl0Kbd53.mjs";
3
2
  import "./chunk-BZUGFHVS-CPWRFwK8.mjs";
4
3
  import "./chunk-TN7HHBQW-CSB_R-XD.mjs";
5
4
  import { n as u$1, t as b$1 } from "./chunk-XRFHFXFP-BGxzVZgK.mjs";
5
+ import { r as s, t as o } from "./chunk-QAYAQNCG-Bl0Kbd53.mjs";
6
6
  import { t as n } from "./chunk-SX2HC7SO-Cc4Hpis1.mjs";
7
7
  import { createRequire } from "node:module";
8
8
  //#region ../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/chunk-FAXLQUCQ.js
@@ -64,4 +64,4 @@ createRequire(import.meta.url);
64
64
  //#endregion
65
65
  export { h as sleepCommand };
66
66
 
67
- //# sourceMappingURL=sleep-X22JJINO-Do5hEQQW.mjs.map
67
+ //# sourceMappingURL=sleep-X22JJINO-gsrMSr5k.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"sleep-X22JJINO-Do5hEQQW.mjs","names":["l","a","d","s","n"],"sources":["../../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/chunk-FAXLQUCQ.js","../../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/sleep-X22JJINO.js"],"sourcesContent":["import{createRequire} from\"node:module\";const require=createRequire(import.meta.url);\nimport{a as d}from\"./chunk-SX2HC7SO.js\";import{a as n,b as i}from\"./chunk-XRFHFXFP.js\";import{a,b as l}from\"./chunk-QAYAQNCG.js\";var u={name:\"sleep\",summary:\"delay for a specified amount of time\",usage:\"sleep NUMBER[SUFFIX]\",description:`Pause for NUMBER seconds. SUFFIX may be:\n s - seconds (default)\n m - minutes\n h - hours\n d - days\n\nNUMBER may be a decimal number.`,options:[\" --help display this help and exit\"]},m=36e5,h={name:\"sleep\",async execute(r,s){if(l(r))return a(u);if(r.length===0)return{stdout:\"\",stderr:`sleep: missing operand\n`,exitCode:1};let t=0;for(let e of r){let o=d(e);if(o===null)return{stdout:\"\",stderr:`sleep: invalid time interval '${e}'\n`,exitCode:1};t+=o}return t>m&&(t=m),s.signal?.aborted?{stdout:\"\",stderr:\"\",exitCode:0}:(s.sleep?await s.sleep(t):s.signal?await new Promise(e=>{let o=()=>{i(p),e()},p=n(()=>{s.signal?.removeEventListener(\"abort\",o),e()},t);s.signal?.addEventListener(\"abort\",o,{once:!0})}):await new Promise(e=>n(e,t)),{stdout:\"\",stderr:\"\",exitCode:0})}},b={name:\"sleep\",flags:[],needsArgs:!0};export{h as a,b};\n","import{createRequire} from\"node:module\";const require=createRequire(import.meta.url);\nimport{a,b}from\"./chunk-FAXLQUCQ.js\";import\"./chunk-SX2HC7SO.js\";import\"./chunk-XRFHFXFP.js\";import\"./chunk-TN7HHBQW.js\";import\"./chunk-QAYAQNCG.js\";import\"./chunk-BZUGFHVS.js\";export{b as flagsForFuzzing,a as sleepCommand};\n"],"x_google_ignoreList":[0,1],"mappings":";;;;;;;;AAAsD,cAAc,OAAO,KAAK,GAAG;AAC8C,IAAI,IAAE;CAAC,MAAK;CAAQ,SAAQ;CAAuC,OAAM;CAAuB,aAAY;;;;;;;CAM5M,SAAQ,CAAC,uCAAuC;AAAC,GAAE,IAAE,MAAK,IAAE;CAAC,MAAK;CAAQ,MAAM,QAAQ,GAAE,KAAE;EAAC,IAAGA,EAAE,CAAC,GAAE,OAAOC,EAAE,CAAC;EAAE,IAAG,EAAE,WAAS,GAAE,OAAM;GAAC,QAAO;GAAG,QAAO;;GACxL,UAAS;EAAC;EAAE,IAAI,IAAE;EAAE,KAAI,IAAI,KAAK,GAAE;GAAC,IAAI,IAAEC,EAAE,CAAC;GAAE,IAAG,MAAI,MAAK,OAAM;IAAC,QAAO;IAAG,QAAO,iCAAiC,EAAE;;IACtH,UAAS;GAAC;GAAE,KAAG;EAAC;EAAC,OAAO,IAAE,MAAI,IAAE,IAAGC,IAAE,QAAQ,UAAQ;GAAC,QAAO;GAAG,QAAO;GAAG,UAAS;EAAC,KAAGA,IAAE,QAAM,MAAMA,IAAE,MAAM,CAAC,IAAEA,IAAE,SAAO,MAAM,IAAI,SAAQ,MAAG;GAAC,IAAI,UAAM;IAAC,IAAE,CAAC,GAAE,EAAE;GAAC,GAAE,IAAEC,UAAM;IAAC,IAAE,QAAQ,oBAAoB,SAAQ,CAAC,GAAE,EAAE;GAAC,GAAE,CAAC;GAAE,IAAE,QAAQ,iBAAiB,SAAQ,GAAE,EAAC,MAAK,CAAC,EAAC,CAAC;EAAC,CAAC,IAAE,MAAM,IAAI,SAAQ,MAAGA,IAAE,GAAE,CAAC,CAAC,GAAE;GAAC,QAAO;GAAG,QAAO;GAAG,UAAS;EAAC;CAAE;AAAC;;;ACT3R,cAAc,OAAO,KAAK,GAAG"}
1
+ {"version":3,"file":"sleep-X22JJINO-gsrMSr5k.mjs","names":["l","a","d","s","n"],"sources":["../../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/chunk-FAXLQUCQ.js","../../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/sleep-X22JJINO.js"],"sourcesContent":["import{createRequire} from\"node:module\";const require=createRequire(import.meta.url);\nimport{a as d}from\"./chunk-SX2HC7SO.js\";import{a as n,b as i}from\"./chunk-XRFHFXFP.js\";import{a,b as l}from\"./chunk-QAYAQNCG.js\";var u={name:\"sleep\",summary:\"delay for a specified amount of time\",usage:\"sleep NUMBER[SUFFIX]\",description:`Pause for NUMBER seconds. SUFFIX may be:\n s - seconds (default)\n m - minutes\n h - hours\n d - days\n\nNUMBER may be a decimal number.`,options:[\" --help display this help and exit\"]},m=36e5,h={name:\"sleep\",async execute(r,s){if(l(r))return a(u);if(r.length===0)return{stdout:\"\",stderr:`sleep: missing operand\n`,exitCode:1};let t=0;for(let e of r){let o=d(e);if(o===null)return{stdout:\"\",stderr:`sleep: invalid time interval '${e}'\n`,exitCode:1};t+=o}return t>m&&(t=m),s.signal?.aborted?{stdout:\"\",stderr:\"\",exitCode:0}:(s.sleep?await s.sleep(t):s.signal?await new Promise(e=>{let o=()=>{i(p),e()},p=n(()=>{s.signal?.removeEventListener(\"abort\",o),e()},t);s.signal?.addEventListener(\"abort\",o,{once:!0})}):await new Promise(e=>n(e,t)),{stdout:\"\",stderr:\"\",exitCode:0})}},b={name:\"sleep\",flags:[],needsArgs:!0};export{h as a,b};\n","import{createRequire} from\"node:module\";const require=createRequire(import.meta.url);\nimport{a,b}from\"./chunk-FAXLQUCQ.js\";import\"./chunk-SX2HC7SO.js\";import\"./chunk-XRFHFXFP.js\";import\"./chunk-TN7HHBQW.js\";import\"./chunk-QAYAQNCG.js\";import\"./chunk-BZUGFHVS.js\";export{b as flagsForFuzzing,a as sleepCommand};\n"],"x_google_ignoreList":[0,1],"mappings":";;;;;;;;AAAsD,cAAc,OAAO,KAAK,GAAG;AAC8C,IAAI,IAAE;CAAC,MAAK;CAAQ,SAAQ;CAAuC,OAAM;CAAuB,aAAY;;;;;;;CAM5M,SAAQ,CAAC,uCAAuC;AAAC,GAAE,IAAE,MAAK,IAAE;CAAC,MAAK;CAAQ,MAAM,QAAQ,GAAE,KAAE;EAAC,IAAGA,EAAE,CAAC,GAAE,OAAOC,EAAE,CAAC;EAAE,IAAG,EAAE,WAAS,GAAE,OAAM;GAAC,QAAO;GAAG,QAAO;;GACxL,UAAS;EAAC;EAAE,IAAI,IAAE;EAAE,KAAI,IAAI,KAAK,GAAE;GAAC,IAAI,IAAEC,EAAE,CAAC;GAAE,IAAG,MAAI,MAAK,OAAM;IAAC,QAAO;IAAG,QAAO,iCAAiC,EAAE;;IACtH,UAAS;GAAC;GAAE,KAAG;EAAC;EAAC,OAAO,IAAE,MAAI,IAAE,IAAGC,IAAE,QAAQ,UAAQ;GAAC,QAAO;GAAG,QAAO;GAAG,UAAS;EAAC,KAAGA,IAAE,QAAM,MAAMA,IAAE,MAAM,CAAC,IAAEA,IAAE,SAAO,MAAM,IAAI,SAAQ,MAAG;GAAC,IAAI,UAAM;IAAC,IAAE,CAAC,GAAE,EAAE;GAAC,GAAE,IAAEC,UAAM;IAAC,IAAE,QAAQ,oBAAoB,SAAQ,CAAC,GAAE,EAAE;GAAC,GAAE,CAAC;GAAE,IAAE,QAAQ,iBAAiB,SAAQ,GAAE,EAAC,MAAK,CAAC,EAAC,CAAC;EAAC,CAAC,IAAE,MAAM,IAAI,SAAQ,MAAGA,IAAE,GAAE,CAAC,CAAC,GAAE;GAAC,QAAO;GAAG,QAAO;GAAG,UAAS;EAAC;CAAE;AAAC;;;ACT3R,cAAc,OAAO,KAAK,GAAG"}
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
- import { n as r, r as s, t as o } from "./chunk-QAYAQNCG-Bl0Kbd53.mjs";
3
2
  import "./chunk-BZUGFHVS-CPWRFwK8.mjs";
4
3
  import { r as x$1 } from "./chunk-NRSASXYY-CuWyREpD.mjs";
5
- import { t as T } from "./chunk-YCLFEX4T-COc1AThz.mjs";
6
4
  import "./chunk-STHBFACM-lyj-j2a-.mjs";
5
+ import { n as r, r as s, t as o } from "./chunk-QAYAQNCG-Bl0Kbd53.mjs";
6
+ import { t as T } from "./chunk-YCLFEX4T-COc1AThz.mjs";
7
7
  import { createRequire } from "node:module";
8
8
  //#region ../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/chunk-T4TFLF3R.js
9
9
  createRequire(import.meta.url);
@@ -317,4 +317,4 @@ createRequire(import.meta.url);
317
317
  //#endregion
318
318
  export { R as sortCommand };
319
319
 
320
- //# sourceMappingURL=sort-SW2YEO5B-B7j1zw8k.mjs.map
320
+ //# sourceMappingURL=sort-SW2YEO5B-D5UsbJuA.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"sort-SW2YEO5B-B7j1zw8k.mjs","names":["w","N","k","s","O","r","F","o"],"sources":["../../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/chunk-T4TFLF3R.js","../../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/sort-SW2YEO5B.js"],"sourcesContent":["import{createRequire} from\"node:module\";const require=createRequire(import.meta.url);\nimport{b as O}from\"./chunk-YCLFEX4T.js\";import{c as F}from\"./chunk-NRSASXYY.js\";import{a as N,b as w,c as k}from\"./chunk-QAYAQNCG.js\";var P=new Map([[\"\",1],[\"k\",1024],[\"m\",1048576],[\"g\",1073741824],[\"t\",1099511627776],[\"p\",0x4000000000000],[\"e\",1152921504606847e3]]),D=new Map([[\"jan\",1],[\"feb\",2],[\"mar\",3],[\"apr\",4],[\"may\",5],[\"jun\",6],[\"jul\",7],[\"aug\",8],[\"sep\",9],[\"oct\",10],[\"nov\",11],[\"dec\",12]]);function x(u){let r=u.trim(),e=r.match(/^([+-]?\\d*\\.?\\d+)\\s*([kmgtpeKMGTPE])?[iI]?[bB]?$/);if(!e){let n=parseFloat(r);return Number.isNaN(n)?0:n}let l=parseFloat(e[1]),s=(e[2]||\"\").toLowerCase(),i=P.get(s)??1;return l*i}function M(u){let r=u.trim().toLowerCase().slice(0,3);return D.get(r)??0}function q(u,r){let e=u.split(/(\\d+)/),l=r.split(/(\\d+)/),s=Math.max(e.length,l.length);for(let i=0;i<s;i++){let n=e[i]||\"\",d=l[i]||\"\",o=/^\\d+$/.test(n)?parseInt(n,10):null,c=/^\\d+$/.test(d)?parseInt(d,10):null;if(o!==null&&c!==null){if(o!==c)return o-c}else if(n!==d)return n.localeCompare(d)}return 0}function L(u){return u.replace(/[^a-zA-Z0-9\\s]/g,\"\")}function v(u,r,e){let l=e!==null?e:/\\s+/,s=u.split(l),i=r.startField-1;if(i>=s.length)return\"\";if(r.endField===void 0){let o=s[i]||\"\";return r.startChar!==void 0&&(o=o.slice(r.startChar-1)),r.ignoreLeading&&(o=o.trimStart()),o}let n=Math.min(r.endField-1,s.length-1),d=\"\";for(let o=i;o<=n&&o<s.length;o++){let c=s[o]||\"\";if(o===i&&r.startChar!==void 0&&(c=c.slice(r.startChar-1)),o===n&&r.endChar!==void 0){let t=o===i&&r.startChar!==void 0?r.endChar-r.startChar+1:r.endChar;c=c.slice(0,t)}o>i&&(d+=e||\" \"),d+=c}return r.ignoreLeading&&(d=d.trimStart()),d}function I(u,r,e){let l=u,s=r;if(e.dictionaryOrder&&(l=L(l),s=L(s)),e.ignoreCase&&(l=l.toLowerCase(),s=s.toLowerCase()),e.monthSort){let i=M(l),n=M(s);return i-n}if(e.humanNumeric){let i=x(l),n=x(s);return i-n}if(e.versionSort)return q(l,s);if(e.numeric){let i=parseFloat(l)||0,n=parseFloat(s)||0;return i-n}return l.localeCompare(s)}function B(u){let{keys:r,fieldDelimiter:e,numeric:l,ignoreCase:s,reverse:i,humanNumeric:n,versionSort:d,dictionaryOrder:o,monthSort:c,ignoreLeadingBlanks:t,stable:a}=u;return(f,C)=>{let g=f,b=C;if(t&&(g=g.trimStart(),b=b.trimStart()),r.length===0){let h=I(g,b,{numeric:l,ignoreCase:s,humanNumeric:n,versionSort:d,dictionaryOrder:o,monthSort:c});if(h!==0)return i?-h:h;if(!a){let p=f.localeCompare(C);return i?-p:p}return 0}for(let m of r){let h=v(g,m,e),p=v(b,m,e);m.ignoreLeading&&(h=h.trimStart(),p=p.trimStart());let V={numeric:m.numeric??l,ignoreCase:m.ignoreCase??s,humanNumeric:m.humanNumeric??n,versionSort:m.versionSort??d,dictionaryOrder:m.dictionaryOrder??o,monthSort:m.monthSort??c},A=m.reverse??i,S=I(h,p,V);if(S!==0)return A?-S:S}if(!a){let m=f.localeCompare(C);return i?-m:m}return 0}}function E(u,r){if(r.keys.length===0){if(r.ignoreCase){let s=new Set;return u.filter(i=>{let n=i.toLowerCase();return s.has(n)?!1:(s.add(n),!0)})}return[...new Set(u)]}let e=r.keys[0],l=new Set;return u.filter(s=>{let i=v(s,e,r.fieldDelimiter);return(e.ignoreCase??r.ignoreCase)&&(i=i.toLowerCase()),l.has(i)?!1:(l.add(i),!0)})}function y(u){let r={startField:1},e=\"\",l=u,s=l.match(/([bdfhMnrV]+)$/);s&&(e=s[1],l=l.slice(0,-e.length)),e.includes(\"n\")&&(r.numeric=!0),e.includes(\"r\")&&(r.reverse=!0),e.includes(\"f\")&&(r.ignoreCase=!0),e.includes(\"b\")&&(r.ignoreLeading=!0),e.includes(\"h\")&&(r.humanNumeric=!0),e.includes(\"V\")&&(r.versionSort=!0),e.includes(\"d\")&&(r.dictionaryOrder=!0),e.includes(\"M\")&&(r.monthSort=!0);let i=l.split(\",\");if(i.length===0||i[0]===\"\")return null;let n=i[0].split(\".\"),d=parseInt(n[0],10);if(Number.isNaN(d)||d<1)return null;if(r.startField=d,n.length>1&&n[1]){let o=parseInt(n[1],10);!Number.isNaN(o)&&o>=1&&(r.startChar=o)}if(i.length>1&&i[1]){let o=i[1],c=o.match(/([bdfhMnrV]+)$/);if(c){let a=c[1];a.includes(\"n\")&&(r.numeric=!0),a.includes(\"r\")&&(r.reverse=!0),a.includes(\"f\")&&(r.ignoreCase=!0),a.includes(\"b\")&&(r.ignoreLeading=!0),a.includes(\"h\")&&(r.humanNumeric=!0),a.includes(\"V\")&&(r.versionSort=!0),a.includes(\"d\")&&(r.dictionaryOrder=!0),a.includes(\"M\")&&(r.monthSort=!0),o=o.slice(0,-a.length)}let t=o.split(\".\");if(t[0]){let a=parseInt(t[0],10);if(!Number.isNaN(a)&&a>=1&&(r.endField=a),t.length>1&&t[1]){let f=parseInt(t[1],10);!Number.isNaN(f)&&f>=1&&(r.endChar=f)}}}return r}var H={name:\"sort\",summary:\"sort lines of text files\",usage:\"sort [OPTION]... [FILE]...\",options:[\"-b, --ignore-leading-blanks ignore leading blanks\",\"-d, --dictionary-order consider only blanks and alphanumeric characters\",\"-f, --ignore-case fold lower case to upper case characters\",\"-h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\",\"-M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\",\"-n, --numeric-sort compare according to string numerical value\",\"-r, --reverse reverse the result of comparisons\",\"-V, --version-sort natural sort of (version) numbers within text\",\"-c, --check check for sorted input; do not sort\",\"-o, --output=FILE write result to FILE instead of stdout\",\"-s, --stable stabilize sort by disabling last-resort comparison\",\"-u, --unique output only unique lines\",\"-k, --key=KEYDEF sort via a key; KEYDEF gives location and type\",\"-t, --field-separator=SEP use SEP as field separator\",\" --help display this help and exit\"],description:`KEYDEF is F[.C][OPTS][,F[.C][OPTS]]\n F is a field number (1-indexed)\n C is a character position within the field (1-indexed)\n OPTS can be: b d f h M n r V (per-key modifiers)\n\nExamples:\n -k1 sort by first field\n -k2,2 sort by second field only\n -k1.3 sort by first field starting at 3rd character\n -k1,2n sort by fields 1-2 numerically\n -k2 -k1 sort by field 2, then by field 1`},R={name:\"sort\",async execute(u,r){if(w(u))return N(H);let e={reverse:!1,numeric:!1,unique:!1,ignoreCase:!1,humanNumeric:!1,versionSort:!1,dictionaryOrder:!1,monthSort:!1,ignoreLeadingBlanks:!1,stable:!1,checkOnly:!1,outputFile:null,keys:[],fieldDelimiter:null},l=[];for(let c=0;c<u.length;c++){let t=u[c];if(t===\"-r\"||t===\"--reverse\")e.reverse=!0;else if(t===\"-n\"||t===\"--numeric-sort\")e.numeric=!0;else if(t===\"-u\"||t===\"--unique\")e.unique=!0;else if(t===\"-f\"||t===\"--ignore-case\")e.ignoreCase=!0;else if(t===\"-h\"||t===\"--human-numeric-sort\")e.humanNumeric=!0;else if(t===\"-V\"||t===\"--version-sort\")e.versionSort=!0;else if(t===\"-d\"||t===\"--dictionary-order\")e.dictionaryOrder=!0;else if(t===\"-M\"||t===\"--month-sort\")e.monthSort=!0;else if(t===\"-b\"||t===\"--ignore-leading-blanks\")e.ignoreLeadingBlanks=!0;else if(t===\"-s\"||t===\"--stable\")e.stable=!0;else if(t===\"-c\"||t===\"--check\")e.checkOnly=!0;else if(t===\"-o\"||t===\"--output\")e.outputFile=u[++c]||null;else if(t.startsWith(\"-o\"))e.outputFile=t.slice(2)||null;else if(t.startsWith(\"--output=\"))e.outputFile=t.slice(9)||null;else if(t===\"-t\"||t===\"--field-separator\")e.fieldDelimiter=u[++c]||null;else if(t.startsWith(\"-t\"))e.fieldDelimiter=t.slice(2)||null;else if(t.startsWith(\"--field-separator=\"))e.fieldDelimiter=t.slice(18)||null;else if(t===\"-k\"||t===\"--key\"){let a=u[++c];if(a){let f=y(a);f&&e.keys.push(f)}}else if(t.startsWith(\"-k\")){let a=y(t.slice(2));a&&e.keys.push(a)}else if(t.startsWith(\"--key=\")){let a=y(t.slice(6));a&&e.keys.push(a)}else{if(t.startsWith(\"--\"))return k(\"sort\",t);if(t.startsWith(\"-\")&&!t.startsWith(\"--\")){let a=!1;for(let f of t.slice(1))if(f===\"r\")e.reverse=!0;else if(f===\"n\")e.numeric=!0;else if(f===\"u\")e.unique=!0;else if(f===\"f\")e.ignoreCase=!0;else if(f===\"h\")e.humanNumeric=!0;else if(f===\"V\")e.versionSort=!0;else if(f===\"d\")e.dictionaryOrder=!0;else if(f===\"M\")e.monthSort=!0;else if(f===\"b\")e.ignoreLeadingBlanks=!0;else if(f===\"s\")e.stable=!0;else if(f===\"c\")e.checkOnly=!0;else{a=!0;break}if(a)return k(\"sort\",t)}else l.push(t)}}let s=await O(r,l,{cmdName:\"sort\"});if(!s.ok)return s.error;let n=F(s.content).split(`\n`);n.length>0&&n[n.length-1]===\"\"&&n.pop();let d=B(e);if(e.checkOnly){let c=l.length>0?l[0]:\"-\";for(let t=1;t<n.length;t++)if(d(n[t-1],n[t])>0)return{stdout:\"\",stderr:`sort: ${c}:${t+1}: disorder: ${n[t]}\n`,exitCode:1};return{stdout:\"\",stderr:\"\",exitCode:0}}n.sort(d),e.unique&&(n=E(n,e));let o=n.length>0?`${n.join(`\n`)}\n`:\"\";if(e.outputFile){let c=r.fs.resolvePath(r.cwd,e.outputFile);return await r.fs.writeFile(c,o),{stdout:\"\",stderr:\"\",exitCode:0}}return{stdout:o,stderr:\"\",exitCode:0}}},Y={name:\"sort\",flags:[{flag:\"-r\",type:\"boolean\"},{flag:\"-n\",type:\"boolean\"},{flag:\"-u\",type:\"boolean\"},{flag:\"-f\",type:\"boolean\"},{flag:\"-h\",type:\"boolean\"},{flag:\"-V\",type:\"boolean\"},{flag:\"-d\",type:\"boolean\"},{flag:\"-M\",type:\"boolean\"},{flag:\"-b\",type:\"boolean\"},{flag:\"-s\",type:\"boolean\"},{flag:\"-c\",type:\"boolean\"},{flag:\"-k\",type:\"value\",valueHint:\"string\"},{flag:\"-t\",type:\"value\",valueHint:\"delimiter\"},{flag:\"-o\",type:\"value\",valueHint:\"path\"}],stdinType:\"text\",needsFiles:!0};export{R as a,Y as b};\n","import{createRequire} from\"node:module\";const require=createRequire(import.meta.url);\nimport{a,b}from\"./chunk-T4TFLF3R.js\";import\"./chunk-YCLFEX4T.js\";import\"./chunk-NRSASXYY.js\";import\"./chunk-STHBFACM.js\";import\"./chunk-QAYAQNCG.js\";import\"./chunk-BZUGFHVS.js\";export{b as flagsForFuzzing,a as sortCommand};\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
1
+ {"version":3,"file":"sort-SW2YEO5B-D5UsbJuA.mjs","names":["w","N","k","s","O","r","F","o"],"sources":["../../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/chunk-T4TFLF3R.js","../../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/sort-SW2YEO5B.js"],"sourcesContent":["import{createRequire} from\"node:module\";const require=createRequire(import.meta.url);\nimport{b as O}from\"./chunk-YCLFEX4T.js\";import{c as F}from\"./chunk-NRSASXYY.js\";import{a as N,b as w,c as k}from\"./chunk-QAYAQNCG.js\";var P=new Map([[\"\",1],[\"k\",1024],[\"m\",1048576],[\"g\",1073741824],[\"t\",1099511627776],[\"p\",0x4000000000000],[\"e\",1152921504606847e3]]),D=new Map([[\"jan\",1],[\"feb\",2],[\"mar\",3],[\"apr\",4],[\"may\",5],[\"jun\",6],[\"jul\",7],[\"aug\",8],[\"sep\",9],[\"oct\",10],[\"nov\",11],[\"dec\",12]]);function x(u){let r=u.trim(),e=r.match(/^([+-]?\\d*\\.?\\d+)\\s*([kmgtpeKMGTPE])?[iI]?[bB]?$/);if(!e){let n=parseFloat(r);return Number.isNaN(n)?0:n}let l=parseFloat(e[1]),s=(e[2]||\"\").toLowerCase(),i=P.get(s)??1;return l*i}function M(u){let r=u.trim().toLowerCase().slice(0,3);return D.get(r)??0}function q(u,r){let e=u.split(/(\\d+)/),l=r.split(/(\\d+)/),s=Math.max(e.length,l.length);for(let i=0;i<s;i++){let n=e[i]||\"\",d=l[i]||\"\",o=/^\\d+$/.test(n)?parseInt(n,10):null,c=/^\\d+$/.test(d)?parseInt(d,10):null;if(o!==null&&c!==null){if(o!==c)return o-c}else if(n!==d)return n.localeCompare(d)}return 0}function L(u){return u.replace(/[^a-zA-Z0-9\\s]/g,\"\")}function v(u,r,e){let l=e!==null?e:/\\s+/,s=u.split(l),i=r.startField-1;if(i>=s.length)return\"\";if(r.endField===void 0){let o=s[i]||\"\";return r.startChar!==void 0&&(o=o.slice(r.startChar-1)),r.ignoreLeading&&(o=o.trimStart()),o}let n=Math.min(r.endField-1,s.length-1),d=\"\";for(let o=i;o<=n&&o<s.length;o++){let c=s[o]||\"\";if(o===i&&r.startChar!==void 0&&(c=c.slice(r.startChar-1)),o===n&&r.endChar!==void 0){let t=o===i&&r.startChar!==void 0?r.endChar-r.startChar+1:r.endChar;c=c.slice(0,t)}o>i&&(d+=e||\" \"),d+=c}return r.ignoreLeading&&(d=d.trimStart()),d}function I(u,r,e){let l=u,s=r;if(e.dictionaryOrder&&(l=L(l),s=L(s)),e.ignoreCase&&(l=l.toLowerCase(),s=s.toLowerCase()),e.monthSort){let i=M(l),n=M(s);return i-n}if(e.humanNumeric){let i=x(l),n=x(s);return i-n}if(e.versionSort)return q(l,s);if(e.numeric){let i=parseFloat(l)||0,n=parseFloat(s)||0;return i-n}return l.localeCompare(s)}function B(u){let{keys:r,fieldDelimiter:e,numeric:l,ignoreCase:s,reverse:i,humanNumeric:n,versionSort:d,dictionaryOrder:o,monthSort:c,ignoreLeadingBlanks:t,stable:a}=u;return(f,C)=>{let g=f,b=C;if(t&&(g=g.trimStart(),b=b.trimStart()),r.length===0){let h=I(g,b,{numeric:l,ignoreCase:s,humanNumeric:n,versionSort:d,dictionaryOrder:o,monthSort:c});if(h!==0)return i?-h:h;if(!a){let p=f.localeCompare(C);return i?-p:p}return 0}for(let m of r){let h=v(g,m,e),p=v(b,m,e);m.ignoreLeading&&(h=h.trimStart(),p=p.trimStart());let V={numeric:m.numeric??l,ignoreCase:m.ignoreCase??s,humanNumeric:m.humanNumeric??n,versionSort:m.versionSort??d,dictionaryOrder:m.dictionaryOrder??o,monthSort:m.monthSort??c},A=m.reverse??i,S=I(h,p,V);if(S!==0)return A?-S:S}if(!a){let m=f.localeCompare(C);return i?-m:m}return 0}}function E(u,r){if(r.keys.length===0){if(r.ignoreCase){let s=new Set;return u.filter(i=>{let n=i.toLowerCase();return s.has(n)?!1:(s.add(n),!0)})}return[...new Set(u)]}let e=r.keys[0],l=new Set;return u.filter(s=>{let i=v(s,e,r.fieldDelimiter);return(e.ignoreCase??r.ignoreCase)&&(i=i.toLowerCase()),l.has(i)?!1:(l.add(i),!0)})}function y(u){let r={startField:1},e=\"\",l=u,s=l.match(/([bdfhMnrV]+)$/);s&&(e=s[1],l=l.slice(0,-e.length)),e.includes(\"n\")&&(r.numeric=!0),e.includes(\"r\")&&(r.reverse=!0),e.includes(\"f\")&&(r.ignoreCase=!0),e.includes(\"b\")&&(r.ignoreLeading=!0),e.includes(\"h\")&&(r.humanNumeric=!0),e.includes(\"V\")&&(r.versionSort=!0),e.includes(\"d\")&&(r.dictionaryOrder=!0),e.includes(\"M\")&&(r.monthSort=!0);let i=l.split(\",\");if(i.length===0||i[0]===\"\")return null;let n=i[0].split(\".\"),d=parseInt(n[0],10);if(Number.isNaN(d)||d<1)return null;if(r.startField=d,n.length>1&&n[1]){let o=parseInt(n[1],10);!Number.isNaN(o)&&o>=1&&(r.startChar=o)}if(i.length>1&&i[1]){let o=i[1],c=o.match(/([bdfhMnrV]+)$/);if(c){let a=c[1];a.includes(\"n\")&&(r.numeric=!0),a.includes(\"r\")&&(r.reverse=!0),a.includes(\"f\")&&(r.ignoreCase=!0),a.includes(\"b\")&&(r.ignoreLeading=!0),a.includes(\"h\")&&(r.humanNumeric=!0),a.includes(\"V\")&&(r.versionSort=!0),a.includes(\"d\")&&(r.dictionaryOrder=!0),a.includes(\"M\")&&(r.monthSort=!0),o=o.slice(0,-a.length)}let t=o.split(\".\");if(t[0]){let a=parseInt(t[0],10);if(!Number.isNaN(a)&&a>=1&&(r.endField=a),t.length>1&&t[1]){let f=parseInt(t[1],10);!Number.isNaN(f)&&f>=1&&(r.endChar=f)}}}return r}var H={name:\"sort\",summary:\"sort lines of text files\",usage:\"sort [OPTION]... [FILE]...\",options:[\"-b, --ignore-leading-blanks ignore leading blanks\",\"-d, --dictionary-order consider only blanks and alphanumeric characters\",\"-f, --ignore-case fold lower case to upper case characters\",\"-h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\",\"-M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\",\"-n, --numeric-sort compare according to string numerical value\",\"-r, --reverse reverse the result of comparisons\",\"-V, --version-sort natural sort of (version) numbers within text\",\"-c, --check check for sorted input; do not sort\",\"-o, --output=FILE write result to FILE instead of stdout\",\"-s, --stable stabilize sort by disabling last-resort comparison\",\"-u, --unique output only unique lines\",\"-k, --key=KEYDEF sort via a key; KEYDEF gives location and type\",\"-t, --field-separator=SEP use SEP as field separator\",\" --help display this help and exit\"],description:`KEYDEF is F[.C][OPTS][,F[.C][OPTS]]\n F is a field number (1-indexed)\n C is a character position within the field (1-indexed)\n OPTS can be: b d f h M n r V (per-key modifiers)\n\nExamples:\n -k1 sort by first field\n -k2,2 sort by second field only\n -k1.3 sort by first field starting at 3rd character\n -k1,2n sort by fields 1-2 numerically\n -k2 -k1 sort by field 2, then by field 1`},R={name:\"sort\",async execute(u,r){if(w(u))return N(H);let e={reverse:!1,numeric:!1,unique:!1,ignoreCase:!1,humanNumeric:!1,versionSort:!1,dictionaryOrder:!1,monthSort:!1,ignoreLeadingBlanks:!1,stable:!1,checkOnly:!1,outputFile:null,keys:[],fieldDelimiter:null},l=[];for(let c=0;c<u.length;c++){let t=u[c];if(t===\"-r\"||t===\"--reverse\")e.reverse=!0;else if(t===\"-n\"||t===\"--numeric-sort\")e.numeric=!0;else if(t===\"-u\"||t===\"--unique\")e.unique=!0;else if(t===\"-f\"||t===\"--ignore-case\")e.ignoreCase=!0;else if(t===\"-h\"||t===\"--human-numeric-sort\")e.humanNumeric=!0;else if(t===\"-V\"||t===\"--version-sort\")e.versionSort=!0;else if(t===\"-d\"||t===\"--dictionary-order\")e.dictionaryOrder=!0;else if(t===\"-M\"||t===\"--month-sort\")e.monthSort=!0;else if(t===\"-b\"||t===\"--ignore-leading-blanks\")e.ignoreLeadingBlanks=!0;else if(t===\"-s\"||t===\"--stable\")e.stable=!0;else if(t===\"-c\"||t===\"--check\")e.checkOnly=!0;else if(t===\"-o\"||t===\"--output\")e.outputFile=u[++c]||null;else if(t.startsWith(\"-o\"))e.outputFile=t.slice(2)||null;else if(t.startsWith(\"--output=\"))e.outputFile=t.slice(9)||null;else if(t===\"-t\"||t===\"--field-separator\")e.fieldDelimiter=u[++c]||null;else if(t.startsWith(\"-t\"))e.fieldDelimiter=t.slice(2)||null;else if(t.startsWith(\"--field-separator=\"))e.fieldDelimiter=t.slice(18)||null;else if(t===\"-k\"||t===\"--key\"){let a=u[++c];if(a){let f=y(a);f&&e.keys.push(f)}}else if(t.startsWith(\"-k\")){let a=y(t.slice(2));a&&e.keys.push(a)}else if(t.startsWith(\"--key=\")){let a=y(t.slice(6));a&&e.keys.push(a)}else{if(t.startsWith(\"--\"))return k(\"sort\",t);if(t.startsWith(\"-\")&&!t.startsWith(\"--\")){let a=!1;for(let f of t.slice(1))if(f===\"r\")e.reverse=!0;else if(f===\"n\")e.numeric=!0;else if(f===\"u\")e.unique=!0;else if(f===\"f\")e.ignoreCase=!0;else if(f===\"h\")e.humanNumeric=!0;else if(f===\"V\")e.versionSort=!0;else if(f===\"d\")e.dictionaryOrder=!0;else if(f===\"M\")e.monthSort=!0;else if(f===\"b\")e.ignoreLeadingBlanks=!0;else if(f===\"s\")e.stable=!0;else if(f===\"c\")e.checkOnly=!0;else{a=!0;break}if(a)return k(\"sort\",t)}else l.push(t)}}let s=await O(r,l,{cmdName:\"sort\"});if(!s.ok)return s.error;let n=F(s.content).split(`\n`);n.length>0&&n[n.length-1]===\"\"&&n.pop();let d=B(e);if(e.checkOnly){let c=l.length>0?l[0]:\"-\";for(let t=1;t<n.length;t++)if(d(n[t-1],n[t])>0)return{stdout:\"\",stderr:`sort: ${c}:${t+1}: disorder: ${n[t]}\n`,exitCode:1};return{stdout:\"\",stderr:\"\",exitCode:0}}n.sort(d),e.unique&&(n=E(n,e));let o=n.length>0?`${n.join(`\n`)}\n`:\"\";if(e.outputFile){let c=r.fs.resolvePath(r.cwd,e.outputFile);return await r.fs.writeFile(c,o),{stdout:\"\",stderr:\"\",exitCode:0}}return{stdout:o,stderr:\"\",exitCode:0}}},Y={name:\"sort\",flags:[{flag:\"-r\",type:\"boolean\"},{flag:\"-n\",type:\"boolean\"},{flag:\"-u\",type:\"boolean\"},{flag:\"-f\",type:\"boolean\"},{flag:\"-h\",type:\"boolean\"},{flag:\"-V\",type:\"boolean\"},{flag:\"-d\",type:\"boolean\"},{flag:\"-M\",type:\"boolean\"},{flag:\"-b\",type:\"boolean\"},{flag:\"-s\",type:\"boolean\"},{flag:\"-c\",type:\"boolean\"},{flag:\"-k\",type:\"value\",valueHint:\"string\"},{flag:\"-t\",type:\"value\",valueHint:\"delimiter\"},{flag:\"-o\",type:\"value\",valueHint:\"path\"}],stdinType:\"text\",needsFiles:!0};export{R as a,Y as b};\n","import{createRequire} from\"node:module\";const require=createRequire(import.meta.url);\nimport{a,b}from\"./chunk-T4TFLF3R.js\";import\"./chunk-YCLFEX4T.js\";import\"./chunk-NRSASXYY.js\";import\"./chunk-STHBFACM.js\";import\"./chunk-QAYAQNCG.js\";import\"./chunk-BZUGFHVS.js\";export{b as flagsForFuzzing,a as sortCommand};\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import { n as r, r as s, t as o } from "./chunk-QAYAQNCG-Bl0Kbd53.mjs";
3
2
  import "./chunk-BZUGFHVS-CPWRFwK8.mjs";
4
3
  import { n as p } from "./chunk-NRSASXYY-CuWyREpD.mjs";
4
+ import { n as r, r as s, t as o } from "./chunk-QAYAQNCG-Bl0Kbd53.mjs";
5
5
  import { createRequire } from "node:module";
6
6
  //#region ../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/chunk-UP6MSJGD.js
7
7
  createRequire(import.meta.url);
@@ -245,4 +245,4 @@ createRequire(import.meta.url);
245
245
  //#endregion
246
246
  export { F as split };
247
247
 
248
- //# sourceMappingURL=split-4KKZZXXE-h8GD4HP4.mjs.map
248
+ //# sourceMappingURL=split-4KKZZXXE-D_eM0wGE.mjs.map