@keystrokehq/platform 0.1.17 → 0.1.18

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 (297) hide show
  1. package/README.md +4 -0
  2. package/dist/{awk2-LA3USKJP-DKj2S8Ek.mjs → awk2-LA3USKJP-DGoZBFhJ.mjs} +2 -2
  3. package/dist/{awk2-LA3USKJP-DKj2S8Ek.mjs.map → awk2-LA3USKJP-DGoZBFhJ.mjs.map} +1 -1
  4. package/dist/{awk2-LA3USKJP-BRL8hoJr.cjs → awk2-LA3USKJP-DvnlC67L.cjs} +2 -2
  5. package/dist/{awk2-LA3USKJP-BRL8hoJr.cjs.map → awk2-LA3USKJP-DvnlC67L.cjs.map} +1 -1
  6. package/dist/{base64-C2AIWVNC-BeIfMgG0.cjs → base64-C2AIWVNC-DnANUUCD.cjs} +2 -2
  7. package/dist/{base64-C2AIWVNC-BeIfMgG0.cjs.map → base64-C2AIWVNC-DnANUUCD.cjs.map} +1 -1
  8. package/dist/{base64-C2AIWVNC-BQ8hMW4e.mjs → base64-C2AIWVNC-Rl_X_nM-.mjs} +2 -2
  9. package/dist/{base64-C2AIWVNC-BQ8hMW4e.mjs.map → base64-C2AIWVNC-Rl_X_nM-.mjs.map} +1 -1
  10. package/dist/{bash-YZ33HQZQ-ClnL17Y6.mjs → bash-YZ33HQZQ-BIELeHiB.mjs} +2 -2
  11. package/dist/{bash-YZ33HQZQ-ClnL17Y6.mjs.map → bash-YZ33HQZQ-BIELeHiB.mjs.map} +1 -1
  12. package/dist/{bash-YZ33HQZQ-BBmW_sBm.cjs → bash-YZ33HQZQ-BNJc5UNj.cjs} +2 -2
  13. package/dist/{bash-YZ33HQZQ-BBmW_sBm.cjs.map → bash-YZ33HQZQ-BNJc5UNj.cjs.map} +1 -1
  14. package/dist/{cat-TSFMZVYS-nWh0JVcx.mjs → cat-TSFMZVYS-BdLkXDx7.mjs} +3 -3
  15. package/dist/{cat-TSFMZVYS-nWh0JVcx.mjs.map → cat-TSFMZVYS-BdLkXDx7.mjs.map} +1 -1
  16. package/dist/{cat-TSFMZVYS-BjBv1R_B.cjs → cat-TSFMZVYS-DPyKg9WF.cjs} +3 -3
  17. package/dist/{cat-TSFMZVYS-BjBv1R_B.cjs.map → cat-TSFMZVYS-DPyKg9WF.cjs.map} +1 -1
  18. package/dist/{chunk-5H5SCKJM-Bw9uIIYM.cjs → chunk-5H5SCKJM-BqBMsHqB.cjs} +2 -2
  19. package/dist/{chunk-5H5SCKJM-Bw9uIIYM.cjs.map → chunk-5H5SCKJM-BqBMsHqB.cjs.map} +1 -1
  20. package/dist/{chunk-5H5SCKJM-DzClFYtS.mjs → chunk-5H5SCKJM-ELpRK1tD.mjs} +2 -2
  21. package/dist/{chunk-5H5SCKJM-DzClFYtS.mjs.map → chunk-5H5SCKJM-ELpRK1tD.mjs.map} +1 -1
  22. package/dist/{chunk-AQ6FYS2X-hOUXIatW.mjs → chunk-AQ6FYS2X-BVbA_ouG.mjs} +2 -2
  23. package/dist/{chunk-AQ6FYS2X-hOUXIatW.mjs.map → chunk-AQ6FYS2X-BVbA_ouG.mjs.map} +1 -1
  24. package/dist/{chunk-AQ6FYS2X-Bh-eSaeE.cjs → chunk-AQ6FYS2X-aGmDzQXK.cjs} +2 -2
  25. package/dist/{chunk-AQ6FYS2X-Bh-eSaeE.cjs.map → chunk-AQ6FYS2X-aGmDzQXK.cjs.map} +1 -1
  26. package/dist/{chunk-CHFEPBH4-CCzpBNH2.mjs → chunk-CHFEPBH4-By6MwWuK.mjs} +2 -2
  27. package/dist/{chunk-CHFEPBH4-CCzpBNH2.mjs.map → chunk-CHFEPBH4-By6MwWuK.mjs.map} +1 -1
  28. package/dist/{chunk-CHFEPBH4-DgQQk8C5.cjs → chunk-CHFEPBH4-CySqY_At.cjs} +2 -2
  29. package/dist/{chunk-CHFEPBH4-DgQQk8C5.cjs.map → chunk-CHFEPBH4-CySqY_At.cjs.map} +1 -1
  30. package/dist/{chunk-EBAPSGAO-CNsqQnvw.mjs → chunk-EBAPSGAO-ClvQ0IRN.mjs} +2 -2
  31. package/dist/{chunk-EBAPSGAO-CNsqQnvw.mjs.map → chunk-EBAPSGAO-ClvQ0IRN.mjs.map} +1 -1
  32. package/dist/{chunk-EBAPSGAO-C-VkQkm8.cjs → chunk-EBAPSGAO-DN0ebwQR.cjs} +2 -2
  33. package/dist/{chunk-EBAPSGAO-C-VkQkm8.cjs.map → chunk-EBAPSGAO-DN0ebwQR.cjs.map} +1 -1
  34. package/dist/{chunk-LEKBROJD-C4M7s-PX.mjs → chunk-LEKBROJD-40MmqFVR.mjs} +2 -2
  35. package/dist/{chunk-LEKBROJD-C4M7s-PX.mjs.map → chunk-LEKBROJD-40MmqFVR.mjs.map} +1 -1
  36. package/dist/{chunk-LEKBROJD-BV7qysHQ.cjs → chunk-LEKBROJD-BOuCaYWZ.cjs} +2 -2
  37. package/dist/{chunk-LEKBROJD-BV7qysHQ.cjs.map → chunk-LEKBROJD-BOuCaYWZ.cjs.map} +1 -1
  38. package/dist/{chunk-VPADYNBD-BjZe1tD9.mjs → chunk-VPADYNBD-CcJWKfTR.mjs} +2 -2
  39. package/dist/{chunk-VPADYNBD-BjZe1tD9.mjs.map → chunk-VPADYNBD-CcJWKfTR.mjs.map} +1 -1
  40. package/dist/{chunk-VPADYNBD-BKFKzPeO.cjs → chunk-VPADYNBD-Dv_QgAVC.cjs} +2 -2
  41. package/dist/{chunk-VPADYNBD-BKFKzPeO.cjs.map → chunk-VPADYNBD-Dv_QgAVC.cjs.map} +1 -1
  42. package/dist/{chunk-YCLFEX4T-DP11uU0Z.cjs → chunk-YCLFEX4T-avh3YO2X.cjs} +2 -2
  43. package/dist/{chunk-YCLFEX4T-DP11uU0Z.cjs.map → chunk-YCLFEX4T-avh3YO2X.cjs.map} +1 -1
  44. package/dist/{chunk-YCLFEX4T-TM9LeSmH.mjs → chunk-YCLFEX4T-o8BLwdav.mjs} +2 -2
  45. package/dist/{chunk-YCLFEX4T-TM9LeSmH.mjs.map → chunk-YCLFEX4T-o8BLwdav.mjs.map} +1 -1
  46. package/dist/{column-XT6UFXNQ-BiWBbIze.mjs → column-XT6UFXNQ-B0u7YTPY.mjs} +2 -2
  47. package/dist/{column-XT6UFXNQ-BiWBbIze.mjs.map → column-XT6UFXNQ-B0u7YTPY.mjs.map} +1 -1
  48. package/dist/{column-XT6UFXNQ-BKCKn8Kt.cjs → column-XT6UFXNQ-DLWSsnxl.cjs} +2 -2
  49. package/dist/{column-XT6UFXNQ-BKCKn8Kt.cjs.map → column-XT6UFXNQ-DLWSsnxl.cjs.map} +1 -1
  50. package/dist/{comm-VV2LDX2J-DZPbcsx6.mjs → comm-VV2LDX2J-BhJh06i1.mjs} +2 -2
  51. package/dist/{comm-VV2LDX2J-DZPbcsx6.mjs.map → comm-VV2LDX2J-BhJh06i1.mjs.map} +1 -1
  52. package/dist/{comm-VV2LDX2J-KS8sKJiM.cjs → comm-VV2LDX2J-CucvwyJU.cjs} +2 -2
  53. package/dist/{comm-VV2LDX2J-KS8sKJiM.cjs.map → comm-VV2LDX2J-CucvwyJU.cjs.map} +1 -1
  54. package/dist/config.cjs +1 -1
  55. package/dist/config.mjs +1 -1
  56. package/dist/{cp-BISAAS7A-mMaN142c.mjs → cp-BISAAS7A-CZ4E_4rS.mjs} +2 -2
  57. package/dist/{cp-BISAAS7A-mMaN142c.mjs.map → cp-BISAAS7A-CZ4E_4rS.mjs.map} +1 -1
  58. package/dist/{cp-BISAAS7A-C7iyygW6.cjs → cp-BISAAS7A-DgKkNzN0.cjs} +2 -2
  59. package/dist/{cp-BISAAS7A-C7iyygW6.cjs.map → cp-BISAAS7A-DgKkNzN0.cjs.map} +1 -1
  60. package/dist/{cut-OKARJCCV-DsZL_hAR.mjs → cut-OKARJCCV-BfbdJDAw.mjs} +3 -3
  61. package/dist/{cut-OKARJCCV-DsZL_hAR.mjs.map → cut-OKARJCCV-BfbdJDAw.mjs.map} +1 -1
  62. package/dist/{cut-OKARJCCV-B2g61y_K.cjs → cut-OKARJCCV-C2UIR_QJ.cjs} +3 -3
  63. package/dist/{cut-OKARJCCV-B2g61y_K.cjs.map → cut-OKARJCCV-C2UIR_QJ.cjs.map} +1 -1
  64. package/dist/{diff-MWJFIG7X-2NZsc000.mjs → diff-MWJFIG7X-CO905_f4.mjs} +2 -2
  65. package/dist/{diff-MWJFIG7X-2NZsc000.mjs.map → diff-MWJFIG7X-CO905_f4.mjs.map} +1 -1
  66. package/dist/{diff-MWJFIG7X-DkKded0v.cjs → diff-MWJFIG7X-Du4if8Y6.cjs} +2 -2
  67. package/dist/{diff-MWJFIG7X-DkKded0v.cjs.map → diff-MWJFIG7X-Du4if8Y6.cjs.map} +1 -1
  68. package/dist/{dist-Bc-S2RCv.mjs → dist-56KPmQ4p.mjs} +6 -2
  69. package/dist/dist-56KPmQ4p.mjs.map +1 -0
  70. package/dist/{dist-CZOTxy6V.cjs → dist-CILghkjJ.cjs} +17 -1
  71. package/dist/{dist-Bc-S2RCv.mjs.map → dist-CILghkjJ.cjs.map} +1 -1
  72. package/dist/{du-572XNP42-hqTlcZtr.mjs → du-572XNP42-CYPQ3yPv.mjs} +2 -2
  73. package/dist/{du-572XNP42-hqTlcZtr.mjs.map → du-572XNP42-CYPQ3yPv.mjs.map} +1 -1
  74. package/dist/{du-572XNP42-De4eLmjc.cjs → du-572XNP42-CzfZBQPI.cjs} +2 -2
  75. package/dist/{du-572XNP42-De4eLmjc.cjs.map → du-572XNP42-CzfZBQPI.cjs.map} +1 -1
  76. package/dist/{env-36M5BO7M-CeHLsR2L.mjs → env-36M5BO7M-CTytw_zH.mjs} +2 -2
  77. package/dist/{env-36M5BO7M-CeHLsR2L.mjs.map → env-36M5BO7M-CTytw_zH.mjs.map} +1 -1
  78. package/dist/{env-36M5BO7M-ZhEOWJvv.cjs → env-36M5BO7M-DXmMT9-z.cjs} +2 -2
  79. package/dist/{env-36M5BO7M-ZhEOWJvv.cjs.map → env-36M5BO7M-DXmMT9-z.cjs.map} +1 -1
  80. package/dist/{expand-JSPG6VOP-BlVu_4fo.cjs → expand-JSPG6VOP-D3CgeKTi.cjs} +2 -2
  81. package/dist/{expand-JSPG6VOP-BlVu_4fo.cjs.map → expand-JSPG6VOP-D3CgeKTi.cjs.map} +1 -1
  82. package/dist/{expand-JSPG6VOP-DwXfkyUC.mjs → expand-JSPG6VOP-DZDJ_Njc.mjs} +2 -2
  83. package/dist/{expand-JSPG6VOP-DwXfkyUC.mjs.map → expand-JSPG6VOP-DZDJ_Njc.mjs.map} +1 -1
  84. package/dist/{expr-5JAACS4X-Du0xEimU.mjs → expr-5JAACS4X-9-B1uf7c.mjs} +2 -2
  85. package/dist/{expr-5JAACS4X-Du0xEimU.mjs.map → expr-5JAACS4X-9-B1uf7c.mjs.map} +1 -1
  86. package/dist/{expr-5JAACS4X-FYbQ0i7J.cjs → expr-5JAACS4X-D4SgmPpg.cjs} +2 -2
  87. package/dist/{expr-5JAACS4X-FYbQ0i7J.cjs.map → expr-5JAACS4X-D4SgmPpg.cjs.map} +1 -1
  88. package/dist/{find-INTH3OLC-B6jdIAUb.cjs → find-INTH3OLC-BBgx3ZPV.cjs} +3 -3
  89. package/dist/{find-INTH3OLC-B6jdIAUb.cjs.map → find-INTH3OLC-BBgx3ZPV.cjs.map} +1 -1
  90. package/dist/{find-INTH3OLC-znjS0yIy.mjs → find-INTH3OLC-DnYSEuRy.mjs} +3 -3
  91. package/dist/{find-INTH3OLC-znjS0yIy.mjs.map → find-INTH3OLC-DnYSEuRy.mjs.map} +1 -1
  92. package/dist/{fold-4TQNYMSW-CbFz-CXV.mjs → fold-4TQNYMSW-CNB5CBY4.mjs} +2 -2
  93. package/dist/{fold-4TQNYMSW-CbFz-CXV.mjs.map → fold-4TQNYMSW-CNB5CBY4.mjs.map} +1 -1
  94. package/dist/{fold-4TQNYMSW-BGAKLKVd.cjs → fold-4TQNYMSW-CVnRCsKw.cjs} +2 -2
  95. package/dist/{fold-4TQNYMSW-BGAKLKVd.cjs.map → fold-4TQNYMSW-CVnRCsKw.cjs.map} +1 -1
  96. package/dist/{grep-V3LQVMRQ-B2SsFur5.cjs → grep-V3LQVMRQ-6nG_gpr9.cjs} +4 -4
  97. package/dist/{grep-V3LQVMRQ-B2SsFur5.cjs.map → grep-V3LQVMRQ-6nG_gpr9.cjs.map} +1 -1
  98. package/dist/{grep-V3LQVMRQ-Ds_PYHKU.mjs → grep-V3LQVMRQ-D0Fdt3a2.mjs} +4 -4
  99. package/dist/{grep-V3LQVMRQ-Ds_PYHKU.mjs.map → grep-V3LQVMRQ-D0Fdt3a2.mjs.map} +1 -1
  100. package/dist/{gzip-O5ASJAFY-ChXaWkpa.cjs → gzip-O5ASJAFY-B111V8sz.cjs} +2 -2
  101. package/dist/{gzip-O5ASJAFY-ChXaWkpa.cjs.map → gzip-O5ASJAFY-B111V8sz.cjs.map} +1 -1
  102. package/dist/{gzip-O5ASJAFY-DCdKkN1u.mjs → gzip-O5ASJAFY-BoHs6pxs.mjs} +2 -2
  103. package/dist/{gzip-O5ASJAFY-DCdKkN1u.mjs.map → gzip-O5ASJAFY-BoHs6pxs.mjs.map} +1 -1
  104. package/dist/{head-442HYESI-sBXxnmV8.mjs → head-442HYESI-BtW1-Iyc.mjs} +2 -2
  105. package/dist/{head-442HYESI-sBXxnmV8.mjs.map → head-442HYESI-BtW1-Iyc.mjs.map} +1 -1
  106. package/dist/{head-442HYESI-bwZwXEo6.cjs → head-442HYESI-D-v4sIdN.cjs} +2 -2
  107. package/dist/{head-442HYESI-bwZwXEo6.cjs.map → head-442HYESI-D-v4sIdN.cjs.map} +1 -1
  108. package/dist/{help-HZ6M2CKN-ChtOM3bi.cjs → help-HZ6M2CKN-CWsVnczD.cjs} +2 -2
  109. package/dist/{help-HZ6M2CKN-ChtOM3bi.cjs.map → help-HZ6M2CKN-CWsVnczD.cjs.map} +1 -1
  110. package/dist/{help-HZ6M2CKN-8IX-B75c.mjs → help-HZ6M2CKN-DO-OHWh9.mjs} +2 -2
  111. package/dist/{help-HZ6M2CKN-8IX-B75c.mjs.map → help-HZ6M2CKN-DO-OHWh9.mjs.map} +1 -1
  112. package/dist/{html-to-markdown-JW4MSQZO-OTByOYjB.mjs → html-to-markdown-JW4MSQZO-CNnQ3TCO.mjs} +3 -3
  113. package/dist/{html-to-markdown-JW4MSQZO-OTByOYjB.mjs.map → html-to-markdown-JW4MSQZO-CNnQ3TCO.mjs.map} +1 -1
  114. package/dist/{html-to-markdown-JW4MSQZO-Dn43kQwJ.cjs → html-to-markdown-JW4MSQZO-D4dUJm7a.cjs} +3 -3
  115. package/dist/{html-to-markdown-JW4MSQZO-Dn43kQwJ.cjs.map → html-to-markdown-JW4MSQZO-D4dUJm7a.cjs.map} +1 -1
  116. package/dist/{join-TBRGI3LQ-WbTRLkpF.cjs → join-TBRGI3LQ-68DKyoLC.cjs} +2 -2
  117. package/dist/{join-TBRGI3LQ-WbTRLkpF.cjs.map → join-TBRGI3LQ-68DKyoLC.cjs.map} +1 -1
  118. package/dist/{join-TBRGI3LQ-vrOut6ob.mjs → join-TBRGI3LQ-UE_CiRfA.mjs} +2 -2
  119. package/dist/{join-TBRGI3LQ-vrOut6ob.mjs.map → join-TBRGI3LQ-UE_CiRfA.mjs.map} +1 -1
  120. package/dist/{jq-4XLYLOS5-BchBfx-i.cjs → jq-4XLYLOS5-B_GVasbP.cjs} +4 -4
  121. package/dist/{jq-4XLYLOS5-BchBfx-i.cjs.map → jq-4XLYLOS5-B_GVasbP.cjs.map} +1 -1
  122. package/dist/{jq-4XLYLOS5-CShq6xaG.mjs → jq-4XLYLOS5-DBGdKUnt.mjs} +4 -4
  123. package/dist/{jq-4XLYLOS5-CShq6xaG.mjs.map → jq-4XLYLOS5-DBGdKUnt.mjs.map} +1 -1
  124. package/dist/{js-exec-N5KEZBH7-CsDbHl0T.mjs → js-exec-N5KEZBH7-CueDSg1w.mjs} +3 -3
  125. package/dist/{js-exec-N5KEZBH7-CsDbHl0T.mjs.map → js-exec-N5KEZBH7-CueDSg1w.mjs.map} +1 -1
  126. package/dist/{js-exec-N5KEZBH7-D6K7ZFDI.cjs → js-exec-N5KEZBH7-J6rAtpQI.cjs} +3 -3
  127. package/dist/{js-exec-N5KEZBH7-D6K7ZFDI.cjs.map → js-exec-N5KEZBH7-J6rAtpQI.cjs.map} +1 -1
  128. package/dist/{lib-CstiAq_N.cjs → lib-D1yAorZ5.cjs} +2 -2
  129. package/dist/{lib-CstiAq_N.cjs.map → lib-D1yAorZ5.cjs.map} +1 -1
  130. package/dist/{lib-CEm5-FFB.mjs → lib-ZoQBlq9F.mjs} +2 -2
  131. package/dist/{lib-CEm5-FFB.mjs.map → lib-ZoQBlq9F.mjs.map} +1 -1
  132. package/dist/{ln-4LGSXXGD-CPu-LYx6.mjs → ln-4LGSXXGD-B6Rw4OsF.mjs} +2 -2
  133. package/dist/{ln-4LGSXXGD-CPu-LYx6.mjs.map → ln-4LGSXXGD-B6Rw4OsF.mjs.map} +1 -1
  134. package/dist/{ln-4LGSXXGD-BncpeOY6.cjs → ln-4LGSXXGD-CJ0nwQcr.cjs} +2 -2
  135. package/dist/{ln-4LGSXXGD-BncpeOY6.cjs.map → ln-4LGSXXGD-CJ0nwQcr.cjs.map} +1 -1
  136. package/dist/{ls-ZJGQER7M-DOzWDIN-.cjs → ls-ZJGQER7M-CuwsTYNY.cjs} +2 -2
  137. package/dist/{ls-ZJGQER7M-DOzWDIN-.cjs.map → ls-ZJGQER7M-CuwsTYNY.cjs.map} +1 -1
  138. package/dist/{ls-ZJGQER7M-DzXZOH27.mjs → ls-ZJGQER7M-D0ZeR5Hf.mjs} +2 -2
  139. package/dist/{ls-ZJGQER7M-DzXZOH27.mjs.map → ls-ZJGQER7M-D0ZeR5Hf.mjs.map} +1 -1
  140. package/dist/{lzma-BvsaZQAj.cjs → lzma-CpBYUs0o.cjs} +2 -2
  141. package/dist/{lzma-BvsaZQAj.cjs.map → lzma-CpBYUs0o.cjs.map} +1 -1
  142. package/dist/{md5sum-SPU24VSG-D8gSLlAq.cjs → md5sum-SPU24VSG-BDoAFf8p.cjs} +3 -3
  143. package/dist/{md5sum-SPU24VSG-D8gSLlAq.cjs.map → md5sum-SPU24VSG-BDoAFf8p.cjs.map} +1 -1
  144. package/dist/{md5sum-SPU24VSG-xyfkpvOC.mjs → md5sum-SPU24VSG-CdBvCzcj.mjs} +3 -3
  145. package/dist/{md5sum-SPU24VSG-xyfkpvOC.mjs.map → md5sum-SPU24VSG-CdBvCzcj.mjs.map} +1 -1
  146. package/dist/{mkdir-MEPGZOB6-MndQLtL1.mjs → mkdir-MEPGZOB6-C18ktfaI.mjs} +2 -2
  147. package/dist/{mkdir-MEPGZOB6-MndQLtL1.mjs.map → mkdir-MEPGZOB6-C18ktfaI.mjs.map} +1 -1
  148. package/dist/{mkdir-MEPGZOB6-DW9SaUbA.cjs → mkdir-MEPGZOB6-C1EyJgfu.cjs} +2 -2
  149. package/dist/{mkdir-MEPGZOB6-DW9SaUbA.cjs.map → mkdir-MEPGZOB6-C1EyJgfu.cjs.map} +1 -1
  150. package/dist/{mv-W5BIQ646-CZV8v37y.cjs → mv-W5BIQ646-D18EGIFW.cjs} +2 -2
  151. package/dist/{mv-W5BIQ646-CZV8v37y.cjs.map → mv-W5BIQ646-D18EGIFW.cjs.map} +1 -1
  152. package/dist/{mv-W5BIQ646-AJGQd0yV.mjs → mv-W5BIQ646-D1urtYzS.mjs} +2 -2
  153. package/dist/{mv-W5BIQ646-AJGQd0yV.mjs.map → mv-W5BIQ646-D1urtYzS.mjs.map} +1 -1
  154. package/dist/{nl-WSDW7I4O-8ML5PnOt.mjs → nl-WSDW7I4O-BpFwWZOK.mjs} +2 -2
  155. package/dist/{nl-WSDW7I4O-8ML5PnOt.mjs.map → nl-WSDW7I4O-BpFwWZOK.mjs.map} +1 -1
  156. package/dist/{nl-WSDW7I4O-LeEXpCZI.cjs → nl-WSDW7I4O-GCHPH5sQ.cjs} +2 -2
  157. package/dist/{nl-WSDW7I4O-LeEXpCZI.cjs.map → nl-WSDW7I4O-GCHPH5sQ.cjs.map} +1 -1
  158. package/dist/{od-WOKFDJTP-YqNKNBbo.cjs → od-WOKFDJTP-BcRKEr17.cjs} +2 -2
  159. package/dist/{od-WOKFDJTP-YqNKNBbo.cjs.map → od-WOKFDJTP-BcRKEr17.cjs.map} +1 -1
  160. package/dist/{od-WOKFDJTP-C0ONnTil.mjs → od-WOKFDJTP-Dn-lpq7V.mjs} +2 -2
  161. package/dist/{od-WOKFDJTP-C0ONnTil.mjs.map → od-WOKFDJTP-Dn-lpq7V.mjs.map} +1 -1
  162. package/dist/{paste-7JC6S4DX-CPrcpu4D.mjs → paste-7JC6S4DX-BcVdbFWz.mjs} +2 -2
  163. package/dist/{paste-7JC6S4DX-CPrcpu4D.mjs.map → paste-7JC6S4DX-BcVdbFWz.mjs.map} +1 -1
  164. package/dist/{paste-7JC6S4DX-Buo8QFuR.cjs → paste-7JC6S4DX-PvYC1rpU.cjs} +2 -2
  165. package/dist/{paste-7JC6S4DX-Buo8QFuR.cjs.map → paste-7JC6S4DX-PvYC1rpU.cjs.map} +1 -1
  166. package/dist/{printf-TWGXF445-X1UIAzry.mjs → printf-TWGXF445-BXeGrCnQ.mjs} +3 -3
  167. package/dist/{printf-TWGXF445-X1UIAzry.mjs.map → printf-TWGXF445-BXeGrCnQ.mjs.map} +1 -1
  168. package/dist/{printf-TWGXF445-By2gUYeG.cjs → printf-TWGXF445-l7krwHgi.cjs} +3 -3
  169. package/dist/{printf-TWGXF445-By2gUYeG.cjs.map → printf-TWGXF445-l7krwHgi.cjs.map} +1 -1
  170. package/dist/{python3-POMOR4OA-D3CJMgUq.cjs → python3-POMOR4OA-CfX_2op9.cjs} +3 -3
  171. package/dist/{python3-POMOR4OA-D3CJMgUq.cjs.map → python3-POMOR4OA-CfX_2op9.cjs.map} +1 -1
  172. package/dist/{python3-POMOR4OA-l8C6ZEN-.mjs → python3-POMOR4OA-CfaK3zCx.mjs} +3 -3
  173. package/dist/{python3-POMOR4OA-l8C6ZEN-.mjs.map → python3-POMOR4OA-CfaK3zCx.mjs.map} +1 -1
  174. package/dist/{rev-5EHFX4EJ-CFKXHMKB.mjs → rev-5EHFX4EJ-1Zjl4Z6o.mjs} +2 -2
  175. package/dist/{rev-5EHFX4EJ-CFKXHMKB.mjs.map → rev-5EHFX4EJ-1Zjl4Z6o.mjs.map} +1 -1
  176. package/dist/{rev-5EHFX4EJ-CAfFMeLJ.cjs → rev-5EHFX4EJ-Db0_ejCf.cjs} +2 -2
  177. package/dist/{rev-5EHFX4EJ-CAfFMeLJ.cjs.map → rev-5EHFX4EJ-Db0_ejCf.cjs.map} +1 -1
  178. package/dist/{rg-S4FXYXWB-DC26zPV7.mjs → rg-S4FXYXWB-DJ2qtBB1.mjs} +3 -3
  179. package/dist/{rg-S4FXYXWB-DC26zPV7.mjs.map → rg-S4FXYXWB-DJ2qtBB1.mjs.map} +1 -1
  180. package/dist/{rg-S4FXYXWB-XWNX6Slb.cjs → rg-S4FXYXWB-DbeP3H10.cjs} +3 -3
  181. package/dist/{rg-S4FXYXWB-XWNX6Slb.cjs.map → rg-S4FXYXWB-DbeP3H10.cjs.map} +1 -1
  182. package/dist/{rm-SSGETQVQ-CKk1S1_b.cjs → rm-SSGETQVQ-BMjMFzRz.cjs} +2 -2
  183. package/dist/{rm-SSGETQVQ-CKk1S1_b.cjs.map → rm-SSGETQVQ-BMjMFzRz.cjs.map} +1 -1
  184. package/dist/{rm-SSGETQVQ-MJ4TSPv2.mjs → rm-SSGETQVQ-V0BnfRi0.mjs} +2 -2
  185. package/dist/{rm-SSGETQVQ-MJ4TSPv2.mjs.map → rm-SSGETQVQ-V0BnfRi0.mjs.map} +1 -1
  186. package/dist/{rmdir-OC4ZLPYA-O8j6gE0d.mjs → rmdir-OC4ZLPYA-5Q765SYg.mjs} +2 -2
  187. package/dist/{rmdir-OC4ZLPYA-O8j6gE0d.mjs.map → rmdir-OC4ZLPYA-5Q765SYg.mjs.map} +1 -1
  188. package/dist/{rmdir-OC4ZLPYA-BEa2ydVB.cjs → rmdir-OC4ZLPYA-DAOccpAD.cjs} +2 -2
  189. package/dist/{rmdir-OC4ZLPYA-BEa2ydVB.cjs.map → rmdir-OC4ZLPYA-DAOccpAD.cjs.map} +1 -1
  190. package/dist/run.cjs +1 -1
  191. package/dist/run.mjs +1 -1
  192. package/dist/{sed-S5UIK574-B6Enx8H9.cjs → sed-S5UIK574-blXWd6eY.cjs} +2 -2
  193. package/dist/{sed-S5UIK574-B6Enx8H9.cjs.map → sed-S5UIK574-blXWd6eY.cjs.map} +1 -1
  194. package/dist/{sed-S5UIK574-B9K5T9Gg.mjs → sed-S5UIK574-vOjvbyVo.mjs} +2 -2
  195. package/dist/{sed-S5UIK574-B9K5T9Gg.mjs.map → sed-S5UIK574-vOjvbyVo.mjs.map} +1 -1
  196. package/dist/{sha1sum-2PTOAFR6-BUGBKovb.mjs → sha1sum-2PTOAFR6-Bk3Qz-OF.mjs} +3 -3
  197. package/dist/{sha1sum-2PTOAFR6-BUGBKovb.mjs.map → sha1sum-2PTOAFR6-Bk3Qz-OF.mjs.map} +1 -1
  198. package/dist/{sha1sum-2PTOAFR6-DH54EIA2.cjs → sha1sum-2PTOAFR6-CGwyIzMP.cjs} +3 -3
  199. package/dist/{sha1sum-2PTOAFR6-DH54EIA2.cjs.map → sha1sum-2PTOAFR6-CGwyIzMP.cjs.map} +1 -1
  200. package/dist/{sha256sum-NS7D3IXX-BXsOvWgJ.mjs → sha256sum-NS7D3IXX-CDQ1iVAa.mjs} +3 -3
  201. package/dist/{sha256sum-NS7D3IXX-BXsOvWgJ.mjs.map → sha256sum-NS7D3IXX-CDQ1iVAa.mjs.map} +1 -1
  202. package/dist/{sha256sum-NS7D3IXX-e2P3jK9R.cjs → sha256sum-NS7D3IXX-Dt67rmvi.cjs} +3 -3
  203. package/dist/{sha256sum-NS7D3IXX-e2P3jK9R.cjs.map → sha256sum-NS7D3IXX-Dt67rmvi.cjs.map} +1 -1
  204. package/dist/{sleep-X22JJINO-BHYQ6CRj.cjs → sleep-X22JJINO-BCV1Blsb.cjs} +2 -2
  205. package/dist/{sleep-X22JJINO-BHYQ6CRj.cjs.map → sleep-X22JJINO-BCV1Blsb.cjs.map} +1 -1
  206. package/dist/{sleep-X22JJINO-CNx95Odz.mjs → sleep-X22JJINO-BjphnKtr.mjs} +2 -2
  207. package/dist/{sleep-X22JJINO-CNx95Odz.mjs.map → sleep-X22JJINO-BjphnKtr.mjs.map} +1 -1
  208. package/dist/{sort-SW2YEO5B-CzHEdzvQ.cjs → sort-SW2YEO5B-DaF9R8Ij.cjs} +3 -3
  209. package/dist/{sort-SW2YEO5B-CzHEdzvQ.cjs.map → sort-SW2YEO5B-DaF9R8Ij.cjs.map} +1 -1
  210. package/dist/{sort-SW2YEO5B-BFciT7VC.mjs → sort-SW2YEO5B-FW-TmBuO.mjs} +3 -3
  211. package/dist/{sort-SW2YEO5B-BFciT7VC.mjs.map → sort-SW2YEO5B-FW-TmBuO.mjs.map} +1 -1
  212. package/dist/{split-4KKZZXXE-Di6qyS32.mjs → split-4KKZZXXE-CbDDm0aZ.mjs} +2 -2
  213. package/dist/{split-4KKZZXXE-Di6qyS32.mjs.map → split-4KKZZXXE-CbDDm0aZ.mjs.map} +1 -1
  214. package/dist/{split-4KKZZXXE-9BtDzDqm.cjs → split-4KKZZXXE-CqfBZOkf.cjs} +2 -2
  215. package/dist/{split-4KKZZXXE-9BtDzDqm.cjs.map → split-4KKZZXXE-CqfBZOkf.cjs.map} +1 -1
  216. package/dist/{sqlite3-CGOEFJAO-BW5MpoI3.cjs → sqlite3-CGOEFJAO-Cs1NHPH2.cjs} +3 -3
  217. package/dist/{sqlite3-CGOEFJAO-BW5MpoI3.cjs.map → sqlite3-CGOEFJAO-Cs1NHPH2.cjs.map} +1 -1
  218. package/dist/{sqlite3-CGOEFJAO-BcjjxxUW.mjs → sqlite3-CGOEFJAO-DVO1GR7-.mjs} +3 -3
  219. package/dist/{sqlite3-CGOEFJAO-BcjjxxUW.mjs.map → sqlite3-CGOEFJAO-DVO1GR7-.mjs.map} +1 -1
  220. package/dist/{start-BK3nhRpQ.cjs → start-Duf73uYt.cjs} +890 -493
  221. package/dist/start-Duf73uYt.cjs.map +1 -0
  222. package/dist/{start-C4wv93sk.mjs → start-uh5HeXO7.mjs} +888 -491
  223. package/dist/start-uh5HeXO7.mjs.map +1 -0
  224. package/dist/start.cjs +1 -1
  225. package/dist/start.mjs +1 -1
  226. package/dist/{strings-6WDHLGMX-C3QEqVZ2.cjs → strings-6WDHLGMX-j4LlNrD7.cjs} +2 -2
  227. package/dist/{strings-6WDHLGMX-C3QEqVZ2.cjs.map → strings-6WDHLGMX-j4LlNrD7.cjs.map} +1 -1
  228. package/dist/{strings-6WDHLGMX-BGNd9Jnz.mjs → strings-6WDHLGMX-mAmpgdcp.mjs} +2 -2
  229. package/dist/{strings-6WDHLGMX-BGNd9Jnz.mjs.map → strings-6WDHLGMX-mAmpgdcp.mjs.map} +1 -1
  230. package/dist/{tac-2STMMJYW-DqQqxcFS.cjs → tac-2STMMJYW-DBlKawA6.cjs} +2 -2
  231. package/dist/{tac-2STMMJYW-DqQqxcFS.cjs.map → tac-2STMMJYW-DBlKawA6.cjs.map} +1 -1
  232. package/dist/{tac-2STMMJYW-B7m5nT_3.mjs → tac-2STMMJYW-LJzQXDiC.mjs} +2 -2
  233. package/dist/{tac-2STMMJYW-B7m5nT_3.mjs.map → tac-2STMMJYW-LJzQXDiC.mjs.map} +1 -1
  234. package/dist/{tail-R4PCA2C4-DH6gSUW-.cjs → tail-R4PCA2C4-CkYWt7AT.cjs} +2 -2
  235. package/dist/{tail-R4PCA2C4-DH6gSUW-.cjs.map → tail-R4PCA2C4-CkYWt7AT.cjs.map} +1 -1
  236. package/dist/{tail-R4PCA2C4-CGLtGuty.mjs → tail-R4PCA2C4-DVHafA4G.mjs} +2 -2
  237. package/dist/{tail-R4PCA2C4-CGLtGuty.mjs.map → tail-R4PCA2C4-DVHafA4G.mjs.map} +1 -1
  238. package/dist/{tar-STHHZTZ6-GiF_Tj9-.cjs → tar-STHHZTZ6-0Lcg-EEq.cjs} +5 -5
  239. package/dist/{tar-STHHZTZ6-GiF_Tj9-.cjs.map → tar-STHHZTZ6-0Lcg-EEq.cjs.map} +1 -1
  240. package/dist/{tar-STHHZTZ6-BZuw5hJf.mjs → tar-STHHZTZ6-B2fZ7gmU.mjs} +4 -4
  241. package/dist/{tar-STHHZTZ6-BZuw5hJf.mjs.map → tar-STHHZTZ6-B2fZ7gmU.mjs.map} +1 -1
  242. package/dist/{tee-YUZ2FKCJ-B93RpmpZ.cjs → tee-YUZ2FKCJ-CPPfFJWv.cjs} +2 -2
  243. package/dist/{tee-YUZ2FKCJ-B93RpmpZ.cjs.map → tee-YUZ2FKCJ-CPPfFJWv.cjs.map} +1 -1
  244. package/dist/{tee-YUZ2FKCJ-CpJ4jxtK.mjs → tee-YUZ2FKCJ-ah1azGJz.mjs} +2 -2
  245. package/dist/{tee-YUZ2FKCJ-CpJ4jxtK.mjs.map → tee-YUZ2FKCJ-ah1azGJz.mjs.map} +1 -1
  246. package/dist/{time-D4LNBSWX-DJH78faJ.cjs → time-D4LNBSWX-CpsOIMLa.cjs} +2 -2
  247. package/dist/{time-D4LNBSWX-DJH78faJ.cjs.map → time-D4LNBSWX-CpsOIMLa.cjs.map} +1 -1
  248. package/dist/{time-D4LNBSWX-DGtUFoCp.mjs → time-D4LNBSWX-CusTRd8B.mjs} +2 -2
  249. package/dist/{time-D4LNBSWX-DGtUFoCp.mjs.map → time-D4LNBSWX-CusTRd8B.mjs.map} +1 -1
  250. package/dist/{timeout-YDCRSLPQ-RFRaGU4-.cjs → timeout-YDCRSLPQ-CoAt8uiE.cjs} +2 -2
  251. package/dist/{timeout-YDCRSLPQ-RFRaGU4-.cjs.map → timeout-YDCRSLPQ-CoAt8uiE.cjs.map} +1 -1
  252. package/dist/{timeout-YDCRSLPQ-BzPojgUO.mjs → timeout-YDCRSLPQ-DoUdlcdt.mjs} +2 -2
  253. package/dist/{timeout-YDCRSLPQ-BzPojgUO.mjs.map → timeout-YDCRSLPQ-DoUdlcdt.mjs.map} +1 -1
  254. package/dist/{touch-UA33VN3N-Bdpir4J9.mjs → touch-UA33VN3N-CRv7gV38.mjs} +2 -2
  255. package/dist/{touch-UA33VN3N-Bdpir4J9.mjs.map → touch-UA33VN3N-CRv7gV38.mjs.map} +1 -1
  256. package/dist/{touch-UA33VN3N-jB0YrmZH.cjs → touch-UA33VN3N-HTKQWA1_.cjs} +2 -2
  257. package/dist/{touch-UA33VN3N-jB0YrmZH.cjs.map → touch-UA33VN3N-HTKQWA1_.cjs.map} +1 -1
  258. package/dist/{tr-36LHWFRQ-BYPZKSzP.mjs → tr-36LHWFRQ-BcnGm8g2.mjs} +2 -2
  259. package/dist/{tr-36LHWFRQ-BYPZKSzP.mjs.map → tr-36LHWFRQ-BcnGm8g2.mjs.map} +1 -1
  260. package/dist/{tr-36LHWFRQ-CQxVomNK.cjs → tr-36LHWFRQ-DftLvdee.cjs} +2 -2
  261. package/dist/{tr-36LHWFRQ-CQxVomNK.cjs.map → tr-36LHWFRQ-DftLvdee.cjs.map} +1 -1
  262. package/dist/{tree-YLD52CNT-CyPjMXqy.mjs → tree-YLD52CNT-DUBwODaW.mjs} +2 -2
  263. package/dist/{tree-YLD52CNT-CyPjMXqy.mjs.map → tree-YLD52CNT-DUBwODaW.mjs.map} +1 -1
  264. package/dist/{tree-YLD52CNT-DiidjPWy.cjs → tree-YLD52CNT-D_PAz7EX.cjs} +2 -2
  265. package/dist/{tree-YLD52CNT-DiidjPWy.cjs.map → tree-YLD52CNT-D_PAz7EX.cjs.map} +1 -1
  266. package/dist/{unexpand-CADSA4VO-W5dP1zPs.cjs → unexpand-CADSA4VO-CfYJJmhX.cjs} +2 -2
  267. package/dist/{unexpand-CADSA4VO-W5dP1zPs.cjs.map → unexpand-CADSA4VO-CfYJJmhX.cjs.map} +1 -1
  268. package/dist/{unexpand-CADSA4VO-CnCIS3mM.mjs → unexpand-CADSA4VO-SbQJjkPi.mjs} +2 -2
  269. package/dist/{unexpand-CADSA4VO-CnCIS3mM.mjs.map → unexpand-CADSA4VO-SbQJjkPi.mjs.map} +1 -1
  270. package/dist/{uniq-XSIZR6PB-B3i-98kn.cjs → uniq-XSIZR6PB-DDwGvBBo.cjs} +3 -3
  271. package/dist/{uniq-XSIZR6PB-B3i-98kn.cjs.map → uniq-XSIZR6PB-DDwGvBBo.cjs.map} +1 -1
  272. package/dist/{uniq-XSIZR6PB-DbyhYt6T.mjs → uniq-XSIZR6PB-Db-7G8oM.mjs} +3 -3
  273. package/dist/{uniq-XSIZR6PB-DbyhYt6T.mjs.map → uniq-XSIZR6PB-Db-7G8oM.mjs.map} +1 -1
  274. package/dist/{wc-LF7NU4LA-B98N4IVz.mjs → wc-LF7NU4LA-CVw0uvls.mjs} +3 -3
  275. package/dist/{wc-LF7NU4LA-B98N4IVz.mjs.map → wc-LF7NU4LA-CVw0uvls.mjs.map} +1 -1
  276. package/dist/{wc-LF7NU4LA-7g8GX0Io.cjs → wc-LF7NU4LA-J44bhqMY.cjs} +3 -3
  277. package/dist/{wc-LF7NU4LA-7g8GX0Io.cjs.map → wc-LF7NU4LA-J44bhqMY.cjs.map} +1 -1
  278. package/dist/{xan-Y6WF3IRG-D61ETw5M.mjs → xan-Y6WF3IRG-CezpKEM3.mjs} +6 -6
  279. package/dist/{xan-Y6WF3IRG-D61ETw5M.mjs.map → xan-Y6WF3IRG-CezpKEM3.mjs.map} +1 -1
  280. package/dist/{xan-Y6WF3IRG-BUr6NQvo.cjs → xan-Y6WF3IRG-ZzJdxQL3.cjs} +6 -6
  281. package/dist/{xan-Y6WF3IRG-BUr6NQvo.cjs.map → xan-Y6WF3IRG-ZzJdxQL3.cjs.map} +1 -1
  282. package/dist/{xan-view-HDVKHFC2-DlCotayo.cjs → xan-view-HDVKHFC2-BlgvLAMN.cjs} +3 -3
  283. package/dist/{xan-view-HDVKHFC2-DlCotayo.cjs.map → xan-view-HDVKHFC2-BlgvLAMN.cjs.map} +1 -1
  284. package/dist/{xan-view-HDVKHFC2-hmvkd8LP.mjs → xan-view-HDVKHFC2-DcryN7CS.mjs} +3 -3
  285. package/dist/{xan-view-HDVKHFC2-hmvkd8LP.mjs.map → xan-view-HDVKHFC2-DcryN7CS.mjs.map} +1 -1
  286. package/dist/{xargs-MGZPH7AX-W4GobWGz.cjs → xargs-MGZPH7AX-BK6KkY-B.cjs} +2 -2
  287. package/dist/{xargs-MGZPH7AX-W4GobWGz.cjs.map → xargs-MGZPH7AX-BK6KkY-B.cjs.map} +1 -1
  288. package/dist/{xargs-MGZPH7AX-DhgYJD4l.mjs → xargs-MGZPH7AX-C0hQisEr.mjs} +2 -2
  289. package/dist/{xargs-MGZPH7AX-DhgYJD4l.mjs.map → xargs-MGZPH7AX-C0hQisEr.mjs.map} +1 -1
  290. package/dist/{yq-4QJW3EQG-C90d61wX.cjs → yq-4QJW3EQG-DGvTE4cS.cjs} +3 -3
  291. package/dist/{yq-4QJW3EQG-C90d61wX.cjs.map → yq-4QJW3EQG-DGvTE4cS.cjs.map} +1 -1
  292. package/dist/{yq-4QJW3EQG-D_bl6qRw.mjs → yq-4QJW3EQG-o9JH6Llp.mjs} +3 -3
  293. package/dist/{yq-4QJW3EQG-D_bl6qRw.mjs.map → yq-4QJW3EQG-o9JH6Llp.mjs.map} +1 -1
  294. package/package.json +1 -2
  295. package/dist/dist-CZOTxy6V.cjs.map +0 -1
  296. package/dist/start-BK3nhRpQ.cjs.map +0 -1
  297. package/dist/start-C4wv93sk.mjs.map +0 -1
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-CZOTxy6V.cjs");
1
+ const require_dist = require("./dist-CILghkjJ.cjs");
2
2
  require("./chunk-BZUGFHVS-7RRM7Jpb.cjs");
