@keystrokehq/platform 0.1.25 → 0.1.26

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 (303) hide show
  1. package/dist/{awk2-LA3USKJP-6nTiL1Fx.cjs → awk2-LA3USKJP-DWN5gyAn.cjs} +2 -2
  2. package/dist/{awk2-LA3USKJP-6nTiL1Fx.cjs.map → awk2-LA3USKJP-DWN5gyAn.cjs.map} +1 -1
  3. package/dist/{awk2-LA3USKJP-DsFCxrAn.mjs → awk2-LA3USKJP-DeBBkGI5.mjs} +2 -2
  4. package/dist/{awk2-LA3USKJP-DsFCxrAn.mjs.map → awk2-LA3USKJP-DeBBkGI5.mjs.map} +1 -1
  5. package/dist/{base64-C2AIWVNC-Jli-NZKT.cjs → base64-C2AIWVNC-Dp8sCZAt.cjs} +2 -2
  6. package/dist/{base64-C2AIWVNC-Jli-NZKT.cjs.map → base64-C2AIWVNC-Dp8sCZAt.cjs.map} +1 -1
  7. package/dist/{base64-C2AIWVNC-BTfHxe6x.mjs → base64-C2AIWVNC-JuDjFqOp.mjs} +2 -2
  8. package/dist/{base64-C2AIWVNC-BTfHxe6x.mjs.map → base64-C2AIWVNC-JuDjFqOp.mjs.map} +1 -1
  9. package/dist/{bash-YZ33HQZQ-Cl3zWejT.cjs → bash-YZ33HQZQ-DVA0EDj-.cjs} +2 -2
  10. package/dist/{bash-YZ33HQZQ-Cl3zWejT.cjs.map → bash-YZ33HQZQ-DVA0EDj-.cjs.map} +1 -1
  11. package/dist/{bash-YZ33HQZQ-BvR1blQy.mjs → bash-YZ33HQZQ-rOVeZOAg.mjs} +2 -2
  12. package/dist/{bash-YZ33HQZQ-BvR1blQy.mjs.map → bash-YZ33HQZQ-rOVeZOAg.mjs.map} +1 -1
  13. package/dist/{cat-TSFMZVYS-p5WuEnly.cjs → cat-TSFMZVYS-COvFG8Nb.cjs} +3 -3
  14. package/dist/{cat-TSFMZVYS-p5WuEnly.cjs.map → cat-TSFMZVYS-COvFG8Nb.cjs.map} +1 -1
  15. package/dist/{cat-TSFMZVYS-BR3SDCDa.mjs → cat-TSFMZVYS-CXlrdMsd.mjs} +3 -3
  16. package/dist/{cat-TSFMZVYS-BR3SDCDa.mjs.map → cat-TSFMZVYS-CXlrdMsd.mjs.map} +1 -1
  17. package/dist/{chunk-5H5SCKJM-DnLsyMd1.cjs → chunk-5H5SCKJM-CHHdX4ki.cjs} +2 -2
  18. package/dist/{chunk-5H5SCKJM-DnLsyMd1.cjs.map → chunk-5H5SCKJM-CHHdX4ki.cjs.map} +1 -1
  19. package/dist/{chunk-5H5SCKJM-CPKgF86S.mjs → chunk-5H5SCKJM-Dkx3HLwU.mjs} +2 -2
  20. package/dist/{chunk-5H5SCKJM-CPKgF86S.mjs.map → chunk-5H5SCKJM-Dkx3HLwU.mjs.map} +1 -1
  21. package/dist/{chunk-AQ6FYS2X-Dj95F41M.cjs → chunk-AQ6FYS2X-BypvbWc4.cjs} +2 -2
  22. package/dist/{chunk-AQ6FYS2X-Dj95F41M.cjs.map → chunk-AQ6FYS2X-BypvbWc4.cjs.map} +1 -1
  23. package/dist/{chunk-AQ6FYS2X-CUa1A4Pd.mjs → chunk-AQ6FYS2X-C_yeVyzo.mjs} +2 -2
  24. package/dist/{chunk-AQ6FYS2X-CUa1A4Pd.mjs.map → chunk-AQ6FYS2X-C_yeVyzo.mjs.map} +1 -1
  25. package/dist/{chunk-CHFEPBH4-Crh-KqiZ.cjs → chunk-CHFEPBH4-B713gemY.cjs} +2 -2
  26. package/dist/{chunk-CHFEPBH4-Crh-KqiZ.cjs.map → chunk-CHFEPBH4-B713gemY.cjs.map} +1 -1
  27. package/dist/{chunk-CHFEPBH4-CnDOsQ68.mjs → chunk-CHFEPBH4-BN_FjUum.mjs} +2 -2
  28. package/dist/{chunk-CHFEPBH4-CnDOsQ68.mjs.map → chunk-CHFEPBH4-BN_FjUum.mjs.map} +1 -1
  29. package/dist/{chunk-EBAPSGAO-C3Qo8RVI.cjs → chunk-EBAPSGAO-C5khy_yB.cjs} +2 -2
  30. package/dist/{chunk-EBAPSGAO-C3Qo8RVI.cjs.map → chunk-EBAPSGAO-C5khy_yB.cjs.map} +1 -1
  31. package/dist/{chunk-EBAPSGAO-B60xzKy-.mjs → chunk-EBAPSGAO-CWkUWuMF.mjs} +2 -2
  32. package/dist/{chunk-EBAPSGAO-B60xzKy-.mjs.map → chunk-EBAPSGAO-CWkUWuMF.mjs.map} +1 -1
  33. package/dist/{chunk-LEKBROJD-CzSjgGrS.mjs → chunk-LEKBROJD-DGOBGAWj.mjs} +2 -2
  34. package/dist/{chunk-LEKBROJD-CzSjgGrS.mjs.map → chunk-LEKBROJD-DGOBGAWj.mjs.map} +1 -1
  35. package/dist/{chunk-LEKBROJD-CQrKRfn9.cjs → chunk-LEKBROJD-n0FRgkoB.cjs} +2 -2
  36. package/dist/{chunk-LEKBROJD-CQrKRfn9.cjs.map → chunk-LEKBROJD-n0FRgkoB.cjs.map} +1 -1
  37. package/dist/{chunk-VPADYNBD-BlYPREz9.cjs → chunk-VPADYNBD-B4yWrLcA.cjs} +2 -2
  38. package/dist/{chunk-VPADYNBD-BlYPREz9.cjs.map → chunk-VPADYNBD-B4yWrLcA.cjs.map} +1 -1
  39. package/dist/{chunk-VPADYNBD-Bu1xj_qj.mjs → chunk-VPADYNBD-Dg8PNXJd.mjs} +2 -2
  40. package/dist/{chunk-VPADYNBD-Bu1xj_qj.mjs.map → chunk-VPADYNBD-Dg8PNXJd.mjs.map} +1 -1
  41. package/dist/{chunk-YCLFEX4T-CmE-atJH.cjs → chunk-YCLFEX4T-Bnzy1Euf.cjs} +2 -2
  42. package/dist/{chunk-YCLFEX4T-CmE-atJH.cjs.map → chunk-YCLFEX4T-Bnzy1Euf.cjs.map} +1 -1
  43. package/dist/{chunk-YCLFEX4T-BMs3IOYN.mjs → chunk-YCLFEX4T-DU6t56E4.mjs} +2 -2
  44. package/dist/{chunk-YCLFEX4T-BMs3IOYN.mjs.map → chunk-YCLFEX4T-DU6t56E4.mjs.map} +1 -1
  45. package/dist/{column-XT6UFXNQ-CKCd9cj4.mjs → column-XT6UFXNQ-5YutVL6D.mjs} +2 -2
  46. package/dist/{column-XT6UFXNQ-CKCd9cj4.mjs.map → column-XT6UFXNQ-5YutVL6D.mjs.map} +1 -1
  47. package/dist/{column-XT6UFXNQ-C-MvTg4x.cjs → column-XT6UFXNQ-Dy7Oa0td.cjs} +2 -2
  48. package/dist/{column-XT6UFXNQ-C-MvTg4x.cjs.map → column-XT6UFXNQ-Dy7Oa0td.cjs.map} +1 -1
  49. package/dist/{comm-VV2LDX2J-DIsxSu6X.cjs → comm-VV2LDX2J-CAqAa0VH.cjs} +2 -2
  50. package/dist/{comm-VV2LDX2J-DIsxSu6X.cjs.map → comm-VV2LDX2J-CAqAa0VH.cjs.map} +1 -1
  51. package/dist/{comm-VV2LDX2J-Cxkv2cbu.mjs → comm-VV2LDX2J-NATbHp7x.mjs} +2 -2
  52. package/dist/{comm-VV2LDX2J-Cxkv2cbu.mjs.map → comm-VV2LDX2J-NATbHp7x.mjs.map} +1 -1
  53. package/dist/{config-4tlyrD1h.d.mts → config-Bf_tiPRV.d.mts} +3 -3
  54. package/dist/{config-DCMtEjGV.d.cts → config-DiHYzgnA.d.cts} +3 -3
  55. package/dist/config.cjs +1 -1
  56. package/dist/config.d.cts +1 -1
  57. package/dist/config.d.mts +1 -1
  58. package/dist/config.mjs +1 -1
  59. package/dist/{cp-BISAAS7A-RoHZxKSQ.cjs → cp-BISAAS7A-CsllNNA2.cjs} +2 -2
  60. package/dist/{cp-BISAAS7A-RoHZxKSQ.cjs.map → cp-BISAAS7A-CsllNNA2.cjs.map} +1 -1
  61. package/dist/{cp-BISAAS7A-CpbLLWK0.mjs → cp-BISAAS7A-ptJev1Ed.mjs} +2 -2
  62. package/dist/{cp-BISAAS7A-CpbLLWK0.mjs.map → cp-BISAAS7A-ptJev1Ed.mjs.map} +1 -1
  63. package/dist/{cut-OKARJCCV-DV8QkVm0.cjs → cut-OKARJCCV-C3IgdttS.cjs} +3 -3
  64. package/dist/{cut-OKARJCCV-DV8QkVm0.cjs.map → cut-OKARJCCV-C3IgdttS.cjs.map} +1 -1
  65. package/dist/{cut-OKARJCCV-Co1hDP2h.mjs → cut-OKARJCCV-CAXXP7Q-.mjs} +3 -3
  66. package/dist/{cut-OKARJCCV-Co1hDP2h.mjs.map → cut-OKARJCCV-CAXXP7Q-.mjs.map} +1 -1
  67. package/dist/{diff-MWJFIG7X-CeQncm_4.cjs → diff-MWJFIG7X-BN4jYNC5.cjs} +2 -2
  68. package/dist/{diff-MWJFIG7X-CeQncm_4.cjs.map → diff-MWJFIG7X-BN4jYNC5.cjs.map} +1 -1
  69. package/dist/{diff-MWJFIG7X-Buur00F5.mjs → diff-MWJFIG7X-CvZCw_Zo.mjs} +2 -2
  70. package/dist/{diff-MWJFIG7X-Buur00F5.mjs.map → diff-MWJFIG7X-CvZCw_Zo.mjs.map} +1 -1
  71. package/dist/{dist-BGnpuTuc.cjs → dist-BSIIH4ft.cjs} +1431 -244
  72. package/dist/dist-BSIIH4ft.cjs.map +1 -0
  73. package/dist/{dist-DEUmH1sy.mjs → dist-Dfoa0fsU.mjs} +1361 -246
  74. package/dist/dist-Dfoa0fsU.mjs.map +1 -0
  75. package/dist/{du-572XNP42-CjV9eojc.cjs → du-572XNP42-DlYoI7xK.cjs} +2 -2
  76. package/dist/{du-572XNP42-CjV9eojc.cjs.map → du-572XNP42-DlYoI7xK.cjs.map} +1 -1
  77. package/dist/{du-572XNP42-BN--uF4D.mjs → du-572XNP42-dXgrmb6w.mjs} +2 -2
  78. package/dist/{du-572XNP42-BN--uF4D.mjs.map → du-572XNP42-dXgrmb6w.mjs.map} +1 -1
  79. package/dist/{env-36M5BO7M-DAa5KfBX.cjs → env-36M5BO7M-CiUSJDkN.cjs} +2 -2
  80. package/dist/{env-36M5BO7M-DAa5KfBX.cjs.map → env-36M5BO7M-CiUSJDkN.cjs.map} +1 -1
  81. package/dist/{env-36M5BO7M-D69jRYN4.mjs → env-36M5BO7M-D_IGqT9p.mjs} +2 -2
  82. package/dist/{env-36M5BO7M-D69jRYN4.mjs.map → env-36M5BO7M-D_IGqT9p.mjs.map} +1 -1
  83. package/dist/{expand-JSPG6VOP-COLerElO.mjs → expand-JSPG6VOP-CyEF3l9T.mjs} +2 -2
  84. package/dist/{expand-JSPG6VOP-COLerElO.mjs.map → expand-JSPG6VOP-CyEF3l9T.mjs.map} +1 -1
  85. package/dist/{expand-JSPG6VOP-C6vKMQyI.cjs → expand-JSPG6VOP-DI9tAEq8.cjs} +2 -2
  86. package/dist/{expand-JSPG6VOP-C6vKMQyI.cjs.map → expand-JSPG6VOP-DI9tAEq8.cjs.map} +1 -1
  87. package/dist/{expr-5JAACS4X-Bq-liRWE.mjs → expr-5JAACS4X-BjSLGpzH.mjs} +2 -2
  88. package/dist/{expr-5JAACS4X-Bq-liRWE.mjs.map → expr-5JAACS4X-BjSLGpzH.mjs.map} +1 -1
  89. package/dist/{expr-5JAACS4X-DwNhN5_2.cjs → expr-5JAACS4X-BtODvrh-.cjs} +2 -2
  90. package/dist/{expr-5JAACS4X-DwNhN5_2.cjs.map → expr-5JAACS4X-BtODvrh-.cjs.map} +1 -1
  91. package/dist/{find-INTH3OLC-CZJwhn7l.mjs → find-INTH3OLC-BcssH53Z.mjs} +3 -3
  92. package/dist/{find-INTH3OLC-CZJwhn7l.mjs.map → find-INTH3OLC-BcssH53Z.mjs.map} +1 -1
  93. package/dist/{find-INTH3OLC-CUamPw7X.cjs → find-INTH3OLC-CgU4UvVu.cjs} +3 -3
  94. package/dist/{find-INTH3OLC-CUamPw7X.cjs.map → find-INTH3OLC-CgU4UvVu.cjs.map} +1 -1
  95. package/dist/{fold-4TQNYMSW-Cu6mhoq6.cjs → fold-4TQNYMSW-C-vHdcsu.cjs} +2 -2
  96. package/dist/{fold-4TQNYMSW-Cu6mhoq6.cjs.map → fold-4TQNYMSW-C-vHdcsu.cjs.map} +1 -1
  97. package/dist/{fold-4TQNYMSW-GT1iyvMw.mjs → fold-4TQNYMSW-W2QBLbOw.mjs} +2 -2
  98. package/dist/{fold-4TQNYMSW-GT1iyvMw.mjs.map → fold-4TQNYMSW-W2QBLbOw.mjs.map} +1 -1
  99. package/dist/{grep-V3LQVMRQ-D2lsL0yl.cjs → grep-V3LQVMRQ-CFEy1H5w.cjs} +4 -4
  100. package/dist/{grep-V3LQVMRQ-D2lsL0yl.cjs.map → grep-V3LQVMRQ-CFEy1H5w.cjs.map} +1 -1
  101. package/dist/{grep-V3LQVMRQ-BZCEkiLT.mjs → grep-V3LQVMRQ-D2erCIt8.mjs} +4 -4
  102. package/dist/{grep-V3LQVMRQ-BZCEkiLT.mjs.map → grep-V3LQVMRQ-D2erCIt8.mjs.map} +1 -1
  103. package/dist/{gzip-O5ASJAFY-4WU25K8t.cjs → gzip-O5ASJAFY-BFMYd-hT.cjs} +2 -2
  104. package/dist/{gzip-O5ASJAFY-4WU25K8t.cjs.map → gzip-O5ASJAFY-BFMYd-hT.cjs.map} +1 -1
  105. package/dist/{gzip-O5ASJAFY-BRUoPm0T.mjs → gzip-O5ASJAFY-CqxUEEM2.mjs} +2 -2
  106. package/dist/{gzip-O5ASJAFY-BRUoPm0T.mjs.map → gzip-O5ASJAFY-CqxUEEM2.mjs.map} +1 -1
  107. package/dist/{head-442HYESI-BQswaDJF.mjs → head-442HYESI-BUT7-OAn.mjs} +2 -2
  108. package/dist/{head-442HYESI-BQswaDJF.mjs.map → head-442HYESI-BUT7-OAn.mjs.map} +1 -1
  109. package/dist/{head-442HYESI-CREwdwGh.cjs → head-442HYESI-Dl61xdxd.cjs} +2 -2
  110. package/dist/{head-442HYESI-CREwdwGh.cjs.map → head-442HYESI-Dl61xdxd.cjs.map} +1 -1
  111. package/dist/{help-HZ6M2CKN-CyQGg7tY.mjs → help-HZ6M2CKN-BNhOdIlA.mjs} +2 -2
  112. package/dist/{help-HZ6M2CKN-CyQGg7tY.mjs.map → help-HZ6M2CKN-BNhOdIlA.mjs.map} +1 -1
  113. package/dist/{help-HZ6M2CKN-Dm1xJuah.cjs → help-HZ6M2CKN-D58VQaUX.cjs} +2 -2
  114. package/dist/{help-HZ6M2CKN-Dm1xJuah.cjs.map → help-HZ6M2CKN-D58VQaUX.cjs.map} +1 -1
  115. package/dist/{html-to-markdown-JW4MSQZO-kxS6FqAo.cjs → html-to-markdown-JW4MSQZO-Cy2yEvwt.cjs} +3 -3
  116. package/dist/{html-to-markdown-JW4MSQZO-kxS6FqAo.cjs.map → html-to-markdown-JW4MSQZO-Cy2yEvwt.cjs.map} +1 -1
  117. package/dist/{html-to-markdown-JW4MSQZO-bFXHY2YJ.mjs → html-to-markdown-JW4MSQZO-D77ZtAkg.mjs} +3 -3
  118. package/dist/{html-to-markdown-JW4MSQZO-bFXHY2YJ.mjs.map → html-to-markdown-JW4MSQZO-D77ZtAkg.mjs.map} +1 -1
  119. package/dist/{join-TBRGI3LQ-D4bq1eah.cjs → join-TBRGI3LQ-CGvygkdd.cjs} +2 -2
  120. package/dist/{join-TBRGI3LQ-D4bq1eah.cjs.map → join-TBRGI3LQ-CGvygkdd.cjs.map} +1 -1
  121. package/dist/{join-TBRGI3LQ-mMKbGeyt.mjs → join-TBRGI3LQ-DX7NMuzt.mjs} +2 -2
  122. package/dist/{join-TBRGI3LQ-mMKbGeyt.mjs.map → join-TBRGI3LQ-DX7NMuzt.mjs.map} +1 -1
  123. package/dist/{jq-4XLYLOS5-BtVEt-iG.mjs → jq-4XLYLOS5-C58Dd7RS.mjs} +4 -4
  124. package/dist/{jq-4XLYLOS5-BtVEt-iG.mjs.map → jq-4XLYLOS5-C58Dd7RS.mjs.map} +1 -1
  125. package/dist/{jq-4XLYLOS5-1kPGLNfP.cjs → jq-4XLYLOS5-CcpoXWem.cjs} +4 -4
  126. package/dist/{jq-4XLYLOS5-1kPGLNfP.cjs.map → jq-4XLYLOS5-CcpoXWem.cjs.map} +1 -1
  127. package/dist/{js-exec-N5KEZBH7-BiJgLg8R.cjs → js-exec-N5KEZBH7-BfVFKq8I.cjs} +4 -4
  128. package/dist/{js-exec-N5KEZBH7-BiJgLg8R.cjs.map → js-exec-N5KEZBH7-BfVFKq8I.cjs.map} +1 -1
  129. package/dist/{js-exec-N5KEZBH7-yV-xrF3D.mjs → js-exec-N5KEZBH7-PxuNBAca.mjs} +3 -3
  130. package/dist/{js-exec-N5KEZBH7-yV-xrF3D.mjs.map → js-exec-N5KEZBH7-PxuNBAca.mjs.map} +1 -1
  131. package/dist/{lib-B8KKXVFM.mjs → lib-C3b113o2.mjs} +2 -2
  132. package/dist/{lib-B8KKXVFM.mjs.map → lib-C3b113o2.mjs.map} +1 -1
  133. package/dist/{lib-2PzUfcog.cjs → lib-CB6hGKB-.cjs} +2 -2
  134. package/dist/{lib-2PzUfcog.cjs.map → lib-CB6hGKB-.cjs.map} +1 -1
  135. package/dist/{ln-4LGSXXGD-Dn6vKThL.mjs → ln-4LGSXXGD-C8uxwN4w.mjs} +2 -2
  136. package/dist/{ln-4LGSXXGD-Dn6vKThL.mjs.map → ln-4LGSXXGD-C8uxwN4w.mjs.map} +1 -1
  137. package/dist/{ln-4LGSXXGD-BzwowxRB.cjs → ln-4LGSXXGD-D1ZvU7qg.cjs} +2 -2
  138. package/dist/{ln-4LGSXXGD-BzwowxRB.cjs.map → ln-4LGSXXGD-D1ZvU7qg.cjs.map} +1 -1
  139. package/dist/{ls-ZJGQER7M-CUJkuUh-.cjs → ls-ZJGQER7M-BIFh_LBI.cjs} +2 -2
  140. package/dist/{ls-ZJGQER7M-CUJkuUh-.cjs.map → ls-ZJGQER7M-BIFh_LBI.cjs.map} +1 -1
  141. package/dist/{ls-ZJGQER7M-BeJZta9T.mjs → ls-ZJGQER7M-VlE8NU2n.mjs} +2 -2
  142. package/dist/{ls-ZJGQER7M-BeJZta9T.mjs.map → ls-ZJGQER7M-VlE8NU2n.mjs.map} +1 -1
  143. package/dist/{lzma--dxpHlNq.cjs → lzma-BFhxhjwM.cjs} +3 -3
  144. package/dist/{lzma--dxpHlNq.cjs.map → lzma-BFhxhjwM.cjs.map} +1 -1
  145. package/dist/{md5sum-SPU24VSG-CSOni4rN.mjs → md5sum-SPU24VSG-D9FkR68Z.mjs} +3 -3
  146. package/dist/{md5sum-SPU24VSG-CSOni4rN.mjs.map → md5sum-SPU24VSG-D9FkR68Z.mjs.map} +1 -1
  147. package/dist/{md5sum-SPU24VSG-CbRWoiQV.cjs → md5sum-SPU24VSG-DeBwcDpn.cjs} +3 -3
  148. package/dist/{md5sum-SPU24VSG-CbRWoiQV.cjs.map → md5sum-SPU24VSG-DeBwcDpn.cjs.map} +1 -1
  149. package/dist/{mkdir-MEPGZOB6-DQZ1k-4g.cjs → mkdir-MEPGZOB6-CTaJw5WD.cjs} +2 -2
  150. package/dist/{mkdir-MEPGZOB6-DQZ1k-4g.cjs.map → mkdir-MEPGZOB6-CTaJw5WD.cjs.map} +1 -1
  151. package/dist/{mkdir-MEPGZOB6-X9vy2RCy.mjs → mkdir-MEPGZOB6-DKhEU_mo.mjs} +2 -2
  152. package/dist/{mkdir-MEPGZOB6-X9vy2RCy.mjs.map → mkdir-MEPGZOB6-DKhEU_mo.mjs.map} +1 -1
  153. package/dist/{mv-W5BIQ646-CoEt2Xu7.cjs → mv-W5BIQ646-04XTiLIP.cjs} +2 -2
  154. package/dist/{mv-W5BIQ646-CoEt2Xu7.cjs.map → mv-W5BIQ646-04XTiLIP.cjs.map} +1 -1
  155. package/dist/{mv-W5BIQ646-D6ALdw02.mjs → mv-W5BIQ646-wEz7EErl.mjs} +2 -2
  156. package/dist/{mv-W5BIQ646-D6ALdw02.mjs.map → mv-W5BIQ646-wEz7EErl.mjs.map} +1 -1
  157. package/dist/{nl-WSDW7I4O-DDQ244Zw.cjs → nl-WSDW7I4O-Bc1YFLf6.cjs} +2 -2
  158. package/dist/{nl-WSDW7I4O-DDQ244Zw.cjs.map → nl-WSDW7I4O-Bc1YFLf6.cjs.map} +1 -1
  159. package/dist/{nl-WSDW7I4O-DyeXenY-.mjs → nl-WSDW7I4O-BxQfwu-N.mjs} +2 -2
  160. package/dist/{nl-WSDW7I4O-DyeXenY-.mjs.map → nl-WSDW7I4O-BxQfwu-N.mjs.map} +1 -1
  161. package/dist/{od-WOKFDJTP--Dv5qEwr.cjs → od-WOKFDJTP-BMJoqBvk.cjs} +2 -2
  162. package/dist/{od-WOKFDJTP--Dv5qEwr.cjs.map → od-WOKFDJTP-BMJoqBvk.cjs.map} +1 -1
  163. package/dist/{od-WOKFDJTP-C4rrBoz_.mjs → od-WOKFDJTP-BMjM1Vpo.mjs} +2 -2
  164. package/dist/{od-WOKFDJTP-C4rrBoz_.mjs.map → od-WOKFDJTP-BMjM1Vpo.mjs.map} +1 -1
  165. package/dist/{paste-7JC6S4DX-Bji1Bpv0.mjs → paste-7JC6S4DX-BNyYBkM9.mjs} +2 -2
  166. package/dist/{paste-7JC6S4DX-Bji1Bpv0.mjs.map → paste-7JC6S4DX-BNyYBkM9.mjs.map} +1 -1
  167. package/dist/{paste-7JC6S4DX-B3VzuAt0.cjs → paste-7JC6S4DX-xeKsL7xT.cjs} +2 -2
  168. package/dist/{paste-7JC6S4DX-B3VzuAt0.cjs.map → paste-7JC6S4DX-xeKsL7xT.cjs.map} +1 -1
  169. package/dist/{printf-TWGXF445-BTeOHCJZ.cjs → printf-TWGXF445-DYS8xu0v.cjs} +3 -3
  170. package/dist/{printf-TWGXF445-BTeOHCJZ.cjs.map → printf-TWGXF445-DYS8xu0v.cjs.map} +1 -1
  171. package/dist/{printf-TWGXF445-BlhAZROi.mjs → printf-TWGXF445-XVD9Mxrm.mjs} +3 -3
  172. package/dist/{printf-TWGXF445-BlhAZROi.mjs.map → printf-TWGXF445-XVD9Mxrm.mjs.map} +1 -1
  173. package/dist/{python3-POMOR4OA-DG1ouNsU.cjs → python3-POMOR4OA-DYGxPjXO.cjs} +4 -4
  174. package/dist/{python3-POMOR4OA-DG1ouNsU.cjs.map → python3-POMOR4OA-DYGxPjXO.cjs.map} +1 -1
  175. package/dist/{python3-POMOR4OA-DR8mqMXh.mjs → python3-POMOR4OA-Dnqvkl59.mjs} +3 -3
  176. package/dist/{python3-POMOR4OA-DR8mqMXh.mjs.map → python3-POMOR4OA-Dnqvkl59.mjs.map} +1 -1
  177. package/dist/{rev-5EHFX4EJ-CI_VGXqm.mjs → rev-5EHFX4EJ-DhVvFoTy.mjs} +2 -2
  178. package/dist/{rev-5EHFX4EJ-CI_VGXqm.mjs.map → rev-5EHFX4EJ-DhVvFoTy.mjs.map} +1 -1
  179. package/dist/{rev-5EHFX4EJ-CTqxt9T2.cjs → rev-5EHFX4EJ-pW6JW5qN.cjs} +2 -2
  180. package/dist/{rev-5EHFX4EJ-CTqxt9T2.cjs.map → rev-5EHFX4EJ-pW6JW5qN.cjs.map} +1 -1
  181. package/dist/{rg-S4FXYXWB-BxiM0Km5.cjs → rg-S4FXYXWB-C73Aq2Xr.cjs} +3 -3
  182. package/dist/{rg-S4FXYXWB-BxiM0Km5.cjs.map → rg-S4FXYXWB-C73Aq2Xr.cjs.map} +1 -1
  183. package/dist/{rg-S4FXYXWB-BV530Cw5.mjs → rg-S4FXYXWB-z2oeRO1P.mjs} +3 -3
  184. package/dist/{rg-S4FXYXWB-BV530Cw5.mjs.map → rg-S4FXYXWB-z2oeRO1P.mjs.map} +1 -1
  185. package/dist/{rm-SSGETQVQ-BZ_Vwtjq.cjs → rm-SSGETQVQ-CHrR_Tku.cjs} +2 -2
  186. package/dist/{rm-SSGETQVQ-BZ_Vwtjq.cjs.map → rm-SSGETQVQ-CHrR_Tku.cjs.map} +1 -1
  187. package/dist/{rm-SSGETQVQ-0mxnhARQ.mjs → rm-SSGETQVQ-Jci5Ip6D.mjs} +2 -2
  188. package/dist/{rm-SSGETQVQ-0mxnhARQ.mjs.map → rm-SSGETQVQ-Jci5Ip6D.mjs.map} +1 -1
  189. package/dist/{rmdir-OC4ZLPYA-DSmolqBX.cjs → rmdir-OC4ZLPYA-C9GToyPE.cjs} +2 -2
  190. package/dist/{rmdir-OC4ZLPYA-DSmolqBX.cjs.map → rmdir-OC4ZLPYA-C9GToyPE.cjs.map} +1 -1
  191. package/dist/{rmdir-OC4ZLPYA-B91oqgzk.mjs → rmdir-OC4ZLPYA-CbUJDjKj.mjs} +2 -2
  192. package/dist/{rmdir-OC4ZLPYA-B91oqgzk.mjs.map → rmdir-OC4ZLPYA-CbUJDjKj.mjs.map} +1 -1
  193. package/dist/run.cjs +1 -1
  194. package/dist/run.mjs +1 -1
  195. package/dist/{sed-S5UIK574-CUHVLRCU.cjs → sed-S5UIK574-CKdzn0sh.cjs} +2 -2
  196. package/dist/{sed-S5UIK574-CUHVLRCU.cjs.map → sed-S5UIK574-CKdzn0sh.cjs.map} +1 -1
  197. package/dist/{sed-S5UIK574-Bn1VT3VJ.mjs → sed-S5UIK574-DMSLNP6f.mjs} +2 -2
  198. package/dist/{sed-S5UIK574-Bn1VT3VJ.mjs.map → sed-S5UIK574-DMSLNP6f.mjs.map} +1 -1
  199. package/dist/{sha1sum-2PTOAFR6-DL_UeFqk.mjs → sha1sum-2PTOAFR6-BvcG60rc.mjs} +3 -3
  200. package/dist/{sha1sum-2PTOAFR6-DL_UeFqk.mjs.map → sha1sum-2PTOAFR6-BvcG60rc.mjs.map} +1 -1
  201. package/dist/{sha1sum-2PTOAFR6-DqcsWk6l.cjs → sha1sum-2PTOAFR6-D-6ahlIg.cjs} +3 -3
  202. package/dist/{sha1sum-2PTOAFR6-DqcsWk6l.cjs.map → sha1sum-2PTOAFR6-D-6ahlIg.cjs.map} +1 -1
  203. package/dist/{sha256sum-NS7D3IXX-CmnB6TL1.mjs → sha256sum-NS7D3IXX-DVH9Rp51.mjs} +3 -3
  204. package/dist/{sha256sum-NS7D3IXX-CmnB6TL1.mjs.map → sha256sum-NS7D3IXX-DVH9Rp51.mjs.map} +1 -1
  205. package/dist/{sha256sum-NS7D3IXX-DzpZonik.cjs → sha256sum-NS7D3IXX-Drwo830V.cjs} +3 -3
  206. package/dist/{sha256sum-NS7D3IXX-DzpZonik.cjs.map → sha256sum-NS7D3IXX-Drwo830V.cjs.map} +1 -1
  207. package/dist/{sleep-X22JJINO-CbNXwoha.mjs → sleep-X22JJINO-B-F8EJ1A.mjs} +2 -2
  208. package/dist/{sleep-X22JJINO-CbNXwoha.mjs.map → sleep-X22JJINO-B-F8EJ1A.mjs.map} +1 -1
  209. package/dist/{sleep-X22JJINO-DFFy9Bw9.cjs → sleep-X22JJINO-VzGR_aAP.cjs} +2 -2
  210. package/dist/{sleep-X22JJINO-DFFy9Bw9.cjs.map → sleep-X22JJINO-VzGR_aAP.cjs.map} +1 -1
  211. package/dist/{sort-SW2YEO5B-BYbDNrah.mjs → sort-SW2YEO5B-BlCI4ke5.mjs} +3 -3
  212. package/dist/{sort-SW2YEO5B-BYbDNrah.mjs.map → sort-SW2YEO5B-BlCI4ke5.mjs.map} +1 -1
  213. package/dist/{sort-SW2YEO5B-gdNgTdnH.cjs → sort-SW2YEO5B-oXMaUVfX.cjs} +3 -3
  214. package/dist/{sort-SW2YEO5B-gdNgTdnH.cjs.map → sort-SW2YEO5B-oXMaUVfX.cjs.map} +1 -1
  215. package/dist/{split-4KKZZXXE-DaVNgVyU.mjs → split-4KKZZXXE-DInsLVFn.mjs} +2 -2
  216. package/dist/{split-4KKZZXXE-DaVNgVyU.mjs.map → split-4KKZZXXE-DInsLVFn.mjs.map} +1 -1
  217. package/dist/{split-4KKZZXXE-BQei9Yb7.cjs → split-4KKZZXXE-uNycTBLx.cjs} +2 -2
  218. package/dist/{split-4KKZZXXE-BQei9Yb7.cjs.map → split-4KKZZXXE-uNycTBLx.cjs.map} +1 -1
  219. package/dist/{sqlite3-CGOEFJAO-Did6BRU0.cjs → sqlite3-CGOEFJAO-DLGaPKmF.cjs} +4 -4
  220. package/dist/{sqlite3-CGOEFJAO-Did6BRU0.cjs.map → sqlite3-CGOEFJAO-DLGaPKmF.cjs.map} +1 -1
  221. package/dist/{sqlite3-CGOEFJAO-DWuK8T1P.mjs → sqlite3-CGOEFJAO-DdQnH7sK.mjs} +3 -3
  222. package/dist/{sqlite3-CGOEFJAO-DWuK8T1P.mjs.map → sqlite3-CGOEFJAO-DdQnH7sK.mjs.map} +1 -1
  223. package/dist/{start-BXs2tRMp.cjs → start-B-r5AcHg.cjs} +1109 -129
  224. package/dist/start-B-r5AcHg.cjs.map +1 -0
  225. package/dist/{start-Bkcu3Xyf.mjs → start-BopA4OXE.mjs} +1109 -129
  226. package/dist/start-BopA4OXE.mjs.map +1 -0
  227. package/dist/start.cjs +1 -1
  228. package/dist/start.d.cts +1 -1
  229. package/dist/start.d.mts +1 -1
  230. package/dist/start.mjs +1 -1
  231. package/dist/{strings-6WDHLGMX-DghW6u1V.mjs → strings-6WDHLGMX-CQhR5NWI.mjs} +2 -2
  232. package/dist/{strings-6WDHLGMX-DghW6u1V.mjs.map → strings-6WDHLGMX-CQhR5NWI.mjs.map} +1 -1
  233. package/dist/{strings-6WDHLGMX-BYLV5mVI.cjs → strings-6WDHLGMX-CgNUl2be.cjs} +2 -2
  234. package/dist/{strings-6WDHLGMX-BYLV5mVI.cjs.map → strings-6WDHLGMX-CgNUl2be.cjs.map} +1 -1
  235. package/dist/{tac-2STMMJYW-dyBrgE3g.mjs → tac-2STMMJYW-DPVvOOFh.mjs} +2 -2
  236. package/dist/{tac-2STMMJYW-dyBrgE3g.mjs.map → tac-2STMMJYW-DPVvOOFh.mjs.map} +1 -1
  237. package/dist/{tac-2STMMJYW-BUj2w_ls.cjs → tac-2STMMJYW-XOnEZ_Pa.cjs} +2 -2
  238. package/dist/{tac-2STMMJYW-BUj2w_ls.cjs.map → tac-2STMMJYW-XOnEZ_Pa.cjs.map} +1 -1
  239. package/dist/{tail-R4PCA2C4-Cb1qzi12.cjs → tail-R4PCA2C4-BPlLX9IB.cjs} +2 -2
  240. package/dist/{tail-R4PCA2C4-Cb1qzi12.cjs.map → tail-R4PCA2C4-BPlLX9IB.cjs.map} +1 -1
  241. package/dist/{tail-R4PCA2C4-BYcpWm-i.mjs → tail-R4PCA2C4-BXsd_oGy.mjs} +2 -2
  242. package/dist/{tail-R4PCA2C4-BYcpWm-i.mjs.map → tail-R4PCA2C4-BXsd_oGy.mjs.map} +1 -1
  243. package/dist/{tar-STHHZTZ6-y56eAWkM.cjs → tar-STHHZTZ6-BSs3Wex8.cjs} +5 -5
  244. package/dist/{tar-STHHZTZ6-y56eAWkM.cjs.map → tar-STHHZTZ6-BSs3Wex8.cjs.map} +1 -1
  245. package/dist/{tar-STHHZTZ6-FTWsSEpr.mjs → tar-STHHZTZ6-DTf5Ifnn.mjs} +4 -4
  246. package/dist/{tar-STHHZTZ6-FTWsSEpr.mjs.map → tar-STHHZTZ6-DTf5Ifnn.mjs.map} +1 -1
  247. package/dist/{tee-YUZ2FKCJ-oYjZsafd.cjs → tee-YUZ2FKCJ-DgWILkVl.cjs} +2 -2
  248. package/dist/{tee-YUZ2FKCJ-oYjZsafd.cjs.map → tee-YUZ2FKCJ-DgWILkVl.cjs.map} +1 -1
  249. package/dist/{tee-YUZ2FKCJ-DArfnCcS.mjs → tee-YUZ2FKCJ-HOwDepoa.mjs} +2 -2
  250. package/dist/{tee-YUZ2FKCJ-DArfnCcS.mjs.map → tee-YUZ2FKCJ-HOwDepoa.mjs.map} +1 -1
  251. package/dist/{time-D4LNBSWX-BTetD0sZ.cjs → time-D4LNBSWX-Czgb4a8J.cjs} +2 -2
  252. package/dist/{time-D4LNBSWX-BTetD0sZ.cjs.map → time-D4LNBSWX-Czgb4a8J.cjs.map} +1 -1
  253. package/dist/{time-D4LNBSWX-D0AgPrVU.mjs → time-D4LNBSWX-DShdsFLL.mjs} +2 -2
  254. package/dist/{time-D4LNBSWX-D0AgPrVU.mjs.map → time-D4LNBSWX-DShdsFLL.mjs.map} +1 -1
  255. package/dist/{timeout-YDCRSLPQ-m0hOl9RU.mjs → timeout-YDCRSLPQ-CrDWh7NY.mjs} +2 -2
  256. package/dist/{timeout-YDCRSLPQ-m0hOl9RU.mjs.map → timeout-YDCRSLPQ-CrDWh7NY.mjs.map} +1 -1
  257. package/dist/{timeout-YDCRSLPQ-D_NEhBtI.cjs → timeout-YDCRSLPQ-fyDe4rrM.cjs} +2 -2
  258. package/dist/{timeout-YDCRSLPQ-D_NEhBtI.cjs.map → timeout-YDCRSLPQ-fyDe4rrM.cjs.map} +1 -1
  259. package/dist/{touch-UA33VN3N-D-0iV3bm.mjs → touch-UA33VN3N-D8fHlx6X.mjs} +2 -2
  260. package/dist/{touch-UA33VN3N-D-0iV3bm.mjs.map → touch-UA33VN3N-D8fHlx6X.mjs.map} +1 -1
  261. package/dist/{touch-UA33VN3N-C3gdLoXZ.cjs → touch-UA33VN3N-QQeRWr4H.cjs} +2 -2
  262. package/dist/{touch-UA33VN3N-C3gdLoXZ.cjs.map → touch-UA33VN3N-QQeRWr4H.cjs.map} +1 -1
  263. package/dist/{tr-36LHWFRQ-DgJzlhNw.cjs → tr-36LHWFRQ-BvZgWBI7.cjs} +2 -2
  264. package/dist/{tr-36LHWFRQ-DgJzlhNw.cjs.map → tr-36LHWFRQ-BvZgWBI7.cjs.map} +1 -1
  265. package/dist/{tr-36LHWFRQ-DSKHB_Nc.mjs → tr-36LHWFRQ-DkmoHg-J.mjs} +2 -2
  266. package/dist/{tr-36LHWFRQ-DSKHB_Nc.mjs.map → tr-36LHWFRQ-DkmoHg-J.mjs.map} +1 -1
  267. package/dist/{tree-YLD52CNT-io_fc43x.cjs → tree-YLD52CNT-D28PbXCj.cjs} +2 -2
  268. package/dist/{tree-YLD52CNT-io_fc43x.cjs.map → tree-YLD52CNT-D28PbXCj.cjs.map} +1 -1
  269. package/dist/{tree-YLD52CNT-BWhZ09Ar.mjs → tree-YLD52CNT-xjlCOZ0t.mjs} +2 -2
  270. package/dist/{tree-YLD52CNT-BWhZ09Ar.mjs.map → tree-YLD52CNT-xjlCOZ0t.mjs.map} +1 -1
  271. package/dist/{unexpand-CADSA4VO-CAimwjsv.mjs → unexpand-CADSA4VO-Bhs2BUQ5.mjs} +2 -2
  272. package/dist/{unexpand-CADSA4VO-CAimwjsv.mjs.map → unexpand-CADSA4VO-Bhs2BUQ5.mjs.map} +1 -1
  273. package/dist/{unexpand-CADSA4VO-zLmcC151.cjs → unexpand-CADSA4VO-Ct-tDYst.cjs} +2 -2
  274. package/dist/{unexpand-CADSA4VO-zLmcC151.cjs.map → unexpand-CADSA4VO-Ct-tDYst.cjs.map} +1 -1
  275. package/dist/{uniq-XSIZR6PB-ZZpwZg0c.cjs → uniq-XSIZR6PB-4d0zRoTa.cjs} +3 -3
  276. package/dist/{uniq-XSIZR6PB-ZZpwZg0c.cjs.map → uniq-XSIZR6PB-4d0zRoTa.cjs.map} +1 -1
  277. package/dist/{uniq-XSIZR6PB-CWAKZmGl.mjs → uniq-XSIZR6PB-B5Bk1TsC.mjs} +3 -3
  278. package/dist/{uniq-XSIZR6PB-CWAKZmGl.mjs.map → uniq-XSIZR6PB-B5Bk1TsC.mjs.map} +1 -1
  279. package/dist/{wc-LF7NU4LA-DhNBsFLd.mjs → wc-LF7NU4LA-B3_zHGUI.mjs} +3 -3
  280. package/dist/{wc-LF7NU4LA-DhNBsFLd.mjs.map → wc-LF7NU4LA-B3_zHGUI.mjs.map} +1 -1
  281. package/dist/{wc-LF7NU4LA-C4FhC6BH.cjs → wc-LF7NU4LA-D8KKcjuc.cjs} +3 -3
  282. package/dist/{wc-LF7NU4LA-C4FhC6BH.cjs.map → wc-LF7NU4LA-D8KKcjuc.cjs.map} +1 -1
  283. package/dist/{xan-Y6WF3IRG-DN7DU1ab.mjs → xan-Y6WF3IRG-9KChSctb.mjs} +6 -6
  284. package/dist/{xan-Y6WF3IRG-DN7DU1ab.mjs.map → xan-Y6WF3IRG-9KChSctb.mjs.map} +1 -1
  285. package/dist/{xan-Y6WF3IRG-BU79SNfn.cjs → xan-Y6WF3IRG-DlMObnyI.cjs} +6 -6
  286. package/dist/{xan-Y6WF3IRG-BU79SNfn.cjs.map → xan-Y6WF3IRG-DlMObnyI.cjs.map} +1 -1
  287. package/dist/{xan-view-HDVKHFC2-DqGQzO2o.mjs → xan-view-HDVKHFC2-CuXxKOL_.mjs} +3 -3
  288. package/dist/{xan-view-HDVKHFC2-DqGQzO2o.mjs.map → xan-view-HDVKHFC2-CuXxKOL_.mjs.map} +1 -1
  289. package/dist/{xan-view-HDVKHFC2-Dew1rWvx.cjs → xan-view-HDVKHFC2-D4UaWbCt.cjs} +3 -3
  290. package/dist/{xan-view-HDVKHFC2-Dew1rWvx.cjs.map → xan-view-HDVKHFC2-D4UaWbCt.cjs.map} +1 -1
  291. package/dist/{xargs-MGZPH7AX-BH-SyQsU.mjs → xargs-MGZPH7AX-BdScic0s.mjs} +2 -2
  292. package/dist/{xargs-MGZPH7AX-BH-SyQsU.mjs.map → xargs-MGZPH7AX-BdScic0s.mjs.map} +1 -1
  293. package/dist/{xargs-MGZPH7AX-BS-zAwl9.cjs → xargs-MGZPH7AX-DY0UyJRW.cjs} +2 -2
  294. package/dist/{xargs-MGZPH7AX-BS-zAwl9.cjs.map → xargs-MGZPH7AX-DY0UyJRW.cjs.map} +1 -1
  295. package/dist/{yq-4QJW3EQG-CY_mBr2e.mjs → yq-4QJW3EQG-BvkjygaH.mjs} +3 -3
  296. package/dist/{yq-4QJW3EQG-CY_mBr2e.mjs.map → yq-4QJW3EQG-BvkjygaH.mjs.map} +1 -1
  297. package/dist/{yq-4QJW3EQG-B_e-AoZW.cjs → yq-4QJW3EQG-CF1OM3GO.cjs} +3 -3
  298. package/dist/{yq-4QJW3EQG-B_e-AoZW.cjs.map → yq-4QJW3EQG-CF1OM3GO.cjs.map} +1 -1
  299. package/package.json +3 -3
  300. package/dist/dist-BGnpuTuc.cjs.map +0 -1
  301. package/dist/dist-DEUmH1sy.mjs.map +0 -1
  302. package/dist/start-BXs2tRMp.cjs.map +0 -1
  303. package/dist/start-Bkcu3Xyf.mjs.map +0 -1
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-BGnpuTuc.cjs");
1
+ const require_dist = require("./dist-BSIIH4ft.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");
@@ -7,7 +7,7 @@ let _keystrokehq_database = require("@keystrokehq/database");
7
7
  let zod = require("zod");