3
3
  const require_chunk_TN7HHBQW = require("./chunk-TN7HHBQW-D_SK6w5n.cjs");
4
4
  const require_with_project_scope = require("./with-project-scope-Cz_Tmvau.cjs");
@@ -20029,7 +20029,7 @@ var g = class i {
20029
20029
  endPos() {
20030
20030
  return this.end;
20031
20031
  }
20032
- }, z$4 = class extends L {
20032
+ }, z$5 = class extends L {
20033
20033
  constructor(t, e = 0, s = t.length) {
20034
20034
  super(), this.bytes = t, this.start = e, this.end = s;
20035
20035
  }
@@ -20086,7 +20086,7 @@ var g = class i {
20086
20086
  }
20087
20087
  }, R = class {
20088
20088
  static fromUTF8(t, e = 0, s = t.length) {
20089
- return new z$4(t, e, s);
20089
+ return new z$5(t, e, s);
20090
20090
  }
20091
20091
  static fromUTF16(t, e = 0, s = t.length) {
20092
20092
  return new $$1(t, e, s);
@@ -22872,43 +22872,43 @@ var tt = [
22872
22872
  },
22873
22873
  {
22874
22874
  name: "cat",
22875
- load: async () => (await Promise.resolve().then(() => require("./cat-TSFMZVYS-BjBv1R_B.cjs"))).catCommand
22875
+ load: async () => (await Promise.resolve().then(() => require("./cat-TSFMZVYS-DPyKg9WF.cjs"))).catCommand
22876
22876
  },
22877
22877
  {
22878
22878
  name: "printf",
22879
- load: async () => (await Promise.resolve().then(() => require("./printf-TWGXF445-By2gUYeG.cjs"))).printfCommand
22879
+ load: async () => (await Promise.resolve().then(() => require("./printf-TWGXF445-l7krwHgi.cjs"))).printfCommand
22880
22880
  },
22881
22881
  {
22882
22882
  name: "ls",
22883
- load: async () => (await Promise.resolve().then(() => require("./ls-ZJGQER7M-DOzWDIN-.cjs"))).lsCommand
22883
+ load: async () => (await Promise.resolve().then(() => require("./ls-ZJGQER7M-CuwsTYNY.cjs"))).lsCommand
22884
22884
  },
22885
22885
  {
22886
22886
  name: "mkdir",
22887
- load: async () => (await Promise.resolve().then(() => require("./mkdir-MEPGZOB6-DW9SaUbA.cjs"))).mkdirCommand
22887
+ load: async () => (await Promise.resolve().then(() => require("./mkdir-MEPGZOB6-C1EyJgfu.cjs"))).mkdirCommand
22888
22888
  },
22889
22889
  {
22890
22890
  name: "rmdir",
22891
- load: async () => (await Promise.resolve().then(() => require("./rmdir-OC4ZLPYA-BEa2ydVB.cjs"))).rmdirCommand
22891
+ load: async () => (await Promise.resolve().then(() => require("./rmdir-OC4ZLPYA-DAOccpAD.cjs"))).rmdirCommand
22892
22892
  },
22893
22893
  {
22894
22894
  name: "touch",
22895
- load: async () => (await Promise.resolve().then(() => require("./touch-UA33VN3N-jB0YrmZH.cjs"))).touchCommand
22895
+ load: async () => (await Promise.resolve().then(() => require("./touch-UA33VN3N-HTKQWA1_.cjs"))).touchCommand
22896
22896
  },
22897
22897
  {
22898
22898
  name: "rm",
22899
- load: async () => (await Promise.resolve().then(() => require("./rm-SSGETQVQ-CKk1S1_b.cjs"))).rmCommand
22899
+ load: async () => (await Promise.resolve().then(() => require("./rm-SSGETQVQ-BMjMFzRz.cjs"))).rmCommand
22900
22900
  },
22901
22901
  {
22902
22902
  name: "cp",
22903
- load: async () => (await Promise.resolve().then(() => require("./cp-BISAAS7A-C7iyygW6.cjs"))).cpCommand
22903
+ load: async () => (await Promise.resolve().then(() => require("./cp-BISAAS7A-DgKkNzN0.cjs"))).cpCommand
22904
22904
  },
22905
22905
  {
22906
22906
  name: "mv",
22907
- load: async () => (await Promise.resolve().then(() => require("./mv-W5BIQ646-CZV8v37y.cjs"))).mvCommand
22907
+ load: async () => (await Promise.resolve().then(() => require("./mv-W5BIQ646-D18EGIFW.cjs"))).mvCommand
22908
22908
  },
22909
22909
  {
22910
22910
  name: "ln",
22911
- load: async () => (await Promise.resolve().then(() => require("./ln-4LGSXXGD-BncpeOY6.cjs"))).lnCommand
22911
+ load: async () => (await Promise.resolve().then(() => require("./ln-4LGSXXGD-CJ0nwQcr.cjs"))).lnCommand
22912
22912
  },
22913
22913
  {
22914
22914
  name: "chmod",
@@ -22924,15 +22924,15 @@ var tt = [
22924
22924
  },
22925
22925
  {
22926
22926
  name: "head",
22927
- load: async () => (await Promise.resolve().then(() => require("./head-442HYESI-bwZwXEo6.cjs"))).headCommand
22927
+ load: async () => (await Promise.resolve().then(() => require("./head-442HYESI-D-v4sIdN.cjs"))).headCommand
22928
22928
  },
22929
22929
  {
22930
22930
  name: "tail",
22931
- load: async () => (await Promise.resolve().then(() => require("./tail-R4PCA2C4-DH6gSUW-.cjs"))).tailCommand
22931
+ load: async () => (await Promise.resolve().then(() => require("./tail-R4PCA2C4-CkYWt7AT.cjs"))).tailCommand
22932
22932
  },
22933
22933
  {
22934
22934
  name: "wc",
22935
- load: async () => (await Promise.resolve().then(() => require("./wc-LF7NU4LA-7g8GX0Io.cjs"))).wcCommand
22935
+ load: async () => (await Promise.resolve().then(() => require("./wc-LF7NU4LA-J44bhqMY.cjs"))).wcCommand
22936
22936
  },
22937
22937
  {
22938
22938
  name: "stat",
@@ -22940,95 +22940,95 @@ var tt = [
22940
22940
  },
22941
22941
  {
22942
22942
  name: "grep",
22943
- load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-B2SsFur5.cjs"))).grepCommand
22943
+ load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-6nG_gpr9.cjs"))).grepCommand
22944
22944
  },
22945
22945
  {
22946
22946
  name: "fgrep",
22947
- load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-B2SsFur5.cjs"))).fgrepCommand
22947
+ load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-6nG_gpr9.cjs"))).fgrepCommand
22948
22948
  },
22949
22949
  {
22950
22950
  name: "egrep",
22951
- load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-B2SsFur5.cjs"))).egrepCommand
22951
+ load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-6nG_gpr9.cjs"))).egrepCommand
22952
22952
  },
22953
22953
  {
22954
22954
  name: "rg",
22955
- load: async () => (await Promise.resolve().then(() => require("./rg-S4FXYXWB-XWNX6Slb.cjs"))).rgCommand
22955
+ load: async () => (await Promise.resolve().then(() => require("./rg-S4FXYXWB-DbeP3H10.cjs"))).rgCommand
22956
22956
  },
22957
22957
  {
22958
22958
  name: "sed",
22959
- load: async () => (await Promise.resolve().then(() => require("./sed-S5UIK574-B6Enx8H9.cjs"))).sedCommand
22959
+ load: async () => (await Promise.resolve().then(() => require("./sed-S5UIK574-blXWd6eY.cjs"))).sedCommand
22960
22960
  },
22961
22961
  {
22962
22962
  name: "awk",
22963
- load: async () => (await Promise.resolve().then(() => require("./awk2-LA3USKJP-BRL8hoJr.cjs"))).awkCommand2
22963
+ load: async () => (await Promise.resolve().then(() => require("./awk2-LA3USKJP-DvnlC67L.cjs"))).awkCommand2
22964
22964
  },
22965
22965
  {
22966
22966
  name: "sort",
22967
- load: async () => (await Promise.resolve().then(() => require("./sort-SW2YEO5B-CzHEdzvQ.cjs"))).sortCommand
22967
+ load: async () => (await Promise.resolve().then(() => require("./sort-SW2YEO5B-DaF9R8Ij.cjs"))).sortCommand
22968
22968
  },
22969
22969
  {
22970
22970
  name: "uniq",
22971
- load: async () => (await Promise.resolve().then(() => require("./uniq-XSIZR6PB-B3i-98kn.cjs"))).uniqCommand
22971
+ load: async () => (await Promise.resolve().then(() => require("./uniq-XSIZR6PB-DDwGvBBo.cjs"))).uniqCommand
22972
22972
  },
22973
22973
  {
22974
22974
  name: "comm",
22975
- load: async () => (await Promise.resolve().then(() => require("./comm-VV2LDX2J-KS8sKJiM.cjs"))).commCommand
22975
+ load: async () => (await Promise.resolve().then(() => require("./comm-VV2LDX2J-CucvwyJU.cjs"))).commCommand
22976
22976
  },
22977
22977
  {
22978
22978
  name: "cut",
22979
- load: async () => (await Promise.resolve().then(() => require("./cut-OKARJCCV-B2g61y_K.cjs"))).cutCommand
22979
+ load: async () => (await Promise.resolve().then(() => require("./cut-OKARJCCV-C2UIR_QJ.cjs"))).cutCommand
22980
22980
  },
22981
22981
  {
22982
22982
  name: "paste",
22983
- load: async () => (await Promise.resolve().then(() => require("./paste-7JC6S4DX-Buo8QFuR.cjs"))).pasteCommand
22983
+ load: async () => (await Promise.resolve().then(() => require("./paste-7JC6S4DX-PvYC1rpU.cjs"))).pasteCommand
22984
22984
  },
22985
22985
  {
22986
22986
  name: "tr",
22987
- load: async () => (await Promise.resolve().then(() => require("./tr-36LHWFRQ-CQxVomNK.cjs"))).trCommand
22987
+ load: async () => (await Promise.resolve().then(() => require("./tr-36LHWFRQ-DftLvdee.cjs"))).trCommand
22988
22988
  },
22989
22989
  {
22990
22990
  name: "rev",
22991
- load: async () => (await Promise.resolve().then(() => require("./rev-5EHFX4EJ-CAfFMeLJ.cjs"))).rev
22991
+ load: async () => (await Promise.resolve().then(() => require("./rev-5EHFX4EJ-Db0_ejCf.cjs"))).rev
22992
22992
  },
22993
22993
  {
22994
22994
  name: "nl",
22995
- load: async () => (await Promise.resolve().then(() => require("./nl-WSDW7I4O-LeEXpCZI.cjs"))).nl
22995
+ load: async () => (await Promise.resolve().then(() => require("./nl-WSDW7I4O-GCHPH5sQ.cjs"))).nl
22996
22996
  },
22997
22997
  {
22998
22998
  name: "fold",
22999
- load: async () => (await Promise.resolve().then(() => require("./fold-4TQNYMSW-BGAKLKVd.cjs"))).fold
22999
+ load: async () => (await Promise.resolve().then(() => require("./fold-4TQNYMSW-CVnRCsKw.cjs"))).fold
23000
23000
  },
23001
23001
  {
23002
23002
  name: "expand",
23003
- load: async () => (await Promise.resolve().then(() => require("./expand-JSPG6VOP-BlVu_4fo.cjs"))).expand
23003
+ load: async () => (await Promise.resolve().then(() => require("./expand-JSPG6VOP-D3CgeKTi.cjs"))).expand
23004
23004
  },
23005
23005
  {
23006
23006
  name: "unexpand",
23007
- load: async () => (await Promise.resolve().then(() => require("./unexpand-CADSA4VO-W5dP1zPs.cjs"))).unexpand
23007
+ load: async () => (await Promise.resolve().then(() => require("./unexpand-CADSA4VO-CfYJJmhX.cjs"))).unexpand
23008
23008
  },
23009
23009
  {
23010
23010
  name: "strings",
23011
- load: async () => (await Promise.resolve().then(() => require("./strings-6WDHLGMX-C3QEqVZ2.cjs"))).strings
23011
+ load: async () => (await Promise.resolve().then(() => require("./strings-6WDHLGMX-j4LlNrD7.cjs"))).strings
23012
23012
  },
23013
23013
  {
23014
23014
  name: "split",
23015
- load: async () => (await Promise.resolve().then(() => require("./split-4KKZZXXE-9BtDzDqm.cjs"))).split
23015
+ load: async () => (await Promise.resolve().then(() => require("./split-4KKZZXXE-CqfBZOkf.cjs"))).split
23016
23016
  },
23017
23017
  {
23018
23018
  name: "column",
23019
- load: async () => (await Promise.resolve().then(() => require("./column-XT6UFXNQ-BKCKn8Kt.cjs"))).column
23019
+ load: async () => (await Promise.resolve().then(() => require("./column-XT6UFXNQ-DLWSsnxl.cjs"))).column
23020
23020
  },
23021
23021
  {
23022
23022
  name: "join",
23023
- load: async () => (await Promise.resolve().then(() => require("./join-TBRGI3LQ-WbTRLkpF.cjs"))).join
23023
+ load: async () => (await Promise.resolve().then(() => require("./join-TBRGI3LQ-68DKyoLC.cjs"))).join
23024
23024
  },
23025
23025
  {
23026
23026
  name: "tee",
23027
- load: async () => (await Promise.resolve().then(() => require("./tee-YUZ2FKCJ-B93RpmpZ.cjs"))).teeCommand
23027
+ load: async () => (await Promise.resolve().then(() => require("./tee-YUZ2FKCJ-CPPfFJWv.cjs"))).teeCommand
23028
23028
  },
23029
23029
  {
23030
23030
  name: "find",
23031
- load: async () => (await Promise.resolve().then(() => require("./find-INTH3OLC-B6jdIAUb.cjs"))).findCommand
23031
+ load: async () => (await Promise.resolve().then(() => require("./find-INTH3OLC-BBgx3ZPV.cjs"))).findCommand
23032
23032
  },
23033
23033
  {
23034
23034
  name: "basename",
@@ -23040,19 +23040,19 @@ var tt = [
23040
23040
  },
23041
23041
  {
23042
23042
  name: "tree",
23043
- load: async () => (await Promise.resolve().then(() => require("./tree-YLD52CNT-DiidjPWy.cjs"))).treeCommand
23043
+ load: async () => (await Promise.resolve().then(() => require("./tree-YLD52CNT-D_PAz7EX.cjs"))).treeCommand
23044
23044
  },
23045
23045
  {
23046
23046
  name: "du",
23047
- load: async () => (await Promise.resolve().then(() => require("./du-572XNP42-De4eLmjc.cjs"))).duCommand
23047
+ load: async () => (await Promise.resolve().then(() => require("./du-572XNP42-CzfZBQPI.cjs"))).duCommand
23048
23048
  },
23049
23049
  {
23050
23050
  name: "env",
23051
- load: async () => (await Promise.resolve().then(() => require("./env-36M5BO7M-ZhEOWJvv.cjs"))).envCommand
23051
+ load: async () => (await Promise.resolve().then(() => require("./env-36M5BO7M-DXmMT9-z.cjs"))).envCommand
23052
23052
  },
23053
23053
  {
23054
23054
  name: "printenv",
23055
- load: async () => (await Promise.resolve().then(() => require("./env-36M5BO7M-ZhEOWJvv.cjs"))).printenvCommand
23055
+ load: async () => (await Promise.resolve().then(() => require("./env-36M5BO7M-DXmMT9-z.cjs"))).printenvCommand
23056
23056
  },
23057
23057
  {
23058
23058
  name: "alias",
@@ -23068,7 +23068,7 @@ var tt = [
23068
23068
  },
23069
23069
  {
23070
23070
  name: "xargs",
23071
- load: async () => (await Promise.resolve().then(() => require("./xargs-MGZPH7AX-W4GobWGz.cjs"))).xargsCommand
23071
+ load: async () => (await Promise.resolve().then(() => require("./xargs-MGZPH7AX-BK6KkY-B.cjs"))).xargsCommand
23072
23072
  },
23073
23073
  {
23074
23074
  name: "true",
@@ -23084,23 +23084,23 @@ var tt = [
23084
23084
  },
23085
23085
  {
23086
23086
  name: "bash",
23087
- load: async () => (await Promise.resolve().then(() => require("./bash-YZ33HQZQ-BBmW_sBm.cjs"))).bashCommand
23087
+ load: async () => (await Promise.resolve().then(() => require("./bash-YZ33HQZQ-BNJc5UNj.cjs"))).bashCommand
23088
23088
  },
23089
23089
  {
23090
23090
  name: "sh",
23091
- load: async () => (await Promise.resolve().then(() => require("./bash-YZ33HQZQ-BBmW_sBm.cjs"))).shCommand
23091
+ load: async () => (await Promise.resolve().then(() => require("./bash-YZ33HQZQ-BNJc5UNj.cjs"))).shCommand
23092
23092
  },
23093
23093
  {
23094
23094
  name: "jq",
23095
- load: async () => (await Promise.resolve().then(() => require("./jq-4XLYLOS5-BchBfx-i.cjs"))).jqCommand
23095
+ load: async () => (await Promise.resolve().then(() => require("./jq-4XLYLOS5-B_GVasbP.cjs"))).jqCommand
23096
23096
  },
23097
23097
  {
23098
23098
  name: "base64",
23099
- load: async () => (await Promise.resolve().then(() => require("./base64-C2AIWVNC-BeIfMgG0.cjs"))).base64Command
23099
+ load: async () => (await Promise.resolve().then(() => require("./base64-C2AIWVNC-DnANUUCD.cjs"))).base64Command
23100
23100
  },
23101
23101
  {
23102
23102
  name: "diff",
23103
- load: async () => (await Promise.resolve().then(() => require("./diff-MWJFIG7X-DkKded0v.cjs"))).diffCommand
23103
+ load: async () => (await Promise.resolve().then(() => require("./diff-MWJFIG7X-Du4if8Y6.cjs"))).diffCommand
23104
23104
  },
23105
23105
  {
23106
23106
  name: "date",
@@ -23108,15 +23108,15 @@ var tt = [
23108
23108
  },
23109
23109
  {
23110
23110
  name: "sleep",
23111
- load: async () => (await Promise.resolve().then(() => require("./sleep-X22JJINO-BHYQ6CRj.cjs"))).sleepCommand
23111
+ load: async () => (await Promise.resolve().then(() => require("./sleep-X22JJINO-BCV1Blsb.cjs"))).sleepCommand
23112
23112
  },
23113
23113
  {
23114
23114
  name: "timeout",
23115
- load: async () => (await Promise.resolve().then(() => require("./timeout-YDCRSLPQ-RFRaGU4-.cjs"))).timeoutCommand
23115
+ load: async () => (await Promise.resolve().then(() => require("./timeout-YDCRSLPQ-CoAt8uiE.cjs"))).timeoutCommand
23116
23116
  },
23117
23117
  {
23118
23118
  name: "time",
23119
- load: async () => (await Promise.resolve().then(() => require("./time-D4LNBSWX-DJH78faJ.cjs"))).timeCommand
23119
+ load: async () => (await Promise.resolve().then(() => require("./time-D4LNBSWX-CpsOIMLa.cjs"))).timeCommand
23120
23120
  },
23121
23121
  {
23122
23122
  name: "seq",
@@ -23124,19 +23124,19 @@ var tt = [
23124
23124
  },
23125
23125
  {
23126
23126
  name: "expr",
23127
- load: async () => (await Promise.resolve().then(() => require("./expr-5JAACS4X-FYbQ0i7J.cjs"))).exprCommand
23127
+ load: async () => (await Promise.resolve().then(() => require("./expr-5JAACS4X-D4SgmPpg.cjs"))).exprCommand
23128
23128
  },
23129
23129
  {
23130
23130
  name: "md5sum",
23131
- load: async () => (await Promise.resolve().then(() => require("./md5sum-SPU24VSG-D8gSLlAq.cjs"))).md5sumCommand
23131
+ load: async () => (await Promise.resolve().then(() => require("./md5sum-SPU24VSG-BDoAFf8p.cjs"))).md5sumCommand
23132
23132
  },
23133
23133
  {
23134
23134
  name: "sha1sum",
23135
- load: async () => (await Promise.resolve().then(() => require("./sha1sum-2PTOAFR6-DH54EIA2.cjs"))).sha1sumCommand
23135
+ load: async () => (await Promise.resolve().then(() => require("./sha1sum-2PTOAFR6-CGwyIzMP.cjs"))).sha1sumCommand
23136
23136
  },
23137
23137
  {
23138
23138
  name: "sha256sum",
23139
- load: async () => (await Promise.resolve().then(() => require("./sha256sum-NS7D3IXX-e2P3jK9R.cjs"))).sha256sumCommand
23139
+ load: async () => (await Promise.resolve().then(() => require("./sha256sum-NS7D3IXX-Dt67rmvi.cjs"))).sha256sumCommand
23140
23140
  },
23141
23141
  {
23142
23142
  name: "file",
@@ -23144,11 +23144,11 @@ var tt = [
23144
23144
  },
23145
23145
  {
23146
23146
  name: "html-to-markdown",
23147
- load: async () => (await Promise.resolve().then(() => require("./html-to-markdown-JW4MSQZO-Dn43kQwJ.cjs"))).htmlToMarkdownCommand
23147
+ load: async () => (await Promise.resolve().then(() => require("./html-to-markdown-JW4MSQZO-D4dUJm7a.cjs"))).htmlToMarkdownCommand
23148
23148
  },
23149
23149
  {
23150
23150
  name: "help",
23151
- load: async () => (await Promise.resolve().then(() => require("./help-HZ6M2CKN-ChtOM3bi.cjs"))).helpCommand
23151
+ load: async () => (await Promise.resolve().then(() => require("./help-HZ6M2CKN-CWsVnczD.cjs"))).helpCommand
23152
23152
  },
23153
23153
  {
23154
23154
  name: "which",
@@ -23156,7 +23156,7 @@ var tt = [
23156
23156
  },
23157
23157
  {
23158
23158
  name: "tac",
23159
- load: async () => (await Promise.resolve().then(() => require("./tac-2STMMJYW-DqQqxcFS.cjs"))).tac
23159
+ load: async () => (await Promise.resolve().then(() => require("./tac-2STMMJYW-DBlKawA6.cjs"))).tac
23160
23160
  },
23161
23161
  {
23162
23162
  name: "hostname",
@@ -23168,49 +23168,49 @@ var tt = [
23168
23168
  },
23169
23169
  {
23170
23170
  name: "od",
23171
- load: async () => (await Promise.resolve().then(() => require("./od-WOKFDJTP-YqNKNBbo.cjs"))).od
23171
+ load: async () => (await Promise.resolve().then(() => require("./od-WOKFDJTP-BcRKEr17.cjs"))).od
23172
23172
  },
23173
23173
  {
23174
23174
  name: "gzip",
23175
- load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-ChXaWkpa.cjs"))).gzipCommand
23175
+ load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-B111V8sz.cjs"))).gzipCommand
23176
23176
  },
23177
23177
  {
23178
23178
  name: "gunzip",
23179
- load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-ChXaWkpa.cjs"))).gunzipCommand
23179
+ load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-B111V8sz.cjs"))).gunzipCommand
23180
23180
  },
23181
23181
  {
23182
23182
  name: "zcat",
23183
- load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-ChXaWkpa.cjs"))).zcatCommand
23183
+ load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-B111V8sz.cjs"))).zcatCommand
23184
23184
  }
23185
23185
  ];
23186
23186
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (tt.push({
23187
23187
  name: "tar",
23188
- load: async () => (await Promise.resolve().then(() => require("./tar-STHHZTZ6-GiF_Tj9-.cjs"))).tarCommand
23188
+ load: async () => (await Promise.resolve().then(() => require("./tar-STHHZTZ6-0Lcg-EEq.cjs"))).tarCommand
23189
23189
  }), tt.push({
23190
23190
  name: "yq",
23191
- load: async () => (await Promise.resolve().then(() => require("./yq-4QJW3EQG-C90d61wX.cjs"))).yqCommand
23191
+ load: async () => (await Promise.resolve().then(() => require("./yq-4QJW3EQG-DGvTE4cS.cjs"))).yqCommand
23192
23192
  }), tt.push({
23193
23193
  name: "xan",
23194
- load: async () => (await Promise.resolve().then(() => require("./xan-Y6WF3IRG-BUr6NQvo.cjs"))).xanCommand
23194
+ load: async () => (await Promise.resolve().then(() => require("./xan-Y6WF3IRG-ZzJdxQL3.cjs"))).xanCommand
23195
23195
  }), tt.push({
23196
23196
  name: "sqlite3",
23197
- load: async () => (await Promise.resolve().then(() => require("./sqlite3-CGOEFJAO-BW5MpoI3.cjs"))).sqlite3Command
23197
+ load: async () => (await Promise.resolve().then(() => require("./sqlite3-CGOEFJAO-Cs1NHPH2.cjs"))).sqlite3Command
23198
23198
  }));
23199
23199
  var Yt = [];
23200
23200
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (Yt.push({
23201
23201
  name: "python3",
23202
- load: async () => (await Promise.resolve().then(() => require("./python3-POMOR4OA-D3CJMgUq.cjs"))).python3Command
23202
+ load: async () => (await Promise.resolve().then(() => require("./python3-POMOR4OA-CfX_2op9.cjs"))).python3Command
23203
23203
  }), Yt.push({
23204
23204
  name: "python",
23205
- load: async () => (await Promise.resolve().then(() => require("./python3-POMOR4OA-D3CJMgUq.cjs"))).pythonCommand
23205
+ load: async () => (await Promise.resolve().then(() => require("./python3-POMOR4OA-CfX_2op9.cjs"))).pythonCommand
23206
23206
  }));
23207
23207
  var Qt = [];
23208
23208
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (Qt.push({
23209
23209
  name: "js-exec",
23210
- load: async () => (await Promise.resolve().then(() => require("./js-exec-N5KEZBH7-D6K7ZFDI.cjs"))).jsExecCommand
23210
+ load: async () => (await Promise.resolve().then(() => require("./js-exec-N5KEZBH7-J6rAtpQI.cjs"))).jsExecCommand
23211
23211
  }), Qt.push({
23212
23212
  name: "node",
23213
- load: async () => (await Promise.resolve().then(() => require("./js-exec-N5KEZBH7-D6K7ZFDI.cjs"))).nodeStubCommand
23213
+ load: async () => (await Promise.resolve().then(() => require("./js-exec-N5KEZBH7-J6rAtpQI.cjs"))).nodeStubCommand
23214
23214
  }));
23215
23215
  new TextEncoder();
23216
23216
  Object.freeze({
@@ -23626,6 +23626,576 @@ Object.freeze({
23626
23626
  ]).keys()].sort();
23627
23627
  new TextDecoder("utf-8", { fatal: !0 });
23628
23628
  //#endregion
23629
+ //#region ../../packages/agent/dist/schemas-DqPtvoUX.mjs
23630
+ function capabilitiesFromGatewayTags(tags) {
23631
+ const set = new Set(tags ?? []);
23632
+ return {
23633
+ images: set.has("vision"),
23634
+ files: set.has("file-input")
23635
+ };
23636
+ }
23637
+ const DEFAULT_GATEWAY_ORIGIN = "https://ai-gateway.vercel.sh";
23638
+ /** Resolve the model catalog URL for pricing metadata (via platform proxy when configured). */
23639
+ function resolveGatewayCatalogUrl(modelId) {
23640
+ const baseUrl = resolveGatewayBaseUrl();
23641
+ const apiKey = process.env.AI_GATEWAY_API_KEY?.trim();
23642
+ if (baseUrl && apiKey) return {
23643
+ url: `${baseUrl.replace(/\/$/, "")}/models/${modelId}`,
23644
+ headers: {
23645
+ accept: "application/json",
23646
+ authorization: `Bearer ${apiKey}`
23647
+ },
23648
+ cacheKey: baseUrl
23649
+ };
23650
+ return {
23651
+ url: `${DEFAULT_GATEWAY_ORIGIN}/v1/models/${modelId}`,
23652
+ headers: { accept: "application/json" },
23653
+ cacheKey: DEFAULT_GATEWAY_ORIGIN
23654
+ };
23655
+ }
23656
+ function resolveGatewayBaseUrl() {
23657
+ const configured = process.env.AI_GATEWAY_BASE_URL?.trim();
23658
+ if (configured) return configured.replace(/\/$/, "");
23659
+ const platformUrl = process.env.PLATFORM_URL?.trim();
23660
+ if (!platformUrl || !process.env.AI_GATEWAY_API_KEY?.trim()) return;
23661
+ const projectId = (0, _keystrokehq_database.getProjectScopeId)();
23662
+ return `${platformUrl.replace(/\/$/, "")}/internal/projects/${encodeURIComponent(projectId)}/llm`;
23663
+ }
23664
+ const AGENT_MODEL_ID_PATTERN = /^[a-z0-9-]+\/.+/;
23665
+ const AgentModelIdSchema = zod.z.custom((value) => typeof value === "string" && AGENT_MODEL_ID_PATTERN.test(value), "model must be vendor/model-id");
23666
+ const GatewayModelPricingSchema = zod.z.object({
23667
+ input: zod.z.string().optional(),
23668
+ output: zod.z.string().optional(),
23669
+ input_cache_read: zod.z.string().optional()
23670
+ });
23671
+ const GatewayModelResponseSchema = zod.z.object({
23672
+ id: zod.z.string().min(1),
23673
+ name: zod.z.string().optional(),
23674
+ type: zod.z.string().optional(),
23675
+ context_window: zod.z.number().int().positive().optional(),
23676
+ max_tokens: zod.z.number().int().positive().optional(),
23677
+ tags: zod.z.array(zod.z.string()).optional(),
23678
+ pricing: GatewayModelPricingSchema.optional()
23679
+ });
23680
+ function parseGatewayModelResponse(body) {
23681
+ const parsed = GatewayModelResponseSchema.safeParse(body);
23682
+ return parsed.success ? parsed.data : void 0;
23683
+ }
23684
+ function pricePerMillion(value) {
23685
+ if (!value) return 0;
23686
+ const perToken = Number(value);
23687
+ if (!Number.isFinite(perToken) || perToken <= 0) return 0;
23688
+ return perToken * 1e6;
23689
+ }
23690
+ const gatewayModelCache = /* @__PURE__ */ new Map();
23691
+ const gatewayModelPending = /* @__PURE__ */ new Map();
23692
+ function gatewayModelCacheKey(modelId, catalog) {
23693
+ return `${catalog.cacheKey}::${modelId}`;
23694
+ }
23695
+ async function fetchGatewayModelMetadata(modelId) {
23696
+ const catalog = resolveGatewayCatalogUrl(modelId);
23697
+ const cacheKey = gatewayModelCacheKey(modelId, catalog);
23698
+ const cached = gatewayModelCache.get(cacheKey);
23699
+ if (cached) return cached.status === "found" ? {
23700
+ pricing: cached.pricing,
23701
+ capabilities: cached.capabilities
23702
+ } : void 0;
23703
+ const pending = gatewayModelPending.get(cacheKey);
23704
+ if (pending) return pending;
23705
+ const request = (async () => {
23706
+ try {
23707
+ const response = await fetch(catalog.url, { headers: catalog.headers });
23708
+ if (!response.ok) {
23709
+ gatewayModelCache.set(cacheKey, { status: "missing" });
23710
+ return;
23711
+ }
23712
+ const raw = parseGatewayModelResponse(await response.json());
23713
+ if (!raw || raw.type && raw.type !== "language") {
23714
+ gatewayModelCache.set(cacheKey, { status: "missing" });
23715
+ return;
23716
+ }
23717
+ const capabilities = capabilitiesFromGatewayTags(raw.tags);
23718
+ const pricing = {
23719
+ inputPerMillion: pricePerMillion(raw.pricing?.input),
23720
+ outputPerMillion: pricePerMillion(raw.pricing?.output),
23721
+ cacheReadPerMillion: pricePerMillion(raw.pricing?.input_cache_read)
23722
+ };
23723
+ gatewayModelCache.set(cacheKey, {
23724
+ status: "found",
23725
+ pricing,
23726
+ capabilities
23727
+ });
23728
+ return {
23729
+ pricing,
23730
+ capabilities
23731
+ };
23732
+ } catch {
23733
+ gatewayModelCache.set(cacheKey, { status: "missing" });
23734
+ return;
23735
+ } finally {
23736
+ gatewayModelPending.delete(cacheKey);
23737
+ }
23738
+ })();
23739
+ gatewayModelPending.set(cacheKey, request);
23740
+ return request;
23741
+ }
23742
+ /** Cached gateway catalog lookup for model multimodal capabilities. */
23743
+ async function resolveModelCapabilities(modelId) {
23744
+ return (await fetchGatewayModelMetadata(modelId))?.capabilities ?? {
23745
+ images: false,
23746
+ files: false
23747
+ };
23748
+ }
23749
+ const ThinkingLevelSchema = zod.z.enum([
23750
+ "provider-default",
23751
+ "none",
23752
+ "minimal",
23753
+ "low",
23754
+ "medium",
23755
+ "high",
23756
+ "xhigh"
23757
+ ]);
23758
+ zod.z.object({
23759
+ systemPrompt: zod.z.string(),
23760
+ model: AgentModelIdSchema,
23761
+ thinkingLevel: ThinkingLevelSchema.optional()
23762
+ });
23763
+ //#endregion
23764
+ //#region ../../packages/shared/dist/agent-paths.mjs
23765
+ function agentMemoryStoragePrefix(agentId) {
23766
+ return `agents/${agentId}/memory/`;
23767
+ }
23768
+ function agentMemoryFileStorageKey(agentId, relativePath) {
23769
+ return `${agentMemoryStoragePrefix(agentId)}${relativePath}`;
23770
+ }
23771
+ //#endregion
23772
+ //#region ../../packages/memory/dist/index.mjs
23773
+ function resolveMemoryRelativePath(memoryDir, inputPath) {
23774
+ const normalized = (0, node_path.normalize)(inputPath.replace(/^\.\/+/, ""));
23775
+ if (normalized.startsWith("..") || normalized.includes("../")) throw new Error(`Path must stay within the memory directory: ${inputPath}`);
23776
+ const absolute = (0, node_path.resolve)(memoryDir, normalized);
23777
+ const rel = (0, node_path.relative)(memoryDir, absolute);
23778
+ if (rel.startsWith("..") || rel.includes("..")) throw new Error(`Path must stay within the memory directory: ${inputPath}`);
23779
+ return rel.length > 0 ? rel : (0, node_path.basename)(absolute);
23780
+ }
23781
+ function isBrowsableMemoryFile(relativePath) {
23782
+ if (relativePath.startsWith(".")) return false;
23783
+ if (relativePath.endsWith(".db")) return false;
23784
+ return relativePath.endsWith(".md");
23785
+ }
23786
+ /** Sort and filter relative memory paths for stable listing (disk or storage). */
23787
+ function orderMemoryRelativePaths(relativePaths) {
23788
+ const browsable = relativePaths.filter(isBrowsableMemoryFile);
23789
+ const topLevel = ["MEMORY.md", "USER.md"];
23790
+ const ordered = [];
23791
+ for (const name of topLevel) if (browsable.includes(name)) ordered.push(name);
23792
+ const archive = browsable.filter((p) => p.startsWith("archive/")).sort();
23793
+ ordered.push(...archive);
23794
+ return ordered;
23795
+ }
23796
+ const memoryPathSchema = zod.z.string().describe("Relative path under the memory dir (e.g. MEMORY.md, USER.md, archive/note.md).");
23797
+ const searchScopeSchema = zod.z.enum([
23798
+ "archive",
23799
+ "sessions",
23800
+ "all"
23801
+ ]).describe("Where to look: all (default) = archive/*.md plus every saved session transcript across all past chats; archive = long-form notes only; sessions = all past session transcripts only. USER.md and MEMORY.md are in the system snapshot — use read for those.");
23802
+ const searchQuerySchema = zod.z.string().describe("Keywords to find across archive notes and/or all past session transcripts. Plain words, case-insensitive; multiple words match if ANY word appears. Use when the user references an earlier chat or prior decision. Returns ranked snippets — use read on a hit path for the full file.");
23803
+ zod.z.object({
23804
+ action: zod.z.enum([
23805
+ "list",
23806
+ "read",
23807
+ "write",
23808
+ "edit",
23809
+ "search"
23810
+ ]).describe("list: archive/*.md filenames; read: { path }; write: { path, content }; edit: { path, oldText, newText }; search: { query, scope?, limit?, full? }."),
23811
+ path: memoryPathSchema.optional(),
23812
+ content: zod.z.string().describe("Full file content (write).").optional(),
23813
+ oldText: zod.z.string().describe("Exact text to replace, first match (edit).").optional(),
23814
+ newText: zod.z.string().describe("Replacement text; empty string deletes oldText (edit).").optional(),
23815
+ query: searchQuerySchema.optional(),
23816
+ scope: searchScopeSchema.optional(),
23817
+ limit: zod.z.number().int().min(1).max(50).optional(),
23818
+ full: zod.z.boolean().describe("When true, return complete archive note files for archive hits, ignored for session hits (search).").optional()
23819
+ });
23820
+ new node_async_hooks.AsyncLocalStorage();
23821
+ [
23822
+ "You are an expert chat title generator.",
23823
+ "",
23824
+ "Given the conversation so far (initial user message), generate a short, clear, and natural title (max 6-8 words) that captures the main topic or goal.",
23825
+ "",
23826
+ "Rules:",
23827
+ "- Be specific and descriptive; avoid vague titles like \"Conversation\" or \"Question\"",
23828
+ "- Prefer action-oriented or outcome-focused phrasing when possible",
23829
+ "- Use title case",
23830
+ "- Keep it under 65 characters when possible",
23831
+ "- Do not use quotes or emojis",
23832
+ "- Return ONLY the title, nothing else",
23833
+ "",
23834
+ "Examples:",
23835
+ "",
23836
+ "User: How do I set up a new Next.js project with TypeScript?",
23837
+ "→ Setting Up Next.js Project with TypeScript",
23838
+ "",
23839
+ "User: Help me debug this React hook that's causing infinite re-renders. Here's the code...",
23840
+ "→ Debugging Infinite Re-render in React Hook",
23841
+ "",
23842
+ "User: Write a cold email sequence for fundraising from YC alums",
23843
+ "→ YC Alumni Fundraising Cold Email Sequence"
23844
+ ].join("\n");
23845
+ const STATIC_MODEL_IDS = new Set([
23846
+ "alibaba/qwen-3-14b",
23847
+ "alibaba/qwen-3-235b",
23848
+ "alibaba/qwen-3-30b",
23849
+ "alibaba/qwen-3-32b",
23850
+ "alibaba/qwen-3.6-max-preview",
23851
+ "alibaba/qwen3-235b-a22b-thinking",
23852
+ "alibaba/qwen3-coder",
23853
+ "alibaba/qwen3-coder-30b-a3b",
23854
+ "alibaba/qwen3-coder-next",
23855
+ "alibaba/qwen3-coder-plus",
23856
+ "alibaba/qwen3-embedding-0.6b",
23857
+ "alibaba/qwen3-embedding-4b",
23858
+ "alibaba/qwen3-embedding-8b",
23859
+ "alibaba/qwen3-max",
23860
+ "alibaba/qwen3-max-preview",
23861
+ "alibaba/qwen3-max-thinking",
23862
+ "alibaba/qwen3-next-80b-a3b-instruct",
23863
+ "alibaba/qwen3-next-80b-a3b-thinking",
23864
+ "alibaba/qwen3-vl-235b-a22b-instruct",
23865
+ "alibaba/qwen3-vl-instruct",
23866
+ "alibaba/qwen3-vl-thinking",
23867
+ "alibaba/qwen3.5-flash",
23868
+ "alibaba/qwen3.5-plus",
23869
+ "alibaba/qwen3.6-27b",
23870
+ "alibaba/qwen3.6-plus",
23871
+ "alibaba/qwen3.7-max",
23872
+ "alibaba/qwen3.7-plus",
23873
+ "alibaba/wan-v2.5-t2v-preview",
23874
+ "alibaba/wan-v2.6-i2v",
23875
+ "alibaba/wan-v2.6-i2v-flash",
23876
+ "alibaba/wan-v2.6-r2v",
23877
+ "alibaba/wan-v2.6-r2v-flash",
23878
+ "alibaba/wan-v2.6-t2v",
23879
+ "amazon/nova-2-lite",
23880
+ "amazon/nova-lite",
23881
+ "amazon/nova-micro",
23882
+ "amazon/nova-pro",
23883
+ "amazon/titan-embed-text-v2",
23884
+ "anthropic/claude-3-haiku",
23885
+ "anthropic/claude-3.5-haiku",
23886
+ "anthropic/claude-haiku-4.5",
23887
+ "anthropic/claude-opus-4",
23888
+ "anthropic/claude-opus-4.1",
23889
+ "anthropic/claude-opus-4.5",
23890
+ "anthropic/claude-opus-4.6",
23891
+ "anthropic/claude-opus-4.7",
23892
+ "anthropic/claude-opus-4.8",
23893
+ "anthropic/claude-sonnet-4",
23894
+ "anthropic/claude-sonnet-4.5",
23895
+ "anthropic/claude-sonnet-4.6",
23896
+ "arcee-ai/trinity-large-preview",
23897
+ "arcee-ai/trinity-large-thinking",
23898
+ "arcee-ai/trinity-mini",
23899
+ "bfl/flux-2-flex",
23900
+ "bfl/flux-2-klein-4b",
23901
+ "bfl/flux-2-klein-9b",
23902
+ "bfl/flux-2-max",
23903
+ "bfl/flux-2-pro",
23904
+ "bfl/flux-kontext-max",
23905
+ "bfl/flux-kontext-pro",
23906
+ "bfl/flux-pro-1.0-fill",
23907
+ "bfl/flux-pro-1.1",
23908
+ "bfl/flux-pro-1.1-ultra",
23909
+ "bytedance/seed-1.6",
23910
+ "bytedance/seed-1.8",
23911
+ "bytedance/seedance-2.0",
23912
+ "bytedance/seedance-2.0-fast",
23913
+ "bytedance/seedance-v1.0-pro",
23914
+ "bytedance/seedance-v1.0-pro-fast",
23915
+ "bytedance/seedance-v1.5-pro",
23916
+ "bytedance/seedream-4.0",
23917
+ "bytedance/seedream-4.5",
23918
+ "bytedance/seedream-5.0-lite",
23919
+ "cohere/command-a",
23920
+ "cohere/embed-v4.0",
23921
+ "cohere/rerank-v3.5",
23922
+ "cohere/rerank-v4-fast",
23923
+ "cohere/rerank-v4-pro",
23924
+ "deepseek/deepseek-r1",
23925
+ "deepseek/deepseek-v3",
23926
+ "deepseek/deepseek-v3.1",
23927
+ "deepseek/deepseek-v3.1-terminus",
23928
+ "deepseek/deepseek-v3.2",
23929
+ "deepseek/deepseek-v3.2-thinking",
23930
+ "deepseek/deepseek-v4-flash",
23931
+ "deepseek/deepseek-v4-pro",
23932
+ "google/gemini-2.5-flash",
23933
+ "google/gemini-2.5-flash-image",
23934
+ "google/gemini-2.5-flash-lite",
23935
+ "google/gemini-2.5-pro",
23936
+ "google/gemini-3-flash",
23937
+ "google/gemini-3-pro-image",
23938
+ "google/gemini-3-pro-preview",
23939
+ "google/gemini-3.1-flash-image",
23940
+ "google/gemini-3.1-flash-image-preview",
23941
+ "google/gemini-3.1-flash-lite",
23942
+ "google/gemini-3.1-flash-lite-image",
23943
+ "google/gemini-3.1-flash-lite-preview",
23944
+ "google/gemini-3.1-pro-preview",
23945
+ "google/gemini-3.5-flash",
23946
+ "google/gemini-embedding-001",
23947
+ "google/gemini-embedding-2",
23948
+ "google/gemma-4-26b-a4b-it",
23949
+ "google/gemma-4-31b-it",
23950
+ "google/imagen-4.0-fast-generate-001",
23951
+ "google/imagen-4.0-generate-001",
23952
+ "google/imagen-4.0-ultra-generate-001",
23953
+ "google/text-embedding-005",
23954
+ "google/text-multilingual-embedding-002",
23955
+ "google/veo-3.0-fast-generate-001",
23956
+ "google/veo-3.0-generate-001",
23957
+ "google/veo-3.1-fast-generate-001",
23958
+ "google/veo-3.1-generate-001",
23959
+ "inception/mercury-2",
23960
+ "inception/mercury-coder-small",
23961
+ "interfaze/interfaze-beta",
23962
+ "klingai/kling-v2.5-turbo-i2v",
23963
+ "klingai/kling-v2.5-turbo-t2v",
23964
+ "klingai/kling-v2.6-i2v",
23965
+ "klingai/kling-v2.6-motion-control",
23966
+ "klingai/kling-v2.6-t2v",
23967
+ "klingai/kling-v3.0-i2v",
23968
+ "klingai/kling-v3.0-motion-control",
23969
+ "klingai/kling-v3.0-t2v",
23970
+ "kwaipilot/kat-coder-pro-v1",
23971
+ "kwaipilot/kat-coder-pro-v2",
23972
+ "meituan/longcat-flash-chat",
23973
+ "meituan/longcat-flash-thinking-2601",
23974
+ "meta/llama-3.1-70b",
23975
+ "meta/llama-3.1-8b",
23976
+ "meta/llama-3.2-11b",
23977
+ "meta/llama-3.2-1b",
23978
+ "meta/llama-3.2-3b",
23979
+ "meta/llama-3.2-90b",
23980
+ "meta/llama-3.3-70b",
23981
+ "meta/llama-4-maverick",
23982
+ "meta/llama-4-scout",
23983
+ "minimax/minimax-m2",
23984
+ "minimax/minimax-m2.1",
23985
+ "minimax/minimax-m2.1-lightning",
23986
+ "minimax/minimax-m2.5",
23987
+ "minimax/minimax-m2.5-highspeed",
23988
+ "minimax/minimax-m2.7",
23989
+ "minimax/minimax-m2.7-highspeed",
23990
+ "minimax/minimax-m3",
23991
+ "mistral/codestral",
23992
+ "mistral/codestral-embed",
23993
+ "mistral/devstral-2",
23994
+ "mistral/devstral-small",
23995
+ "mistral/devstral-small-2",
23996
+ "mistral/magistral-medium",
23997
+ "mistral/magistral-small",
23998
+ "mistral/ministral-14b",
23999
+ "mistral/ministral-3b",
24000
+ "mistral/ministral-8b",
24001
+ "mistral/mistral-embed",
24002
+ "mistral/mistral-large-3",
24003
+ "mistral/mistral-medium",
24004
+ "mistral/mistral-medium-3.5",
24005
+ "mistral/mistral-nemo",
24006
+ "mistral/mistral-small",
24007
+ "mistral/pixtral-12b",
24008
+ "mistral/pixtral-large",
24009
+ "moonshotai/kimi-k2",
24010
+ "moonshotai/kimi-k2-thinking",
24011
+ "moonshotai/kimi-k2.5",
24012
+ "moonshotai/kimi-k2.6",
24013
+ "moonshotai/kimi-k2.7-code",
24014
+ "moonshotai/kimi-k2.7-code-highspeed",
24015
+ "morph/morph-v3-fast",
24016
+ "morph/morph-v3-large",
24017
+ "nvidia/nemotron-3-nano-30b-a3b",
24018
+ "nvidia/nemotron-3-super-120b-a12b",
24019
+ "nvidia/nemotron-3-ultra-550b-a55b",
24020
+ "nvidia/nemotron-nano-12b-v2-vl",
24021
+ "nvidia/nemotron-nano-9b-v2",
24022
+ "openai/gpt-3.5-turbo",
24023
+ "openai/gpt-3.5-turbo-instruct",
24024
+ "openai/gpt-4-turbo",
24025
+ "openai/gpt-4.1",
24026
+ "openai/gpt-4.1-mini",
24027
+ "openai/gpt-4.1-nano",
24028
+ "openai/gpt-4o",
24029
+ "openai/gpt-4o-mini",
24030
+ "openai/gpt-4o-mini-search-preview",
24031
+ "openai/gpt-4o-mini-transcribe",
24032
+ "openai/gpt-4o-transcribe",
24033
+ "openai/gpt-5",
24034
+ "openai/gpt-5-chat",
24035
+ "openai/gpt-5-codex",
24036
+ "openai/gpt-5-mini",
24037
+ "openai/gpt-5-nano",
24038
+ "openai/gpt-5-pro",
24039
+ "openai/gpt-5.1-codex",
24040
+ "openai/gpt-5.1-codex-max",
24041
+ "openai/gpt-5.1-codex-mini",
24042
+ "openai/gpt-5.1-instant",
24043
+ "openai/gpt-5.1-thinking",
24044
+ "openai/gpt-5.2",
24045
+ "openai/gpt-5.2-chat",
24046
+ "openai/gpt-5.2-codex",
24047
+ "openai/gpt-5.2-pro",
24048
+ "openai/gpt-5.3-chat",
24049
+ "openai/gpt-5.3-codex",
24050
+ "openai/gpt-5.4",
24051
+ "openai/gpt-5.4-mini",
24052
+ "openai/gpt-5.4-nano",
24053
+ "openai/gpt-5.4-pro",
24054
+ "openai/gpt-5.5",
24055
+ "openai/gpt-5.5-pro",
24056
+ "openai/gpt-image-1",
24057
+ "openai/gpt-image-1-mini",
24058
+ "openai/gpt-image-1.5",
24059
+ "openai/gpt-image-2",
24060
+ "openai/gpt-oss-120b",
24061
+ "openai/gpt-oss-20b",
24062
+ "openai/gpt-oss-safeguard-20b",
24063
+ "openai/gpt-realtime-1.5",
24064
+ "openai/gpt-realtime-2",
24065
+ "openai/gpt-realtime-mini",
24066
+ "openai/o1",
24067
+ "openai/o3",
24068
+ "openai/o3-deep-research",
24069
+ "openai/o3-mini",
24070
+ "openai/o3-pro",
24071
+ "openai/o4-mini",
24072
+ "openai/text-embedding-3-large",
24073
+ "openai/text-embedding-3-small",
24074
+ "openai/text-embedding-ada-002",
24075
+ "openai/tts-1",
24076
+ "openai/tts-1-hd",
24077
+ "openai/whisper-1",
24078
+ "perplexity/sonar",
24079
+ "perplexity/sonar-pro",
24080
+ "perplexity/sonar-reasoning-pro",
24081
+ "prodia/flux-fast-schnell",
24082
+ "quiverai/arrow-1.1",
24083
+ "recraft/recraft-v2",
24084
+ "recraft/recraft-v3",
24085
+ "recraft/recraft-v4",
24086
+ "recraft/recraft-v4-pro",
24087
+ "recraft/recraft-v4.1",
24088
+ "recraft/recraft-v4.1-pro",
24089
+ "recraft/recraft-v4.1-utility",
24090
+ "recraft/recraft-v4.1-utility-pro",
24091
+ "sakana/fugu-ultra",
24092
+ "stepfun/step-3.5-flash",
24093
+ "stepfun/step-3.7-flash",
24094
+ "voyage/rerank-2.5",
24095
+ "voyage/rerank-2.5-lite",
24096
+ "voyage/voyage-3-large",
24097
+ "voyage/voyage-3.5",
24098
+ "voyage/voyage-3.5-lite",
24099
+ "voyage/voyage-4",
24100
+ "voyage/voyage-4-large",
24101
+ "voyage/voyage-4-lite",
24102
+ "voyage/voyage-code-2",
24103
+ "voyage/voyage-code-3",
24104
+ "voyage/voyage-finance-2",
24105
+ "voyage/voyage-law-2",
24106
+ "xai/grok-4.1-fast-non-reasoning",
24107
+ "xai/grok-4.1-fast-reasoning",
24108
+ "xai/grok-4.20-multi-agent",
24109
+ "xai/grok-4.20-multi-agent-beta",
24110
+ "xai/grok-4.20-non-reasoning",
24111
+ "xai/grok-4.20-non-reasoning-beta",
24112
+ "xai/grok-4.20-reasoning",
24113
+ "xai/grok-4.20-reasoning-beta",
24114
+ "xai/grok-4.3",
24115
+ "xai/grok-build-0.1",
24116
+ "xai/grok-imagine-image",
24117
+ "xai/grok-imagine-video",
24118
+ "xai/grok-imagine-video-1.5",
24119
+ "xai/grok-imagine-video-1.5-preview",
24120
+ "xai/grok-stt",
24121
+ "xai/grok-tts",
24122
+ "xai/grok-voice-think-fast-1.0",
24123
+ "xiaomi/mimo-v2-flash",
24124
+ "xiaomi/mimo-v2-pro",
24125
+ "xiaomi/mimo-v2.5",
24126
+ "xiaomi/mimo-v2.5-pro",
24127
+ "zai/glm-4.5",
24128
+ "zai/glm-4.5-air",
24129
+ "zai/glm-4.5v",
24130
+ "zai/glm-4.6",
24131
+ "zai/glm-4.6v",
24132
+ "zai/glm-4.6v-flash",
24133
+ "zai/glm-4.7",
24134
+ "zai/glm-4.7-flash",
24135
+ "zai/glm-4.7-flashx",
24136
+ "zai/glm-5",
24137
+ "zai/glm-5-turbo",
24138
+ "zai/glm-5.1",
24139
+ "zai/glm-5.2",
24140
+ "zai/glm-5.2-fast",
24141
+ "zai/glm-5v-turbo"
24142
+ ]);
24143
+ let cachedModelIds;
24144
+ let pendingModelIds;
24145
+ function resolvePlatformOriginForModelCatalog() {
24146
+ const fromKeystroke = process.env.KEYSTROKE_PLATFORM_URL?.trim();
24147
+ if (fromKeystroke) return fromKeystroke.replace(/\/+$/, "");
24148
+ const fromPlatform = process.env.PLATFORM_URL?.trim();
24149
+ if (fromPlatform) return fromPlatform.replace(/\/+$/, "");
24150
+ return require_dist.DEFAULT_CLOUD_PLATFORM_ORIGIN;
24151
+ }
24152
+ async function fetchPublicModelIds() {
24153
+ if (cachedModelIds) return cachedModelIds;
24154
+ if (pendingModelIds) return pendingModelIds;
24155
+ const platformOrigin = resolvePlatformOriginForModelCatalog();
24156
+ pendingModelIds = (async () => {
24157
+ try {
24158
+ const response = await fetch(`${platformOrigin}/api/public/models`, { headers: { accept: "application/json" } });
24159
+ if (!response.ok) throw new Error(`Failed to fetch public model catalog (${response.status})`);
24160
+ const parsed = require_dist.PublicModelsResponseSchema.safeParse(await response.json());
24161
+ if (!parsed.success || parsed.data.models.length === 0) throw new Error("Public model catalog response had no models");
24162
+ cachedModelIds = new Set(parsed.data.models);
24163
+ return cachedModelIds;
24164
+ } catch (error) {
24165
+ const message = error instanceof Error ? error.message : String(error);
24166
+ console.warn(`Skipping agent model validation: ${message}`);
24167
+ return;
24168
+ } finally {
24169
+ pendingModelIds = void 0;
24170
+ }
24171
+ })();
24172
+ return pendingModelIds;
24173
+ }
24174
+ /**
24175
+ * Fail when any model id is unknown. Checks the committed catalog first (fast,
24176
+ * offline) and only fetches the live catalog to confirm misses — so newly added
24177
+ * gateway models still validate without a per-build network round-trip.
24178
+ */
24179
+ async function validateAgentModelIds(modelIds) {
24180
+ const missingFromStatic = [...new Set(modelIds)].filter((id) => !STATIC_MODEL_IDS.has(id));
24181
+ if (missingFromStatic.length === 0) return;
24182
+ const live = await fetchPublicModelIds();
24183
+ if (!live) return;
24184
+ const unknown = missingFromStatic.filter((id) => !live.has(id));
24185
+ if (unknown.length === 0) return;
24186
+ throw new Error(unknown.length === 1 ? `Unknown gateway model: ${unknown[0]}` : `Unknown gateway models: ${unknown.join(", ")}`);
24187
+ }
24188
+ /** Collect agent model ids from a stored route manifest (deploy validation). */
24189
+ function agentModelIdsFromStoredManifest(manifest) {
24190
+ const ids = [];
24191
+ for (const entry of manifest.entries) {
24192
+ if (entry.kind !== "agent") continue;
24193
+ const parsed = AgentModelIdSchema.safeParse(entry.model);
24194
+ if (parsed.success) ids.push(parsed.data);
24195
+ }
24196
+ return ids;
24197
+ }
24198
+ //#endregion
23629
24199
  //#region ../../packages/manifest/dist/index.mjs
23630
24200
  function normalizeWebhookEndpoint(endpoint) {
23631
24201
  return endpoint.replace(/^\/+|\/+$/g, "").replace(/^triggers\/?/, "");
@@ -24279,7 +24849,7 @@ function withOrganizationProjectDatabase() {
24279
24849
  }
24280
24850
  //#endregion
24281
24851
  //#region src/routes/account/users/me/avatar/GET.ts
24282
- const handler$82 = async (c) => {
24852
+ const handler$83 = async (c) => {
24283
24853
  const dbUser = await (0, _keystrokehq_platform_database.selectUserById)(c.get("user").id);
24284
24854
  if (!dbUser) return c.json(require_dist.ErrorResponseSchema.parse({ error: "User not found" }), 404);
24285
24855
  return c.json(require_dist.UserAvatarSchema.parse({ url: dbUser.image ?? null }));
@@ -24298,7 +24868,7 @@ function avatarExtensionForContentType(contentType) {
24298
24868
  }
24299
24869
  //#endregion
24300
24870
  //#region src/routes/account/users/me/avatar/presign/POST.ts
24301
- const handler$81 = async (c) => {
24871
+ const handler$82 = async (c) => {
24302
24872
  const parsed = require_dist.PresignUserAvatarRequestSchema.safeParse(await c.req.json().catch(() => null));
24303
24873
  if (!parsed.success) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid avatar upload request" }), 400);
24304
24874
  const extension = avatarExtensionForContentType(parsed.data.contentType);
@@ -24338,7 +24908,7 @@ async function deleteStoredImageIfOwned(input) {
24338
24908
  }
24339
24909
  //#endregion
24340
24910
  //#region src/routes/account/users/me/avatar/PATCH.ts
24341
- const handler$80 = async (c) => {
24911
+ const handler$81 = async (c) => {
24342
24912
  const parsed = require_dist.UserAvatarPatchSchema.safeParse(await c.req.json().catch(() => null));
24343
24913
  if (!parsed.success) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid avatar update" }), 400);
24344
24914
  const user = c.get("user");
@@ -24380,14 +24950,14 @@ const handler$80 = async (c) => {
24380
24950
  };
24381
24951
  //#endregion
24382
24952
  //#region src/routes/account/users/me/preferences/GET.ts
24383
- const handler$79 = async (c) => {
24953
+ const handler$80 = async (c) => {
24384
24954
  const dbUser = await (0, _keystrokehq_platform_database.selectUserById)(c.get("user").id);
24385
24955
  if (!dbUser) return c.json(require_dist.ErrorResponseSchema.parse({ error: "User not found" }), 404);
24386
24956
  return c.json(require_dist.UserPreferencesSchema.parse(require_dist.normalizeUserPreferences(dbUser.preferences)));
24387
24957
  };
24388
24958
  //#endregion
24389
24959
  //#region src/routes/account/users/me/preferences/PATCH.ts
24390
- const handler$78 = async (c) => {
24960
+ const handler$79 = async (c) => {
24391
24961
  const parsed = require_dist.UserPreferencesPatchSchema.safeParse(await c.req.json().catch(() => null));
24392
24962
  if (!parsed.success) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid preferences update" }), 400);
24393
24963
  const user = c.get("user");
@@ -24402,7 +24972,7 @@ const handler$78 = async (c) => {
24402
24972
  };
24403
24973
  //#endregion
24404
24974
  //#region src/routes/account/organizations/GET.ts
24405
- const handler$77 = async (c) => {
24975
+ const handler$78 = async (c) => {
24406
24976
  const memberships = await (0, _keystrokehq_platform_database.selectUserOrganizations)(c.get("user").id);
24407
24977
  return c.json(require_dist.ListOrganizationsResponseSchema.parse(memberships.map(require_dist.mapUserOrganization)));
24408
24978
  };
@@ -24480,7 +25050,7 @@ function createOrganizationHandler(deps) {
24480
25050
  }
24481
25051
  //#endregion
24482
25052
  //#region src/routes/account/organizations/slug-available/GET.ts
24483
- const handler$76 = async (c) => {
25053
+ const handler$77 = async (c) => {
24484
25054
  const parsed = require_dist.SlugAvailabilityQuerySchema.safeParse({
24485
25055
  slug: c.req.query("slug"),
24486
25056
  excludeOrganizationId: c.req.query("excludeOrganizationId")
@@ -24491,7 +25061,7 @@ const handler$76 = async (c) => {
24491
25061
  };
24492
25062
  //#endregion
24493
25063
  //#region src/routes/account/organizations/[organizationId]/GET.ts
24494
- const handler$75 = async (c) => {
25064
+ const handler$76 = async (c) => {
24495
25065
  const { organizationId } = c.get("organization");
24496
25066
  const membership = await (0, _keystrokehq_platform_database.selectUserOrganizationMembership)(c.get("user").id, organizationId);
24497
25067
  if (!membership) throw new Error(`Organization membership missing after param guard: ${organizationId}`);
@@ -24499,7 +25069,7 @@ const handler$75 = async (c) => {
24499
25069
  };
24500
25070
  //#endregion
24501
25071
  //#region src/routes/account/organizations/[organizationId]/PATCH.ts
24502
- const handler$74 = async (c) => {
25072
+ const handler$75 = async (c) => {
24503
25073
  const organization = c.get("organization");
24504
25074
  const body = await c.req.json().catch(() => null);
24505
25075
  const parsed = require_dist.UpdateOrganizationRequestSchema.safeParse(body);
@@ -24524,7 +25094,7 @@ const handler$74 = async (c) => {
24524
25094
  };
24525
25095
  //#endregion
24526
25096
  //#region src/routes/account/organizations/[organizationId]/branding/GET.ts
24527
- const handler$73 = async (c) => {
25097
+ const handler$74 = async (c) => {
24528
25098
  const { organizationId } = c.get("organization");
24529
25099
  const organization = await (0, _keystrokehq_platform_database.selectOrganizationById)(organizationId);
24530
25100
  if (!organization) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Organization not found" }), 404);
@@ -24573,7 +25143,7 @@ async function finalizeOrgLogoVariant(input) {
24573
25143
  publicUrl: finalized.publicUrl
24574
25144
  };
24575
25145
  }
24576
- const handler$72 = async (c) => {
25146
+ const handler$73 = async (c) => {
24577
25147
  const parsed = require_dist.OrganizationSidebarBrandingPatchSchema.safeParse(await c.req.json().catch(() => null));
24578
25148
  if (!parsed.success) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid branding update" }), 400);
24579
25149
  const { organizationId } = c.get("organization");
@@ -24601,7 +25171,7 @@ const handler$72 = async (c) => {
24601
25171
  };
24602
25172
  //#endregion
24603
25173
  //#region src/routes/account/organizations/[organizationId]/branding/logo/presign/POST.ts
24604
- const handler$71 = async (c) => {
25174
+ const handler$72 = async (c) => {
24605
25175
  const parsed = require_dist.PresignOrgLogoRequestSchema.safeParse(await c.req.json().catch(() => null));
24606
25176
  if (!parsed.success) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid logo upload request" }), 400);
24607
25177
  const extension = avatarExtensionForContentType(parsed.data.contentType);
@@ -24702,7 +25272,7 @@ async function attachRanAsToDetail(detail, ranByUserId) {
24702
25272
  }
24703
25273
  //#endregion
24704
25274
  //#region src/routes/account/history/GET.ts
24705
- const handler$70 = async (c) => {
25275
+ const handler$71 = async (c) => {
24706
25276
  const organization = c.get("organization");
24707
25277
  const ctx = accessContext(c);
24708
25278
  const query = require_dist.HistoryRunListQuerySchema.parse({
@@ -24725,7 +25295,7 @@ const handler$70 = async (c) => {
24725
25295
  };
24726
25296
  //#endregion
24727
25297
  //#region src/routes/account/history/[runId]/GET.ts
24728
- const handler$69 = async (c) => {
25298
+ const handler$70 = async (c) => {
24729
25299
  const runId = c.req.param("runId") ?? "";
24730
25300
  if (!runId) return c.json(null, 404);
24731
25301
  const core = await (0, _keystrokehq_database.findHistoryRunCore)(runId);
@@ -24743,269 +25313,52 @@ const handler$69 = async (c) => {
24743
25313
  return (0, _keystrokehq_database.buildHistoryAgentSessionDetail)(agent.slug, runId);
24744
25314
  });
24745
25315
  if (!detail) return c.json(null, 404);
24746
- return c.json(require_dist.HistoryRunDetailResponseSchema.parse(await attachRanAsToDetail(detail, core.ranByUserId)));
24747
- };
24748
- //#endregion
24749
- //#region src/routes/account/resources/common.ts
24750
- /** Derive a human display name from a resource slug when no explicit name is stored. */
24751
- function titleCaseKey(slug) {
24752
- const normalized = slug.split(/[/_-]+/).filter(Boolean).join(" ");
24753
- if (!normalized) return require_dist.PLATFORM_RESOURCE_UNSUPPORTED_TEXT;
24754
- return normalized.replace(/\b\w/g, (char) => char.toUpperCase());
24755
- }
24756
- //#endregion
24757
- //#region src/routes/account/resources/agents.ts
24758
- function formatModel(model) {
24759
- if (!model) return;
24760
- return model;
24761
- }
24762
- function toAgentSummary(row, options) {
24763
- return require_dist.AgentSummarySchema.parse({
24764
- id: row.id,
24765
- slug: row.slug,
24766
- name: row.name?.trim() || titleCaseKey(row.slug),
24767
- description: row.description ?? void 0,
24768
- projectId: row.projectId,
24769
- updatedAt: row.updatedAt.toISOString(),
24770
- sourcePath: row.moduleFile,
24771
- model: formatModel(row.model),
24772
- capabilities: options?.capabilities,
24773
- systemPrompt: row.systemPrompt || void 0,
24774
- toolCount: row.toolCount ?? void 0,
24775
- credentialCount: row.credentialCount ?? void 0,
24776
- apps: (row.appSlugs ?? []).map((id) => ({
24777
- id,
24778
- label: require_dist.displayCredentialAppName(id)
24779
- })),
24780
- lastRunAt: options?.lastRunAt?.toISOString()
24781
- });
24782
- }
24783
- //#endregion
24784
- //#region src/routes/account/agents/GET.ts
24785
- const handler$68 = async (c) => {
24786
- const filter = await resolveListProjectIds(c, listScope(c, agentListScope(accessContext(c))), c.req.query("projectId"));
24787
- if (filter === "empty") return c.json(require_dist.AgentSummaryListResponseSchema.parse([]));
24788
- const rows = await (0, _keystrokehq_database.listActiveAgents)(filter);
24789
- const lastRunAtById = await (0, _keystrokehq_database.selectAgentLastRunAtByIds)(rows.map((row) => row.id));
24790
- return c.json(require_dist.AgentSummaryListResponseSchema.parse(rows.map((row) => toAgentSummary(row, { lastRunAt: lastRunAtById.get(row.id) ?? null }))));
24791
- };
24792
- //#endregion
24793
- //#region ../../packages/agent/dist/schemas-DqPtvoUX.mjs
24794
- function capabilitiesFromGatewayTags(tags) {
24795
- const set = new Set(tags ?? []);
24796
- return {
24797
- images: set.has("vision"),
24798
- files: set.has("file-input")
24799
- };
24800
- }
24801
- const DEFAULT_GATEWAY_ORIGIN = "https://ai-gateway.vercel.sh";
24802
- /** Resolve the model catalog URL for pricing metadata (via platform proxy when configured). */
24803
- function resolveGatewayCatalogUrl(modelId) {
24804
- const baseUrl = resolveGatewayBaseUrl();
24805
- const apiKey = process.env.AI_GATEWAY_API_KEY?.trim();
24806
- if (baseUrl && apiKey) return {
24807
- url: `${baseUrl.replace(/\/$/, "")}/models/${modelId}`,
24808
- headers: {
24809
- accept: "application/json",
24810
- authorization: `Bearer ${apiKey}`
24811
- },
24812
- cacheKey: baseUrl
24813
- };
24814
- return {
24815
- url: `${DEFAULT_GATEWAY_ORIGIN}/v1/models/${modelId}`,
24816
- headers: { accept: "application/json" },
24817
- cacheKey: DEFAULT_GATEWAY_ORIGIN
24818
- };
24819
- }
24820
- function resolveGatewayBaseUrl() {
24821
- const configured = process.env.AI_GATEWAY_BASE_URL?.trim();
24822
- if (configured) return configured.replace(/\/$/, "");
24823
- const platformUrl = process.env.PLATFORM_URL?.trim();
24824
- if (!platformUrl || !process.env.AI_GATEWAY_API_KEY?.trim()) return;
24825
- const projectId = (0, _keystrokehq_database.getProjectScopeId)();
24826
- return `${platformUrl.replace(/\/$/, "")}/internal/projects/${encodeURIComponent(projectId)}/llm`;
24827
- }
24828
- const AGENT_MODEL_ID_PATTERN = /^[a-z0-9-]+\/.+/;
24829
- const AgentModelIdSchema = zod.z.custom((value) => typeof value === "string" && AGENT_MODEL_ID_PATTERN.test(value), "model must be vendor/model-id");
24830
- const GatewayModelPricingSchema = zod.z.object({
24831
- input: zod.z.string().optional(),
24832
- output: zod.z.string().optional(),
24833
- input_cache_read: zod.z.string().optional()
24834
- });
24835
- const GatewayModelResponseSchema = zod.z.object({
24836
- id: zod.z.string().min(1),
24837
- name: zod.z.string().optional(),
24838
- type: zod.z.string().optional(),
24839
- context_window: zod.z.number().int().positive().optional(),
24840
- max_tokens: zod.z.number().int().positive().optional(),
24841
- tags: zod.z.array(zod.z.string()).optional(),
24842
- pricing: GatewayModelPricingSchema.optional()
24843
- });
24844
- function parseGatewayModelResponse(body) {
24845
- const parsed = GatewayModelResponseSchema.safeParse(body);
24846
- return parsed.success ? parsed.data : void 0;
24847
- }
24848
- function pricePerMillion(value) {
24849
- if (!value) return 0;
24850
- const perToken = Number(value);
24851
- if (!Number.isFinite(perToken) || perToken <= 0) return 0;
24852
- return perToken * 1e6;
24853
- }
24854
- const gatewayModelCache = /* @__PURE__ */ new Map();
24855
- const gatewayModelPending = /* @__PURE__ */ new Map();
24856
- function gatewayModelCacheKey(modelId, catalog) {
24857
- return `${catalog.cacheKey}::${modelId}`;
24858
- }
24859
- async function fetchGatewayModelMetadata(modelId) {
24860
- const catalog = resolveGatewayCatalogUrl(modelId);
24861
- const cacheKey = gatewayModelCacheKey(modelId, catalog);
24862
- const cached = gatewayModelCache.get(cacheKey);
24863
- if (cached) return cached.status === "found" ? {
24864
- pricing: cached.pricing,
24865
- capabilities: cached.capabilities
24866
- } : void 0;
24867
- const pending = gatewayModelPending.get(cacheKey);
24868
- if (pending) return pending;
24869
- const request = (async () => {
24870
- try {
24871
- const response = await fetch(catalog.url, { headers: catalog.headers });
24872
- if (!response.ok) {
24873
- gatewayModelCache.set(cacheKey, { status: "missing" });
24874
- return;
24875
- }
24876
- const raw = parseGatewayModelResponse(await response.json());
24877
- if (!raw || raw.type && raw.type !== "language") {
24878
- gatewayModelCache.set(cacheKey, { status: "missing" });
24879
- return;
24880
- }
24881
- const capabilities = capabilitiesFromGatewayTags(raw.tags);
24882
- const pricing = {
24883
- inputPerMillion: pricePerMillion(raw.pricing?.input),
24884
- outputPerMillion: pricePerMillion(raw.pricing?.output),
24885
- cacheReadPerMillion: pricePerMillion(raw.pricing?.input_cache_read)
24886
- };
24887
- gatewayModelCache.set(cacheKey, {
24888
- status: "found",
24889
- pricing,
24890
- capabilities
24891
- });
24892
- return {
24893
- pricing,
24894
- capabilities
24895
- };
24896
- } catch {
24897
- gatewayModelCache.set(cacheKey, { status: "missing" });
24898
- return;
24899
- } finally {
24900
- gatewayModelPending.delete(cacheKey);
24901
- }
24902
- })();
24903
- gatewayModelPending.set(cacheKey, request);
24904
- return request;
24905
- }
24906
- /** Cached gateway catalog lookup for model multimodal capabilities. */
24907
- async function resolveModelCapabilities(modelId) {
24908
- return (await fetchGatewayModelMetadata(modelId))?.capabilities ?? {
24909
- images: false,
24910
- files: false
24911
- };
24912
- }
24913
- const ThinkingLevelSchema = zod.z.enum([
24914
- "provider-default",
24915
- "none",
24916
- "minimal",
24917
- "low",
24918
- "medium",
24919
- "high",
24920
- "xhigh"
24921
- ]);
24922
- zod.z.object({
24923
- systemPrompt: zod.z.string(),
24924
- model: AgentModelIdSchema,
24925
- thinkingLevel: ThinkingLevelSchema.optional()
24926
- });
25316
+ return c.json(require_dist.HistoryRunDetailResponseSchema.parse(await attachRanAsToDetail(detail, core.ranByUserId)));
25317
+ };
24927
25318
  //#endregion
24928
- //#region ../../packages/shared/dist/agent-paths.mjs
24929
- function agentMemoryStoragePrefix(agentId) {
24930
- return `agents/${agentId}/memory/`;
24931
- }
24932
- function agentMemoryFileStorageKey(agentId, relativePath) {
24933
- return `${agentMemoryStoragePrefix(agentId)}${relativePath}`;
25319
+ //#region src/routes/account/resources/common.ts
25320
+ /** Derive a human display name from a resource slug when no explicit name is stored. */
25321
+ function titleCaseKey(slug) {
25322
+ const normalized = slug.split(/[/_-]+/).filter(Boolean).join(" ");
25323
+ if (!normalized) return require_dist.PLATFORM_RESOURCE_UNSUPPORTED_TEXT;
25324
+ return normalized.replace(/\b\w/g, (char) => char.toUpperCase());
24934
25325
  }
24935
25326
  //#endregion
24936
- //#region ../../packages/memory/dist/index.mjs
24937
- function resolveMemoryRelativePath(memoryDir, inputPath) {
24938
- const normalized = (0, node_path.normalize)(inputPath.replace(/^\.\/+/, ""));
24939
- if (normalized.startsWith("..") || normalized.includes("../")) throw new Error(`Path must stay within the memory directory: ${inputPath}`);
24940
- const absolute = (0, node_path.resolve)(memoryDir, normalized);
24941
- const rel = (0, node_path.relative)(memoryDir, absolute);
24942
- if (rel.startsWith("..") || rel.includes("..")) throw new Error(`Path must stay within the memory directory: ${inputPath}`);
24943
- return rel.length > 0 ? rel : (0, node_path.basename)(absolute);
24944
- }
24945
- function isBrowsableMemoryFile(relativePath) {
24946
- if (relativePath.startsWith(".")) return false;
24947
- if (relativePath.endsWith(".db")) return false;
24948
- return relativePath.endsWith(".md");
25327
+ //#region src/routes/account/resources/agents.ts
25328
+ function formatModel(model) {
25329
+ if (!model) return;
25330
+ return model;
24949
25331
  }
24950
- /** Sort and filter relative memory paths for stable listing (disk or storage). */
24951
- function orderMemoryRelativePaths(relativePaths) {
24952
- const browsable = relativePaths.filter(isBrowsableMemoryFile);
24953
- const topLevel = ["MEMORY.md", "USER.md"];
24954
- const ordered = [];
24955
- for (const name of topLevel) if (browsable.includes(name)) ordered.push(name);
24956
- const archive = browsable.filter((p) => p.startsWith("archive/")).sort();
24957
- ordered.push(...archive);
24958
- return ordered;
25332
+ function toAgentSummary(row, options) {
25333
+ return require_dist.AgentSummarySchema.parse({
25334
+ id: row.id,
25335
+ slug: row.slug,
25336
+ name: row.name?.trim() || titleCaseKey(row.slug),
25337
+ description: row.description ?? void 0,
25338
+ projectId: row.projectId,
25339
+ updatedAt: row.updatedAt.toISOString(),
25340
+ sourcePath: row.moduleFile,
25341
+ model: formatModel(row.model),
25342
+ capabilities: options?.capabilities,
25343
+ systemPrompt: row.systemPrompt || void 0,
25344
+ toolCount: row.toolCount ?? void 0,
25345
+ credentialCount: row.credentialCount ?? void 0,
25346
+ apps: (row.appSlugs ?? []).map((id) => ({
25347
+ id,
25348
+ label: require_dist.displayCredentialAppName(id)
25349
+ })),
25350
+ lastRunAt: options?.lastRunAt?.toISOString()
25351
+ });
24959
25352
  }
24960
- const memoryPathSchema = zod.z.string().describe("Relative path under the memory dir (e.g. MEMORY.md, USER.md, archive/note.md).");
24961
- const searchScopeSchema = zod.z.enum([
24962
- "archive",
24963
- "sessions",
24964
- "all"
24965
- ]).describe("Where to look: all (default) = archive/*.md plus every saved session transcript across all past chats; archive = long-form notes only; sessions = all past session transcripts only. USER.md and MEMORY.md are in the system snapshot — use read for those.");
24966
- const searchQuerySchema = zod.z.string().describe("Keywords to find across archive notes and/or all past session transcripts. Plain words, case-insensitive; multiple words match if ANY word appears. Use when the user references an earlier chat or prior decision. Returns ranked snippets — use read on a hit path for the full file.");
24967
- zod.z.object({
24968
- action: zod.z.enum([
24969
- "list",
24970
- "read",
24971
- "write",
24972
- "edit",
24973
- "search"
24974
- ]).describe("list: archive/*.md filenames; read: { path }; write: { path, content }; edit: { path, oldText, newText }; search: { query, scope?, limit?, full? }."),
24975
- path: memoryPathSchema.optional(),
24976
- content: zod.z.string().describe("Full file content (write).").optional(),
24977
- oldText: zod.z.string().describe("Exact text to replace, first match (edit).").optional(),
24978
- newText: zod.z.string().describe("Replacement text; empty string deletes oldText (edit).").optional(),
24979
- query: searchQuerySchema.optional(),
24980
- scope: searchScopeSchema.optional(),
24981
- limit: zod.z.number().int().min(1).max(50).optional(),
24982
- full: zod.z.boolean().describe("When true, return complete archive note files for archive hits, ignored for session hits (search).").optional()
24983
- });
24984
- new node_async_hooks.AsyncLocalStorage();
24985
- [
24986
- "You are an expert chat title generator.",
24987
- "",
24988
- "Given the conversation so far (initial user message), generate a short, clear, and natural title (max 6-8 words) that captures the main topic or goal.",
24989
- "",
24990
- "Rules:",
24991
- "- Be specific and descriptive; avoid vague titles like \"Conversation\" or \"Question\"",
24992
- "- Prefer action-oriented or outcome-focused phrasing when possible",
24993
- "- Use title case",
24994
- "- Keep it under 65 characters when possible",
24995
- "- Do not use quotes or emojis",
24996
- "- Return ONLY the title, nothing else",
24997
- "",
24998
- "Examples:",
24999
- "",
25000
- "User: How do I set up a new Next.js project with TypeScript?",
25001
- "→ Setting Up Next.js Project with TypeScript",
25002
- "",
25003
- "User: Help me debug this React hook that's causing infinite re-renders. Here's the code...",
25004
- "→ Debugging Infinite Re-render in React Hook",
25005
- "",
25006
- "User: Write a cold email sequence for fundraising from YC alums",
25007
- "→ YC Alumni Fundraising Cold Email Sequence"
25008
- ].join("\n");
25353
+ //#endregion
25354
+ //#region src/routes/account/agents/GET.ts
25355
+ const handler$69 = async (c) => {
25356
+ const filter = await resolveListProjectIds(c, listScope(c, agentListScope(accessContext(c))), c.req.query("projectId"));
25357
+ if (filter === "empty") return c.json(require_dist.AgentSummaryListResponseSchema.parse([]));
25358
+ const rows = await (0, _keystrokehq_database.listActiveAgents)(filter);
25359
+ const lastRunAtById = await (0, _keystrokehq_database.selectAgentLastRunAtByIds)(rows.map((row) => row.id));
25360
+ return c.json(require_dist.AgentSummaryListResponseSchema.parse(rows.map((row) => toAgentSummary(row, { lastRunAt: lastRunAtById.get(row.id) ?? null }))));
25361
+ };
25009
25362
  //#endregion
25010
25363
  //#region src/routes/account/lib/touch-resource-activity.ts
25011
25364
  function touchResourceActivityBestEffort(options) {
@@ -25013,7 +25366,7 @@ function touchResourceActivityBestEffort(options) {
25013
25366
  }
25014
25367
  //#endregion
25015
25368
  //#region src/routes/account/agents/[agentId]/GET.ts
25016
- const handler$67 = async (c) => {
25369
+ const handler$68 = async (c) => {
25017
25370
  const agentId = c.req.param("agentId") ?? "";
25018
25371
  const row = agentId ? await (0, _keystrokehq_database.selectActiveAgentById)(agentId) : void 0;
25019
25372
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessAgent)) return c.json(require_dist.AgentSummaryDetailResponseSchema.parse(null));
@@ -25036,7 +25389,7 @@ const handler$67 = async (c) => {
25036
25389
  function relativePathsFromStorageKeys(prefix, keys) {
25037
25390
  return keys.filter((key) => key.startsWith(prefix) && key.endsWith(".md")).map((key) => key.slice(prefix.length)).filter((path) => !path.startsWith(".") && !path.includes("/."));
25038
25391
  }
25039
- const handler$66 = async (c) => {
25392
+ const handler$67 = async (c) => {
25040
25393
  const agentId = c.req.param("agentId") ?? "";
25041
25394
  const row = agentId ? await (0, _keystrokehq_database.selectActiveAgentById)(agentId) : void 0;
25042
25395
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessAgent)) return c.json(require_dist.ListAgentMemoryFilesResponseSchema.parse({ files: [] }), 404);
@@ -25061,7 +25414,7 @@ function isStorageNotFoundError(error) {
25061
25414
  const status = typeof record.$metadata === "object" && record.$metadata !== null ? record.$metadata.httpStatusCode : void 0;
25062
25415
  return name === "NoSuchKey" || code === "NoSuchKey" || code === "NotFound" || status === 404;
25063
25416
  }
25064
- const handler$65 = async (c) => {
25417
+ const handler$66 = async (c) => {
25065
25418
  const agentId = c.req.param("agentId") ?? "";
25066
25419
  const path = c.req.query("path");
25067
25420
  if (!path) return c.json(require_dist.ErrorResponseSchema.parse({ error: "File path is required" }), 400);
@@ -25115,7 +25468,7 @@ function workspaceRelativePathsFromStorageKeys(keys) {
25115
25468
  }
25116
25469
  //#endregion
25117
25470
  //#region src/routes/account/agents/[agentId]/workspace/files/GET.ts
25118
- const handler$64 = async (c) => {
25471
+ const handler$65 = async (c) => {
25119
25472
  const agentId = c.req.param("agentId") ?? "";
25120
25473
  const row = agentId ? await (0, _keystrokehq_database.selectActiveAgentById)(agentId) : void 0;
25121
25474
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessAgent)) return c.json(require_dist.ListAgentWorkspaceFilesResponseSchema.parse({ files: [] }), 404);
@@ -25138,7 +25491,7 @@ const handler$64 = async (c) => {
25138
25491
  };
25139
25492
  //#endregion
25140
25493
  //#region src/routes/account/agents/[agentId]/workspace/files/content/GET.ts
25141
- const handler$63 = async (c) => {
25494
+ const handler$64 = async (c) => {
25142
25495
  const agentId = c.req.param("agentId") ?? "";
25143
25496
  const path = c.req.query("path");
25144
25497
  if (!path) return c.json(require_dist.ErrorResponseSchema.parse({ error: "File path is required" }), 400);
@@ -25187,7 +25540,7 @@ async function cancelHistoryRun(c, kind, cancel) {
25187
25540
  }
25188
25541
  //#endregion
25189
25542
  //#region src/routes/account/agents/sessions/[sessionId]/cancel/POST.ts
25190
- const handler$62 = (c) => cancelHistoryRun(c, "agent", _keystrokehq_database.cancelAgentSession);
25543
+ const handler$63 = (c) => cancelHistoryRun(c, "agent", _keystrokehq_database.cancelAgentSession);
25191
25544
  //#endregion
25192
25545
  //#region src/routes/account/resources/workflows.ts
25193
25546
  function toWorkflowSummary(row, options) {
@@ -25204,7 +25557,7 @@ function toWorkflowSummary(row, options) {
25204
25557
  }
25205
25558
  //#endregion
25206
25559
  //#region src/routes/account/workflows/GET.ts
25207
- const handler$61 = async (c) => {
25560
+ const handler$62 = async (c) => {
25208
25561
  const filter = await resolveListProjectIds(c, listScope(c, workflowListScope(accessContext(c))), c.req.query("projectId"));
25209
25562
  if (filter === "empty") return c.json(require_dist.WorkflowSummaryListResponseSchema.parse([]));
25210
25563
  const rows = await (0, _keystrokehq_database.listActiveWorkflows)(filter);
@@ -25213,7 +25566,7 @@ const handler$61 = async (c) => {
25213
25566
  };
25214
25567
  //#endregion
25215
25568
  //#region src/routes/account/workflows/[workflowId]/GET.ts
25216
- const handler$60 = async (c) => {
25569
+ const handler$61 = async (c) => {
25217
25570
  const workflowId = c.req.param("workflowId") ?? "";
25218
25571
  const row = workflowId ? await (0, _keystrokehq_database.selectActiveWorkflowById)(workflowId) : void 0;
25219
25572
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessWorkflow)) return c.json(require_dist.WorkflowSummaryDetailResponseSchema.parse(null));
@@ -25228,7 +25581,7 @@ const handler$60 = async (c) => {
25228
25581
  };
25229
25582
  //#endregion
25230
25583
  //#region src/routes/account/workflows/runs/[runId]/cancel/POST.ts
25231
- const handler$59 = (c) => cancelHistoryRun(c, "workflow", _keystrokehq_database.cancelWorkflowRun);
25584
+ const handler$60 = (c) => cancelHistoryRun(c, "workflow", _keystrokehq_database.cancelWorkflowRun);
25232
25585
  //#endregion
25233
25586
  //#region src/routes/account/resources/skills.ts
25234
25587
  function toSkillSummary(row) {
@@ -25244,7 +25597,7 @@ function toSkillSummary(row) {
25244
25597
  }
25245
25598
  //#endregion
25246
25599
  //#region src/routes/account/skills/GET.ts
25247
- const handler$58 = async (c) => {
25600
+ const handler$59 = async (c) => {
25248
25601
  const filter = await resolveListProjectIds(c, listScope(c, skillListScope(accessContext(c))), c.req.query("projectId"));
25249
25602
  if (filter === "empty") return c.json(require_dist.SkillSummaryListResponseSchema.parse([]));
25250
25603
  const rows = await (0, _keystrokehq_database.listActiveSkills)(filter);
@@ -25252,7 +25605,7 @@ const handler$58 = async (c) => {
25252
25605
  };
25253
25606
  //#endregion
25254
25607
  //#region src/routes/account/skills/[skillId]/GET.ts
25255
- const handler$57 = async (c) => {
25608
+ const handler$58 = async (c) => {
25256
25609
  const skillId = c.req.param("skillId") ?? "";
25257
25610
  const row = skillId ? await (0, _keystrokehq_database.selectActiveSkillById)(skillId) : void 0;
25258
25611
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessSkill)) return c.json(require_dist.SkillSummaryDetailResponseSchema.parse(null));
@@ -25359,7 +25712,7 @@ function toWorkspaceTriggerRunSummary(item, assignments) {
25359
25712
  }
25360
25713
  //#endregion
25361
25714
  //#region src/routes/account/triggers/GET.ts
25362
- const handler$56 = async (c) => {
25715
+ const handler$57 = async (c) => {
25363
25716
  const organization = c.get("organization");
25364
25717
  const scope = listScope(c, projectListScope(accessContext(c)));
25365
25718
  const filter = await resolveListProjectIds(c, scope, c.req.query("projectId"));
@@ -25375,7 +25728,7 @@ const handler$56 = async (c) => {
25375
25728
  };
25376
25729
  //#endregion
25377
25730
  //#region src/routes/account/triggers/[triggerId]/GET.ts
25378
- const handler$55 = async (c) => {
25731
+ const handler$56 = async (c) => {
25379
25732
  const organization = c.get("organization");
25380
25733
  const triggerId = c.req.param("triggerId") ?? "";
25381
25734
  if (!triggerId.trim()) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -25391,7 +25744,7 @@ const handler$55 = async (c) => {
25391
25744
  };
25392
25745
  //#endregion
25393
25746
  //#region src/routes/account/triggers/[triggerId]/runs/GET.ts
25394
- const handler$54 = async (c) => {
25747
+ const handler$55 = async (c) => {
25395
25748
  const triggerId = c.req.param("triggerId") ?? "";
25396
25749
  if (!triggerId.trim()) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
25397
25750
  const filter = await resolveListProjectIds(c, listScope(c, projectListScope(accessContext(c))));
@@ -25418,7 +25771,7 @@ const handler$54 = async (c) => {
25418
25771
  };
25419
25772
  //#endregion
25420
25773
  //#region src/routes/account/triggers/[triggerId]/file/GET.ts
25421
- const handler$53 = async (c) => {
25774
+ const handler$54 = async (c) => {
25422
25775
  const { organizationId } = c.get("organization");
25423
25776
  const triggerId = c.req.param("triggerId") ?? "";
25424
25777
  if (!triggerId.trim()) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -25455,7 +25808,7 @@ function envelope(row, status, hash) {
25455
25808
  model: row.overviewModel ?? "deepseek/deepseek-v4-flash"
25456
25809
  });
25457
25810
  }
25458
- const handler$52 = async (c) => {
25811
+ const handler$53 = async (c) => {
25459
25812
  const { organizationId } = c.get("organization");
25460
25813
  const triggerId = c.req.param("triggerId") ?? "";
25461
25814
  if (!triggerId.trim()) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -25515,7 +25868,7 @@ const handler$52 = async (c) => {
25515
25868
  };
25516
25869
  //#endregion
25517
25870
  //#region src/routes/account/triggers/[triggerId]/attachments/[attachmentId]/PATCH.ts
25518
- const handler$51 = async (c) => {
25871
+ const handler$52 = async (c) => {
25519
25872
  const organization = c.get("organization");
25520
25873
  const triggerId = c.req.param("triggerId") ?? "";
25521
25874
  const attachmentId = c.req.param("attachmentId") ?? "";
@@ -25579,7 +25932,7 @@ function latestRecentInteractionAt(recent) {
25579
25932
  //#endregion
25580
25933
  //#region src/routes/account/recents/GET.ts
25581
25934
  const RECENTS_LIMIT = 50;
25582
- const handler$50 = async (c) => {
25935
+ const handler$51 = async (c) => {
25583
25936
  const userId = c.get("user").id;
25584
25937
  const organization = c.get("organization");
25585
25938
  const grantedProjectIdsList = await grantedProjectIds(c, { kind: "member-only" });
@@ -25605,7 +25958,7 @@ const handler$50 = async (c) => {
25605
25958
  };
25606
25959
  //#endregion
25607
25960
  //#region src/routes/account/projects/GET.ts
25608
- const handler$49 = async (c) => {
25961
+ const handler$50 = async (c) => {
25609
25962
  const organization = c.get("organization");
25610
25963
  const grantedProjectIdsList = await grantedProjectIds(c, listScope(c, projectListScope(accessContext(c))));
25611
25964
  const projects = await (0, _keystrokehq_platform_database.selectProjectsByOrganizationId)(organization.organizationId, { grantedProjectIds: grantedProjectIdsList });
@@ -25631,7 +25984,7 @@ function mergeProjectListMetrics(input) {
25631
25984
  }
25632
25985
  //#endregion
25633
25986
  //#region src/routes/account/projects/metrics/GET.ts
25634
- const handler$48 = async (c) => {
25987
+ const handler$49 = async (c) => {
25635
25988
  const organization = c.get("organization");
25636
25989
  const grantedProjectIdsList = await grantedProjectIds(c, listScope(c, projectListScope(accessContext(c))));
25637
25990
  const [resourceCounts, lastDeploymentAtByProject] = await Promise.all([(0, _keystrokehq_database.selectProjectResourceCounts)(grantedProjectIdsList !== void 0 ? { projectIds: grantedProjectIdsList } : void 0), (0, _keystrokehq_platform_database.selectLastDeploymentAtByProject)(organization.organizationId)]);
@@ -25647,7 +26000,7 @@ const handler$48 = async (c) => {
25647
26000
  };
25648
26001
  //#endregion
25649
26002
  //#region src/routes/account/projects/POST.ts
25650
- const handler$47 = async (c) => {
26003
+ const handler$48 = async (c) => {
25651
26004
  const organization = c.get("organization");
25652
26005
  const user = c.get("user");
25653
26006
  const body = await c.req.json().catch(() => null);
@@ -25658,7 +26011,7 @@ const handler$47 = async (c) => {
25658
26011
  };
25659
26012
  //#endregion
25660
26013
  //#region src/routes/account/projects/slug-available/GET.ts
25661
- const handler$46 = async (c) => {
26014
+ const handler$47 = async (c) => {
25662
26015
  const organization = c.get("organization");
25663
26016
  const parsed = require_dist.ProjectSlugAvailabilityQuerySchema.safeParse({
25664
26017
  slug: c.req.query("slug"),
@@ -25670,12 +26023,12 @@ const handler$46 = async (c) => {
25670
26023
  };
25671
26024
  //#endregion
25672
26025
  //#region src/routes/account/projects/[projectId]/GET.ts
25673
- const handler$45 = async (c) => {
26026
+ const handler$46 = async (c) => {
25674
26027
  return c.json(require_dist.ProjectResponseSchema.parse(routeProject(c.get("project"))));
25675
26028
  };
25676
26029
  //#endregion
25677
26030
  //#region src/routes/account/projects/[projectId]/PATCH.ts
25678
- const handler$44 = async (c) => {
26031
+ const handler$45 = async (c) => {
25679
26032
  const organization = c.get("organization");
25680
26033
  const project = c.get("project");
25681
26034
  const body = await c.req.json().catch(() => null);
@@ -25693,7 +26046,7 @@ const handler$44 = async (c) => {
25693
26046
  };
25694
26047
  //#endregion
25695
26048
  //#region src/routes/account/projects/[projectId]/DELETE.ts
25696
- const handler$43 = async (c) => {
26049
+ const handler$44 = async (c) => {
25697
26050
  const organization = c.get("organization");
25698
26051
  const project = c.get("project");
25699
26052
  if (!await (0, _keystrokehq_platform_database.deleteProjectForOrganization)(organization.organizationId, project.id)) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Project not found" }), 404);
@@ -25701,7 +26054,7 @@ const handler$43 = async (c) => {
25701
26054
  };
25702
26055
  //#endregion
25703
26056
  //#region src/routes/account/projects/[projectId]/deployments/GET.ts
25704
- const handler$42 = async (c) => {
26057
+ const handler$43 = async (c) => {
25705
26058
  const rows = await (0, _keystrokehq_platform_database.selectProjectDeployments)(c.get("project").id);
25706
26059
  return c.json(require_dist.ListProjectDeploymentsResponseSchema.parse(rows.map(require_dist.mapProjectDeployment)));
25707
26060
  };
@@ -25709,7 +26062,7 @@ const handler$42 = async (c) => {
25709
26062
  //#region src/routes/account/projects/[projectId]/artifacts/POST.ts
25710
26063
  const DEFAULT_PRESIGN_TTL_SECONDS$1 = 900;
25711
26064
  const ARTIFACT_CONTENT_TYPE = "application/gzip";
25712
- const handler$41 = async (c) => {
26065
+ const handler$42 = async (c) => {
25713
26066
  const project = c.get("project");
25714
26067
  const { organizationId } = c.get("organization");
25715
26068
  const organization = await (0, _keystrokehq_platform_database.selectOrganizationById)(organizationId);
@@ -25737,7 +26090,7 @@ const handler$41 = async (c) => {
25737
26090
  //#endregion
25738
26091
  //#region src/routes/account/projects/[projectId]/artifacts/active/download/GET.ts
25739
26092
  const DEFAULT_PRESIGN_TTL_SECONDS = 900;
25740
- const handler$40 = async (c) => {
26093
+ const handler$41 = async (c) => {
25741
26094
  const project = c.get("project");
25742
26095
  const { organizationId } = c.get("organization");
25743
26096
  const organization = await (0, _keystrokehq_platform_database.selectOrganizationById)(organizationId);
@@ -25756,7 +26109,7 @@ const handler$40 = async (c) => {
25756
26109
  };
25757
26110
  //#endregion
25758
26111
  //#region src/routes/account/projects/[projectId]/artifacts/active/source/GET.ts
25759
- const handler$39 = async (c) => {
26112
+ const handler$40 = async (c) => {
25760
26113
  const project = c.get("project");
25761
26114
  const active = await (0, _keystrokehq_platform_database.selectActiveArtifactSourceManifestForProject)(project.id);
25762
26115
  if (!active?.sourceManifestJson) return c.json(require_dist.ErrorResponseSchema.parse({ error: "No active source for project" }), 404);
@@ -25779,7 +26132,7 @@ const handler$39 = async (c) => {
25779
26132
  };
25780
26133
  //#endregion
25781
26134
  //#region src/routes/account/projects/[projectId]/artifacts/[artifactId]/complete/POST.ts
25782
- const handler$38 = async (c) => {
26135
+ const handler$39 = async (c) => {
25783
26136
  const project = c.get("project");
25784
26137
  const artifactId = c.req.param("artifactId");
25785
26138
  if (!artifactId) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Artifact id is required" }), 400);
@@ -25796,6 +26149,7 @@ const handler$38 = async (c) => {
25796
26149
  const artifactBytes = await storage.getObject(existing.storageKey);
25797
26150
  if (!artifactBytes || artifactBytes.byteLength <= 0) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Artifact upload not found in storage" }), 400);
25798
26151
  const manifestJson = require_dist.parseStoredRouteManifest(require_dist.extractRouteManifestFromArtifact(Buffer.from(artifactBytes)));
26152
+ await validateAgentModelIds(agentModelIdsFromStoredManifest(manifestJson));
25799
26153
  const result = await (0, _keystrokehq_platform_database.completeProjectArtifact)({
25800
26154
  artifactId,
25801
26155
  projectId: project.id,
@@ -25818,7 +26172,7 @@ const handler$38 = async (c) => {
25818
26172
  //#endregion
25819
26173
  //#region src/routes/account/projects/[projectId]/artifacts/[artifactId]/source/presign/POST.ts
25820
26174
  const SOURCE_BLOB_CONTENT_TYPE = "text/plain; charset=utf-8";
25821
- const handler$37 = async (c) => {
26175
+ const handler$38 = async (c) => {
25822
26176
  const project = c.get("project");
25823
26177
  const artifactId = c.req.param("artifactId");
25824
26178
  if (!artifactId) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Artifact id is required" }), 400);
@@ -25846,7 +26200,7 @@ const handler$37 = async (c) => {
25846
26200
  };
25847
26201
  //#endregion
25848
26202
  //#region src/routes/account/projects/[projectId]/artifacts/[artifactId]/source/manifest/POST.ts
25849
- const handler$36 = async (c) => {
26203
+ const handler$37 = async (c) => {
25850
26204
  const project = c.get("project");
25851
26205
  const artifactId = c.req.param("artifactId");
25852
26206
  if (!artifactId) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Artifact id is required" }), 400);
@@ -25878,7 +26232,7 @@ function extensionFromUpload(contentType, filename) {
25878
26232
  if (fromName && /^[a-z0-9]+$/.test(fromName)) return fromName;
25879
26233
  return require_dist.chatAttachmentExtension(contentType) ?? "bin";
25880
26234
  }
25881
- const handler$35 = async (c) => {
26235
+ const handler$36 = async (c) => {
25882
26236
  const project = c.get("project");
25883
26237
  const slug = c.req.param("slug");
25884
26238
  if (!slug) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Agent slug is required" }), 400);
@@ -25903,7 +26257,7 @@ const handler$35 = async (c) => {
25903
26257
  };
25904
26258
  //#endregion
25905
26259
  //#region src/routes/account/projects/[projectId]/agents/[slug]/attachments/[...key]/GET.ts
25906
- const handler$34 = async (c) => {
26260
+ const handler$35 = async (c) => {
25907
26261
  const project = c.get("project");
25908
26262
  const slug = c.req.param("slug");
25909
26263
  const keyParam = c.req.param("key");
@@ -25938,7 +26292,7 @@ function resolveSourcePaths(rows, kindDir, filePaths) {
25938
26292
  }] : [];
25939
26293
  });
25940
26294
  }
25941
- const handler$33 = async (c) => {
26295
+ const handler$34 = async (c) => {
25942
26296
  const project = c.get("project");
25943
26297
  const active = await (0, _keystrokehq_platform_database.selectActiveArtifactSourceManifestForProject)(project.id);
25944
26298
  if (!active || !active.sourceManifestJson) return c.json(require_dist.ListProjectFilesResponseSchema.parse({
@@ -25972,7 +26326,7 @@ const handler$33 = async (c) => {
25972
26326
  };
25973
26327
  //#endregion
25974
26328
  //#region src/routes/account/projects/[projectId]/artifacts/[artifactId]/files/content/GET.ts
25975
- const handler$32 = async (c) => {
26329
+ const handler$33 = async (c) => {
25976
26330
  const project = c.get("project");
25977
26331
  const artifactId = c.req.param("artifactId");
25978
26332
  if (!artifactId) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Artifact id is required" }), 400);
@@ -26011,7 +26365,7 @@ function createProjectReachabilityHandler(hosting) {
26011
26365
  }
26012
26366
  //#endregion
26013
26367
  //#region src/routes/account/projects/[projectId]/members/GET.ts
26014
- const handler$31 = async (c) => {
26368
+ const handler$32 = async (c) => {
26015
26369
  const project = c.get("project");
26016
26370
  const currentUserId = c.get("user").id;
26017
26371
  const members = await (0, _keystrokehq_platform_database.selectProjectMembers)(project.id);
@@ -26019,7 +26373,7 @@ const handler$31 = async (c) => {
26019
26373
  };
26020
26374
  //#endregion
26021
26375
  //#region src/routes/account/projects/[projectId]/members/POST.ts
26022
- const handler$30 = async (c) => {
26376
+ const handler$31 = async (c) => {
26023
26377
  const organization = c.get("organization");
26024
26378
  const project = c.get("project");
26025
26379
  const body = await c.req.json().catch(() => null);
@@ -26035,7 +26389,7 @@ const handler$30 = async (c) => {
26035
26389
  };
26036
26390
  //#endregion
26037
26391
  //#region src/routes/account/projects/[projectId]/members/[userId]/PATCH.ts
26038
- const handler$29 = async (c) => {
26392
+ const handler$30 = async (c) => {
26039
26393
  const project = c.get("project");
26040
26394
  const userId = c.req.param("userId");
26041
26395
  const body = await c.req.json().catch(() => null);
@@ -26052,7 +26406,7 @@ const handler$29 = async (c) => {
26052
26406
  };
26053
26407
  //#endregion
26054
26408
  //#region src/routes/account/projects/[projectId]/members/[userId]/DELETE.ts
26055
- const handler$28 = async (c) => {
26409
+ const handler$29 = async (c) => {
26056
26410
  const project = c.get("project");
26057
26411
  const userId = c.req.param("userId");
26058
26412
  if (!userId) return c.json(require_dist.ErrorResponseSchema.parse({ error: "User id is required" }), 400);
@@ -26066,7 +26420,7 @@ const handler$28 = async (c) => {
26066
26420
  };
26067
26421
  //#endregion
26068
26422
  //#region src/routes/account/projects/[projectId]/members/me/DELETE.ts
26069
- const handler$27 = async (c) => {
26423
+ const handler$28 = async (c) => {
26070
26424
  const project = c.get("project");
26071
26425
  const userId = c.get("user").id;
26072
26426
  try {
@@ -26079,13 +26433,13 @@ const handler$27 = async (c) => {
26079
26433
  };
26080
26434
  //#endregion
26081
26435
  //#region src/routes/account/projects/[projectId]/settings/GET.ts
26082
- const handler$26 = async (c) => {
26436
+ const handler$27 = async (c) => {
26083
26437
  const project = c.get("project");
26084
26438
  return c.json(require_dist.ProjectSettingsResponseSchema.parse(require_dist.mapProjectSettings(project)));
26085
26439
  };
26086
26440
  //#endregion
26087
26441
  //#region src/routes/account/projects/[projectId]/settings/PATCH.ts
26088
- const handler$25 = async (c) => {
26442
+ const handler$26 = async (c) => {
26089
26443
  const organization = c.get("organization");
26090
26444
  const project = c.get("project");
26091
26445
  const body = await c.req.json().catch(() => null);
@@ -26235,7 +26589,7 @@ async function enrichCredentialInstances(rows, organizationId) {
26235
26589
  }
26236
26590
  //#endregion
26237
26591
  //#region src/routes/account/credentials/GET.ts
26238
- const handler$24 = async (c) => {
26592
+ const handler$25 = async (c) => {
26239
26593
  const organization = c.get("organization");
26240
26594
  const user = c.get("user");
26241
26595
  const [rows, granted] = await Promise.all([(0, _keystrokehq_database.listAllCredentialInstances)(), grantedProjectIds(c, listScope(c, credentialListScope(accessContext(c))))]);
@@ -26252,7 +26606,7 @@ function withTargetScope(target, fn) {
26252
26606
  if (target.projectScope) return (0, _keystrokehq_database.runWithProjectScope)(target.projectScope, fn);
26253
26607
  return fn();
26254
26608
  }
26255
- const handler$23 = async (c) => {
26609
+ const handler$24 = async (c) => {
26256
26610
  const organization = c.get("organization");
26257
26611
  const user = c.get("user");
26258
26612
  const parsed = require_dist.CreateCredentialsRequestSchema.safeParse(await c.req.json().catch(() => null));
@@ -26333,7 +26687,7 @@ const handler$23 = async (c) => {
26333
26687
  };
26334
26688
  //#endregion
26335
26689
  //#region src/routes/account/credentials/[credentialId]/GET.ts
26336
- const handler$22 = async (c) => {
26690
+ const handler$23 = async (c) => {
26337
26691
  const organization = c.get("organization");
26338
26692
  const credentialId = c.req.param("credentialId") ?? "";
26339
26693
  const row = credentialId ? await (0, _keystrokehq_database.selectCredentialInstanceById)(credentialId) : void 0;
@@ -26343,7 +26697,7 @@ const handler$22 = async (c) => {
26343
26697
  };
26344
26698
  //#endregion
26345
26699
  //#region src/routes/account/credentials/[credentialId]/PATCH.ts
26346
- const handler$21 = async (c) => {
26700
+ const handler$22 = async (c) => {
26347
26701
  const organization = c.get("organization");
26348
26702
  const user = c.get("user");
26349
26703
  const credentialId = c.req.param("credentialId") ?? "";
@@ -26441,7 +26795,7 @@ function createDeleteCredentialHandler(options = {}) {
26441
26795
  }
26442
26796
  //#endregion
26443
26797
  //#region src/routes/account/members/GET.ts
26444
- const handler$20 = async (c) => {
26798
+ const handler$21 = async (c) => {
26445
26799
  const { organizationId } = c.get("organization");
26446
26800
  const members = await (0, _keystrokehq_platform_database.selectOrganizationMembers)(organizationId);
26447
26801
  return c.json(require_dist.ListOrganizationMembersResponseSchema.parse(members.map(require_dist.mapOrganizationMember)));
@@ -26489,7 +26843,7 @@ async function sendOrganizationInviteEmail(payload, resend$1) {
26489
26843
  }
26490
26844
  //#endregion
26491
26845
  //#region src/routes/account/members/invitations/POST.ts
26492
- const handler$19 = async (c) => {
26846
+ const handler$20 = async (c) => {
26493
26847
  const user = c.get("user");
26494
26848
  const organization = c.get("organization");
26495
26849
  const body = await c.req.json().catch(() => null);
@@ -26515,7 +26869,7 @@ const handler$19 = async (c) => {
26515
26869
  };
26516
26870
  //#endregion
26517
26871
  //#region src/routes/account/members/[userId]/PATCH.ts
26518
- const handler$18 = async (c) => {
26872
+ const handler$19 = async (c) => {
26519
26873
  const { organizationId } = c.get("organization");
26520
26874
  const userId = c.req.param("userId");
26521
26875
  const body = await c.req.json().catch(() => null);
@@ -26532,7 +26886,7 @@ const handler$18 = async (c) => {
26532
26886
  };
26533
26887
  //#endregion
26534
26888
  //#region src/routes/account/members/[userId]/DELETE.ts
26535
- const handler$17 = async (c) => {
26889
+ const handler$18 = async (c) => {
26536
26890
  const { organizationId } = c.get("organization");
26537
26891
  const userId = c.req.param("userId");
26538
26892
  if (!userId) return c.json(require_dist.ErrorResponseSchema.parse({ error: "User id is required" }), 400);
@@ -26546,13 +26900,13 @@ const handler$17 = async (c) => {
26546
26900
  };
26547
26901
  //#endregion
26548
26902
  //#region src/routes/account/invitations/GET.ts
26549
- const handler$16 = async (c) => {
26903
+ const handler$17 = async (c) => {
26550
26904
  const invitations = await (0, _keystrokehq_platform_database.selectPendingInvitationsForUser)(c.get("user").id);
26551
26905
  return c.json(require_dist.ListOrganizationInvitationsResponseSchema.parse(invitations.map(require_dist.mapOrganizationInvitation)));
26552
26906
  };
26553
26907
  //#endregion
26554
26908
  //#region src/routes/account/invitations/[invitationId]/accept/POST.ts
26555
- const handler$15 = async (c) => {
26909
+ const handler$16 = async (c) => {
26556
26910
  const user = c.get("user");
26557
26911
  const invitationId = c.req.param("invitationId");
26558
26912
  if (!invitationId) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invitation id is required" }), 400);
@@ -26568,7 +26922,7 @@ const handler$15 = async (c) => {
26568
26922
  };
26569
26923
  //#endregion
26570
26924
  //#region src/routes/account/invitations/[invitationId]/decline/POST.ts
26571
- const handler$14 = async (c) => {
26925
+ const handler$15 = async (c) => {
26572
26926
  const user = c.get("user");
26573
26927
  const invitationId = c.req.param("invitationId");
26574
26928
  if (!invitationId) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invitation id is required" }), 400);
@@ -26647,13 +27001,13 @@ function appRowToCustomAppDetail(row) {
26647
27001
  }
26648
27002
  //#endregion
26649
27003
  //#region src/routes/account/apps/GET.ts
26650
- const handler$13 = async (c) => {
27004
+ const handler$14 = async (c) => {
26651
27005
  const apps = (await (0, _keystrokehq_platform_database.listAppsForOrganization)(c.get("organization").organizationId)).map(appRowToCatalogEntry);
26652
27006
  return c.json(require_dist.ListAppsResponseSchema.parse(apps));
26653
27007
  };
26654
27008
  //#endregion
26655
27009
  //#region src/routes/account/apps/POST.ts
26656
- const handler$12 = async (c) => {
27010
+ const handler$13 = async (c) => {
26657
27011
  const organization = c.get("organization");
26658
27012
  const parsed = require_dist.CreateCustomAppRequestSchema.safeParse(await c.req.json().catch(() => null));
26659
27013
  if (!parsed.success) {
@@ -26686,7 +27040,7 @@ const handler$12 = async (c) => {
26686
27040
  };
26687
27041
  //#endregion
26688
27042
  //#region src/routes/account/apps/discover/POST.ts
26689
- const handler$11 = async (c) => {
27043
+ const handler$12 = async (c) => {
26690
27044
  const parsed = require_dist.McpDiscoverRequestSchema.safeParse(await c.req.json().catch(() => null));
26691
27045
  if (!parsed.success) return c.json({ error: "Invalid request body" }, 400);
26692
27046
  try {
@@ -26700,7 +27054,7 @@ const handler$11 = async (c) => {
26700
27054
  };
26701
27055
  //#endregion
26702
27056
  //#region src/routes/account/apps/discover-openapi/POST.ts
26703
- const handler$10 = async (c) => {
27057
+ const handler$11 = async (c) => {
26704
27058
  const parsed = require_dist.OpenApiDiscoverRequestSchema.safeParse(await c.req.json().catch(() => null));
26705
27059
  if (!parsed.success) return c.json({ error: "Invalid request body" }, 400);
26706
27060
  try {
@@ -26713,7 +27067,7 @@ const handler$10 = async (c) => {
26713
27067
  };
26714
27068
  //#endregion
26715
27069
  //#region src/routes/account/apps/discover-graphql/POST.ts
26716
- const handler$9 = async (c) => {
27070
+ const handler$10 = async (c) => {
26717
27071
  const parsed = require_dist.GraphqlDiscoverRequestSchema.safeParse(await c.req.json().catch(() => null));
26718
27072
  if (!parsed.success) return c.json({ error: "Invalid request body" }, 400);
26719
27073
  try {
@@ -26726,7 +27080,7 @@ const handler$9 = async (c) => {
26726
27080
  };
26727
27081
  //#endregion
26728
27082
  //#region src/routes/account/apps/[slug]/mcp/oauth/connections/POST.ts
26729
- const handler$8 = async (c) => {
27083
+ const handler$9 = async (c) => {
26730
27084
  const organization = c.get("organization");
26731
27085
  const user = c.get("user");
26732
27086
  const appSlug = c.req.param("slug")?.trim();
@@ -26784,7 +27138,7 @@ function buildOAuthWebLandingUrl(webOrigin, params) {
26784
27138
  }
26785
27139
  //#endregion
26786
27140
  //#region src/routes/account/mcp/oauth/callback/GET.ts
26787
- const handler$7 = async (c) => {
27141
+ const handler$8 = async (c) => {
26788
27142
  const code = c.req.query("code")?.trim();
26789
27143
  const state = c.req.query("state")?.trim();
26790
27144
  const oauthError = c.req.query("error")?.trim();
@@ -26832,7 +27186,7 @@ const handler$7 = async (c) => {
26832
27186
  };
26833
27187
  //#endregion
26834
27188
  //#region src/routes/account/apps/slug-available/GET.ts
26835
- const handler$6 = async (c) => {
27189
+ const handler$7 = async (c) => {
26836
27190
  const organization = c.get("organization");
26837
27191
  const parsed = require_dist.AppSlugAvailabilityQuerySchema.safeParse({ slug: c.req.query("slug") });
26838
27192
  if (!parsed.success) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid slug query" }), 400);
@@ -26843,7 +27197,7 @@ const handler$6 = async (c) => {
26843
27197
  };
26844
27198
  //#endregion
26845
27199
  //#region src/routes/account/apps/[slug]/GET.ts
26846
- const handler$5 = async (c) => {
27200
+ const handler$6 = async (c) => {
26847
27201
  const organization = c.get("organization");
26848
27202
  const slug = c.req.param("slug") ?? "";
26849
27203
  if (!slug) return c.json(require_dist.ErrorResponseSchema.parse({ error: "App not found" }), 404);
@@ -26857,7 +27211,7 @@ const handler$5 = async (c) => {
26857
27211
  };
26858
27212
  //#endregion
26859
27213
  //#region src/routes/account/api-keys/GET.ts
26860
- const handler$4 = async (c) => {
27214
+ const handler$5 = async (c) => {
26861
27215
  const { organizationId } = c.get("organization");
26862
27216
  const user = c.get("user");
26863
27217
  const records = apiKeyListScope(accessContext(c)).kind === "all" ? await (0, _keystrokehq_platform_database.listOrgPlatformApiKeysForOrganization)(organizationId) : await (0, _keystrokehq_platform_database.listOrgPlatformApiKeysForUser)(organizationId, user.id);
@@ -26874,7 +27228,7 @@ const handler$4 = async (c) => {
26874
27228
  };
26875
27229
  //#endregion
26876
27230
  //#region src/routes/account/api-keys/POST.ts
26877
- const handler$3 = async (c) => {
27231
+ const handler$4 = async (c) => {
26878
27232
  const { organizationId } = c.get("organization");
26879
27233
  const user = c.get("user");
26880
27234
  const body = require_dist.CreateApiKeyRequestSchema.parse(await c.req.json());
@@ -26897,7 +27251,7 @@ const handler$3 = async (c) => {
26897
27251
  };
26898
27252
  //#endregion
26899
27253
  //#region src/routes/account/api-keys/[apiKeyId]/DELETE.ts
26900
- const handler$2 = async (c) => {
27254
+ const handler$3 = async (c) => {
26901
27255
  const { organizationId } = c.get("organization");
26902
27256
  const user = c.get("user");
26903
27257
  const apiKeyId = c.req.param("apiKeyId");
@@ -26994,7 +27348,7 @@ async function postSlackWebhookPayload(payload) {
26994
27348
  }
26995
27349
  //#endregion
26996
27350
  //#region src/routes/account/team-requests/POST.ts
26997
- const handler$1 = async (c) => {
27351
+ const handler$2 = async (c) => {
26998
27352
  const user = c.get("user");
26999
27353
  const organizationContext = c.get("organization");
27000
27354
  const parsed = require_dist.SubmitTeamRequestRequestSchema.safeParse(await c.req.json().catch(() => null));
@@ -27033,7 +27387,7 @@ function mountAccountRoutes(options) {
27033
27387
  const projectScoped = new hono.Hono();
27034
27388
  const protect = requireSession((0, _keystrokehq_auth.createDefaultAuthJwtVerifier)());
27035
27389
  const deleteCredential = createDeleteCredentialHandler({ mcp: options.mcp });
27036
- account.get("/mcp/oauth/callback", handler$7);
27390
+ account.get("/mcp/oauth/callback", handler$8);
27037
27391
  account.use("/*", protect);
27038
27392
  orgScoped.use("/*", protect);
27039
27393
  orgScoped.use("/*", requireOrganization());
@@ -27053,91 +27407,91 @@ function mountAccountRoutes(options) {
27053
27407
  const requireProjectManageMembers = authorize(projectActions.manageMembers);
27054
27408
  const requireInvitableProjectRole = authorizePayload(require_dist.InviteProjectMembersRequestSchema, ({ c, ctx, body }) => canInviteToProject(ctx, { invitePermission: getProjectInvitePermission(c) }, body.role));
27055
27409
  const requireOrgParam = requireOrganizationParam();
27056
- account.get("/organizations", handler$77);
27057
- account.get("/organizations/slug-available", handler$76);
27410
+ account.get("/organizations", handler$78);
27411
+ account.get("/organizations/slug-available", handler$77);
27058
27412
  account.post("/organizations", createOrganizationHandler(options));
27059
- account.get("/organizations/:organizationId", requireOrgParam, handler$75);
27060
- account.patch("/organizations/:organizationId", requireOrgParam, requireOrgUpdate, handler$74);
27061
- account.get("/organizations/:organizationId/branding", requireOrgParam, handler$73);
27062
- account.patch("/organizations/:organizationId/branding", requireOrgParam, requireOrgUpdate, handler$72);
27063
- account.post("/organizations/:organizationId/branding/logo/presign", requireOrgParam, requireOrgUpdate, handler$71);
27064
- account.get("/invitations", handler$16);
27065
- account.post("/invitations/:invitationId/accept", handler$15);
27066
- account.post("/invitations/:invitationId/decline", handler$14);
27067
- account.get("/users/me/avatar", handler$82);
27068
- account.post("/users/me/avatar/presign", handler$81);
27069
- account.patch("/users/me/avatar", handler$80);
27070
- account.get("/users/me/preferences", handler$79);
27071
- account.patch("/users/me/preferences", handler$78);
27413
+ account.get("/organizations/:organizationId", requireOrgParam, handler$76);
27414
+ account.patch("/organizations/:organizationId", requireOrgParam, requireOrgUpdate, handler$75);
27415
+ account.get("/organizations/:organizationId/branding", requireOrgParam, handler$74);
27416
+ account.patch("/organizations/:organizationId/branding", requireOrgParam, requireOrgUpdate, handler$73);
27417
+ account.post("/organizations/:organizationId/branding/logo/presign", requireOrgParam, requireOrgUpdate, handler$72);
27418
+ account.get("/invitations", handler$17);
27419
+ account.post("/invitations/:invitationId/accept", handler$16);
27420
+ account.post("/invitations/:invitationId/decline", handler$15);
27421
+ account.get("/users/me/avatar", handler$83);
27422
+ account.post("/users/me/avatar/presign", handler$82);
27423
+ account.patch("/users/me/avatar", handler$81);
27424
+ account.get("/users/me/preferences", handler$80);
27425
+ account.patch("/users/me/preferences", handler$79);
27072
27426
  const withOrgDb = withOrganizationProjectDatabase();
27073
- orgScoped.get("/apps", handler$13);
27074
- orgScoped.get("/apps/slug-available", handler$6);
27075
- orgScoped.post("/apps/discover", requireOrgUpdate, handler$11);
27076
- orgScoped.post("/apps/discover-openapi", requireOrgUpdate, handler$10);
27077
- orgScoped.post("/apps/discover-graphql", requireOrgUpdate, handler$9);
27078
- orgScoped.post("/apps", requireOrgUpdate, handler$12);
27079
- orgScoped.post("/apps/:slug/mcp/oauth/connections", requireOrgUpdate, withOrgDb, handler$8);
27080
- orgScoped.get("/apps/:slug", handler$5);
27081
- account.post("/team-requests", requireOrganization(), handler$1);
27082
- orgScoped.get("/members", handler$20);
27083
- orgScoped.post("/members/invitations", requireUserInvite, requireInvitableRole, handler$19);
27084
- orgScoped.patch("/members/:userId", requireUserManage, handler$18);
27085
- orgScoped.delete("/members/:userId", requireUserManage, handler$17);
27086
- orgScoped.get("/api-keys", handler$4);
27087
- orgScoped.post("/api-keys", requireApiKeyCreate, handler$3);
27088
- orgScoped.delete("/api-keys/:apiKeyId", handler$2);
27089
- orgScoped.get("/agents", withOrgDb, handler$68);
27090
- orgScoped.get("/agents/:agentId", withOrgDb, handler$67);
27091
- orgScoped.get("/agents/:agentId/memory/files", withOrgDb, handler$66);
27092
- orgScoped.get("/agents/:agentId/memory/files/content", withOrgDb, handler$65);
27093
- orgScoped.get("/agents/:agentId/workspace/files", withOrgDb, handler$64);
27094
- orgScoped.get("/agents/:agentId/workspace/files/content", withOrgDb, handler$63);
27095
- orgScoped.get("/workflows", withOrgDb, handler$61);
27096
- orgScoped.get("/workflows/:workflowId", withOrgDb, handler$60);
27097
- orgScoped.get("/skills", withOrgDb, handler$58);
27098
- orgScoped.get("/skills/:skillId", withOrgDb, handler$57);
27099
- orgScoped.get("/triggers", withOrgDb, handler$56);
27100
- orgScoped.get("/triggers/:triggerId", withOrgDb, handler$55);
27101
- orgScoped.get("/triggers/:triggerId/runs", withOrgDb, handler$54);
27102
- orgScoped.get("/triggers/:triggerId/file", withOrgDb, handler$53);
27103
- orgScoped.get("/triggers/:triggerId/overview", withOrgDb, handler$52);
27104
- orgScoped.patch("/triggers/:triggerId/attachments/:attachmentId", withOrgDb, handler$51);
27105
- orgScoped.get("/recents", withOrgDb, handler$50);
27106
- orgScoped.get("/history", withOrgDb, handler$70);
27107
- orgScoped.get("/history/:runId", withOrgDb, handler$69);
27108
- orgScoped.post("/workflows/runs/:runId/cancel", withOrgDb, handler$59);
27109
- orgScoped.post("/agents/sessions/:sessionId/cancel", withOrgDb, handler$62);
27110
- orgScoped.get("/credentials", withOrgDb, handler$24);
27111
- orgScoped.post("/credentials", withOrgDb, handler$23);
27112
- orgScoped.get("/credentials/:credentialId", withOrgDb, (c, next) => c.req.param("credentialId") === "instances" ? next() : handler$22(c, next));
27113
- orgScoped.patch("/credentials/:credentialId", withOrgDb, handler$21);
27427
+ orgScoped.get("/apps", handler$14);
27428
+ orgScoped.get("/apps/slug-available", handler$7);
27429
+ orgScoped.post("/apps/discover", requireOrgUpdate, handler$12);
27430
+ orgScoped.post("/apps/discover-openapi", requireOrgUpdate, handler$11);
27431
+ orgScoped.post("/apps/discover-graphql", requireOrgUpdate, handler$10);
27432
+ orgScoped.post("/apps", requireOrgUpdate, handler$13);
27433
+ orgScoped.post("/apps/:slug/mcp/oauth/connections", requireOrgUpdate, withOrgDb, handler$9);
27434
+ orgScoped.get("/apps/:slug", handler$6);
27435
+ account.post("/team-requests", requireOrganization(), handler$2);
27436
+ orgScoped.get("/members", handler$21);
27437
+ orgScoped.post("/members/invitations", requireUserInvite, requireInvitableRole, handler$20);
27438
+ orgScoped.patch("/members/:userId", requireUserManage, handler$19);
27439
+ orgScoped.delete("/members/:userId", requireUserManage, handler$18);
27440
+ orgScoped.get("/api-keys", handler$5);
27441
+ orgScoped.post("/api-keys", requireApiKeyCreate, handler$4);
27442
+ orgScoped.delete("/api-keys/:apiKeyId", handler$3);
27443
+ orgScoped.get("/agents", withOrgDb, handler$69);
27444
+ orgScoped.get("/agents/:agentId", withOrgDb, handler$68);
27445
+ orgScoped.get("/agents/:agentId/memory/files", withOrgDb, handler$67);
27446
+ orgScoped.get("/agents/:agentId/memory/files/content", withOrgDb, handler$66);
27447
+ orgScoped.get("/agents/:agentId/workspace/files", withOrgDb, handler$65);
27448
+ orgScoped.get("/agents/:agentId/workspace/files/content", withOrgDb, handler$64);
27449
+ orgScoped.get("/workflows", withOrgDb, handler$62);
27450
+ orgScoped.get("/workflows/:workflowId", withOrgDb, handler$61);
27451
+ orgScoped.get("/skills", withOrgDb, handler$59);
27452
+ orgScoped.get("/skills/:skillId", withOrgDb, handler$58);
27453
+ orgScoped.get("/triggers", withOrgDb, handler$57);
27454
+ orgScoped.get("/triggers/:triggerId", withOrgDb, handler$56);
27455
+ orgScoped.get("/triggers/:triggerId/runs", withOrgDb, handler$55);
27456
+ orgScoped.get("/triggers/:triggerId/file", withOrgDb, handler$54);
27457
+ orgScoped.get("/triggers/:triggerId/overview", withOrgDb, handler$53);
27458
+ orgScoped.patch("/triggers/:triggerId/attachments/:attachmentId", withOrgDb, handler$52);
27459
+ orgScoped.get("/recents", withOrgDb, handler$51);
27460
+ orgScoped.get("/history", withOrgDb, handler$71);
27461
+ orgScoped.get("/history/:runId", withOrgDb, handler$70);
27462
+ orgScoped.post("/workflows/runs/:runId/cancel", withOrgDb, handler$60);
27463
+ orgScoped.post("/agents/sessions/:sessionId/cancel", withOrgDb, handler$63);
27464
+ orgScoped.get("/credentials", withOrgDb, handler$25);
27465
+ orgScoped.post("/credentials", withOrgDb, handler$24);
27466
+ orgScoped.get("/credentials/:credentialId", withOrgDb, (c, next) => c.req.param("credentialId") === "instances" ? next() : handler$23(c, next));
27467
+ orgScoped.patch("/credentials/:credentialId", withOrgDb, handler$22);
27114
27468
  orgScoped.delete("/credentials/:credentialId", withOrgDb, deleteCredential);
27115
- orgScoped.get("/projects", handler$49);
27116
- orgScoped.get("/projects/slug-available", handler$46);
27117
- orgScoped.get("/projects/metrics", withOrgDb, handler$48);
27118
- orgScoped.post("/projects", handler$47);
27119
- projectScoped.get("/:projectId", requireProject(), requireProjectMember, handler$45);
27120
- projectScoped.patch("/:projectId", requireProject(), requireProjectMember, requireProjectUpdate, handler$44);
27121
- projectScoped.delete("/:projectId", requireProject(), requireProjectMember, requireProjectDelete, handler$43);
27122
- projectScoped.get("/:projectId/settings", requireProject(), requireProjectMember, handler$26);
27123
- projectScoped.patch("/:projectId/settings", requireProject(), requireProjectMember, requireProjectUpdate, handler$25);
27124
- projectScoped.get("/:projectId/members", requireProject(), requireProjectMember, handler$31);
27125
- projectScoped.post("/:projectId/members", requireProject(), requireProjectMember, requireInvitableProjectRole, handler$30);
27126
- projectScoped.patch("/:projectId/members/:userId", requireProject(), requireProjectMember, requireProjectManageMembers, handler$29);
27127
- projectScoped.delete("/:projectId/members/:userId", requireProject(), requireProjectMember, requireProjectManageMembers, handler$28);
27128
- projectScoped.delete("/:projectId/members/me", requireProject(), requireProjectMember, handler$27);
27469
+ orgScoped.get("/projects", handler$50);
27470
+ orgScoped.get("/projects/slug-available", handler$47);
27471
+ orgScoped.get("/projects/metrics", withOrgDb, handler$49);
27472
+ orgScoped.post("/projects", handler$48);
27473
+ projectScoped.get("/:projectId", requireProject(), requireProjectMember, handler$46);
27474
+ projectScoped.patch("/:projectId", requireProject(), requireProjectMember, requireProjectUpdate, handler$45);
27475
+ projectScoped.delete("/:projectId", requireProject(), requireProjectMember, requireProjectDelete, handler$44);
27476
+ projectScoped.get("/:projectId/settings", requireProject(), requireProjectMember, handler$27);
27477
+ projectScoped.patch("/:projectId/settings", requireProject(), requireProjectMember, requireProjectUpdate, handler$26);
27478
+ projectScoped.get("/:projectId/members", requireProject(), requireProjectMember, handler$32);
27479
+ projectScoped.post("/:projectId/members", requireProject(), requireProjectMember, requireInvitableProjectRole, handler$31);
27480
+ projectScoped.patch("/:projectId/members/:userId", requireProject(), requireProjectMember, requireProjectManageMembers, handler$30);
27481
+ projectScoped.delete("/:projectId/members/:userId", requireProject(), requireProjectMember, requireProjectManageMembers, handler$29);
27482
+ projectScoped.delete("/:projectId/members/me", requireProject(), requireProjectMember, handler$28);
27129
27483
  projectScoped.get("/:projectId/reachability", requireProject(), requireProjectMember, createProjectReachabilityHandler(options.hosting));
27130
- projectScoped.get("/:projectId/files", requireProject(), requireProjectMember, withOrgDb, handler$33);
27131
- projectScoped.post("/:projectId/agents/:slug/attachments/presign", requireProject(), requireProjectMember, withOrgDb, handler$35);
27132
- projectScoped.get("/:projectId/agents/:slug/attachments/:key{.+}", requireProject(), requireProjectMember, withOrgDb, handler$34);
27133
- projectScoped.get("/:projectId/artifacts/:artifactId/files/content", requireProject(), requireProjectMember, handler$32);
27134
- projectScoped.get("/:projectId/deployments", requireProject(), requireProjectMember, handler$42);
27135
- projectScoped.get("/:projectId/artifacts/active/download", requireProject(), requireProjectMember, requireProjectDeploy, handler$40);
27136
- projectScoped.get("/:projectId/artifacts/active/source", requireProject(), requireProjectMember, withOrgDb, handler$39);
27137
- projectScoped.post("/:projectId/artifacts", requireProject(), requireProjectMember, requireProjectDeploy, handler$41);
27138
- projectScoped.post("/:projectId/artifacts/:artifactId/complete", requireProject(), requireProjectMember, requireProjectDeploy, handler$38);
27139
- projectScoped.post("/:projectId/artifacts/:artifactId/source/presign", requireProject(), requireProjectMember, requireProjectDeploy, handler$37);
27140
- projectScoped.post("/:projectId/artifacts/:artifactId/source/manifest", requireProject(), requireProjectMember, requireProjectDeploy, handler$36);
27484
+ projectScoped.get("/:projectId/files", requireProject(), requireProjectMember, withOrgDb, handler$34);
27485
+ projectScoped.post("/:projectId/agents/:slug/attachments/presign", requireProject(), requireProjectMember, withOrgDb, handler$36);
27486
+ projectScoped.get("/:projectId/agents/:slug/attachments/:key{.+}", requireProject(), requireProjectMember, withOrgDb, handler$35);
27487
+ projectScoped.get("/:projectId/artifacts/:artifactId/files/content", requireProject(), requireProjectMember, handler$33);
27488
+ projectScoped.get("/:projectId/deployments", requireProject(), requireProjectMember, handler$43);
27489
+ projectScoped.get("/:projectId/artifacts/active/download", requireProject(), requireProjectMember, requireProjectDeploy, handler$41);
27490
+ projectScoped.get("/:projectId/artifacts/active/source", requireProject(), requireProjectMember, withOrgDb, handler$40);
27491
+ projectScoped.post("/:projectId/artifacts", requireProject(), requireProjectMember, requireProjectDeploy, handler$42);
27492
+ projectScoped.post("/:projectId/artifacts/:artifactId/complete", requireProject(), requireProjectMember, requireProjectDeploy, handler$39);
27493
+ projectScoped.post("/:projectId/artifacts/:artifactId/source/presign", requireProject(), requireProjectMember, requireProjectDeploy, handler$38);
27494
+ projectScoped.post("/:projectId/artifacts/:artifactId/source/manifest", requireProject(), requireProjectMember, requireProjectDeploy, handler$37);
27141
27495
  orgScoped.route("/projects", projectScoped);
27142
27496
  account.route("/", orgScoped);
27143
27497
  return account;
@@ -27263,6 +27617,48 @@ function mountInternalRoutes(workerToken, tokenRefresh, llmProxy, mcp) {
27263
27617
  return internal;
27264
27618
  }
27265
27619
  //#endregion
27620
+ //#region src/routes/public/models/GET.ts
27621
+ const VERCEL_MODELS_URL = "https://ai-gateway.vercel.sh/v1/models";
27622
+ const CACHE_TTL_MS = 3600 * 1e3;
27623
+ const VercelModelListEntrySchema = zod.z.object({ id: zod.z.string().min(1) });
27624
+ const VercelModelListResponseSchema = zod.z.object({ data: zod.z.array(VercelModelListEntrySchema) });
27625
+ let cache;
27626
+ let pendingFetch;
27627
+ async function fetchModelIdsFromVercel() {
27628
+ const response = await fetch(VERCEL_MODELS_URL, { headers: { accept: "application/json" } });
27629
+ if (!response.ok) throw new Error(`Vercel models API responded ${response.status}`);
27630
+ const parsed = VercelModelListResponseSchema.safeParse(await response.json());
27631
+ if (!parsed.success || parsed.data.data.length === 0) throw new Error("Vercel models API response had no models");
27632
+ return parsed.data.data.map((entry) => entry.id);
27633
+ }
27634
+ async function loadModelIds() {
27635
+ if (cache && Date.now() - cache.fetchedAt < CACHE_TTL_MS) return cache.models;
27636
+ if (pendingFetch) return pendingFetch;
27637
+ pendingFetch = (async () => {
27638
+ try {
27639
+ const models = await fetchModelIdsFromVercel();
27640
+ cache = {
27641
+ fetchedAt: Date.now(),
27642
+ models
27643
+ };
27644
+ return models;
27645
+ } finally {
27646
+ pendingFetch = void 0;
27647
+ }
27648
+ })();
27649
+ return pendingFetch;
27650
+ }
27651
+ async function handler$1(c) {
27652
+ try {
27653
+ const models = await loadModelIds();
27654
+ return c.json(require_dist.PublicModelsResponseSchema.parse({ models }));
27655
+ } catch (error) {
27656
+ if (cache) return c.json(require_dist.PublicModelsResponseSchema.parse({ models: cache.models }));
27657
+ const message = error instanceof Error ? error.message : "Failed to load models";
27658
+ return c.json({ error: message }, 502);
27659
+ }
27660
+ }
27661
+ //#endregion
27266
27662
  //#region src/lib/contact-rate-limit.ts
27267
27663
  const WINDOW_MS = 6e4;
27268
27664
  const MAX_REQUESTS_PER_WINDOW = 5;
@@ -27390,6 +27786,7 @@ async function createApp(auth, options) {
27390
27786
  },
27391
27787
  mountAccount: async (app) => {
27392
27788
  app.post("/api/public/contact", handler);
27789
+ app.get("/api/public/models", handler$1);
27393
27790
  app.route("/api", mountAccountRoutes({
27394
27791
  hosting: options.hosting,
27395
27792
  storage: options.storage,
@@ -27617,4 +28014,4 @@ Object.defineProperty(exports, "x$1", {
27617
28014
  }
27618
28015
  });
27619
28016
 
27620
- //# sourceMappingURL=start-BK3nhRpQ.cjs.map
28017
+ //# sourceMappingURL=start-Duf73uYt.cjs.map