8
8
  let node_async_hooks = require("node:async_hooks");
9
9
  let _keystrokehq_platform_database = require("@keystrokehq/platform-database");
10
- require("node:crypto");
10
+ let node_crypto = require("node:crypto");
11
11
  let node_fs = require("node:fs");
12
12
  node_fs = require_dist.__toESM(node_fs, 1);
13
13
  let node_path = require("node:path");
@@ -16,8 +16,9 @@ let node_os = require("node:os");
16
16
  let _hono_node_server = require("@hono/node-server");
17
17
  let _keystrokehq_auth = require("@keystrokehq/auth");
18
18
  let _keystrokehq_runtime = require("@keystrokehq/runtime");
19
- require("node:url");
20
19
  let node_module = require("node:module");
20
+ require("node:url");
21
+ require("typescript");
21
22
  let _keystrokehq_http = require("@keystrokehq/http");
22
23
  let hono = require("hono");
23
24
  let resend = require("resend");
@@ -20029,7 +20030,7 @@ var g = class i {
20029
20030
  endPos() {
20030
20031
  return this.end;
20031
20032
  }
20032
- }, z$6 = class extends L {
20033
+ }, z$7 = class extends L {
20033
20034
  constructor(t, e = 0, s = t.length) {
20034
20035
  super(), this.bytes = t, this.start = e, this.end = s;
20035
20036
  }
@@ -20086,7 +20087,7 @@ var g = class i {
20086
20087
  }
20087
20088
  }, R = class {
20088
20089
  static fromUTF8(t, e = 0, s = t.length) {
20089
- return new z$6(t, e, s);
20090
+ return new z$7(t, e, s);
20090
20091
  }
20091
20092
  static fromUTF16(t, e = 0, s = t.length) {
20092
20093
  return new $$1(t, e, s);
@@ -22872,43 +22873,43 @@ var tt = [
22872
22873
  },
22873
22874
  {
22874
22875
  name: "cat",
22875
- load: async () => (await Promise.resolve().then(() => require("./cat-TSFMZVYS-p5WuEnly.cjs"))).catCommand
22876
+ load: async () => (await Promise.resolve().then(() => require("./cat-TSFMZVYS-COvFG8Nb.cjs"))).catCommand
22876
22877
  },
22877
22878
  {
22878
22879
  name: "printf",
22879
- load: async () => (await Promise.resolve().then(() => require("./printf-TWGXF445-BTeOHCJZ.cjs"))).printfCommand
22880
+ load: async () => (await Promise.resolve().then(() => require("./printf-TWGXF445-DYS8xu0v.cjs"))).printfCommand
22880
22881
  },
22881
22882
  {
22882
22883
  name: "ls",
22883
- load: async () => (await Promise.resolve().then(() => require("./ls-ZJGQER7M-CUJkuUh-.cjs"))).lsCommand
22884
+ load: async () => (await Promise.resolve().then(() => require("./ls-ZJGQER7M-BIFh_LBI.cjs"))).lsCommand
22884
22885
  },
22885
22886
  {
22886
22887
  name: "mkdir",
22887
- load: async () => (await Promise.resolve().then(() => require("./mkdir-MEPGZOB6-DQZ1k-4g.cjs"))).mkdirCommand
22888
+ load: async () => (await Promise.resolve().then(() => require("./mkdir-MEPGZOB6-CTaJw5WD.cjs"))).mkdirCommand
22888
22889
  },
22889
22890
  {
22890
22891
  name: "rmdir",
22891
- load: async () => (await Promise.resolve().then(() => require("./rmdir-OC4ZLPYA-DSmolqBX.cjs"))).rmdirCommand
22892
+ load: async () => (await Promise.resolve().then(() => require("./rmdir-OC4ZLPYA-C9GToyPE.cjs"))).rmdirCommand
22892
22893
  },
22893
22894
  {
22894
22895
  name: "touch",
22895
- load: async () => (await Promise.resolve().then(() => require("./touch-UA33VN3N-C3gdLoXZ.cjs"))).touchCommand
22896
+ load: async () => (await Promise.resolve().then(() => require("./touch-UA33VN3N-QQeRWr4H.cjs"))).touchCommand
22896
22897
  },
22897
22898
  {
22898
22899
  name: "rm",
22899
- load: async () => (await Promise.resolve().then(() => require("./rm-SSGETQVQ-BZ_Vwtjq.cjs"))).rmCommand
22900
+ load: async () => (await Promise.resolve().then(() => require("./rm-SSGETQVQ-CHrR_Tku.cjs"))).rmCommand
22900
22901
  },
22901
22902
  {
22902
22903
  name: "cp",
22903
- load: async () => (await Promise.resolve().then(() => require("./cp-BISAAS7A-RoHZxKSQ.cjs"))).cpCommand
22904
+ load: async () => (await Promise.resolve().then(() => require("./cp-BISAAS7A-CsllNNA2.cjs"))).cpCommand
22904
22905
  },
22905
22906
  {
22906
22907
  name: "mv",
22907
- load: async () => (await Promise.resolve().then(() => require("./mv-W5BIQ646-CoEt2Xu7.cjs"))).mvCommand
22908
+ load: async () => (await Promise.resolve().then(() => require("./mv-W5BIQ646-04XTiLIP.cjs"))).mvCommand
22908
22909
  },
22909
22910
  {
22910
22911
  name: "ln",
22911
- load: async () => (await Promise.resolve().then(() => require("./ln-4LGSXXGD-BzwowxRB.cjs"))).lnCommand
22912
+ load: async () => (await Promise.resolve().then(() => require("./ln-4LGSXXGD-D1ZvU7qg.cjs"))).lnCommand
22912
22913
  },
22913
22914
  {
22914
22915
  name: "chmod",
@@ -22924,15 +22925,15 @@ var tt = [
22924
22925
  },
22925
22926
  {
22926
22927
  name: "head",
22927
- load: async () => (await Promise.resolve().then(() => require("./head-442HYESI-CREwdwGh.cjs"))).headCommand
22928
+ load: async () => (await Promise.resolve().then(() => require("./head-442HYESI-Dl61xdxd.cjs"))).headCommand
22928
22929
  },
22929
22930
  {
22930
22931
  name: "tail",
22931
- load: async () => (await Promise.resolve().then(() => require("./tail-R4PCA2C4-Cb1qzi12.cjs"))).tailCommand
22932
+ load: async () => (await Promise.resolve().then(() => require("./tail-R4PCA2C4-BPlLX9IB.cjs"))).tailCommand
22932
22933
  },
22933
22934
  {
22934
22935
  name: "wc",
22935
- load: async () => (await Promise.resolve().then(() => require("./wc-LF7NU4LA-C4FhC6BH.cjs"))).wcCommand
22936
+ load: async () => (await Promise.resolve().then(() => require("./wc-LF7NU4LA-D8KKcjuc.cjs"))).wcCommand
22936
22937
  },
22937
22938
  {
22938
22939
  name: "stat",
@@ -22940,95 +22941,95 @@ var tt = [
22940
22941
  },
22941
22942
  {
22942
22943
  name: "grep",
22943
- load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-D2lsL0yl.cjs"))).grepCommand
22944
+ load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-CFEy1H5w.cjs"))).grepCommand
22944
22945
  },
22945
22946
  {
22946
22947
  name: "fgrep",
22947
- load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-D2lsL0yl.cjs"))).fgrepCommand
22948
+ load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-CFEy1H5w.cjs"))).fgrepCommand
22948
22949
  },
22949
22950
  {
22950
22951
  name: "egrep",
22951
- load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-D2lsL0yl.cjs"))).egrepCommand
22952
+ load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-CFEy1H5w.cjs"))).egrepCommand
22952
22953
  },
22953
22954
  {
22954
22955
  name: "rg",
22955
- load: async () => (await Promise.resolve().then(() => require("./rg-S4FXYXWB-BxiM0Km5.cjs"))).rgCommand
22956
+ load: async () => (await Promise.resolve().then(() => require("./rg-S4FXYXWB-C73Aq2Xr.cjs"))).rgCommand
22956
22957
  },
22957
22958
  {
22958
22959
  name: "sed",
22959
- load: async () => (await Promise.resolve().then(() => require("./sed-S5UIK574-CUHVLRCU.cjs"))).sedCommand
22960
+ load: async () => (await Promise.resolve().then(() => require("./sed-S5UIK574-CKdzn0sh.cjs"))).sedCommand
22960
22961
  },
22961
22962
  {
22962
22963
  name: "awk",
22963
- load: async () => (await Promise.resolve().then(() => require("./awk2-LA3USKJP-6nTiL1Fx.cjs"))).awkCommand2
22964
+ load: async () => (await Promise.resolve().then(() => require("./awk2-LA3USKJP-DWN5gyAn.cjs"))).awkCommand2
22964
22965
  },
22965
22966
  {
22966
22967
  name: "sort",
22967
- load: async () => (await Promise.resolve().then(() => require("./sort-SW2YEO5B-gdNgTdnH.cjs"))).sortCommand
22968
+ load: async () => (await Promise.resolve().then(() => require("./sort-SW2YEO5B-oXMaUVfX.cjs"))).sortCommand
22968
22969
  },
22969
22970
  {
22970
22971
  name: "uniq",
22971
- load: async () => (await Promise.resolve().then(() => require("./uniq-XSIZR6PB-ZZpwZg0c.cjs"))).uniqCommand
22972
+ load: async () => (await Promise.resolve().then(() => require("./uniq-XSIZR6PB-4d0zRoTa.cjs"))).uniqCommand
22972
22973
  },
22973
22974
  {
22974
22975
  name: "comm",
22975
- load: async () => (await Promise.resolve().then(() => require("./comm-VV2LDX2J-DIsxSu6X.cjs"))).commCommand
22976
+ load: async () => (await Promise.resolve().then(() => require("./comm-VV2LDX2J-CAqAa0VH.cjs"))).commCommand
22976
22977
  },
22977
22978
  {
22978
22979
  name: "cut",
22979
- load: async () => (await Promise.resolve().then(() => require("./cut-OKARJCCV-DV8QkVm0.cjs"))).cutCommand
22980
+ load: async () => (await Promise.resolve().then(() => require("./cut-OKARJCCV-C3IgdttS.cjs"))).cutCommand
22980
22981
  },
22981
22982
  {
22982
22983
  name: "paste",
22983
- load: async () => (await Promise.resolve().then(() => require("./paste-7JC6S4DX-B3VzuAt0.cjs"))).pasteCommand
22984
+ load: async () => (await Promise.resolve().then(() => require("./paste-7JC6S4DX-xeKsL7xT.cjs"))).pasteCommand
22984
22985
  },
22985
22986
  {
22986
22987
  name: "tr",
22987
- load: async () => (await Promise.resolve().then(() => require("./tr-36LHWFRQ-DgJzlhNw.cjs"))).trCommand
22988
+ load: async () => (await Promise.resolve().then(() => require("./tr-36LHWFRQ-BvZgWBI7.cjs"))).trCommand
22988
22989
  },
22989
22990
  {
22990
22991
  name: "rev",
22991
- load: async () => (await Promise.resolve().then(() => require("./rev-5EHFX4EJ-CTqxt9T2.cjs"))).rev
22992
+ load: async () => (await Promise.resolve().then(() => require("./rev-5EHFX4EJ-pW6JW5qN.cjs"))).rev
22992
22993
  },
22993
22994
  {
22994
22995
  name: "nl",
22995
- load: async () => (await Promise.resolve().then(() => require("./nl-WSDW7I4O-DDQ244Zw.cjs"))).nl
22996
+ load: async () => (await Promise.resolve().then(() => require("./nl-WSDW7I4O-Bc1YFLf6.cjs"))).nl
22996
22997
  },
22997
22998
  {
22998
22999
  name: "fold",
22999
- load: async () => (await Promise.resolve().then(() => require("./fold-4TQNYMSW-Cu6mhoq6.cjs"))).fold
23000
+ load: async () => (await Promise.resolve().then(() => require("./fold-4TQNYMSW-C-vHdcsu.cjs"))).fold
23000
23001
  },
23001
23002
  {
23002
23003
  name: "expand",
23003
- load: async () => (await Promise.resolve().then(() => require("./expand-JSPG6VOP-C6vKMQyI.cjs"))).expand
23004
+ load: async () => (await Promise.resolve().then(() => require("./expand-JSPG6VOP-DI9tAEq8.cjs"))).expand
23004
23005
  },
23005
23006
  {
23006
23007
  name: "unexpand",
23007
- load: async () => (await Promise.resolve().then(() => require("./unexpand-CADSA4VO-zLmcC151.cjs"))).unexpand
23008
+ load: async () => (await Promise.resolve().then(() => require("./unexpand-CADSA4VO-Ct-tDYst.cjs"))).unexpand
23008
23009
  },
23009
23010
  {
23010
23011
  name: "strings",
23011
- load: async () => (await Promise.resolve().then(() => require("./strings-6WDHLGMX-BYLV5mVI.cjs"))).strings
23012
+ load: async () => (await Promise.resolve().then(() => require("./strings-6WDHLGMX-CgNUl2be.cjs"))).strings
23012
23013
  },
23013
23014
  {
23014
23015
  name: "split",
23015
- load: async () => (await Promise.resolve().then(() => require("./split-4KKZZXXE-BQei9Yb7.cjs"))).split
23016
+ load: async () => (await Promise.resolve().then(() => require("./split-4KKZZXXE-uNycTBLx.cjs"))).split
23016
23017
  },
23017
23018
  {
23018
23019
  name: "column",
23019
- load: async () => (await Promise.resolve().then(() => require("./column-XT6UFXNQ-C-MvTg4x.cjs"))).column
23020
+ load: async () => (await Promise.resolve().then(() => require("./column-XT6UFXNQ-Dy7Oa0td.cjs"))).column
23020
23021
  },
23021
23022
  {
23022
23023
  name: "join",
23023
- load: async () => (await Promise.resolve().then(() => require("./join-TBRGI3LQ-D4bq1eah.cjs"))).join
23024
+ load: async () => (await Promise.resolve().then(() => require("./join-TBRGI3LQ-CGvygkdd.cjs"))).join
23024
23025
  },
23025
23026
  {
23026
23027
  name: "tee",
23027
- load: async () => (await Promise.resolve().then(() => require("./tee-YUZ2FKCJ-oYjZsafd.cjs"))).teeCommand
23028
+ load: async () => (await Promise.resolve().then(() => require("./tee-YUZ2FKCJ-DgWILkVl.cjs"))).teeCommand
23028
23029
  },
23029
23030
  {
23030
23031
  name: "find",
23031
- load: async () => (await Promise.resolve().then(() => require("./find-INTH3OLC-CUamPw7X.cjs"))).findCommand
23032
+ load: async () => (await Promise.resolve().then(() => require("./find-INTH3OLC-CgU4UvVu.cjs"))).findCommand
23032
23033
  },
23033
23034
  {
23034
23035
  name: "basename",
@@ -23040,19 +23041,19 @@ var tt = [
23040
23041
  },
23041
23042
  {
23042
23043
  name: "tree",
23043
- load: async () => (await Promise.resolve().then(() => require("./tree-YLD52CNT-io_fc43x.cjs"))).treeCommand
23044
+ load: async () => (await Promise.resolve().then(() => require("./tree-YLD52CNT-D28PbXCj.cjs"))).treeCommand
23044
23045
  },
23045
23046
  {
23046
23047
  name: "du",
23047
- load: async () => (await Promise.resolve().then(() => require("./du-572XNP42-CjV9eojc.cjs"))).duCommand
23048
+ load: async () => (await Promise.resolve().then(() => require("./du-572XNP42-DlYoI7xK.cjs"))).duCommand
23048
23049
  },
23049
23050
  {
23050
23051
  name: "env",
23051
- load: async () => (await Promise.resolve().then(() => require("./env-36M5BO7M-DAa5KfBX.cjs"))).envCommand
23052
+ load: async () => (await Promise.resolve().then(() => require("./env-36M5BO7M-CiUSJDkN.cjs"))).envCommand
23052
23053
  },
23053
23054
  {
23054
23055
  name: "printenv",
23055
- load: async () => (await Promise.resolve().then(() => require("./env-36M5BO7M-DAa5KfBX.cjs"))).printenvCommand
23056
+ load: async () => (await Promise.resolve().then(() => require("./env-36M5BO7M-CiUSJDkN.cjs"))).printenvCommand
23056
23057
  },
23057
23058
  {
23058
23059
  name: "alias",
@@ -23068,7 +23069,7 @@ var tt = [
23068
23069
  },
23069
23070
  {
23070
23071
  name: "xargs",
23071
- load: async () => (await Promise.resolve().then(() => require("./xargs-MGZPH7AX-BS-zAwl9.cjs"))).xargsCommand
23072
+ load: async () => (await Promise.resolve().then(() => require("./xargs-MGZPH7AX-DY0UyJRW.cjs"))).xargsCommand
23072
23073
  },
23073
23074
  {
23074
23075
  name: "true",
@@ -23084,23 +23085,23 @@ var tt = [
23084
23085
  },
23085
23086
  {
23086
23087
  name: "bash",
23087
- load: async () => (await Promise.resolve().then(() => require("./bash-YZ33HQZQ-Cl3zWejT.cjs"))).bashCommand
23088
+ load: async () => (await Promise.resolve().then(() => require("./bash-YZ33HQZQ-DVA0EDj-.cjs"))).bashCommand
23088
23089
  },
23089
23090
  {
23090
23091
  name: "sh",
23091
- load: async () => (await Promise.resolve().then(() => require("./bash-YZ33HQZQ-Cl3zWejT.cjs"))).shCommand
23092
+ load: async () => (await Promise.resolve().then(() => require("./bash-YZ33HQZQ-DVA0EDj-.cjs"))).shCommand
23092
23093
  },
23093
23094
  {
23094
23095
  name: "jq",
23095
- load: async () => (await Promise.resolve().then(() => require("./jq-4XLYLOS5-1kPGLNfP.cjs"))).jqCommand
23096
+ load: async () => (await Promise.resolve().then(() => require("./jq-4XLYLOS5-CcpoXWem.cjs"))).jqCommand
23096
23097
  },
23097
23098
  {
23098
23099
  name: "base64",
23099
- load: async () => (await Promise.resolve().then(() => require("./base64-C2AIWVNC-Jli-NZKT.cjs"))).base64Command
23100
+ load: async () => (await Promise.resolve().then(() => require("./base64-C2AIWVNC-Dp8sCZAt.cjs"))).base64Command
23100
23101
  },
23101
23102
  {
23102
23103
  name: "diff",
23103
- load: async () => (await Promise.resolve().then(() => require("./diff-MWJFIG7X-CeQncm_4.cjs"))).diffCommand
23104
+ load: async () => (await Promise.resolve().then(() => require("./diff-MWJFIG7X-BN4jYNC5.cjs"))).diffCommand
23104
23105
  },
23105
23106
  {
23106
23107
  name: "date",
@@ -23108,15 +23109,15 @@ var tt = [
23108
23109
  },
23109
23110
  {
23110
23111
  name: "sleep",
23111
- load: async () => (await Promise.resolve().then(() => require("./sleep-X22JJINO-DFFy9Bw9.cjs"))).sleepCommand
23112
+ load: async () => (await Promise.resolve().then(() => require("./sleep-X22JJINO-VzGR_aAP.cjs"))).sleepCommand
23112
23113
  },
23113
23114
  {
23114
23115
  name: "timeout",
23115
- load: async () => (await Promise.resolve().then(() => require("./timeout-YDCRSLPQ-D_NEhBtI.cjs"))).timeoutCommand
23116
+ load: async () => (await Promise.resolve().then(() => require("./timeout-YDCRSLPQ-fyDe4rrM.cjs"))).timeoutCommand
23116
23117
  },
23117
23118
  {
23118
23119
  name: "time",
23119
- load: async () => (await Promise.resolve().then(() => require("./time-D4LNBSWX-BTetD0sZ.cjs"))).timeCommand
23120
+ load: async () => (await Promise.resolve().then(() => require("./time-D4LNBSWX-Czgb4a8J.cjs"))).timeCommand
23120
23121
  },
23121
23122
  {
23122
23123
  name: "seq",
@@ -23124,19 +23125,19 @@ var tt = [
23124
23125
  },
23125
23126
  {
23126
23127
  name: "expr",
23127
- load: async () => (await Promise.resolve().then(() => require("./expr-5JAACS4X-DwNhN5_2.cjs"))).exprCommand
23128
+ load: async () => (await Promise.resolve().then(() => require("./expr-5JAACS4X-BtODvrh-.cjs"))).exprCommand
23128
23129
  },
23129
23130
  {
23130
23131
  name: "md5sum",
23131
- load: async () => (await Promise.resolve().then(() => require("./md5sum-SPU24VSG-CbRWoiQV.cjs"))).md5sumCommand
23132
+ load: async () => (await Promise.resolve().then(() => require("./md5sum-SPU24VSG-DeBwcDpn.cjs"))).md5sumCommand
23132
23133
  },
23133
23134
  {
23134
23135
  name: "sha1sum",
23135
- load: async () => (await Promise.resolve().then(() => require("./sha1sum-2PTOAFR6-DqcsWk6l.cjs"))).sha1sumCommand
23136
+ load: async () => (await Promise.resolve().then(() => require("./sha1sum-2PTOAFR6-D-6ahlIg.cjs"))).sha1sumCommand
23136
23137
  },
23137
23138
  {
23138
23139
  name: "sha256sum",
23139
- load: async () => (await Promise.resolve().then(() => require("./sha256sum-NS7D3IXX-DzpZonik.cjs"))).sha256sumCommand
23140
+ load: async () => (await Promise.resolve().then(() => require("./sha256sum-NS7D3IXX-Drwo830V.cjs"))).sha256sumCommand
23140
23141
  },
23141
23142
  {
23142
23143
  name: "file",
@@ -23144,11 +23145,11 @@ var tt = [
23144
23145
  },
23145
23146
  {
23146
23147
  name: "html-to-markdown",
23147
- load: async () => (await Promise.resolve().then(() => require("./html-to-markdown-JW4MSQZO-kxS6FqAo.cjs"))).htmlToMarkdownCommand
23148
+ load: async () => (await Promise.resolve().then(() => require("./html-to-markdown-JW4MSQZO-Cy2yEvwt.cjs"))).htmlToMarkdownCommand
23148
23149
  },
23149
23150
  {
23150
23151
  name: "help",
23151
- load: async () => (await Promise.resolve().then(() => require("./help-HZ6M2CKN-Dm1xJuah.cjs"))).helpCommand
23152
+ load: async () => (await Promise.resolve().then(() => require("./help-HZ6M2CKN-D58VQaUX.cjs"))).helpCommand
23152
23153
  },
23153
23154
  {
23154
23155
  name: "which",
@@ -23156,7 +23157,7 @@ var tt = [
23156
23157
  },
23157
23158
  {
23158
23159
  name: "tac",
23159
- load: async () => (await Promise.resolve().then(() => require("./tac-2STMMJYW-BUj2w_ls.cjs"))).tac
23160
+ load: async () => (await Promise.resolve().then(() => require("./tac-2STMMJYW-XOnEZ_Pa.cjs"))).tac
23160
23161
  },
23161
23162
  {
23162
23163
  name: "hostname",
@@ -23168,49 +23169,49 @@ var tt = [
23168
23169
  },
23169
23170
  {
23170
23171
  name: "od",
23171
- load: async () => (await Promise.resolve().then(() => require("./od-WOKFDJTP--Dv5qEwr.cjs"))).od
23172
+ load: async () => (await Promise.resolve().then(() => require("./od-WOKFDJTP-BMJoqBvk.cjs"))).od
23172
23173
  },
23173
23174
  {
23174
23175
  name: "gzip",
23175
- load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-4WU25K8t.cjs"))).gzipCommand
23176
+ load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-BFMYd-hT.cjs"))).gzipCommand
23176
23177
  },
23177
23178
  {
23178
23179
  name: "gunzip",
23179
- load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-4WU25K8t.cjs"))).gunzipCommand
23180
+ load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-BFMYd-hT.cjs"))).gunzipCommand
23180
23181
  },
23181
23182
  {
23182
23183
  name: "zcat",
23183
- load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-4WU25K8t.cjs"))).zcatCommand
23184
+ load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-BFMYd-hT.cjs"))).zcatCommand
23184
23185
  }
23185
23186
  ];
23186
23187
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (tt.push({
23187
23188
  name: "tar",
23188
- load: async () => (await Promise.resolve().then(() => require("./tar-STHHZTZ6-y56eAWkM.cjs"))).tarCommand
23189
+ load: async () => (await Promise.resolve().then(() => require("./tar-STHHZTZ6-BSs3Wex8.cjs"))).tarCommand
23189
23190
  }), tt.push({
23190
23191
  name: "yq",
23191
- load: async () => (await Promise.resolve().then(() => require("./yq-4QJW3EQG-B_e-AoZW.cjs"))).yqCommand
23192
+ load: async () => (await Promise.resolve().then(() => require("./yq-4QJW3EQG-CF1OM3GO.cjs"))).yqCommand
23192
23193
  }), tt.push({
23193
23194
  name: "xan",
23194
- load: async () => (await Promise.resolve().then(() => require("./xan-Y6WF3IRG-BU79SNfn.cjs"))).xanCommand
23195
+ load: async () => (await Promise.resolve().then(() => require("./xan-Y6WF3IRG-DlMObnyI.cjs"))).xanCommand
23195
23196
  }), tt.push({
23196
23197
  name: "sqlite3",
23197
- load: async () => (await Promise.resolve().then(() => require("./sqlite3-CGOEFJAO-Did6BRU0.cjs"))).sqlite3Command
23198
+ load: async () => (await Promise.resolve().then(() => require("./sqlite3-CGOEFJAO-DLGaPKmF.cjs"))).sqlite3Command
23198
23199
  }));
23199
23200
  var Yt = [];
23200
23201
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (Yt.push({
23201
23202
  name: "python3",
23202
- load: async () => (await Promise.resolve().then(() => require("./python3-POMOR4OA-DG1ouNsU.cjs"))).python3Command
23203
+ load: async () => (await Promise.resolve().then(() => require("./python3-POMOR4OA-DYGxPjXO.cjs"))).python3Command
23203
23204
  }), Yt.push({
23204
23205
  name: "python",
23205
- load: async () => (await Promise.resolve().then(() => require("./python3-POMOR4OA-DG1ouNsU.cjs"))).pythonCommand
23206
+ load: async () => (await Promise.resolve().then(() => require("./python3-POMOR4OA-DYGxPjXO.cjs"))).pythonCommand
23206
23207
  }));
23207
23208
  var Qt = [];
23208
23209
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (Qt.push({
23209
23210
  name: "js-exec",
23210
- load: async () => (await Promise.resolve().then(() => require("./js-exec-N5KEZBH7-BiJgLg8R.cjs"))).jsExecCommand
23211
+ load: async () => (await Promise.resolve().then(() => require("./js-exec-N5KEZBH7-BfVFKq8I.cjs"))).jsExecCommand
23211
23212
  }), Qt.push({
23212
23213
  name: "node",
23213
- load: async () => (await Promise.resolve().then(() => require("./js-exec-N5KEZBH7-BiJgLg8R.cjs"))).nodeStubCommand
23214
+ load: async () => (await Promise.resolve().then(() => require("./js-exec-N5KEZBH7-BfVFKq8I.cjs"))).nodeStubCommand
23214
23215
  }));
23215
23216
  new TextEncoder();
23216
23217
  Object.freeze({
@@ -24228,11 +24229,12 @@ function normalizeLegacySlugFields(value) {
24228
24229
  return next;
24229
24230
  }
24230
24231
  const slugField = zod.z.string().trim().min(1);
24231
- const optionalTextField = zod.z.string().optional();
24232
+ const requiredTextField = zod.z.string().trim().min(1);
24233
+ const optionalTextField = zod.z.string().trim().min(1).optional();
24232
24234
  const baseSourceShape = {
24233
24235
  slug: slugField,
24234
- name: optionalTextField,
24235
- description: optionalTextField,
24236
+ name: requiredTextField,
24237
+ description: requiredTextField,
24236
24238
  attach: zod.z.function()
24237
24239
  };
24238
24240
  const webhookSourceSchema = zod.z.object({
@@ -24850,7 +24852,7 @@ function withOrganizationProjectDatabase() {
24850
24852
  }
24851
24853
  //#endregion
24852
24854
  //#region src/routes/account/users/me/avatar/GET.ts
24853
- const handler$83 = async (c) => {
24855
+ const handler$91 = async (c) => {
24854
24856
  const dbUser = await (0, _keystrokehq_platform_database.selectUserById)(c.get("user").id);
24855
24857
  if (!dbUser) return c.json(require_dist.ErrorResponseSchema.parse({ error: "User not found" }), 404);
24856
24858
  return c.json(require_dist.UserAvatarSchema.parse({ url: dbUser.image ?? null }));
@@ -24869,7 +24871,7 @@ function avatarExtensionForContentType(contentType) {
24869
24871
  }
24870
24872
  //#endregion
24871
24873
  //#region src/routes/account/users/me/avatar/presign/POST.ts
24872
- const handler$82 = async (c) => {
24874
+ const handler$90 = async (c) => {
24873
24875
  const parsed = require_dist.PresignUserAvatarRequestSchema.safeParse(await c.req.json().catch(() => null));
24874
24876
  if (!parsed.success) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid avatar upload request" }), 400);
24875
24877
  const extension = avatarExtensionForContentType(parsed.data.contentType);
@@ -24909,7 +24911,7 @@ async function deleteStoredImageIfOwned(input) {
24909
24911
  }
24910
24912
  //#endregion
24911
24913
  //#region src/routes/account/users/me/avatar/PATCH.ts
24912
- const handler$81 = async (c) => {
24914
+ const handler$89 = async (c) => {
24913
24915
  const parsed = require_dist.UserAvatarPatchSchema.safeParse(await c.req.json().catch(() => null));
24914
24916
  if (!parsed.success) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid avatar update" }), 400);
24915
24917
  const user = c.get("user");
@@ -24951,14 +24953,14 @@ const handler$81 = async (c) => {
24951
24953
  };
24952
24954
  //#endregion
24953
24955
  //#region src/routes/account/users/me/preferences/GET.ts
24954
- const handler$80 = async (c) => {
24956
+ const handler$88 = async (c) => {
24955
24957
  const dbUser = await (0, _keystrokehq_platform_database.selectUserById)(c.get("user").id);
24956
24958
  if (!dbUser) return c.json(require_dist.ErrorResponseSchema.parse({ error: "User not found" }), 404);
24957
24959
  return c.json(require_dist.UserPreferencesSchema.parse(require_dist.normalizeUserPreferences(dbUser.preferences)));
24958
24960
  };
24959
24961
  //#endregion
24960
24962
  //#region src/routes/account/users/me/preferences/PATCH.ts
24961
- const handler$79 = async (c) => {
24963
+ const handler$87 = async (c) => {
24962
24964
  const parsed = require_dist.UserPreferencesPatchSchema.safeParse(await c.req.json().catch(() => null));
24963
24965
  if (!parsed.success) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid preferences update" }), 400);
24964
24966
  const user = c.get("user");
@@ -24973,7 +24975,7 @@ const handler$79 = async (c) => {
24973
24975
  };
24974
24976
  //#endregion
24975
24977
  //#region src/routes/account/organizations/GET.ts
24976
- const handler$78 = async (c) => {
24978
+ const handler$86 = async (c) => {
24977
24979
  const memberships = await (0, _keystrokehq_platform_database.selectUserOrganizations)(c.get("user").id);
24978
24980
  return c.json(require_dist.ListOrganizationsResponseSchema.parse(memberships.map(require_dist.mapUserOrganization)));
24979
24981
  };
@@ -25051,7 +25053,7 @@ function createOrganizationHandler(deps) {
25051
25053
  }
25052
25054
  //#endregion
25053
25055
  //#region src/routes/account/organizations/slug-available/GET.ts
25054
- const handler$77 = async (c) => {
25056
+ const handler$85 = async (c) => {
25055
25057
  const parsed = require_dist.SlugAvailabilityQuerySchema.safeParse({
25056
25058
  slug: c.req.query("slug"),
25057
25059
  excludeOrganizationId: c.req.query("excludeOrganizationId")
@@ -25062,7 +25064,7 @@ const handler$77 = async (c) => {
25062
25064
  };
25063
25065
  //#endregion
25064
25066
  //#region src/routes/account/organizations/[organizationId]/GET.ts
25065
- const handler$76 = async (c) => {
25067
+ const handler$84 = async (c) => {
25066
25068
  const { organizationId } = c.get("organization");
25067
25069
  const membership = await (0, _keystrokehq_platform_database.selectUserOrganizationMembership)(c.get("user").id, organizationId);
25068
25070
  if (!membership) throw new Error(`Organization membership missing after param guard: ${organizationId}`);
@@ -25070,7 +25072,7 @@ const handler$76 = async (c) => {
25070
25072
  };
25071
25073
  //#endregion
25072
25074
  //#region src/routes/account/organizations/[organizationId]/PATCH.ts
25073
- const handler$75 = async (c) => {
25075
+ const handler$83 = async (c) => {
25074
25076
  const organization = c.get("organization");
25075
25077
  const body = await c.req.json().catch(() => null);
25076
25078
  const parsed = require_dist.UpdateOrganizationRequestSchema.safeParse(body);
@@ -25095,7 +25097,7 @@ const handler$75 = async (c) => {
25095
25097
  };
25096
25098
  //#endregion
25097
25099
  //#region src/routes/account/organizations/[organizationId]/branding/GET.ts
25098
- const handler$74 = async (c) => {
25100
+ const handler$82 = async (c) => {
25099
25101
  const { organizationId } = c.get("organization");
25100
25102
  const organization = await (0, _keystrokehq_platform_database.selectOrganizationById)(organizationId);
25101
25103
  if (!organization) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Organization not found" }), 404);
@@ -25144,7 +25146,7 @@ async function finalizeOrgLogoVariant(input) {
25144
25146
  publicUrl: finalized.publicUrl
25145
25147
  };
25146
25148
  }
25147
- const handler$73 = async (c) => {
25149
+ const handler$81 = async (c) => {
25148
25150
  const parsed = require_dist.OrganizationSidebarBrandingPatchSchema.safeParse(await c.req.json().catch(() => null));
25149
25151
  if (!parsed.success) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid branding update" }), 400);
25150
25152
  const { organizationId } = c.get("organization");
@@ -25172,7 +25174,7 @@ const handler$73 = async (c) => {
25172
25174
  };
25173
25175
  //#endregion
25174
25176
  //#region src/routes/account/organizations/[organizationId]/branding/logo/presign/POST.ts
25175
- const handler$72 = async (c) => {
25177
+ const handler$80 = async (c) => {
25176
25178
  const parsed = require_dist.PresignOrgLogoRequestSchema.safeParse(await c.req.json().catch(() => null));
25177
25179
  if (!parsed.success) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid logo upload request" }), 400);
25178
25180
  const extension = avatarExtensionForContentType(parsed.data.contentType);
@@ -25273,7 +25275,7 @@ async function attachRanAsToDetail(detail, ranByUserId) {
25273
25275
  }
25274
25276
  //#endregion
25275
25277
  //#region src/routes/account/history/GET.ts
25276
- const handler$71 = async (c) => {
25278
+ const handler$79 = async (c) => {
25277
25279
  const organization = c.get("organization");
25278
25280
  const ctx = accessContext(c);
25279
25281
  const query = require_dist.HistoryRunListQuerySchema.parse({
@@ -25296,7 +25298,7 @@ const handler$71 = async (c) => {
25296
25298
  };
25297
25299
  //#endregion
25298
25300
  //#region src/routes/account/history/[runId]/GET.ts
25299
- const handler$70 = async (c) => {
25301
+ const handler$78 = async (c) => {
25300
25302
  const runId = c.req.param("runId") ?? "";
25301
25303
  if (!runId) return c.json(null, 404);
25302
25304
  const core = await (0, _keystrokehq_database.findHistoryRunCore)(runId);
@@ -25331,11 +25333,12 @@ function formatModel(model) {
25331
25333
  return model;
25332
25334
  }
25333
25335
  function toAgentSummary(row, options) {
25336
+ const name = row.name?.trim() || titleCaseKey(row.slug);
25334
25337
  return require_dist.AgentSummarySchema.parse({
25335
25338
  id: row.id,
25336
25339
  slug: row.slug,
25337
- name: row.name?.trim() || titleCaseKey(row.slug),
25338
- description: row.description ?? void 0,
25340
+ name,
25341
+ description: row.description?.trim() || name,
25339
25342
  projectId: row.projectId,
25340
25343
  updatedAt: row.updatedAt.toISOString(),
25341
25344
  sourcePath: row.moduleFile,
@@ -25353,7 +25356,7 @@ function toAgentSummary(row, options) {
25353
25356
  }
25354
25357
  //#endregion
25355
25358
  //#region src/routes/account/agents/GET.ts
25356
- const handler$69 = async (c) => {
25359
+ const handler$77 = async (c) => {
25357
25360
  const filter = await resolveListProjectIds(c, listScope(c, agentListScope(accessContext(c))), c.req.query("projectId"));
25358
25361
  if (filter === "empty") return c.json(require_dist.AgentSummaryListResponseSchema.parse([]));
25359
25362
  const rows = await (0, _keystrokehq_database.listActiveAgents)(filter);
@@ -25367,7 +25370,7 @@ function touchResourceActivityBestEffort(options) {
25367
25370
  }
25368
25371
  //#endregion
25369
25372
  //#region src/routes/account/agents/[agentId]/GET.ts
25370
- const handler$68 = async (c) => {
25373
+ const handler$76 = async (c) => {
25371
25374
  const agentId = c.req.param("agentId") ?? "";
25372
25375
  const row = agentId ? await (0, _keystrokehq_database.selectActiveAgentById)(agentId) : void 0;
25373
25376
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessAgent)) return c.json(require_dist.AgentSummaryDetailResponseSchema.parse(null));
@@ -25390,7 +25393,7 @@ const handler$68 = async (c) => {
25390
25393
  function relativePathsFromStorageKeys(prefix, keys) {
25391
25394
  return keys.filter((key) => key.startsWith(prefix) && key.endsWith(".md")).map((key) => key.slice(prefix.length)).filter((path) => !path.startsWith(".") && !path.includes("/."));
25392
25395
  }
25393
- const handler$67 = async (c) => {
25396
+ const handler$75 = async (c) => {
25394
25397
  const agentId = c.req.param("agentId") ?? "";
25395
25398
  const row = agentId ? await (0, _keystrokehq_database.selectActiveAgentById)(agentId) : void 0;
25396
25399
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessAgent)) return c.json(require_dist.ListAgentMemoryFilesResponseSchema.parse({ files: [] }), 404);
@@ -25415,7 +25418,7 @@ function isStorageNotFoundError(error) {
25415
25418
  const status = typeof record.$metadata === "object" && record.$metadata !== null ? record.$metadata.httpStatusCode : void 0;
25416
25419
  return name === "NoSuchKey" || code === "NoSuchKey" || code === "NotFound" || status === 404;
25417
25420
  }
25418
- const handler$66 = async (c) => {
25421
+ const handler$74 = async (c) => {
25419
25422
  const agentId = c.req.param("agentId") ?? "";
25420
25423
  const path = c.req.query("path");
25421
25424
  if (!path) return c.json(require_dist.ErrorResponseSchema.parse({ error: "File path is required" }), 400);
@@ -25469,7 +25472,7 @@ function workspaceRelativePathsFromStorageKeys(keys) {
25469
25472
  }
25470
25473
  //#endregion
25471
25474
  //#region src/routes/account/agents/[agentId]/workspace/files/GET.ts
25472
- const handler$65 = async (c) => {
25475
+ const handler$73 = async (c) => {
25473
25476
  const agentId = c.req.param("agentId") ?? "";
25474
25477
  const row = agentId ? await (0, _keystrokehq_database.selectActiveAgentById)(agentId) : void 0;
25475
25478
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessAgent)) return c.json(require_dist.ListAgentWorkspaceFilesResponseSchema.parse({ files: [] }), 404);
@@ -25492,7 +25495,7 @@ const handler$65 = async (c) => {
25492
25495
  };
25493
25496
  //#endregion
25494
25497
  //#region src/routes/account/agents/[agentId]/workspace/files/content/GET.ts
25495
- const handler$64 = async (c) => {
25498
+ const handler$72 = async (c) => {
25496
25499
  const agentId = c.req.param("agentId") ?? "";
25497
25500
  const path = c.req.query("path");
25498
25501
  if (!path) return c.json(require_dist.ErrorResponseSchema.parse({ error: "File path is required" }), 400);
@@ -25541,15 +25544,15 @@ async function cancelHistoryRun(c, kind, cancel) {
25541
25544
  }
25542
25545
  //#endregion
25543
25546
  //#region src/routes/account/agents/sessions/[sessionId]/cancel/POST.ts
25544
- const handler$63 = (c) => cancelHistoryRun(c, "agent", _keystrokehq_database.cancelAgentSession);
25547
+ const handler$71 = (c) => cancelHistoryRun(c, "agent", _keystrokehq_database.cancelAgentSession);
25545
25548
  //#endregion
25546
25549
  //#region src/routes/account/resources/workflows.ts
25547
25550
  function toWorkflowSummary(row, options) {
25548
25551
  return require_dist.WorkflowSummarySchema.parse({
25549
25552
  id: row.id,
25550
25553
  slug: row.slug,
25551
- name: row.name?.trim() || titleCaseKey(row.slug),
25552
- description: row.description ?? void 0,
25554
+ name: row.name.trim(),
25555
+ description: row.description.trim(),
25553
25556
  projectId: row.projectId,
25554
25557
  updatedAt: row.updatedAt.toISOString(),
25555
25558
  sourcePath: row.moduleFile,
@@ -25558,7 +25561,7 @@ function toWorkflowSummary(row, options) {
25558
25561
  }
25559
25562
  //#endregion
25560
25563
  //#region src/routes/account/workflows/GET.ts
25561
- const handler$62 = async (c) => {
25564
+ const handler$70 = async (c) => {
25562
25565
  const filter = await resolveListProjectIds(c, listScope(c, workflowListScope(accessContext(c))), c.req.query("projectId"));
25563
25566
  if (filter === "empty") return c.json(require_dist.WorkflowSummaryListResponseSchema.parse([]));
25564
25567
  const rows = await (0, _keystrokehq_database.listActiveWorkflows)(filter);
@@ -25567,7 +25570,7 @@ const handler$62 = async (c) => {
25567
25570
  };
25568
25571
  //#endregion
25569
25572
  //#region src/routes/account/workflows/[workflowId]/GET.ts
25570
- const handler$61 = async (c) => {
25573
+ const handler$69 = async (c) => {
25571
25574
  const workflowId = c.req.param("workflowId") ?? "";
25572
25575
  const row = workflowId ? await (0, _keystrokehq_database.selectActiveWorkflowById)(workflowId) : void 0;
25573
25576
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessWorkflow)) return c.json(require_dist.WorkflowSummaryDetailResponseSchema.parse(null));
@@ -25581,16 +25584,985 @@ const handler$61 = async (c) => {
25581
25584
  return c.json(require_dist.WorkflowSummaryDetailResponseSchema.parse(toWorkflowSummary(row, { lastRunAt: lastRunAtById.get(row.id) ?? null })));
25582
25585
  };
25583
25586
  //#endregion
25587
+ //#region src/routes/account/workflows/resolve.ts
25588
+ async function resolveWorkflow(c, workflowId) {
25589
+ const row = workflowId ? await (0, _keystrokehq_database.selectActiveWorkflowById)(workflowId) : void 0;
25590
+ if (!row || !await canAccessProjectId(c, row.projectId, canAccessWorkflow)) return null;
25591
+ return {
25592
+ row,
25593
+ projectId: row.projectId
25594
+ };
25595
+ }
25596
+ /** Active deploy route-manifest entry for a workflow slug (input schema, flow graph, …). */
25597
+ async function loadWorkflowManifestEntry(projectId, slug) {
25598
+ const manifestJson = await (0, _keystrokehq_platform_database.selectActiveArtifactManifestForProject)(projectId);
25599
+ if (!manifestJson) return null;
25600
+ return require_dist.parseStoredRouteManifest(manifestJson).entries.find((item) => item.kind === "workflow" && item.slug === slug) ?? null;
25601
+ }
25602
+ /** The full active-deploy route manifest for a project (canvas needs the whole entry set). */
25603
+ async function loadActiveManifest(projectId) {
25604
+ const manifestJson = await (0, _keystrokehq_platform_database.selectActiveArtifactManifestForProject)(projectId);
25605
+ if (!manifestJson) return null;
25606
+ return require_dist.parseStoredRouteManifest(manifestJson);
25607
+ }
25608
+ //#endregion
25609
+ //#region src/routes/account/workflows/[workflowId]/canvas/build-canvas.ts
25610
+ function indexManifest(entries) {
25611
+ const actions = /* @__PURE__ */ new Map();
25612
+ const agents = /* @__PURE__ */ new Map();
25613
+ const workflows = /* @__PURE__ */ new Map();
25614
+ for (const entry of entries) if (entry.kind === "action") actions.set(entry.slug, entry);
25615
+ else if (entry.kind === "agent") agents.set(entry.slug, entry);
25616
+ else if (entry.kind === "workflow") workflows.set(entry.slug, entry);
25617
+ return {
25618
+ actions,
25619
+ agents,
25620
+ workflows
25621
+ };
25622
+ }
25623
+ function fieldsFromSchema(schema) {
25624
+ return require_dist.jsonSchemaToWorkflowInputSchema(schema ?? {}).fields;
25625
+ }
25626
+ /** A read-only inspector row showing a captured llm option as a literal value. */
25627
+ function llmOptionRow(key, label, value) {
25628
+ return {
25629
+ key,
25630
+ label,
25631
+ type: "string",
25632
+ required: false,
25633
+ binding: { tokens: [{
25634
+ kind: "text",
25635
+ text: value
25636
+ }] }
25637
+ };
25638
+ }
25639
+ /**
25640
+ * Fallback for manifests built before llm option bindings were captured: surface the
25641
+ * literal-only `llmOptions`. New deploys carry `data.inputBindings` on llm nodes and
25642
+ * use {@link llmOptionRowsFromBindings} instead.
25643
+ */
25644
+ function llmOptionInputs(options) {
25645
+ if (!options) return [];
25646
+ const rows = [];
25647
+ if (options.model) rows.push(llmOptionRow("model", "Model", options.model));
25648
+ if (options.thinkingLevel) rows.push(llmOptionRow("thinkingLevel", "Thinking", options.thinkingLevel));
25649
+ if (typeof options.maxTokens === "number") rows.push(llmOptionRow("maxTokens", "Max tokens", String(options.maxTokens)));
25650
+ if (typeof options.temperature === "number") rows.push(llmOptionRow("temperature", "Temperature", String(options.temperature)));
25651
+ if (options.hasSystemPrompt) rows.push(llmOptionRow("system", "System prompt", "Configured"));
25652
+ if (options.hasOutputSchema) rows.push(llmOptionRow("outputSchema", "Output", "Structured"));
25653
+ return rows;
25654
+ }
25655
+ /** Display labels + render order for known `promptLlm` options. */
25656
+ const LLM_OPTION_LABELS = {
25657
+ model: "Model",
25658
+ system: "System prompt",
25659
+ outputSchema: "Output",
25660
+ maxTokens: "Max tokens",
25661
+ temperature: "Temperature",
25662
+ thinkingLevel: "Thinking"
25663
+ };
25664
+ const LLM_OPTION_ORDER = Object.keys(LLM_OPTION_LABELS);
25665
+ /**
25666
+ * Render the producer-captured llm option bindings as visible inspector rows so
25667
+ * model/system/output appear with the same variable/call/reference chips as action
25668
+ * inputs (e.g. `model: CLASSIFY_MODEL` → a variable chip resolved to its const value).
25669
+ */
25670
+ function llmOptionRowsFromBindings(rawBindings, labelByNodeId, constants) {
25671
+ const rows = [];
25672
+ const known = new Set(LLM_OPTION_ORDER);
25673
+ for (const key of LLM_OPTION_ORDER) {
25674
+ const raw = rawBindings[key];
25675
+ if (!raw) continue;
25676
+ rows.push({
25677
+ key,
25678
+ label: LLM_OPTION_LABELS[key] ?? key,
25679
+ type: "string",
25680
+ required: false,
25681
+ binding: resolveBinding(raw, labelByNodeId, constants)
25682
+ });
25683
+ }
25684
+ for (const [key, raw] of Object.entries(rawBindings)) {
25685
+ if (known.has(key)) continue;
25686
+ rows.push({
25687
+ key,
25688
+ label: key,
25689
+ type: "string",
25690
+ required: false,
25691
+ additional: true,
25692
+ binding: resolveBinding(raw, labelByNodeId, constants)
25693
+ });
25694
+ }
25695
+ return rows;
25696
+ }
25697
+ /** The concrete value a binding resolves to, if it's a single literal/known-const token. */
25698
+ function resolvedScalar(raw, constants) {
25699
+ if (!raw || raw.tokens.length !== 1) return;
25700
+ const token = raw.tokens[0];
25701
+ if (token.kind === "text") return token.text;
25702
+ if (token.kind === "variable") {
25703
+ const value = constants?.[token.text];
25704
+ return value !== void 0 ? String(value) : void 0;
25705
+ }
25706
+ }
25707
+ /** Resolve a raw producer binding into the inspector binding, filling source labels + const values. */
25708
+ function resolveBinding(raw, labelByNodeId, constants) {
25709
+ return {
25710
+ tokens: raw.tokens.map((token) => {
25711
+ if (token.kind === "text") return {
25712
+ kind: "text",
25713
+ text: token.text
25714
+ };
25715
+ if (token.kind === "call") return {
25716
+ kind: "call",
25717
+ name: token.name
25718
+ };
25719
+ if (token.kind === "variable") {
25720
+ const value = constants?.[token.text];
25721
+ return {
25722
+ kind: "variable",
25723
+ text: token.text,
25724
+ ...value !== void 0 ? { resolvedValue: String(value) } : {}
25725
+ };
25726
+ }
25727
+ const sourceLabel = token.sourceNodeId ? labelByNodeId.get(token.sourceNodeId) ?? token.sourceNodeId : "";
25728
+ return {
25729
+ kind: "reference",
25730
+ ...token.sourceNodeId ? { sourceNodeId: token.sourceNodeId } : {},
25731
+ sourceLabel,
25732
+ ...token.field ? { field: token.field } : {}
25733
+ };
25734
+ }),
25735
+ ...raw.multiline ? { multiline: true } : {}
25736
+ };
25737
+ }
25738
+ /** Attach call-site value bindings to a step's inspector inputs (returns a new inputs list). */
25739
+ function inputsWithBindings(inputs, rawBindings, labelByNodeId, constants) {
25740
+ const matched = /* @__PURE__ */ new Set();
25741
+ const result = inputs.map((field) => {
25742
+ const raw = rawBindings[field.key];
25743
+ if (!raw) return field;
25744
+ matched.add(field.key);
25745
+ return {
25746
+ ...field,
25747
+ binding: resolveBinding(raw, labelByNodeId, constants)
25748
+ };
25749
+ });
25750
+ for (const [key, raw] of Object.entries(rawBindings)) {
25751
+ if (matched.has(key)) continue;
25752
+ result.push({
25753
+ key,
25754
+ label: key,
25755
+ type: "string",
25756
+ required: false,
25757
+ additional: true,
25758
+ binding: resolveBinding(raw, labelByNodeId, constants)
25759
+ });
25760
+ }
25761
+ return result;
25762
+ }
25763
+ /**
25764
+ * Authored metadata for a single `step` node, resolved from its deploy-time `data.slug`
25765
+ * + `data.callKind` against the manifest. v1 omits call-site input bindings (the producer
25766
+ * does not capture argument expressions yet). Returns null for steps the inspector can
25767
+ * describe from the graph alone (wait/hook) or that can't be resolved.
25768
+ */
25769
+ function stepMeta(node, index) {
25770
+ const slug = node.data.slug;
25771
+ const callKind = node.data.callKind;
25772
+ const appSlug = node.data.appSlug;
25773
+ if (callKind === "agent") {
25774
+ const agent = slug ? index.agents.get(slug) : void 0;
25775
+ return {
25776
+ kind: "agent",
25777
+ slug: slug ?? node.data.label,
25778
+ name: agent?.name ?? (node.data.label || "Agent"),
25779
+ description: agent?.description ?? "",
25780
+ ...appSlug ? { appSlug } : {},
25781
+ inputs: [],
25782
+ outputs: [],
25783
+ ...agent?.appSlugs.length ? { requiredApps: agent.appSlugs } : {},
25784
+ ...agent?.model ? { model: agent.model } : {},
25785
+ ...agent ? { toolCount: agent.toolCount } : {}
25786
+ };
25787
+ }
25788
+ if (callKind === "llm") return {
25789
+ kind: "llm",
25790
+ slug: slug ?? "llm",
25791
+ name: node.data.label || "LLM prompt",
25792
+ ...node.data.llmOptions?.model ? { model: node.data.llmOptions.model } : {},
25793
+ inputs: node.data.inputBindings ? [] : llmOptionInputs(node.data.llmOptions),
25794
+ outputs: []
25795
+ };
25796
+ if (callKind === "workflow-step") {
25797
+ const action = slug ? index.actions.get(slug) : void 0;
25798
+ if (action) return {
25799
+ kind: "action",
25800
+ slug: action.slug,
25801
+ name: action.name,
25802
+ description: action.description,
25803
+ ...appSlug ? {
25804
+ appSlug,
25805
+ requiredApps: [appSlug]
25806
+ } : {},
25807
+ inputs: fieldsFromSchema(action.inputSchema),
25808
+ outputs: fieldsFromSchema(action.outputSchema)
25809
+ };
25810
+ const childWorkflow = slug ? index.workflows.get(slug) : void 0;
25811
+ if (childWorkflow) return {
25812
+ kind: "workflow",
25813
+ slug: childWorkflow.slug,
25814
+ name: childWorkflow.name,
25815
+ description: childWorkflow.description,
25816
+ inputs: fieldsFromSchema(childWorkflow.requestSchema),
25817
+ outputs: fieldsFromSchema(childWorkflow.responseSchema)
25818
+ };
25819
+ return {
25820
+ kind: "action",
25821
+ slug: slug ?? node.data.label,
25822
+ name: node.data.label || slug || "Action",
25823
+ ...appSlug ? {
25824
+ appSlug,
25825
+ requiredApps: [appSlug]
25826
+ } : {},
25827
+ inputs: [],
25828
+ outputs: []
25829
+ };
25830
+ }
25831
+ return null;
25832
+ }
25833
+ /**
25834
+ * Assemble the read-only `WorkflowCanvas` deterministic part: the deploy-time AST skeleton
25835
+ * with manifest trigger-source node(s) prepended and the authored-metadata join keyed by
25836
+ * node id. Pure (no I/O) so it is unit-testable; the route gathers the manifest + workspace
25837
+ * triggers and the LLM annotation layer separately.
25838
+ */
25839
+ function buildWorkflowCanvas(input) {
25840
+ const { workflowSlug, workflowEntry, entries, triggers } = input;
25841
+ const flowGraph = workflowEntry.flowGraph ?? {
25842
+ nodes: [],
25843
+ edges: []
25844
+ };
25845
+ const constants = flowGraph.constants;
25846
+ const index = indexManifest(entries);
25847
+ const nodeMetadata = {};
25848
+ const attached = triggers.filter((trigger) => trigger.assignments.some((assignment) => assignment.kind === "workflow" && assignment.slug === workflowSlug));
25849
+ const triggerNodes = [];
25850
+ const triggerEdges = [];
25851
+ const workflowInputFields = fieldsFromSchema(workflowEntry.requestSchema);
25852
+ if (attached.length === 0) {
25853
+ const id = "trigger-manual";
25854
+ triggerNodes.push({
25855
+ id,
25856
+ nodeType: "trigger-source",
25857
+ data: {
25858
+ label: "Manual / API",
25859
+ triggerType: "manual"
25860
+ }
25861
+ });
25862
+ triggerEdges.push({
25863
+ id: "edge-trigger-manual",
25864
+ source: id,
25865
+ target: "entry"
25866
+ });
25867
+ nodeMetadata[id] = {
25868
+ kind: "trigger",
25869
+ slug: "manual",
25870
+ name: "Manual / API",
25871
+ inputs: [],
25872
+ outputs: workflowInputFields
25873
+ };
25874
+ } else attached.forEach((trigger, i) => {
25875
+ const id = `trigger-${trigger.slug}`;
25876
+ triggerNodes.push({
25877
+ id,
25878
+ nodeType: "trigger-source",
25879
+ data: {
25880
+ label: trigger.name,
25881
+ triggerType: trigger.type
25882
+ }
25883
+ });
25884
+ triggerEdges.push({
25885
+ id: `edge-trigger-${i}`,
25886
+ source: id,
25887
+ target: "entry"
25888
+ });
25889
+ nodeMetadata[id] = {
25890
+ kind: "trigger",
25891
+ slug: trigger.slug,
25892
+ name: trigger.name,
25893
+ description: trigger.description,
25894
+ inputs: [],
25895
+ outputs: []
25896
+ };
25897
+ });
25898
+ const codeBlocks = [];
25899
+ for (const node of flowGraph.nodes) {
25900
+ if (node.nodeType === "entry") {
25901
+ nodeMetadata[node.id] = {
25902
+ kind: "boundary",
25903
+ slug: "entry",
25904
+ name: "Start",
25905
+ inputs: workflowInputFields,
25906
+ outputs: workflowInputFields
25907
+ };
25908
+ continue;
25909
+ }
25910
+ if (node.nodeType === "exit") {
25911
+ const outputFields = fieldsFromSchema(workflowEntry.responseSchema);
25912
+ nodeMetadata[node.id] = {
25913
+ kind: "boundary",
25914
+ slug: "exit",
25915
+ name: "Output",
25916
+ inputs: outputFields,
25917
+ outputs: outputFields
25918
+ };
25919
+ continue;
25920
+ }
25921
+ if (node.nodeType === "code-block") {
25922
+ codeBlocks.push({
25923
+ nodeId: node.id,
25924
+ source: node.data.label
25925
+ });
25926
+ continue;
25927
+ }
25928
+ if (node.nodeType === "step") {
25929
+ const meta = stepMeta(node, index);
25930
+ if (meta) nodeMetadata[node.id] = meta;
25931
+ }
25932
+ }
25933
+ const labelByNodeId = /* @__PURE__ */ new Map();
25934
+ for (const [id, meta] of Object.entries(nodeMetadata)) labelByNodeId.set(id, meta.name);
25935
+ for (const node of flowGraph.nodes) if (!labelByNodeId.has(node.id)) labelByNodeId.set(node.id, node.data.label);
25936
+ for (const node of flowGraph.nodes) {
25937
+ const rawBindings = node.data.inputBindings;
25938
+ const meta = nodeMetadata[node.id];
25939
+ if (node.nodeType !== "step" || !rawBindings || !meta) continue;
25940
+ if (node.data.callKind === "llm") {
25941
+ meta.inputs = llmOptionRowsFromBindings(rawBindings, labelByNodeId, constants);
25942
+ if (!meta.model) {
25943
+ const resolvedModel = resolvedScalar(rawBindings.model, constants);
25944
+ if (resolvedModel) meta.model = resolvedModel;
25945
+ }
25946
+ } else meta.inputs = inputsWithBindings(meta.inputs, rawBindings, labelByNodeId, constants);
25947
+ }
25948
+ return {
25949
+ graph: {
25950
+ nodes: [...triggerNodes, ...flowGraph.nodes],
25951
+ edges: [...triggerEdges, ...flowGraph.edges]
25952
+ },
25953
+ nodeMetadata,
25954
+ codeBlocks
25955
+ };
25956
+ }
25957
+ //#endregion
25958
+ //#region src/routes/account/workflows/[workflowId]/canvas/GET.ts
25959
+ /** Bumped when the annotation prompt/model changes, so cached annotations invalidate. */
25960
+ const ANNOTATIONS_GENERATOR_VERSION = "wf-canvas-annotations-v1";
25961
+ const handler$68 = async (c) => {
25962
+ const { organizationId } = c.get("organization");
25963
+ const workflowId = c.req.param("workflowId") ?? "";
25964
+ if (!workflowId.trim()) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
25965
+ const resolved = await resolveWorkflow(c, workflowId);
25966
+ if (!resolved) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Workflow not found" }), 404);
25967
+ const { row, projectId } = resolved;
25968
+ const manifest = await loadActiveManifest(projectId);
25969
+ const workflowEntry = manifest?.entries.find((entry) => entry.kind === "workflow" && entry.slug === row.slug);
25970
+ if (!workflowEntry || workflowEntry.kind !== "workflow" || !workflowEntry.flowGraph) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Canvas not available" }), 404);
25971
+ const triggers = await (0, _keystrokehq_database.listWorkspaceTriggers)([projectId]);
25972
+ const { graph, nodeMetadata, codeBlocks } = buildWorkflowCanvas({
25973
+ workflowSlug: row.slug,
25974
+ workflowEntry,
25975
+ entries: manifest?.entries ?? [],
25976
+ triggers
25977
+ });
25978
+ const model = require_dist.DEFAULT_WORKFLOW_CANVAS_MODEL;
25979
+ const graphHash = (0, node_crypto.createHash)("sha256").update(JSON.stringify(workflowEntry.flowGraph)).digest("hex");
25980
+ const hash = (0, node_crypto.createHash)("sha256").update(JSON.stringify({
25981
+ source: workflowEntry.flowGraphSourceHash ?? "",
25982
+ graph: graphHash,
25983
+ model,
25984
+ version: ANNOTATIONS_GENERATOR_VERSION
25985
+ })).digest("hex");
25986
+ if (codeBlocks.length === 0) return c.json(require_dist.WorkflowCanvasSchema.parse({
25987
+ graph,
25988
+ nodeMetadata,
25989
+ annotations: {},
25990
+ status: "ready",
25991
+ hash,
25992
+ generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
25993
+ model
25994
+ }));
25995
+ const cache = await (0, _keystrokehq_database.runWithProjectScope)(projectId, () => (0, _keystrokehq_database.selectWorkflowCanvasAnnotations)(workflowId));
25996
+ const cached = cache?.annotations ?? {};
25997
+ if (cache && cache.hash === hash) {
25998
+ if (cache.status === "ready" || cache.status === "failed") return c.json(require_dist.WorkflowCanvasSchema.parse({
25999
+ graph,
26000
+ nodeMetadata,
26001
+ annotations: cached,
26002
+ status: "ready",
26003
+ hash,
26004
+ generatedAt: cache.generatedAt ? cache.generatedAt.toISOString() : (/* @__PURE__ */ new Date()).toISOString(),
26005
+ model: cache.model ?? model
26006
+ }));
26007
+ if (cache.status === "generating") return c.json(require_dist.WorkflowCanvasSchema.parse({
26008
+ graph,
26009
+ nodeMetadata,
26010
+ annotations: cached,
26011
+ status: "generating",
26012
+ hash,
26013
+ generatedAt: null,
26014
+ model: cache.model ?? model
26015
+ }));
26016
+ }
26017
+ const organization = await (0, _keystrokehq_platform_database.selectOrganizationById)(organizationId);
26018
+ if (!organization) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Organization not found" }), 404);
26019
+ await (0, _keystrokehq_database.runWithProjectScope)(projectId, () => (0, _keystrokehq_database.setWorkflowCanvasAnnotationsGenerating)(workflowId, hash));
26020
+ try {
26021
+ await (await (0, _keystrokehq_http.getProjectScheduler)(organization, projectId)).enqueue({
26022
+ kind: "workflow-canvas-annotations",
26023
+ targetId: workflowId,
26024
+ runId: crypto.randomUUID(),
26025
+ trigger: "api",
26026
+ projectId,
26027
+ dedupeKey: `workflow-canvas:${workflowId}:${hash}`,
26028
+ payload: {
26029
+ workflowId,
26030
+ projectId,
26031
+ hash,
26032
+ model,
26033
+ input: {
26034
+ workflowName: row.name.trim(),
26035
+ workflowDescription: row.description.trim(),
26036
+ codeBlocks
26037
+ }
26038
+ }
26039
+ });
26040
+ } catch {
26041
+ await (0, _keystrokehq_database.runWithProjectScope)(projectId, () => (0, _keystrokehq_database.updateWorkflowCanvasAnnotations)(workflowId, { status: "failed" }));
26042
+ return c.json(require_dist.WorkflowCanvasSchema.parse({
26043
+ graph,
26044
+ nodeMetadata,
26045
+ annotations: {},
26046
+ status: "ready",
26047
+ hash,
26048
+ generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
26049
+ model
26050
+ }));
26051
+ }
26052
+ return c.json(require_dist.WorkflowCanvasSchema.parse({
26053
+ graph,
26054
+ nodeMetadata,
26055
+ annotations: {},
26056
+ status: "generating",
26057
+ hash,
26058
+ generatedAt: null,
26059
+ model
26060
+ }));
26061
+ };
26062
+ //#endregion
26063
+ //#region src/routes/account/workflows/[workflowId]/canvas/build-credential-requirements.ts
26064
+ /**
26065
+ * Collect each step node's credential requirements by joining its `data.slug` to
26066
+ * the manifest action (`requirements`) or agent (`toolRequirements`, flattened
26067
+ * and de-duped by key). Pure: the route resolves each requirement live. Nodes
26068
+ * with no requirement are omitted.
26069
+ */
26070
+ function collectStepCredentialRequirements(flowGraph, entries) {
26071
+ const actions = /* @__PURE__ */ new Map();
26072
+ const agents = /* @__PURE__ */ new Map();
26073
+ for (const entry of entries) if (entry.kind === "action") actions.set(entry.slug, entry);
26074
+ else if (entry.kind === "agent") agents.set(entry.slug, entry);
26075
+ const result = [];
26076
+ for (const node of flowGraph.nodes) {
26077
+ if (node.nodeType !== "step" || !node.data.slug) continue;
26078
+ let requirements;
26079
+ if (node.data.callKind === "agent") {
26080
+ const agent = agents.get(node.data.slug);
26081
+ requirements = agent?.toolRequirements ? dedupeByKey(Object.values(agent.toolRequirements).flat()) : void 0;
26082
+ } else requirements = actions.get(node.data.slug)?.requirements;
26083
+ if (requirements && requirements.length > 0) result.push({
26084
+ nodeId: node.id,
26085
+ requirements
26086
+ });
26087
+ }
26088
+ return result;
26089
+ }
26090
+ function dedupeByKey(requirements) {
26091
+ const byKey = /* @__PURE__ */ new Map();
26092
+ for (const requirement of requirements) if (!byKey.has(requirement.key)) byKey.set(requirement.key, requirement);
26093
+ return [...byKey.values()];
26094
+ }
26095
+ //#endregion
26096
+ //#region src/routes/account/workflows/[workflowId]/canvas/credentials/GET.ts
26097
+ function toResolvedCredential(row) {
26098
+ return {
26099
+ id: row.id,
26100
+ name: row.name ?? row.label ?? row.appSlug,
26101
+ scope: row.scopeType,
26102
+ appSlug: row.appSlug,
26103
+ isDefault: Boolean(row.isDefault),
26104
+ ...row.scopeType === "project" && row.scopeId ? { projectId: row.scopeId } : {}
26105
+ };
26106
+ }
26107
+ function toBinding(key, description) {
26108
+ const base = {
26109
+ credentialKey: key,
26110
+ label: key,
26111
+ appSlug: key
26112
+ };
26113
+ if (description.policy === "unresolved") return {
26114
+ ...base,
26115
+ policy: "unresolved",
26116
+ reason: description.reason,
26117
+ ...description.pinnedScope ? { pinnedScope: description.pinnedScope } : {}
26118
+ };
26119
+ if (description.policy === "scope-pinned") return {
26120
+ ...base,
26121
+ policy: "scope-pinned",
26122
+ pinnedScope: description.pinnedScope,
26123
+ instance: toResolvedCredential(description.row)
26124
+ };
26125
+ return {
26126
+ ...base,
26127
+ policy: description.policy,
26128
+ instance: toResolvedCredential(description.row)
26129
+ };
26130
+ }
26131
+ /**
26132
+ * Live credential overlay: for each step node, resolve which credential instance
26133
+ * each of its requirements currently binds to (read-only, no decryption). Not
26134
+ * content-hash cached — credential state changes without a redeploy.
26135
+ */
26136
+ const handler$67 = async (c) => {
26137
+ const workflowId = c.req.param("workflowId") ?? "";
26138
+ if (!workflowId.trim()) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
26139
+ const resolved = await resolveWorkflow(c, workflowId);
26140
+ if (!resolved) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Workflow not found" }), 404);
26141
+ const { row, projectId } = resolved;
26142
+ const manifest = await loadActiveManifest(projectId);
26143
+ const workflowEntry = manifest?.entries.find((entry) => entry.kind === "workflow" && entry.slug === row.slug);
26144
+ if (!workflowEntry || workflowEntry.kind !== "workflow" || !workflowEntry.flowGraph) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Canvas not available" }), 404);
26145
+ const nodeRequirements = collectStepCredentialRequirements(workflowEntry.flowGraph, manifest?.entries ?? []);
26146
+ const userId = c.get("user").id;
26147
+ const bindings = await (0, _keystrokehq_database.runWithProjectScope)(projectId, async () => {
26148
+ const context = await require_dist.withCredentialAssignments({
26149
+ orgId: (0, _keystrokehq_database.getServerTenantScopeId)(),
26150
+ projectId: (0, _keystrokehq_database.getProjectScopeId)(),
26151
+ userId,
26152
+ selection: {}
26153
+ }, {
26154
+ targetType: "workflow",
26155
+ targetKey: row.slug
26156
+ });
26157
+ const result = {};
26158
+ for (const { nodeId, requirements } of nodeRequirements) {
26159
+ const consumerId = `step:${nodeId}`;
26160
+ const nodeBindings = [];
26161
+ for (const requirement of requirements) {
26162
+ const description = await require_dist.describeCredentialBinding({
26163
+ key: requirement.key,
26164
+ ...requirement.scope ? { scope: requirement.scope } : {},
26165
+ consumerId,
26166
+ context
26167
+ });
26168
+ nodeBindings.push(toBinding(requirement.key, description));
26169
+ }
26170
+ if (nodeBindings.length > 0) result[nodeId] = nodeBindings;
26171
+ }
26172
+ return result;
26173
+ });
26174
+ return c.json(require_dist.WorkflowCanvasCredentialBindingsSchema.parse(bindings));
26175
+ };
26176
+ //#endregion
26177
+ //#region src/routes/account/workflows/[workflowId]/canvas/build-run-overlay.ts
26178
+ const STEP_PREFIX = "step:";
26179
+ /**
26180
+ * `step:<callSiteId>#<occurrence>` → `<callSiteId>` (the canvas node id). The
26181
+ * build-injected call-site id IS the node id, so stripping the `step:` prefix and
26182
+ * the `#<occurrence>` suffix lands a run event on its graph node 1:1.
26183
+ */
26184
+ function nodeIdFromCorrelation(correlationId) {
26185
+ if (!correlationId.startsWith(STEP_PREFIX)) return null;
26186
+ const rest = correlationId.slice(5);
26187
+ const hash = rest.lastIndexOf("#");
26188
+ return hash === -1 ? rest : rest.slice(0, hash);
26189
+ }
26190
+ function loopTotal(counts) {
26191
+ return counts.reduce((max, n) => n > max ? n : max, 0);
26192
+ }
26193
+ /**
26194
+ * Project a workflow run's durable event log onto the canvas skeleton: a per-node
26195
+ * `WorkflowCanvasNodeRunState` keyed by the SAME node ids as the graph. Pure (no
26196
+ * I/O) so it is unit-testable; the route supplies the graph, events, and status.
26197
+ *
26198
+ * Overlay policy (v1 — step-exact, structure-conservative):
26199
+ * - **Steps** (incl. hook/sleep): exact from replay events.
26200
+ * - **Decision / merge / loop-start / trigger-source**: neutral — no run state.
26201
+ * - **Exit nodes**: succeeded only when the graph has a single Output terminal
26202
+ * and the run succeeded (high confidence). Multiple outputs stay neutral until
26203
+ * path telemetry lands — we do not infer branch-taken paths heuristically.
26204
+ *
26205
+ * Step rules:
26206
+ * - `step_completed` → that node `succeeded`; repeated completions (loop body)
26207
+ * fold onto the one node with an `iteration` counter.
26208
+ * - a step that only `step_failed`/`step_retrying` (never completed) on a
26209
+ * non-succeeded run → `failed`.
26210
+ * - same-file `code-block` nodes light from their `containedCallSiteIds`.
26211
+ * - on a succeeded run, never-executed step/code-block/loop nodes → `skipped`
26212
+ * (a not-taken branch). On failed/canceled/running runs, unreached nodes are
26213
+ * left neutral (we can't yet distinguish not-taken from not-yet-reached).
26214
+ */
26215
+ function buildRunOverlay(input) {
26216
+ const { graph, events, runStatus } = input;
26217
+ const succeeded = runStatus === "succeeded";
26218
+ const completions = /* @__PURE__ */ new Map();
26219
+ const retried = /* @__PURE__ */ new Set();
26220
+ const waiting = /* @__PURE__ */ new Set();
26221
+ for (const event of events) {
26222
+ if (!event.correlationId) continue;
26223
+ const nodeId = nodeIdFromCorrelation(event.correlationId);
26224
+ if (!nodeId) continue;
26225
+ if (event.type === "step_completed" || event.type === "hook_resumed" || event.type === "sleep_completed") completions.set(nodeId, (completions.get(nodeId) ?? 0) + 1);
26226
+ else if (event.type === "step_failed" || event.type === "step_retrying") retried.add(nodeId);
26227
+ else if (event.type === "hook_created" || event.type === "sleep_scheduled") waiting.add(nodeId);
26228
+ }
26229
+ const isFailed = (nodeId) => !succeeded && retried.has(nodeId) && !completions.has(nodeId);
26230
+ const states = {};
26231
+ const childrenByParent = /* @__PURE__ */ new Map();
26232
+ for (const node of graph.nodes) if (node.parentId) {
26233
+ const bucket = childrenByParent.get(node.parentId) ?? [];
26234
+ bucket.push(node.id);
26235
+ childrenByParent.set(node.parentId, bucket);
26236
+ }
26237
+ for (const node of graph.nodes) {
26238
+ if (node.nodeType === "entry") {
26239
+ states[node.id] = { status: "succeeded" };
26240
+ continue;
26241
+ }
26242
+ if (node.nodeType === "step") {
26243
+ const count = completions.get(node.id) ?? 0;
26244
+ if (count > 0) states[node.id] = count > 1 ? {
26245
+ status: "succeeded",
26246
+ iteration: {
26247
+ index: count - 1,
26248
+ total: count
26249
+ }
26250
+ } : { status: "succeeded" };
26251
+ else if (isFailed(node.id)) states[node.id] = { status: "failed" };
26252
+ else if (waiting.has(node.id)) states[node.id] = { status: "running" };
26253
+ else if (succeeded) states[node.id] = { status: "skipped" };
26254
+ continue;
26255
+ }
26256
+ if (node.nodeType === "code-block") {
26257
+ const contained = node.data.containedCallSiteIds ?? [];
26258
+ const ran = contained.some((id) => completions.has(id));
26259
+ if (contained.some((id) => isFailed(id))) states[node.id] = { status: "failed" };
26260
+ else if (ran) states[node.id] = { status: "succeeded" };
26261
+ else if (succeeded) states[node.id] = { status: "skipped" };
26262
+ continue;
26263
+ }
26264
+ if (node.nodeType === "loop" || node.nodeType === "parallel") {
26265
+ const children = childrenByParent.get(node.id) ?? [];
26266
+ const total = loopTotal(children.map((id) => completions.get(id) ?? 0));
26267
+ if (children.some((id) => isFailed(id))) states[node.id] = { status: "failed" };
26268
+ else if (total > 0) states[node.id] = node.nodeType === "loop" && total > 1 ? {
26269
+ status: "succeeded",
26270
+ iteration: {
26271
+ index: total - 1,
26272
+ total
26273
+ }
26274
+ } : { status: "succeeded" };
26275
+ else if (succeeded) states[node.id] = { status: "skipped" };
26276
+ continue;
26277
+ }
26278
+ }
26279
+ const exits = graph.nodes.filter((node) => node.nodeType === "exit");
26280
+ if (succeeded && exits.length === 1) states[exits[0].id] = { status: "succeeded" };
26281
+ return states;
26282
+ }
26283
+ //#endregion
26284
+ //#region src/routes/account/workflows/[workflowId]/canvas/runs/[runId]/GET.ts
26285
+ function toCanvasRunStatus(status) {
26286
+ if (status === "completed") return "succeeded";
26287
+ if (status === "failed") return "failed";
26288
+ if (status === "canceled") return "canceled";
26289
+ return "running";
26290
+ }
26291
+ const handler$66 = async (c) => {
26292
+ const workflowId = c.req.param("workflowId") ?? "";
26293
+ const runId = c.req.param("runId") ?? "";
26294
+ if (!workflowId.trim() || !runId.trim()) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid workflow or run id" }), 400);
26295
+ const resolved = await resolveWorkflow(c, workflowId);
26296
+ if (!resolved) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Workflow not found" }), 404);
26297
+ const { row, projectId } = resolved;
26298
+ const run = await (0, _keystrokehq_database.runWithProjectScope)(projectId, () => (0, _keystrokehq_database.selectWorkflowRunForWorkflow)(row.slug, runId));
26299
+ if (!run) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Run not found" }), 404);
26300
+ const manifest = await loadActiveManifest(projectId);
26301
+ const workflowEntry = manifest?.entries.find((entry) => entry.kind === "workflow" && entry.slug === row.slug);
26302
+ if (!workflowEntry || workflowEntry.kind !== "workflow" || !workflowEntry.flowGraph) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Canvas not available" }), 404);
26303
+ const triggers = await (0, _keystrokehq_database.listWorkspaceTriggers)([projectId]);
26304
+ const { graph } = buildWorkflowCanvas({
26305
+ workflowSlug: row.slug,
26306
+ workflowEntry,
26307
+ entries: manifest?.entries ?? [],
26308
+ triggers
26309
+ });
26310
+ const events = await (0, _keystrokehq_database.runWithProjectScope)(projectId, () => (0, _keystrokehq_database.listReplayEvents)(runId));
26311
+ const runStatus = toCanvasRunStatus(run.status);
26312
+ const nodeStates = buildRunOverlay({
26313
+ graph,
26314
+ events,
26315
+ runStatus
26316
+ });
26317
+ return c.json(require_dist.WorkflowCanvasRunSchema.parse({
26318
+ runId,
26319
+ status: runStatus,
26320
+ startedAt: (run.startedAt ?? run.triggeredAt).toISOString(),
26321
+ finishedAt: run.finishedAt ? run.finishedAt.toISOString() : null,
26322
+ nodeStates
26323
+ }));
26324
+ };
26325
+ //#endregion
26326
+ //#region src/routes/account/workflows/[workflowId]/overview/GET.ts
26327
+ /** Bumped when the overview prompt/model changes, so cached overviews invalidate. */
26328
+ const OVERVIEW_GENERATOR_VERSION = "wf-overview-v1";
26329
+ /**
26330
+ * Best-effort read of the workflow's source from the active deploy's source snapshot, resolving
26331
+ * path → hash via the manifest so only files that belong to the deploy are served. Returns null
26332
+ * for dist-only deploys / missing source so the overview still generates from the structured graph.
26333
+ */
26334
+ async function loadWorkflowSource(organization, projectId, sourcePath) {
26335
+ try {
26336
+ const artifact = await (0, _keystrokehq_platform_database.selectActiveProjectArtifactForProject)(projectId);
26337
+ if (!artifact?.sourceManifestJson) return null;
26338
+ const file = require_dist.StoredProjectSourceManifestSchema.parse(artifact.sourceManifestJson).files.find((entry) => entry.path === sourcePath);
26339
+ if (!file) return null;
26340
+ const bytes = await (0, _keystrokehq_platform_database.createOrgStorageClient)(organization).getObject(require_dist.projectSourceBlobKey(projectId, file.hash));
26341
+ return new TextDecoder().decode(bytes);
26342
+ } catch {
26343
+ return null;
26344
+ }
26345
+ }
26346
+ const handler$65 = async (c) => {
26347
+ const { organizationId } = c.get("organization");
26348
+ const workflowId = c.req.param("workflowId") ?? "";
26349
+ if (!workflowId.trim()) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
26350
+ const resolved = await resolveWorkflow(c, workflowId);
26351
+ if (!resolved) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Workflow not found" }), 404);
26352
+ const { row, projectId } = resolved;
26353
+ const manifest = await loadActiveManifest(projectId);
26354
+ const workflowEntry = manifest?.entries.find((entry) => entry.kind === "workflow" && entry.slug === row.slug);
26355
+ if (!workflowEntry || workflowEntry.kind !== "workflow" || !workflowEntry.flowGraph) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Overview not available" }), 404);
26356
+ const triggers = await (0, _keystrokehq_database.listWorkspaceTriggers)([projectId]);
26357
+ const { graph, nodeMetadata } = buildWorkflowCanvas({
26358
+ workflowSlug: row.slug,
26359
+ workflowEntry,
26360
+ entries: manifest?.entries ?? [],
26361
+ triggers
26362
+ });
26363
+ const triggerLabels = graph.nodes.filter((node) => node.nodeType === "trigger-source").map((node) => node.data.label);
26364
+ const nodes = graph.nodes.map((node) => {
26365
+ const meta = nodeMetadata[node.id];
26366
+ const inputs = meta?.inputs.map((field) => field.key) ?? [];
26367
+ const outputs = meta?.outputs.map((field) => field.key) ?? [];
26368
+ return {
26369
+ nodeId: node.id,
26370
+ label: meta?.name ?? node.data.label,
26371
+ kind: meta?.kind ?? node.nodeType,
26372
+ ...meta?.description ? { description: meta.description } : {},
26373
+ ...meta?.appSlug ? { appSlug: meta.appSlug } : {},
26374
+ ...inputs.length > 0 ? { inputs } : {},
26375
+ ...outputs.length > 0 ? { outputs } : {},
26376
+ ...meta?.model ? { model: meta.model } : {},
26377
+ ...meta?.toolCount !== void 0 ? { toolCount: meta.toolCount } : {}
26378
+ };
26379
+ });
26380
+ const model = require_dist.DEFAULT_WORKFLOW_OVERVIEW_MODEL;
26381
+ const graphHash = (0, node_crypto.createHash)("sha256").update(JSON.stringify(workflowEntry.flowGraph)).digest("hex");
26382
+ const hash = (0, node_crypto.createHash)("sha256").update(JSON.stringify({
26383
+ source: workflowEntry.flowGraphSourceHash ?? "",
26384
+ graph: graphHash,
26385
+ triggers: triggerLabels,
26386
+ model,
26387
+ version: OVERVIEW_GENERATOR_VERSION
26388
+ })).digest("hex");
26389
+ const cache = await (0, _keystrokehq_database.runWithProjectScope)(projectId, () => (0, _keystrokehq_database.selectWorkflowOverview)(workflowId));
26390
+ const cachedPhases = cache?.phases ?? [];
26391
+ if (cache && cache.hash === hash) {
26392
+ if (cache.status === "ready" || cache.status === "failed") return c.json(require_dist.WorkspaceWorkflowOverviewSchema.parse({
26393
+ status: "ready",
26394
+ summary: cache.summary ?? "",
26395
+ phases: cachedPhases,
26396
+ hash,
26397
+ generatedAt: cache.generatedAt ? cache.generatedAt.toISOString() : (/* @__PURE__ */ new Date()).toISOString(),
26398
+ model: cache.model ?? model
26399
+ }));
26400
+ if (cache.status === "generating") return c.json(require_dist.WorkspaceWorkflowOverviewSchema.parse({
26401
+ status: "generating",
26402
+ summary: cache.summary ?? "",
26403
+ phases: [],
26404
+ hash,
26405
+ generatedAt: null,
26406
+ model: cache.model ?? model
26407
+ }));
26408
+ }
26409
+ const organization = await (0, _keystrokehq_platform_database.selectOrganizationById)(organizationId);
26410
+ if (!organization) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Organization not found" }), 404);
26411
+ await (0, _keystrokehq_database.runWithProjectScope)(projectId, () => (0, _keystrokehq_database.setWorkflowOverviewGenerating)(workflowId, hash));
26412
+ const source = await loadWorkflowSource(organization, projectId, workflowEntry.moduleFile);
26413
+ try {
26414
+ await (await (0, _keystrokehq_http.getProjectScheduler)(organization, projectId)).enqueue({
26415
+ kind: "workflow-overview",
26416
+ targetId: workflowId,
26417
+ runId: crypto.randomUUID(),
26418
+ trigger: "api",
26419
+ projectId,
26420
+ dedupeKey: `workflow-overview:${workflowId}:${hash}`,
26421
+ payload: {
26422
+ workflowId,
26423
+ projectId,
26424
+ hash,
26425
+ model,
26426
+ input: {
26427
+ workflowName: row.name.trim(),
26428
+ workflowDescription: row.description.trim(),
26429
+ triggers: triggerLabels,
26430
+ nodes,
26431
+ source
26432
+ }
26433
+ }
26434
+ });
26435
+ } catch {
26436
+ await (0, _keystrokehq_database.runWithProjectScope)(projectId, () => (0, _keystrokehq_database.updateWorkflowOverview)(workflowId, { status: "failed" }));
26437
+ }
26438
+ return c.json(require_dist.WorkspaceWorkflowOverviewSchema.parse({
26439
+ status: "generating",
26440
+ summary: "",
26441
+ phases: [],
26442
+ hash,
26443
+ generatedAt: null,
26444
+ model
26445
+ }));
26446
+ };
26447
+ //#endregion
26448
+ //#region src/routes/account/workflows/[workflowId]/run-inputs/GET.ts
26449
+ const handler$64 = async (c) => {
26450
+ const workflowId = c.req.param("workflowId") ?? "";
26451
+ if (!workflowId.trim()) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
26452
+ const resolved = await resolveWorkflow(c, workflowId);
26453
+ if (!resolved) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Workflow not found" }), 404);
26454
+ const { row, projectId } = resolved;
26455
+ const schema = require_dist.jsonSchemaToWorkflowInputSchema((await loadWorkflowManifestEntry(projectId, row.slug))?.requestSchema ?? {});
26456
+ const values = await (0, _keystrokehq_database.runWithProjectScope)(projectId, () => (0, _keystrokehq_database.selectWorkflowRunInputValues)(workflowId));
26457
+ return c.json(require_dist.WorkflowRunInputsSchema.parse({
26458
+ schema,
26459
+ values
26460
+ }));
26461
+ };
26462
+ //#endregion
26463
+ //#region src/routes/account/workflows/[workflowId]/run-inputs/PUT.ts
26464
+ const handler$63 = async (c) => {
26465
+ const workflowId = c.req.param("workflowId") ?? "";
26466
+ if (!workflowId.trim()) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
26467
+ const resolved = await resolveWorkflow(c, workflowId);
26468
+ if (!resolved) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Workflow not found" }), 404);
26469
+ let body;
26470
+ try {
26471
+ body = require_dist.WorkflowRunInputsPutBodySchema.parse(await c.req.json());
26472
+ } catch {
26473
+ return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid request body" }), 400);
26474
+ }
26475
+ const { row, projectId } = resolved;
26476
+ const schema = require_dist.jsonSchemaToWorkflowInputSchema((await loadWorkflowManifestEntry(projectId, row.slug))?.requestSchema ?? {});
26477
+ const validation = require_dist.validateWorkflowRunInputValues(schema, body);
26478
+ if (!validation.ok) return c.json(require_dist.ErrorResponseSchema.parse({ error: validation.error }), 400);
26479
+ await (0, _keystrokehq_database.runWithProjectScope)(projectId, () => (0, _keystrokehq_database.updateWorkflowRunInputValues)(workflowId, body));
26480
+ return c.json(require_dist.WorkflowRunInputsSchema.parse({
26481
+ schema,
26482
+ values: body
26483
+ }));
26484
+ };
26485
+ //#endregion
26486
+ //#region src/routes/account/workflows/[workflowId]/run/POST.ts
26487
+ function parseRunInput(requestSchema, input) {
26488
+ if (typeof zod.z.fromJSONSchema === "function") return zod.z.fromJSONSchema(requestSchema).parse(input ?? {});
26489
+ return zod.z.record(zod.z.string(), zod.z.unknown()).parse(input ?? {});
26490
+ }
26491
+ /**
26492
+ * Manually start a workflow run from the dashboard. Validates the input against
26493
+ * the active deploy's request schema, creates a pending run, and enqueues it on
26494
+ * the project's queue (drained by the project runtime worker). Returns the run id.
26495
+ */
26496
+ const handler$62 = async (c) => {
26497
+ const { organizationId } = c.get("organization");
26498
+ const workflowId = c.req.param("workflowId") ?? "";
26499
+ if (!workflowId.trim()) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
26500
+ const resolved = await resolveWorkflow(c, workflowId);
26501
+ if (!resolved) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Workflow not found" }), 404);
26502
+ const { row, projectId } = resolved;
26503
+ const workflowEntry = (await loadActiveManifest(projectId))?.entries.find((entry) => entry.kind === "workflow" && entry.slug === row.slug);
26504
+ if (!workflowEntry || workflowEntry.kind !== "workflow") return c.json(require_dist.ErrorResponseSchema.parse({ error: "Workflow not deployed" }), 404);
26505
+ let body = {};
26506
+ if ((c.req.header("content-type") ?? "").includes("application/json")) try {
26507
+ body = await c.req.json();
26508
+ } catch {
26509
+ return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid JSON body" }), 400);
26510
+ }
26511
+ const organization = await (0, _keystrokehq_platform_database.selectOrganizationById)(organizationId);
26512
+ if (!organization) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Organization not found" }), 404);
26513
+ const userId = c.get("user").id;
26514
+ try {
26515
+ const runId = await (0, _keystrokehq_database.runWithProjectScope)(projectId, async () => {
26516
+ const scheduler = await (0, _keystrokehq_http.getProjectScheduler)(organization, projectId);
26517
+ return (0, _keystrokehq_runtime.enqueueWorkflowRunByKey)({
26518
+ workflowKey: row.slug,
26519
+ input: body,
26520
+ jobQueue: scheduler,
26521
+ parseInput: (value) => parseRunInput(workflowEntry.requestSchema, value),
26522
+ ranByUserId: userId
26523
+ });
26524
+ });
26525
+ return c.json({ runId }, 202);
26526
+ } catch (error) {
26527
+ if (error instanceof zod.ZodError) return c.json(require_dist.validationErrorResponse(error, "Invalid workflow input"), 400);
26528
+ throw error;
26529
+ }
26530
+ };
26531
+ //#endregion
26532
+ //#region src/routes/account/workflows/[workflowId]/runs/GET.ts
26533
+ const handler$61 = async (c) => {
26534
+ const workflowId = c.req.param("workflowId") ?? "";
26535
+ if (!workflowId.trim()) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
26536
+ const resolved = await resolveWorkflow(c, workflowId);
26537
+ if (!resolved) return c.json(require_dist.ErrorResponseSchema.parse({ error: "Workflow not found" }), 404);
26538
+ const { row, projectId } = resolved;
26539
+ const scope = listScope(c, projectListScope(accessContext(c)));
26540
+ if (await resolveListProjectIds(c, scope, projectId) === "empty") return c.json(require_dist.HistoryRunListResponseSchema.parse([]));
26541
+ const runs = await (0, _keystrokehq_database.listHistoryRuns)({
26542
+ kind: "workflow",
26543
+ projectIds: [projectId],
26544
+ workflow: {
26545
+ projectId,
26546
+ slug: row.slug
26547
+ }
26548
+ });
26549
+ const { organizationId } = c.get("organization");
26550
+ const projects = await (0, _keystrokehq_platform_database.selectProjectsByOrganizationId)(organizationId, { grantedProjectIds: await grantedProjectIds(c, scope) });
26551
+ const projectNameById = new Map(projects.map((project) => [project.id, project.name]));
26552
+ return c.json(require_dist.HistoryRunListResponseSchema.parse(await enrichHistoryRuns(runs, projectNameById)));
26553
+ };
26554
+ //#endregion
25584
26555
  //#region src/routes/account/workflows/runs/[runId]/cancel/POST.ts
25585
26556
  const handler$60 = (c) => cancelHistoryRun(c, "workflow", _keystrokehq_database.cancelWorkflowRun);
25586
26557
  //#endregion
25587
26558
  //#region src/routes/account/resources/skills.ts
25588
26559
  function toSkillSummary(row) {
26560
+ const name = row.name?.trim() || titleCaseKey(row.slug);
25589
26561
  return require_dist.SkillSummarySchema.parse({
25590
26562
  id: row.id,
25591
26563
  slug: row.slug,
25592
- name: row.name?.trim() || titleCaseKey(row.slug),
25593
- description: row.description ?? void 0,
26564
+ name,
26565
+ description: row.description?.trim() || name,
25594
26566
  projectId: row.projectId,
25595
26567
  updatedAt: row.updatedAt.toISOString(),
25596
26568
  sourcePath: row.moduleFile
@@ -27408,22 +28380,22 @@ function mountAccountRoutes(options) {
27408
28380
  const requireProjectManageMembers = authorize(projectActions.manageMembers);
27409
28381
  const requireInvitableProjectRole = authorizePayload(require_dist.InviteProjectMembersRequestSchema, ({ c, ctx, body }) => canInviteToProject(ctx, { invitePermission: getProjectInvitePermission(c) }, body.role));
27410
28382
  const requireOrgParam = requireOrganizationParam();
27411
- account.get("/organizations", handler$78);
27412
- account.get("/organizations/slug-available", handler$77);
28383
+ account.get("/organizations", handler$86);
28384
+ account.get("/organizations/slug-available", handler$85);
27413
28385
  account.post("/organizations", createOrganizationHandler(options));
27414
- account.get("/organizations/:organizationId", requireOrgParam, handler$76);
27415
- account.patch("/organizations/:organizationId", requireOrgParam, requireOrgUpdate, handler$75);
27416
- account.get("/organizations/:organizationId/branding", requireOrgParam, handler$74);
27417
- account.patch("/organizations/:organizationId/branding", requireOrgParam, requireOrgUpdate, handler$73);
27418
- account.post("/organizations/:organizationId/branding/logo/presign", requireOrgParam, requireOrgUpdate, handler$72);
28386
+ account.get("/organizations/:organizationId", requireOrgParam, handler$84);
28387
+ account.patch("/organizations/:organizationId", requireOrgParam, requireOrgUpdate, handler$83);
28388
+ account.get("/organizations/:organizationId/branding", requireOrgParam, handler$82);
28389
+ account.patch("/organizations/:organizationId/branding", requireOrgParam, requireOrgUpdate, handler$81);
28390
+ account.post("/organizations/:organizationId/branding/logo/presign", requireOrgParam, requireOrgUpdate, handler$80);
27419
28391
  account.get("/invitations", handler$17);
27420
28392
  account.post("/invitations/:invitationId/accept", handler$16);
27421
28393
  account.post("/invitations/:invitationId/decline", handler$15);
27422
- account.get("/users/me/avatar", handler$83);
27423
- account.post("/users/me/avatar/presign", handler$82);
27424
- account.patch("/users/me/avatar", handler$81);
27425
- account.get("/users/me/preferences", handler$80);
27426
- account.patch("/users/me/preferences", handler$79);
28394
+ account.get("/users/me/avatar", handler$91);
28395
+ account.post("/users/me/avatar/presign", handler$90);
28396
+ account.patch("/users/me/avatar", handler$89);
28397
+ account.get("/users/me/preferences", handler$88);
28398
+ account.patch("/users/me/preferences", handler$87);
27427
28399
  const withOrgDb = withOrganizationProjectDatabase();
27428
28400
  orgScoped.get("/apps", handler$14);
27429
28401
  orgScoped.get("/apps/slug-available", handler$7);
@@ -27441,14 +28413,22 @@ function mountAccountRoutes(options) {
27441
28413
  orgScoped.get("/api-keys", handler$5);
27442
28414
  orgScoped.post("/api-keys", requireApiKeyCreate, handler$4);
27443
28415
  orgScoped.delete("/api-keys/:apiKeyId", handler$3);
27444
- orgScoped.get("/agents", withOrgDb, handler$69);
27445
- orgScoped.get("/agents/:agentId", withOrgDb, handler$68);
27446
- orgScoped.get("/agents/:agentId/memory/files", withOrgDb, handler$67);
27447
- orgScoped.get("/agents/:agentId/memory/files/content", withOrgDb, handler$66);
27448
- orgScoped.get("/agents/:agentId/workspace/files", withOrgDb, handler$65);
27449
- orgScoped.get("/agents/:agentId/workspace/files/content", withOrgDb, handler$64);
27450
- orgScoped.get("/workflows", withOrgDb, handler$62);
27451
- orgScoped.get("/workflows/:workflowId", withOrgDb, handler$61);
28416
+ orgScoped.get("/agents", withOrgDb, handler$77);
28417
+ orgScoped.get("/agents/:agentId", withOrgDb, handler$76);
28418
+ orgScoped.get("/agents/:agentId/memory/files", withOrgDb, handler$75);
28419
+ orgScoped.get("/agents/:agentId/memory/files/content", withOrgDb, handler$74);
28420
+ orgScoped.get("/agents/:agentId/workspace/files", withOrgDb, handler$73);
28421
+ orgScoped.get("/agents/:agentId/workspace/files/content", withOrgDb, handler$72);
28422
+ orgScoped.get("/workflows", withOrgDb, handler$70);
28423
+ orgScoped.get("/workflows/:workflowId", withOrgDb, handler$69);
28424
+ orgScoped.get("/workflows/:workflowId/canvas", withOrgDb, handler$68);
28425
+ orgScoped.get("/workflows/:workflowId/canvas/credentials", withOrgDb, handler$67);
28426
+ orgScoped.get("/workflows/:workflowId/canvas/runs/:runId", withOrgDb, handler$66);
28427
+ orgScoped.get("/workflows/:workflowId/overview", withOrgDb, handler$65);
28428
+ orgScoped.get("/workflows/:workflowId/runs", withOrgDb, handler$61);
28429
+ orgScoped.get("/workflows/:workflowId/run-inputs", withOrgDb, handler$64);
28430
+ orgScoped.put("/workflows/:workflowId/run-inputs", withOrgDb, handler$63);
28431
+ orgScoped.post("/workflows/:workflowId/run", withOrgDb, handler$62);
27452
28432
  orgScoped.get("/skills", withOrgDb, handler$59);
27453
28433
  orgScoped.get("/skills/:skillId", withOrgDb, handler$58);
27454
28434
  orgScoped.get("/triggers", withOrgDb, handler$57);
@@ -27458,10 +28438,10 @@ function mountAccountRoutes(options) {
27458
28438
  orgScoped.get("/triggers/:triggerId/overview", withOrgDb, handler$53);
27459
28439
  orgScoped.patch("/triggers/:triggerId/attachments/:attachmentId", withOrgDb, handler$52);
27460
28440
  orgScoped.get("/recents", withOrgDb, handler$51);
27461
- orgScoped.get("/history", withOrgDb, handler$71);
27462
- orgScoped.get("/history/:runId", withOrgDb, handler$70);
28441
+ orgScoped.get("/history", withOrgDb, handler$79);
28442
+ orgScoped.get("/history/:runId", withOrgDb, handler$78);
27463
28443
  orgScoped.post("/workflows/runs/:runId/cancel", withOrgDb, handler$60);
27464
- orgScoped.post("/agents/sessions/:sessionId/cancel", withOrgDb, handler$63);
28444
+ orgScoped.post("/agents/sessions/:sessionId/cancel", withOrgDb, handler$71);
27465
28445
  orgScoped.get("/credentials", withOrgDb, handler$25);
27466
28446
  orgScoped.post("/credentials", withOrgDb, handler$24);
27467
28447
  orgScoped.get("/credentials/:credentialId", withOrgDb, (c, next) => c.req.param("credentialId") === "instances" ? next() : handler$23(c, next));
@@ -28016,4 +28996,4 @@ Object.defineProperty(exports, "x$1", {
28016
28996
  }
28017
28997
  });
28018
28998
 
28019
- //# sourceMappingURL=start-BXs2tRMp.cjs.map
28999
+ //# sourceMappingURL=start-B-r5AcHg.cjs.map