@keystrokehq/platform 0.1.104 → 0.1.106

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 (309) hide show
  1. package/dist/{awk2-LA3USKJP-QJQEwtsE.cjs → awk2-LA3USKJP-BzedwQGr.cjs} +2 -2
  2. package/dist/{awk2-LA3USKJP-QJQEwtsE.cjs.map → awk2-LA3USKJP-BzedwQGr.cjs.map} +1 -1
  3. package/dist/{awk2-LA3USKJP-D22qN7re.mjs → awk2-LA3USKJP-Dgay0H4p.mjs} +2 -2
  4. package/dist/{awk2-LA3USKJP-D22qN7re.mjs.map → awk2-LA3USKJP-Dgay0H4p.mjs.map} +1 -1
  5. package/dist/{base64-C2AIWVNC-BZ355qNl.mjs → base64-C2AIWVNC-DHDX5cLS.mjs} +2 -2
  6. package/dist/{base64-C2AIWVNC-BZ355qNl.mjs.map → base64-C2AIWVNC-DHDX5cLS.mjs.map} +1 -1
  7. package/dist/{base64-C2AIWVNC-Bsn2MlQu.cjs → base64-C2AIWVNC-DcuQcnyt.cjs} +2 -2
  8. package/dist/{base64-C2AIWVNC-Bsn2MlQu.cjs.map → base64-C2AIWVNC-DcuQcnyt.cjs.map} +1 -1
  9. package/dist/{bash-YZ33HQZQ-DMr1WrAX.cjs → bash-YZ33HQZQ-CkUuWEwi.cjs} +2 -2
  10. package/dist/{bash-YZ33HQZQ-DMr1WrAX.cjs.map → bash-YZ33HQZQ-CkUuWEwi.cjs.map} +1 -1
  11. package/dist/{bash-YZ33HQZQ-CnwqBcTu.mjs → bash-YZ33HQZQ-sT3B7KV-.mjs} +2 -2
  12. package/dist/{bash-YZ33HQZQ-CnwqBcTu.mjs.map → bash-YZ33HQZQ-sT3B7KV-.mjs.map} +1 -1
  13. package/dist/{cat-TSFMZVYS-BxNjOPHo.mjs → cat-TSFMZVYS-CoHlzG1g.mjs} +3 -3
  14. package/dist/{cat-TSFMZVYS-BxNjOPHo.mjs.map → cat-TSFMZVYS-CoHlzG1g.mjs.map} +1 -1
  15. package/dist/{cat-TSFMZVYS-DZgdWs-l.cjs → cat-TSFMZVYS-D6Jv-_E6.cjs} +3 -3
  16. package/dist/{cat-TSFMZVYS-DZgdWs-l.cjs.map → cat-TSFMZVYS-D6Jv-_E6.cjs.map} +1 -1
  17. package/dist/{chunk-5H5SCKJM-BanZFrdd.mjs → chunk-5H5SCKJM-CMD1LgcN.mjs} +2 -2
  18. package/dist/{chunk-5H5SCKJM-BanZFrdd.mjs.map → chunk-5H5SCKJM-CMD1LgcN.mjs.map} +1 -1
  19. package/dist/{chunk-5H5SCKJM-FM5cGSNj.cjs → chunk-5H5SCKJM-KMLjLNmr.cjs} +2 -2
  20. package/dist/{chunk-5H5SCKJM-FM5cGSNj.cjs.map → chunk-5H5SCKJM-KMLjLNmr.cjs.map} +1 -1
  21. package/dist/{chunk-AQ6FYS2X-pDIZfvDJ.cjs → chunk-AQ6FYS2X-CulLfMTp.cjs} +2 -2
  22. package/dist/{chunk-AQ6FYS2X-pDIZfvDJ.cjs.map → chunk-AQ6FYS2X-CulLfMTp.cjs.map} +1 -1
  23. package/dist/{chunk-AQ6FYS2X-BC4S7I2G.mjs → chunk-AQ6FYS2X-D1jG7VBg.mjs} +2 -2
  24. package/dist/{chunk-AQ6FYS2X-BC4S7I2G.mjs.map → chunk-AQ6FYS2X-D1jG7VBg.mjs.map} +1 -1
  25. package/dist/{chunk-CHFEPBH4-yA9axt8t.cjs → chunk-CHFEPBH4-8JwjjMYy.cjs} +2 -2
  26. package/dist/{chunk-CHFEPBH4-yA9axt8t.cjs.map → chunk-CHFEPBH4-8JwjjMYy.cjs.map} +1 -1
  27. package/dist/{chunk-CHFEPBH4-CQ8Z2pKX.mjs → chunk-CHFEPBH4-CPgVu9SN.mjs} +2 -2
  28. package/dist/{chunk-CHFEPBH4-CQ8Z2pKX.mjs.map → chunk-CHFEPBH4-CPgVu9SN.mjs.map} +1 -1
  29. package/dist/{chunk-EBAPSGAO-Cs0cxZLH.cjs → chunk-EBAPSGAO-Bgly30_n.cjs} +2 -2
  30. package/dist/{chunk-EBAPSGAO-Cs0cxZLH.cjs.map → chunk-EBAPSGAO-Bgly30_n.cjs.map} +1 -1
  31. package/dist/{chunk-EBAPSGAO-D_J0UBgO.mjs → chunk-EBAPSGAO-CAv463QS.mjs} +2 -2
  32. package/dist/{chunk-EBAPSGAO-D_J0UBgO.mjs.map → chunk-EBAPSGAO-CAv463QS.mjs.map} +1 -1
  33. package/dist/{chunk-LEKBROJD-9rQi0Phl.cjs → chunk-LEKBROJD-CnguBeDu.cjs} +2 -2
  34. package/dist/{chunk-LEKBROJD-9rQi0Phl.cjs.map → chunk-LEKBROJD-CnguBeDu.cjs.map} +1 -1
  35. package/dist/{chunk-LEKBROJD-GHEcWGlP.mjs → chunk-LEKBROJD-dGWKSL4I.mjs} +2 -2
  36. package/dist/{chunk-LEKBROJD-GHEcWGlP.mjs.map → chunk-LEKBROJD-dGWKSL4I.mjs.map} +1 -1
  37. package/dist/{chunk-VPADYNBD-DlqB17ZC.mjs → chunk-VPADYNBD-BEBrySsw.mjs} +2 -2
  38. package/dist/{chunk-VPADYNBD-DlqB17ZC.mjs.map → chunk-VPADYNBD-BEBrySsw.mjs.map} +1 -1
  39. package/dist/{chunk-VPADYNBD-CC0ogYlS.cjs → chunk-VPADYNBD-vM0Sd0ff.cjs} +2 -2
  40. package/dist/{chunk-VPADYNBD-CC0ogYlS.cjs.map → chunk-VPADYNBD-vM0Sd0ff.cjs.map} +1 -1
  41. package/dist/{chunk-YCLFEX4T-DXMH3Eco.mjs → chunk-YCLFEX4T-CZXV1Vhd.mjs} +2 -2
  42. package/dist/{chunk-YCLFEX4T-DXMH3Eco.mjs.map → chunk-YCLFEX4T-CZXV1Vhd.mjs.map} +1 -1
  43. package/dist/{chunk-YCLFEX4T-Df7MskBf.cjs → chunk-YCLFEX4T-U2ejpjUU.cjs} +2 -2
  44. package/dist/{chunk-YCLFEX4T-Df7MskBf.cjs.map → chunk-YCLFEX4T-U2ejpjUU.cjs.map} +1 -1
  45. package/dist/{column-XT6UFXNQ-D-78wzPk.cjs → column-XT6UFXNQ-Cb4XDBZJ.cjs} +2 -2
  46. package/dist/{column-XT6UFXNQ-D-78wzPk.cjs.map → column-XT6UFXNQ-Cb4XDBZJ.cjs.map} +1 -1
  47. package/dist/{column-XT6UFXNQ-DssELUSO.mjs → column-XT6UFXNQ-Dfl8vwzz.mjs} +2 -2
  48. package/dist/{column-XT6UFXNQ-DssELUSO.mjs.map → column-XT6UFXNQ-Dfl8vwzz.mjs.map} +1 -1
  49. package/dist/{comm-VV2LDX2J-B8_LT80n.cjs → comm-VV2LDX2J-CbKpd-8-.cjs} +2 -2
  50. package/dist/{comm-VV2LDX2J-B8_LT80n.cjs.map → comm-VV2LDX2J-CbKpd-8-.cjs.map} +1 -1
  51. package/dist/{comm-VV2LDX2J-B9xsrXzR.mjs → comm-VV2LDX2J-z5VLja3D.mjs} +2 -2
  52. package/dist/{comm-VV2LDX2J-B9xsrXzR.mjs.map → comm-VV2LDX2J-z5VLja3D.mjs.map} +1 -1
  53. package/dist/config.cjs +2 -2
  54. package/dist/config.mjs +2 -2
  55. package/dist/{cp-BISAAS7A-BIV7L9eq.cjs → cp-BISAAS7A-B8yr7uOU.cjs} +2 -2
  56. package/dist/{cp-BISAAS7A-BIV7L9eq.cjs.map → cp-BISAAS7A-B8yr7uOU.cjs.map} +1 -1
  57. package/dist/{cp-BISAAS7A-LPv4X9LQ.mjs → cp-BISAAS7A-BDW_Ftsa.mjs} +2 -2
  58. package/dist/{cp-BISAAS7A-LPv4X9LQ.mjs.map → cp-BISAAS7A-BDW_Ftsa.mjs.map} +1 -1
  59. package/dist/{cut-OKARJCCV-8tOnAUTx.mjs → cut-OKARJCCV-CxnqlZqu.mjs} +3 -3
  60. package/dist/{cut-OKARJCCV-8tOnAUTx.mjs.map → cut-OKARJCCV-CxnqlZqu.mjs.map} +1 -1
  61. package/dist/{cut-OKARJCCV-R8-mNVvr.cjs → cut-OKARJCCV-DdbJ20ln.cjs} +3 -3
  62. package/dist/{cut-OKARJCCV-R8-mNVvr.cjs.map → cut-OKARJCCV-DdbJ20ln.cjs.map} +1 -1
  63. package/dist/{diff-MWJFIG7X-aAYDACUk.mjs → diff-MWJFIG7X-CGXdgUmT.mjs} +2 -2
  64. package/dist/{diff-MWJFIG7X-aAYDACUk.mjs.map → diff-MWJFIG7X-CGXdgUmT.mjs.map} +1 -1
  65. package/dist/{diff-MWJFIG7X-C1AIAesr.cjs → diff-MWJFIG7X-CXpUSmgO.cjs} +2 -2
  66. package/dist/{diff-MWJFIG7X-C1AIAesr.cjs.map → diff-MWJFIG7X-CXpUSmgO.cjs.map} +1 -1
  67. package/dist/{dist-UfTaqROI.mjs → dist-2KoUXcsr.mjs} +248 -124
  68. package/dist/dist-2KoUXcsr.mjs.map +1 -0
  69. package/dist/{dist-BI3VEIg3.mjs → dist-BVlTqMH2.mjs} +144 -91
  70. package/dist/dist-BVlTqMH2.mjs.map +1 -0
  71. package/dist/{dist-DUHTNAp_.cjs → dist-DTpv_m9a.cjs} +144 -91
  72. package/dist/dist-DTpv_m9a.cjs.map +1 -0
  73. package/dist/{dist-Dv9NRRnk.cjs → dist-DsxgrNgi.cjs} +308 -124
  74. package/dist/dist-DsxgrNgi.cjs.map +1 -0
  75. package/dist/{du-572XNP42-BD0Zs3Qz.mjs → du-572XNP42-B2I6Njvu.mjs} +2 -2
  76. package/dist/{du-572XNP42-BD0Zs3Qz.mjs.map → du-572XNP42-B2I6Njvu.mjs.map} +1 -1
  77. package/dist/{du-572XNP42-Gor9ub7v.cjs → du-572XNP42-DCWIQpN2.cjs} +2 -2
  78. package/dist/{du-572XNP42-Gor9ub7v.cjs.map → du-572XNP42-DCWIQpN2.cjs.map} +1 -1
  79. package/dist/{env-36M5BO7M-C-PYC1oQ.mjs → env-36M5BO7M-DcjiL3cp.mjs} +2 -2
  80. package/dist/{env-36M5BO7M-C-PYC1oQ.mjs.map → env-36M5BO7M-DcjiL3cp.mjs.map} +1 -1
  81. package/dist/{env-36M5BO7M-BOaquG0r.cjs → env-36M5BO7M-DrOGqPnU.cjs} +2 -2
  82. package/dist/{env-36M5BO7M-BOaquG0r.cjs.map → env-36M5BO7M-DrOGqPnU.cjs.map} +1 -1
  83. package/dist/{expand-JSPG6VOP-DDY72p2b.cjs → expand-JSPG6VOP-G5CJH3PA.cjs} +2 -2
  84. package/dist/{expand-JSPG6VOP-DDY72p2b.cjs.map → expand-JSPG6VOP-G5CJH3PA.cjs.map} +1 -1
  85. package/dist/{expand-JSPG6VOP-DkKiBzVj.mjs → expand-JSPG6VOP-GQ9M1qlE.mjs} +2 -2
  86. package/dist/{expand-JSPG6VOP-DkKiBzVj.mjs.map → expand-JSPG6VOP-GQ9M1qlE.mjs.map} +1 -1
  87. package/dist/{expr-5JAACS4X-Dppx8f72.mjs → expr-5JAACS4X-DHONkP-t.mjs} +2 -2
  88. package/dist/{expr-5JAACS4X-Dppx8f72.mjs.map → expr-5JAACS4X-DHONkP-t.mjs.map} +1 -1
  89. package/dist/{expr-5JAACS4X-CdeFE19X.cjs → expr-5JAACS4X-DuW3SNU7.cjs} +2 -2
  90. package/dist/{expr-5JAACS4X-CdeFE19X.cjs.map → expr-5JAACS4X-DuW3SNU7.cjs.map} +1 -1
  91. package/dist/{find-INTH3OLC-1l65phnN.mjs → find-INTH3OLC--hNBfGti.mjs} +3 -3
  92. package/dist/{find-INTH3OLC-1l65phnN.mjs.map → find-INTH3OLC--hNBfGti.mjs.map} +1 -1
  93. package/dist/{find-INTH3OLC-DlAfg13Y.cjs → find-INTH3OLC-D_8fgIQ0.cjs} +3 -3
  94. package/dist/{find-INTH3OLC-DlAfg13Y.cjs.map → find-INTH3OLC-D_8fgIQ0.cjs.map} +1 -1
  95. package/dist/{fold-4TQNYMSW-C1ExSlRm.mjs → fold-4TQNYMSW-BOBzzbek.mjs} +2 -2
  96. package/dist/{fold-4TQNYMSW-C1ExSlRm.mjs.map → fold-4TQNYMSW-BOBzzbek.mjs.map} +1 -1
  97. package/dist/{fold-4TQNYMSW-5komeWND.cjs → fold-4TQNYMSW-D4HFghVc.cjs} +2 -2
  98. package/dist/{fold-4TQNYMSW-5komeWND.cjs.map → fold-4TQNYMSW-D4HFghVc.cjs.map} +1 -1
  99. package/dist/{grep-V3LQVMRQ-CukE4iEL.mjs → grep-V3LQVMRQ-BQA7o3M1.mjs} +4 -4
  100. package/dist/{grep-V3LQVMRQ-CukE4iEL.mjs.map → grep-V3LQVMRQ-BQA7o3M1.mjs.map} +1 -1
  101. package/dist/{grep-V3LQVMRQ-Ca0SYUGe.cjs → grep-V3LQVMRQ-CaKVxGQk.cjs} +4 -4
  102. package/dist/{grep-V3LQVMRQ-Ca0SYUGe.cjs.map → grep-V3LQVMRQ-CaKVxGQk.cjs.map} +1 -1
  103. package/dist/{gzip-O5ASJAFY-wJ28ldi7.mjs → gzip-O5ASJAFY-BN_VNZkL.mjs} +2 -2
  104. package/dist/{gzip-O5ASJAFY-wJ28ldi7.mjs.map → gzip-O5ASJAFY-BN_VNZkL.mjs.map} +1 -1
  105. package/dist/{gzip-O5ASJAFY-D0aGDe6h.cjs → gzip-O5ASJAFY-segyQv2z.cjs} +2 -2
  106. package/dist/{gzip-O5ASJAFY-D0aGDe6h.cjs.map → gzip-O5ASJAFY-segyQv2z.cjs.map} +1 -1
  107. package/dist/{head-442HYESI-DUHiojKA.mjs → head-442HYESI-Cs4EuPOi.mjs} +2 -2
  108. package/dist/{head-442HYESI-DUHiojKA.mjs.map → head-442HYESI-Cs4EuPOi.mjs.map} +1 -1
  109. package/dist/{head-442HYESI-BOcnt5E3.cjs → head-442HYESI-CtxFkVIF.cjs} +2 -2
  110. package/dist/{head-442HYESI-BOcnt5E3.cjs.map → head-442HYESI-CtxFkVIF.cjs.map} +1 -1
  111. package/dist/{help-HZ6M2CKN-Qzl16zNq.cjs → help-HZ6M2CKN-B5tkYXb5.cjs} +2 -2
  112. package/dist/{help-HZ6M2CKN-Qzl16zNq.cjs.map → help-HZ6M2CKN-B5tkYXb5.cjs.map} +1 -1
  113. package/dist/{help-HZ6M2CKN-DLEdf0M2.mjs → help-HZ6M2CKN-Cif0Mz1E.mjs} +2 -2
  114. package/dist/{help-HZ6M2CKN-DLEdf0M2.mjs.map → help-HZ6M2CKN-Cif0Mz1E.mjs.map} +1 -1
  115. package/dist/{html-to-markdown-JW4MSQZO-BQz_VlRg.mjs → html-to-markdown-JW4MSQZO-B1mP45ME.mjs} +3 -3
  116. package/dist/{html-to-markdown-JW4MSQZO-BQz_VlRg.mjs.map → html-to-markdown-JW4MSQZO-B1mP45ME.mjs.map} +1 -1
  117. package/dist/{html-to-markdown-JW4MSQZO-BgYA4aOc.cjs → html-to-markdown-JW4MSQZO-BLzBMUTV.cjs} +3 -3
  118. package/dist/{html-to-markdown-JW4MSQZO-BgYA4aOc.cjs.map → html-to-markdown-JW4MSQZO-BLzBMUTV.cjs.map} +1 -1
  119. package/dist/internal.cjs +1 -1
  120. package/dist/internal.mjs +1 -1
  121. package/dist/{join-TBRGI3LQ-C7-r2rFy.cjs → join-TBRGI3LQ-BYjOL7Ba.cjs} +2 -2
  122. package/dist/{join-TBRGI3LQ-C7-r2rFy.cjs.map → join-TBRGI3LQ-BYjOL7Ba.cjs.map} +1 -1
  123. package/dist/{join-TBRGI3LQ-DK7LepAd.mjs → join-TBRGI3LQ-DiBTVdO3.mjs} +2 -2
  124. package/dist/{join-TBRGI3LQ-DK7LepAd.mjs.map → join-TBRGI3LQ-DiBTVdO3.mjs.map} +1 -1
  125. package/dist/{jq-4XLYLOS5-D_E-_pWV.mjs → jq-4XLYLOS5-BALq_nh9.mjs} +4 -4
  126. package/dist/{jq-4XLYLOS5-D_E-_pWV.mjs.map → jq-4XLYLOS5-BALq_nh9.mjs.map} +1 -1
  127. package/dist/{jq-4XLYLOS5-DvRkoRHs.cjs → jq-4XLYLOS5-BXxSQywX.cjs} +4 -4
  128. package/dist/{jq-4XLYLOS5-DvRkoRHs.cjs.map → jq-4XLYLOS5-BXxSQywX.cjs.map} +1 -1
  129. package/dist/{js-exec-N5KEZBH7-CMI7Q7vB.cjs → js-exec-N5KEZBH7-BQUZSyms.cjs} +3 -3
  130. package/dist/{js-exec-N5KEZBH7-CMI7Q7vB.cjs.map → js-exec-N5KEZBH7-BQUZSyms.cjs.map} +1 -1
  131. package/dist/{js-exec-N5KEZBH7-aTSi2bNc.mjs → js-exec-N5KEZBH7-DZMBJ1Pu.mjs} +3 -3
  132. package/dist/{js-exec-N5KEZBH7-aTSi2bNc.mjs.map → js-exec-N5KEZBH7-DZMBJ1Pu.mjs.map} +1 -1
  133. package/dist/{lib-rQKuhAkq.mjs → lib--NqY2m9f.mjs} +2 -2
  134. package/dist/{lib-rQKuhAkq.mjs.map → lib--NqY2m9f.mjs.map} +1 -1
  135. package/dist/{lib-CAYL_7KH.cjs → lib-B9zGTXWx.cjs} +2 -2
  136. package/dist/{lib-CAYL_7KH.cjs.map → lib-B9zGTXWx.cjs.map} +1 -1
  137. package/dist/{ln-4LGSXXGD-CDLjrDRx.cjs → ln-4LGSXXGD-LbHp0v_s.cjs} +2 -2
  138. package/dist/{ln-4LGSXXGD-CDLjrDRx.cjs.map → ln-4LGSXXGD-LbHp0v_s.cjs.map} +1 -1
  139. package/dist/{ln-4LGSXXGD-DEz2c-lc.mjs → ln-4LGSXXGD-QTMEXUOs.mjs} +2 -2
  140. package/dist/{ln-4LGSXXGD-DEz2c-lc.mjs.map → ln-4LGSXXGD-QTMEXUOs.mjs.map} +1 -1
  141. package/dist/{ls-ZJGQER7M-dtZQlOl9.cjs → ls-ZJGQER7M-B7I4CkBz.cjs} +2 -2
  142. package/dist/{ls-ZJGQER7M-dtZQlOl9.cjs.map → ls-ZJGQER7M-B7I4CkBz.cjs.map} +1 -1
  143. package/dist/{ls-ZJGQER7M-CTMWgQdb.mjs → ls-ZJGQER7M-CFGn-LL8.mjs} +2 -2
  144. package/dist/{ls-ZJGQER7M-CTMWgQdb.mjs.map → ls-ZJGQER7M-CFGn-LL8.mjs.map} +1 -1
  145. package/dist/{lzma-cXJLxnF-.cjs → lzma-BDhJKx9h.cjs} +2 -2
  146. package/dist/{lzma-cXJLxnF-.cjs.map → lzma-BDhJKx9h.cjs.map} +1 -1
  147. package/dist/{md5sum-SPU24VSG-Dv-imBX7.cjs → md5sum-SPU24VSG-CdpTF-_K.cjs} +3 -3
  148. package/dist/{md5sum-SPU24VSG-Dv-imBX7.cjs.map → md5sum-SPU24VSG-CdpTF-_K.cjs.map} +1 -1
  149. package/dist/{md5sum-SPU24VSG-0bULe4dG.mjs → md5sum-SPU24VSG-DSdkIq3n.mjs} +3 -3
  150. package/dist/{md5sum-SPU24VSG-0bULe4dG.mjs.map → md5sum-SPU24VSG-DSdkIq3n.mjs.map} +1 -1
  151. package/dist/{mkdir-MEPGZOB6-DlmASeJ8.mjs → mkdir-MEPGZOB6-BcS5Q34m.mjs} +2 -2
  152. package/dist/{mkdir-MEPGZOB6-DlmASeJ8.mjs.map → mkdir-MEPGZOB6-BcS5Q34m.mjs.map} +1 -1
  153. package/dist/{mkdir-MEPGZOB6-DbT8dn9r.cjs → mkdir-MEPGZOB6-DcImBvi6.cjs} +2 -2
  154. package/dist/{mkdir-MEPGZOB6-DbT8dn9r.cjs.map → mkdir-MEPGZOB6-DcImBvi6.cjs.map} +1 -1
  155. package/dist/{mv-W5BIQ646-BcD65P4z.cjs → mv-W5BIQ646-BSsj5pJ0.cjs} +2 -2
  156. package/dist/{mv-W5BIQ646-BcD65P4z.cjs.map → mv-W5BIQ646-BSsj5pJ0.cjs.map} +1 -1
  157. package/dist/{mv-W5BIQ646-BUScaUnN.mjs → mv-W5BIQ646-CoAyZhuD.mjs} +2 -2
  158. package/dist/{mv-W5BIQ646-BUScaUnN.mjs.map → mv-W5BIQ646-CoAyZhuD.mjs.map} +1 -1
  159. package/dist/{nl-WSDW7I4O-CZJV7yor.mjs → nl-WSDW7I4O-8GpfdAsi.mjs} +2 -2
  160. package/dist/{nl-WSDW7I4O-CZJV7yor.mjs.map → nl-WSDW7I4O-8GpfdAsi.mjs.map} +1 -1
  161. package/dist/{nl-WSDW7I4O-C6dIyqS-.cjs → nl-WSDW7I4O-BAlXwBPu.cjs} +2 -2
  162. package/dist/{nl-WSDW7I4O-C6dIyqS-.cjs.map → nl-WSDW7I4O-BAlXwBPu.cjs.map} +1 -1
  163. package/dist/{od-WOKFDJTP-D21mvx_N.cjs → od-WOKFDJTP-BwF4po_J.cjs} +2 -2
  164. package/dist/{od-WOKFDJTP-D21mvx_N.cjs.map → od-WOKFDJTP-BwF4po_J.cjs.map} +1 -1
  165. package/dist/{od-WOKFDJTP-ByzrsPyh.mjs → od-WOKFDJTP-CI6oY0LJ.mjs} +2 -2
  166. package/dist/{od-WOKFDJTP-ByzrsPyh.mjs.map → od-WOKFDJTP-CI6oY0LJ.mjs.map} +1 -1
  167. package/dist/{paste-7JC6S4DX-DLKliCxf.mjs → paste-7JC6S4DX-DTlwJFjO.mjs} +2 -2
  168. package/dist/{paste-7JC6S4DX-DLKliCxf.mjs.map → paste-7JC6S4DX-DTlwJFjO.mjs.map} +1 -1
  169. package/dist/{paste-7JC6S4DX-BnuwNZea.cjs → paste-7JC6S4DX-qCPaS90b.cjs} +2 -2
  170. package/dist/{paste-7JC6S4DX-BnuwNZea.cjs.map → paste-7JC6S4DX-qCPaS90b.cjs.map} +1 -1
  171. package/dist/{printf-TWGXF445-DTZXq0ei.cjs → printf-TWGXF445-B76DaGg_.cjs} +3 -3
  172. package/dist/{printf-TWGXF445-DTZXq0ei.cjs.map → printf-TWGXF445-B76DaGg_.cjs.map} +1 -1
  173. package/dist/{printf-TWGXF445-SeXWdm7g.mjs → printf-TWGXF445-TABq8pZA.mjs} +3 -3
  174. package/dist/{printf-TWGXF445-SeXWdm7g.mjs.map → printf-TWGXF445-TABq8pZA.mjs.map} +1 -1
  175. package/dist/{python3-POMOR4OA-Ck-wgzU7.cjs → python3-POMOR4OA-BN3Jttuk.cjs} +3 -3
  176. package/dist/{python3-POMOR4OA-Ck-wgzU7.cjs.map → python3-POMOR4OA-BN3Jttuk.cjs.map} +1 -1
  177. package/dist/{python3-POMOR4OA-DCtD8PWe.mjs → python3-POMOR4OA-DTtek62H.mjs} +3 -3
  178. package/dist/{python3-POMOR4OA-DCtD8PWe.mjs.map → python3-POMOR4OA-DTtek62H.mjs.map} +1 -1
  179. package/dist/{rev-5EHFX4EJ-BKPrCPRh.cjs → rev-5EHFX4EJ-CSyB1i8Z.cjs} +2 -2
  180. package/dist/{rev-5EHFX4EJ-BKPrCPRh.cjs.map → rev-5EHFX4EJ-CSyB1i8Z.cjs.map} +1 -1
  181. package/dist/{rev-5EHFX4EJ-TtsbZt5q.mjs → rev-5EHFX4EJ-CkoAL_TJ.mjs} +2 -2
  182. package/dist/{rev-5EHFX4EJ-TtsbZt5q.mjs.map → rev-5EHFX4EJ-CkoAL_TJ.mjs.map} +1 -1
  183. package/dist/{rg-S4FXYXWB-qJ8foUzL.mjs → rg-S4FXYXWB-DBe0_b15.mjs} +3 -3
  184. package/dist/{rg-S4FXYXWB-qJ8foUzL.mjs.map → rg-S4FXYXWB-DBe0_b15.mjs.map} +1 -1
  185. package/dist/{rg-S4FXYXWB-CWLIXiXm.cjs → rg-S4FXYXWB-bL1TqZTV.cjs} +3 -3
  186. package/dist/{rg-S4FXYXWB-CWLIXiXm.cjs.map → rg-S4FXYXWB-bL1TqZTV.cjs.map} +1 -1
  187. package/dist/{rm-SSGETQVQ-CSeUoZXG.cjs → rm-SSGETQVQ-BQHptABi.cjs} +2 -2
  188. package/dist/{rm-SSGETQVQ-CSeUoZXG.cjs.map → rm-SSGETQVQ-BQHptABi.cjs.map} +1 -1
  189. package/dist/{rm-SSGETQVQ-Yp02JM15.mjs → rm-SSGETQVQ-CZlEeKOZ.mjs} +2 -2
  190. package/dist/{rm-SSGETQVQ-Yp02JM15.mjs.map → rm-SSGETQVQ-CZlEeKOZ.mjs.map} +1 -1
  191. package/dist/{rmdir-OC4ZLPYA-BGCS0MYZ.mjs → rmdir-OC4ZLPYA-CNNN3q6l.mjs} +2 -2
  192. package/dist/{rmdir-OC4ZLPYA-BGCS0MYZ.mjs.map → rmdir-OC4ZLPYA-CNNN3q6l.mjs.map} +1 -1
  193. package/dist/{rmdir-OC4ZLPYA-7QLeoaKs.cjs → rmdir-OC4ZLPYA-D9b9P6qG.cjs} +2 -2
  194. package/dist/{rmdir-OC4ZLPYA-7QLeoaKs.cjs.map → rmdir-OC4ZLPYA-D9b9P6qG.cjs.map} +1 -1
  195. package/dist/run.cjs +1 -1
  196. package/dist/run.mjs +1 -1
  197. package/dist/{sed-S5UIK574-BS3NSfTz.cjs → sed-S5UIK574-BrzklJCA.cjs} +2 -2
  198. package/dist/{sed-S5UIK574-BS3NSfTz.cjs.map → sed-S5UIK574-BrzklJCA.cjs.map} +1 -1
  199. package/dist/{sed-S5UIK574-BVQuN_lF.mjs → sed-S5UIK574-DvzUvOnq.mjs} +2 -2
  200. package/dist/{sed-S5UIK574-BVQuN_lF.mjs.map → sed-S5UIK574-DvzUvOnq.mjs.map} +1 -1
  201. package/dist/{sha1sum-2PTOAFR6-1t4ssenS.cjs → sha1sum-2PTOAFR6-B86iY7LQ.cjs} +3 -3
  202. package/dist/{sha1sum-2PTOAFR6-1t4ssenS.cjs.map → sha1sum-2PTOAFR6-B86iY7LQ.cjs.map} +1 -1
  203. package/dist/{sha1sum-2PTOAFR6-D12ocftB.mjs → sha1sum-2PTOAFR6-CEM0r2Rz.mjs} +3 -3
  204. package/dist/{sha1sum-2PTOAFR6-D12ocftB.mjs.map → sha1sum-2PTOAFR6-CEM0r2Rz.mjs.map} +1 -1
  205. package/dist/{sha256sum-NS7D3IXX-CXylnxEZ.mjs → sha256sum-NS7D3IXX-DNbm5sa_.mjs} +3 -3
  206. package/dist/{sha256sum-NS7D3IXX-CXylnxEZ.mjs.map → sha256sum-NS7D3IXX-DNbm5sa_.mjs.map} +1 -1
  207. package/dist/{sha256sum-NS7D3IXX-27eM-Z_8.cjs → sha256sum-NS7D3IXX-DWv1gs51.cjs} +3 -3
  208. package/dist/{sha256sum-NS7D3IXX-27eM-Z_8.cjs.map → sha256sum-NS7D3IXX-DWv1gs51.cjs.map} +1 -1
  209. package/dist/{sleep-X22JJINO-4I6l2NTe.mjs → sleep-X22JJINO-DCoy_Nqt.mjs} +2 -2
  210. package/dist/{sleep-X22JJINO-4I6l2NTe.mjs.map → sleep-X22JJINO-DCoy_Nqt.mjs.map} +1 -1
  211. package/dist/{sleep-X22JJINO-Urif1Mim.cjs → sleep-X22JJINO-zYYHknIH.cjs} +2 -2
  212. package/dist/{sleep-X22JJINO-Urif1Mim.cjs.map → sleep-X22JJINO-zYYHknIH.cjs.map} +1 -1
  213. package/dist/{sort-SW2YEO5B-DPSl4CbI.mjs → sort-SW2YEO5B-CsboAjc8.mjs} +3 -3
  214. package/dist/{sort-SW2YEO5B-DPSl4CbI.mjs.map → sort-SW2YEO5B-CsboAjc8.mjs.map} +1 -1
  215. package/dist/{sort-SW2YEO5B-DHeDK9R9.cjs → sort-SW2YEO5B-ZVF-ge9u.cjs} +3 -3
  216. package/dist/{sort-SW2YEO5B-DHeDK9R9.cjs.map → sort-SW2YEO5B-ZVF-ge9u.cjs.map} +1 -1
  217. package/dist/{split-4KKZZXXE-C0NLbt_2.cjs → split-4KKZZXXE-B8N-gJB3.cjs} +2 -2
  218. package/dist/{split-4KKZZXXE-C0NLbt_2.cjs.map → split-4KKZZXXE-B8N-gJB3.cjs.map} +1 -1
  219. package/dist/{split-4KKZZXXE-Dk9lHFC8.mjs → split-4KKZZXXE-D0uthb-r.mjs} +2 -2
  220. package/dist/{split-4KKZZXXE-Dk9lHFC8.mjs.map → split-4KKZZXXE-D0uthb-r.mjs.map} +1 -1
  221. package/dist/{sqlite3-CGOEFJAO-DpLM2ecz.cjs → sqlite3-CGOEFJAO-CkK_A9Ld.cjs} +3 -3
  222. package/dist/{sqlite3-CGOEFJAO-DpLM2ecz.cjs.map → sqlite3-CGOEFJAO-CkK_A9Ld.cjs.map} +1 -1
  223. package/dist/{sqlite3-CGOEFJAO-BHYKGg1a.mjs → sqlite3-CGOEFJAO-Ct1OVItO.mjs} +3 -3
  224. package/dist/{sqlite3-CGOEFJAO-BHYKGg1a.mjs.map → sqlite3-CGOEFJAO-Ct1OVItO.mjs.map} +1 -1
  225. package/dist/{start-DAmqO4hu.mjs → start-7oMxob_7.mjs} +524 -413
  226. package/dist/start-7oMxob_7.mjs.map +1 -0
  227. package/dist/{start-DMis00-F.cjs → start-CXLVcrhR.cjs} +524 -413
  228. package/dist/start-CXLVcrhR.cjs.map +1 -0
  229. package/dist/start.cjs +1 -1
  230. package/dist/start.mjs +1 -1
  231. package/dist/{strings-6WDHLGMX-z2tCrrrz.cjs → strings-6WDHLGMX-X5aIjktj.cjs} +2 -2
  232. package/dist/{strings-6WDHLGMX-z2tCrrrz.cjs.map → strings-6WDHLGMX-X5aIjktj.cjs.map} +1 -1
  233. package/dist/{strings-6WDHLGMX-Cy1ZR56z.mjs → strings-6WDHLGMX-ufOZIkh3.mjs} +2 -2
  234. package/dist/{strings-6WDHLGMX-Cy1ZR56z.mjs.map → strings-6WDHLGMX-ufOZIkh3.mjs.map} +1 -1
  235. package/dist/{tac-2STMMJYW-D8GSnWwk.mjs → tac-2STMMJYW-BWAzF1gZ.mjs} +2 -2
  236. package/dist/{tac-2STMMJYW-D8GSnWwk.mjs.map → tac-2STMMJYW-BWAzF1gZ.mjs.map} +1 -1
  237. package/dist/{tac-2STMMJYW-BeWTeefF.cjs → tac-2STMMJYW-DJQmV0Bu.cjs} +2 -2
  238. package/dist/{tac-2STMMJYW-BeWTeefF.cjs.map → tac-2STMMJYW-DJQmV0Bu.cjs.map} +1 -1
  239. package/dist/{tail-R4PCA2C4-UBnPkuWO.cjs → tail-R4PCA2C4-8lNBMaKa.cjs} +2 -2
  240. package/dist/{tail-R4PCA2C4-UBnPkuWO.cjs.map → tail-R4PCA2C4-8lNBMaKa.cjs.map} +1 -1
  241. package/dist/{tail-R4PCA2C4-Ww4pv2Dp.mjs → tail-R4PCA2C4-BkulcngY.mjs} +2 -2
  242. package/dist/{tail-R4PCA2C4-Ww4pv2Dp.mjs.map → tail-R4PCA2C4-BkulcngY.mjs.map} +1 -1
  243. package/dist/{tar-STHHZTZ6-Bi0zxlHZ.cjs → tar-STHHZTZ6-DCjYLLQu.cjs} +5 -5
  244. package/dist/{tar-STHHZTZ6-Bi0zxlHZ.cjs.map → tar-STHHZTZ6-DCjYLLQu.cjs.map} +1 -1
  245. package/dist/{tar-STHHZTZ6-BzXQksgM.mjs → tar-STHHZTZ6-DEOAF4gq.mjs} +4 -4
  246. package/dist/{tar-STHHZTZ6-BzXQksgM.mjs.map → tar-STHHZTZ6-DEOAF4gq.mjs.map} +1 -1
  247. package/dist/{tee-YUZ2FKCJ-DR5NHLOg.cjs → tee-YUZ2FKCJ-C6ugBNOg.cjs} +2 -2
  248. package/dist/{tee-YUZ2FKCJ-DR5NHLOg.cjs.map → tee-YUZ2FKCJ-C6ugBNOg.cjs.map} +1 -1
  249. package/dist/{tee-YUZ2FKCJ-CMei1bUb.mjs → tee-YUZ2FKCJ-r5n-l2G2.mjs} +2 -2
  250. package/dist/{tee-YUZ2FKCJ-CMei1bUb.mjs.map → tee-YUZ2FKCJ-r5n-l2G2.mjs.map} +1 -1
  251. package/dist/{time-D4LNBSWX-z9IAaE5I.mjs → time-D4LNBSWX-BaTW1ba4.mjs} +2 -2
  252. package/dist/{time-D4LNBSWX-z9IAaE5I.mjs.map → time-D4LNBSWX-BaTW1ba4.mjs.map} +1 -1
  253. package/dist/{time-D4LNBSWX-BGCDzdSH.cjs → time-D4LNBSWX-CXDpBKgi.cjs} +2 -2
  254. package/dist/{time-D4LNBSWX-BGCDzdSH.cjs.map → time-D4LNBSWX-CXDpBKgi.cjs.map} +1 -1
  255. package/dist/{timeout-YDCRSLPQ-Bg3sU17C.cjs → timeout-YDCRSLPQ-Ch4mc1AF.cjs} +2 -2
  256. package/dist/{timeout-YDCRSLPQ-Bg3sU17C.cjs.map → timeout-YDCRSLPQ-Ch4mc1AF.cjs.map} +1 -1
  257. package/dist/{timeout-YDCRSLPQ-Z78PgVy2.mjs → timeout-YDCRSLPQ-tZJha6AQ.mjs} +2 -2
  258. package/dist/{timeout-YDCRSLPQ-Z78PgVy2.mjs.map → timeout-YDCRSLPQ-tZJha6AQ.mjs.map} +1 -1
  259. package/dist/{touch-UA33VN3N-U3ZomRAc.mjs → touch-UA33VN3N-FlNTn8Ds.mjs} +2 -2
  260. package/dist/{touch-UA33VN3N-U3ZomRAc.mjs.map → touch-UA33VN3N-FlNTn8Ds.mjs.map} +1 -1
  261. package/dist/{touch-UA33VN3N-0fuZVHS6.cjs → touch-UA33VN3N-_YTQfsV6.cjs} +2 -2
  262. package/dist/{touch-UA33VN3N-0fuZVHS6.cjs.map → touch-UA33VN3N-_YTQfsV6.cjs.map} +1 -1
  263. package/dist/{tr-36LHWFRQ-De0ivsL4.mjs → tr-36LHWFRQ-BPsaTkYA.mjs} +2 -2
  264. package/dist/{tr-36LHWFRQ-De0ivsL4.mjs.map → tr-36LHWFRQ-BPsaTkYA.mjs.map} +1 -1
  265. package/dist/{tr-36LHWFRQ-gutDmRkn.cjs → tr-36LHWFRQ-DXAzsI9a.cjs} +2 -2
  266. package/dist/{tr-36LHWFRQ-gutDmRkn.cjs.map → tr-36LHWFRQ-DXAzsI9a.cjs.map} +1 -1
  267. package/dist/{tree-YLD52CNT-DNAB_qw3.mjs → tree-YLD52CNT-BCAIsMqc.mjs} +2 -2
  268. package/dist/{tree-YLD52CNT-DNAB_qw3.mjs.map → tree-YLD52CNT-BCAIsMqc.mjs.map} +1 -1
  269. package/dist/{tree-YLD52CNT-BeXLduiX.cjs → tree-YLD52CNT-C1O0qAuH.cjs} +2 -2
  270. package/dist/{tree-YLD52CNT-BeXLduiX.cjs.map → tree-YLD52CNT-C1O0qAuH.cjs.map} +1 -1
  271. package/dist/{unexpand-CADSA4VO-BFtZtqw9.mjs → unexpand-CADSA4VO-DgpWR91p.mjs} +2 -2
  272. package/dist/{unexpand-CADSA4VO-BFtZtqw9.mjs.map → unexpand-CADSA4VO-DgpWR91p.mjs.map} +1 -1
  273. package/dist/{unexpand-CADSA4VO-CFnBK3Ia.cjs → unexpand-CADSA4VO-vC8hn1hf.cjs} +2 -2
  274. package/dist/{unexpand-CADSA4VO-CFnBK3Ia.cjs.map → unexpand-CADSA4VO-vC8hn1hf.cjs.map} +1 -1
  275. package/dist/{uniq-XSIZR6PB-CyG7HvmD.cjs → uniq-XSIZR6PB-BAHVNDgM.cjs} +3 -3
  276. package/dist/{uniq-XSIZR6PB-CyG7HvmD.cjs.map → uniq-XSIZR6PB-BAHVNDgM.cjs.map} +1 -1
  277. package/dist/{uniq-XSIZR6PB-BytgRQOG.mjs → uniq-XSIZR6PB-BaYViHEU.mjs} +3 -3
  278. package/dist/{uniq-XSIZR6PB-BytgRQOG.mjs.map → uniq-XSIZR6PB-BaYViHEU.mjs.map} +1 -1
  279. package/dist/{wc-LF7NU4LA-exnw0vWb.cjs → wc-LF7NU4LA-BKA5Jgg7.cjs} +3 -3
  280. package/dist/{wc-LF7NU4LA-exnw0vWb.cjs.map → wc-LF7NU4LA-BKA5Jgg7.cjs.map} +1 -1
  281. package/dist/{wc-LF7NU4LA-B_10bksl.mjs → wc-LF7NU4LA-DEaxr-il.mjs} +3 -3
  282. package/dist/{wc-LF7NU4LA-B_10bksl.mjs.map → wc-LF7NU4LA-DEaxr-il.mjs.map} +1 -1
  283. package/dist/{with-project-scope-DhPi7-gm.mjs → with-project-scope-C5w92Hd9.mjs} +2 -2
  284. package/dist/{with-project-scope-DhPi7-gm.mjs.map → with-project-scope-C5w92Hd9.mjs.map} +1 -1
  285. package/dist/{with-project-scope-D40NCS4H.cjs → with-project-scope-Cp3CRXf2.cjs} +2 -2
  286. package/dist/{with-project-scope-D40NCS4H.cjs.map → with-project-scope-Cp3CRXf2.cjs.map} +1 -1
  287. package/dist/{xan-Y6WF3IRG-D87C2Cbw.cjs → xan-Y6WF3IRG-DP-IdHxL.cjs} +6 -6
  288. package/dist/{xan-Y6WF3IRG-D87C2Cbw.cjs.map → xan-Y6WF3IRG-DP-IdHxL.cjs.map} +1 -1
  289. package/dist/{xan-Y6WF3IRG-CwjgCDhd.mjs → xan-Y6WF3IRG-lpubA7_O.mjs} +6 -6
  290. package/dist/{xan-Y6WF3IRG-CwjgCDhd.mjs.map → xan-Y6WF3IRG-lpubA7_O.mjs.map} +1 -1
  291. package/dist/{xan-view-HDVKHFC2-Bi8ZaYNn.mjs → xan-view-HDVKHFC2-BSghphCH.mjs} +3 -3
  292. package/dist/{xan-view-HDVKHFC2-Bi8ZaYNn.mjs.map → xan-view-HDVKHFC2-BSghphCH.mjs.map} +1 -1
  293. package/dist/{xan-view-HDVKHFC2-eGVB9aRf.cjs → xan-view-HDVKHFC2-nAyhWcG7.cjs} +3 -3
  294. package/dist/{xan-view-HDVKHFC2-eGVB9aRf.cjs.map → xan-view-HDVKHFC2-nAyhWcG7.cjs.map} +1 -1
  295. package/dist/{xargs-MGZPH7AX-jq42agOA.mjs → xargs-MGZPH7AX-B1CnFZg_.mjs} +2 -2
  296. package/dist/{xargs-MGZPH7AX-jq42agOA.mjs.map → xargs-MGZPH7AX-B1CnFZg_.mjs.map} +1 -1
  297. package/dist/{xargs-MGZPH7AX-C5vvLUSN.cjs → xargs-MGZPH7AX-BU6-n_Ua.cjs} +2 -2
  298. package/dist/{xargs-MGZPH7AX-C5vvLUSN.cjs.map → xargs-MGZPH7AX-BU6-n_Ua.cjs.map} +1 -1
  299. package/dist/{yq-4QJW3EQG-BrQ6vsDL.mjs → yq-4QJW3EQG-BCTiQ4M4.mjs} +3 -3
  300. package/dist/{yq-4QJW3EQG-BrQ6vsDL.mjs.map → yq-4QJW3EQG-BCTiQ4M4.mjs.map} +1 -1
  301. package/dist/{yq-4QJW3EQG-BCAl5n0x.cjs → yq-4QJW3EQG-C2kjRqdI.cjs} +3 -3
  302. package/dist/{yq-4QJW3EQG-BCAl5n0x.cjs.map → yq-4QJW3EQG-C2kjRqdI.cjs.map} +1 -1
  303. package/package.json +1 -1
  304. package/dist/dist-BI3VEIg3.mjs.map +0 -1
  305. package/dist/dist-DUHTNAp_.cjs.map +0 -1
  306. package/dist/dist-Dv9NRRnk.cjs.map +0 -1
  307. package/dist/dist-UfTaqROI.mjs.map +0 -1
  308. package/dist/start-DAmqO4hu.mjs.map +0 -1
  309. package/dist/start-DMis00-F.cjs.map +0 -1
@@ -1,15 +1,15 @@
1
- import { $ as CreateApiKeyRequestSchema, $n as UploadProjectSourceResponseSchema, $t as ManagedServiceCredentialSchema, A as discoverMcpApp, An as SlugAvailabilityResponseSchema, Ar as mapOrganizationMember, At as HistoryRunListResponseSchema, B as ACTIVE_ORG_HEADER, Bn as TriggerInvokeRequestSchema, Br as organizationInvitationAcceptPath, Bt as ListCredentialsPageQuerySchema, C as defaultSchedulerPlugin, Cn as PublicModelsResponseSchema, Cr as displayCredentialAppName, Ct as GetCredentialResponseSchema, D as decodeOAuthState, Dn as SkillSummaryListResponseSchema, Dr as jsonSchemaToWorkflowInputSchema, Dt as HistoryRunCancelResponseSchema, E as completeMcpOAuthConnect, En as SkillSummaryDetailResponseSchema, Er as isLlmProviderSlug, Et as GraphqlDiscoverResponseSchema, F as deleteCredentialInstanceSecret, Fn as SubmitMarketingContactResponseSchema, Fr as mapProjectSettings, Ft as ListAgentMemoryFilesResponseSchema, G as AgentSummaryListResponseSchema, Gn as UpdateOrganizationMemberRequestSchema, Gr as resolveExternalPlatformOrigin, Gt as ListOrganizationMembersPageResponseSchema, H as ActiveOrganizationResponseSchema, Hn as TriggerRunListQuerySchema, Hr as parseAppSlug, Ht as ListManagedServiceCredentialsResponseSchema, I as deleteManagedServiceCredential$1, In as SubmitTeamRequestRequestSchema, Ir as mapUserOrganization, It as ListAgentWorkspaceFilesResponseSchema, J as AppSlugAvailabilityQuerySchema, Jn as UpdateProjectMemberRequestSchema, Jr as validateWorkflowRunInputValues, Jt as ListProjectFilesResponseSchema, K as AgentSummarySchema, Kn as UpdateOrganizationMemberResponseSchema, Kr as resolveUniqueCredentialInstanceLabel, Kt as ListOrganizationsResponseSchema, L as readCredentialInstanceSecret, Ln as SubmitTeamRequestResponseSchema, Lr as mcpEntityId, Lt as ListApiKeysResponseSchema, M as isDiscoveryError, Mn as StartMcpOAuthConnectionResultSchema, Mr as mapProjectArtifact, Mt as InviteOrganizationMembersResponseSchema, N as withCredentialAssignments, Nn as StoredProjectSourceManifestSchema, Nr as mapProjectDeployment, Nt as InviteProjectMembersRequestSchema, O as describeCredentialBindings, On as SkillSummarySchema, Or as listenPortFromPublicUrl, Ot as HistoryRunDetailResponseSchema, P as PublicHttpUrlError, Pn as SubmitMarketingContactRequestSchema, Pr as mapProjectMember, Pt as InviteProjectMembersResponseSchema, Q as ConnectManagedServiceCredentialRequestSchema, Qn as UploadProjectSourceManifestRequestSchema, Qt as MICRO_CREDITS_PER_CREDIT, R as setCredentialInstanceSecret, Rn as TriggerAttachmentUpdateRequestSchema, Rr as mergeUserPreferences, Rt as ListAppsResponseSchema, S as createJobQueue, Sn as ProjectSourceResourcesSchema, Sr as deriveCredentialInstanceSlug, St as GetAppCatalogEntryResponseSchema, T as beginMcpOAuthConnect, Tn as RecentResourceSchema, Tr as isHelloWorldTemplateSlug, Tt as GraphqlDiscoverRequestSchema, U as AgentMemoryFileSummarySchema, Un as UpdateCredentialRequestSchema, Ur as parseStoredRouteManifest, Ut as ListOrganizationInvitationsResponseSchema, V as AcceptOrganizationInvitationResponseSchema, Vn as TriggerInvokeResponseSchema, Vr as organizationSlugErrorCodeFromMessage, Vt as ListCredentialsPageResponseSchema, W as AgentSummaryDetailResponseSchema, Wn as UpdateManagedServiceCredentialRequestSchema, Wr as projectFileId, Wt as ListOrganizationMembersPageQuerySchema, X as ChannelPlatformSchema, Xn as UpdateProjectRequestSchema, Xt as ListProjectMetricsResponseSchema, Y as AppSlugAvailabilityResponseSchema, Yn as UpdateProjectMemberResponseSchema, Yr as validationErrorResponse, Yt as ListProjectMembersResponseSchema, Z as CompleteProjectArtifactResponseSchema, Zn as UpdateProjectSettingsRequestSchema, Zt as ListProjectsResponseSchema, _ as orgLogoStorageKey, _n as ProjectReachabilityResponseSchema, _r as WorkspaceWorkflowOverviewSchema, _t as DownloadActiveProjectSourceResponseSchema, a as extractRouteManifestFromArtifact, an as OrganizationSidebarBrandingPatchSchema, ar as WorkflowCanvasRunSchema, at as CreateOrganizationRequestSchema, b as publicKeystrokeAssetsObjectUrl, bn as ProjectSlugAvailabilityQuerySchema, br as buildCredentialInstanceLabel, bt as ErrorResponseSchema, c as isKeystrokeAssetsOrgLogoPublicUrl, cn as PROJECT_SLUG_TAKEN_MESSAGE, cr as WorkflowRunInputsSchema, ct as CreateProjectRequestSchema, d as isStorageNotFoundError$1, dn as PresignOrgLogoRequestSchema, dr as WorkflowSummarySchema, dt as DEFAULT_TRIGGER_OVERVIEW_MODEL, en as ManagedServiceKindSchema, er as UserAvatarPatchSchema, et as CreateApiKeyResponseSchema, f as isUserAvatarStorageKey, fn as PresignOrgLogoResponseSchema, fr as WorkspaceTriggerDetailSchema, ft as DEFAULT_WORKFLOW_CANVAS_MODEL, gn as PresignUserAvatarResponseSchema, gr as WorkspaceTriggerRunListResponseSchema, gt as DownloadActiveProjectArtifactResponseSchema, h as loadProjectSourceFiles, hn as PresignUserAvatarRequestSchema, hr as WorkspaceTriggerOverviewSchema, ht as DeclineOrganizationInvitationResponseSchema, i as ensureKeystrokeAssetsBucket, in as OpenApiDiscoverResponseSchema, ir as WorkflowCanvasCredentialBindingsSchema, it as CreateCustomAppResponseSchema, j as discoverOpenApiApp, jn as StartMcpOAuthConnectionInputSchema, jr as mapProject, jt as InviteOrganizationMembersRequestSchema, k as discoverGraphqlApp, kn as SlugAvailabilityQuerySchema, kr as mapOrganizationInvitation, kt as HistoryRunListQuerySchema, l as isOrgLogoStorageKey, ln as PresignChatAttachmentRequestSchema, lr as WorkflowSummaryDetailResponseSchema, lt as CreateProjectResponseSchema, m as keystrokeAssetsOrgLogoKeyFromPublicUrl, mn as PresignProjectSourceResponseSchema, mr as WorkspaceTriggerListResponseSchema, mt as DbProxyQueryRequestSchema, n as chatAttachmentStorageKey, nn as McpDiscoverResponseSchema, nr as UserPreferencesPatchSchema, nt as CreateCredentialsResponseSchema, o as isChatAttachmentStorageKey, on as OrganizationSidebarBrandingSchema, or as WorkflowCanvasSchema, ot as CreateOrganizationResponseSchema, p as keystrokeAssetsAvatarKeyFromPublicUrl, pn as PresignProjectSourceRequestSchema, pr as WorkspaceTriggerFileSchema, pt as DEFAULT_WORKFLOW_OVERVIEW_MODEL, q as AgentWorkspaceFileSummarySchema, qn as UpdateOrganizationRequestSchema, qr as validateCredentialValueAgainstFields, qt as ListProjectDeploymentsResponseSchema, r as createAssetsStorageClient, rn as OpenApiDiscoverRequestSchema, rr as UserPreferencesSchema, rt as CreateCustomAppRequestSchema, s as isKeystrokeAssetsAvatarPublicUrl, sn as PLATFORM_RESOURCE_UNSUPPORTED_TEXT, sr as WorkflowRunInputsPutBodySchema, st as CreateProjectArtifactResponseSchema, t as RouteManifestNotFoundError, tn as McpDiscoverRequestSchema, tr as UserAvatarSchema, tt as CreateCredentialsRequestSchema, u as isStorageBucketNotFoundError, un as PresignChatAttachmentResponseSchema, ur as WorkflowSummaryListResponseSchema, ut as DEFAULT_CLOUD_PLATFORM_ORIGIN, v as projectArtifactKey, vn as ProjectResponseSchema, vr as agentMemoryFileId, vt as DuplicateCredentialRequestSchema, w as cronPayloadSchema, wn as RecentResourceListResponseSchema, wr as isAllowedChatAttachmentMediaType, wt as GetCustomAppResponseSchema, x as userAvatarStorageKey, xn as ProjectSlugAvailabilityResponseSchema, xr as chatAttachmentExtension, xt as FilePartSchema, y as projectSourceBlobKey, yn as ProjectSettingsResponseSchema, yr as agentWorkspaceFileId, yt as DuplicateCredentialsResponseSchema, z as setManagedServiceCredential, zn as TriggerInvokeInputsSchema, zr as normalizeUserPreferences, zt as ListChannelPlatformsResponseSchema } from "./dist-UfTaqROI.mjs";
2
- import { a as verifyOrgWorkerToken, i as pingProjectTarget, n as fetchDeployStatus, r as mintOrgWorkerToken } from "./dist-BI3VEIg3.mjs";
1
+ import { $ as CreateApiKeyRequestSchema, $n as UpdateProjectMemberResponseSchema, $r as resolveUniqueCredentialInstanceLabel, $t as ManagedServiceCredentialSchema, A as discoverMcpApp, An as SkillSummaryDetailResponseSchema, Ar as isAllowedChatAttachmentMediaType, At as HistoryRunListResponseSchema, B as ACTIVE_ORG_HEADER, Bn as SubmitTeamRequestRequestSchema, Br as mapProjectMember, Bt as ListCredentialsPageQuerySchema, C as defaultSchedulerPlugin, Cn as PublicFormMetadataSchema, Cr as WorkspaceWorkflowOverviewSchema, Ct as GetCredentialResponseSchema, D as decodeOAuthState, Dn as PublishedFormSchema, Dr as chatAttachmentExtension, Dt as HistoryRunCancelResponseSchema, E as completeMcpOAuthConnect, En as PublicModelsResponseSchema, Er as buildCredentialInstanceLabel, Et as GraphqlDiscoverResponseSchema, F as deleteCredentialInstanceSecret, Fn as StartMcpOAuthConnectionInputSchema, Fr as mapOrganizationInvitation, Ft as ListAgentMemoryFilesResponseSchema, G as AgentSummaryListResponseSchema, Gn as TriggerInvokeResponseSchema, Gr as normalizeUserPreferences, Gt as ListOrganizationMembersPageResponseSchema, H as ActiveOrganizationResponseSchema, Hn as TriggerAttachmentUpdateRequestSchema, Hr as mapUserOrganization, Ht as ListManagedServiceCredentialsResponseSchema, I as deleteManagedServiceCredential$1, In as StartMcpOAuthConnectionResultSchema, Ir as mapOrganizationMember, It as ListAgentWorkspaceFilesResponseSchema, J as AppSlugAvailabilityQuerySchema, Jn as UpdateManagedServiceCredentialRequestSchema, Jr as parseAppSlug, Jt as ListProjectFilesResponseSchema, K as AgentSummarySchema, Kn as TriggerRunListQuerySchema, Kr as organizationInvitationAcceptPath, Kt as ListOrganizationsResponseSchema, L as readCredentialInstanceSecret, Ln as StoredProjectSourceManifestSchema, Lr as mapProject, Lt as ListApiKeysResponseSchema, M as isDiscoveryError, Mn as SkillSummarySchema, Mr as isLlmProviderSlug, Mt as InviteOrganizationMembersResponseSchema, N as withCredentialAssignments, Nn as SlugAvailabilityQuerySchema, Nr as jsonSchemaToWorkflowInputSchema, Nt as InviteProjectMembersRequestSchema, O as describeCredentialBindings, On as RecentResourceListResponseSchema, Or as deriveCredentialInstanceSlug, Ot as HistoryRunDetailResponseSchema, P as PublicHttpUrlError, Pn as SlugAvailabilityResponseSchema, Pr as listenPortFromPublicUrl, Pt as InviteProjectMembersResponseSchema, Q as ConnectManagedServiceCredentialRequestSchema, Qn as UpdateProjectMemberRequestSchema, Qr as resolvePublicFormFields, Qt as MICRO_CREDITS_PER_CREDIT, R as setCredentialInstanceSecret, Rn as SubmitMarketingContactRequestSchema, Rr as mapProjectArtifact, Rt as ListAppsResponseSchema, S as createJobQueue, Sn as ProjectSourceResourcesSchema, Sr as WorkspaceTriggerRunListResponseSchema, St as GetAppCatalogEntryResponseSchema, T as beginMcpOAuthConnect, Tn as PublicFormSubmitResponseSchema, Tr as agentWorkspaceFileId, Tt as GraphqlDiscoverRequestSchema, U as AgentMemoryFileSummarySchema, Un as TriggerInvokeInputsSchema, Ur as mcpEntityId, Ut as ListOrganizationInvitationsResponseSchema, V as AcceptOrganizationInvitationResponseSchema, Vn as SubmitTeamRequestResponseSchema, Vr as mapProjectSettings, Vt as ListCredentialsPageResponseSchema, W as AgentSummaryDetailResponseSchema, Wn as TriggerInvokeRequestSchema, Wr as mergeUserPreferences, Wt as ListOrganizationMembersPageQuerySchema, X as ChannelPlatformSchema, Xn as UpdateOrganizationMemberResponseSchema, Xr as projectFileId, Xt as ListProjectMetricsResponseSchema, Y as AppSlugAvailabilityResponseSchema, Yn as UpdateOrganizationMemberRequestSchema, Yr as parseStoredRouteManifest, Yt as ListProjectMembersResponseSchema, Z as CompleteProjectArtifactResponseSchema, Zn as UpdateOrganizationRequestSchema, Zr as resolveExternalPlatformOrigin, Zt as ListProjectsResponseSchema, _ as orgLogoStorageKey, _n as ProjectReachabilityResponseSchema, _r as WorkflowSummarySchema, _t as DownloadActiveProjectSourceResponseSchema, a as extractRouteManifestFromArtifact, ai as validationErrorResponse, an as OrganizationSidebarBrandingPatchSchema, ar as UserAvatarSchema, at as CreateOrganizationRequestSchema, b as publicKeystrokeAssetsObjectUrl, bn as ProjectSlugAvailabilityQuerySchema, br as WorkspaceTriggerListResponseSchema, bt as ErrorResponseSchema, c as isKeystrokeAssetsOrgLogoPublicUrl, cn as PROJECT_SLUG_TAKEN_MESSAGE, cr as WorkflowCanvasCredentialBindingsSchema, ct as CreateProjectRequestSchema, d as isStorageNotFoundError$1, dn as PresignOrgLogoRequestSchema, dr as WorkflowFormResponseSchema, dt as DEFAULT_TRIGGER_OVERVIEW_MODEL, ei as schemaHasFileFields, en as ManagedServiceKindSchema, er as UpdateProjectRequestSchema, et as CreateApiKeyResponseSchema, f as isUserAvatarStorageKey, fn as PresignOrgLogoResponseSchema, fr as WorkflowFormUpsertBodySchema, ft as DEFAULT_WORKFLOW_CANVAS_MODEL, gn as PresignUserAvatarResponseSchema, gr as WorkflowSummaryListResponseSchema, gt as DownloadActiveProjectArtifactResponseSchema, h as loadProjectSourceFiles, hn as PresignUserAvatarRequestSchema, hr as WorkflowSummaryDetailResponseSchema, ht as DeclineOrganizationInvitationResponseSchema, i as ensureKeystrokeAssetsBucket, ii as validateWorkflowRunInputValues, in as OpenApiDiscoverResponseSchema, ir as UserAvatarPatchSchema, it as CreateCustomAppResponseSchema, j as discoverOpenApiApp, jn as SkillSummaryListResponseSchema, jr as isHelloWorldTemplateSlug, jt as InviteOrganizationMembersRequestSchema, k as discoverGraphqlApp, kn as RecentResourceSchema, kr as displayCredentialAppName, kt as HistoryRunListQuerySchema, l as isOrgLogoStorageKey, ln as PresignChatAttachmentRequestSchema, lr as WorkflowCanvasRunSchema, lt as CreateProjectResponseSchema, m as keystrokeAssetsOrgLogoKeyFromPublicUrl, mn as PresignProjectSourceResponseSchema, mr as WorkflowRunInputsSchema, mt as DbProxyQueryRequestSchema, n as chatAttachmentStorageKey, ni as validateCredentialValueAgainstFields, nn as McpDiscoverResponseSchema, nr as UploadProjectSourceManifestRequestSchema, nt as CreateCredentialsResponseSchema, o as isChatAttachmentStorageKey, on as OrganizationSidebarBrandingSchema, or as UserPreferencesPatchSchema, ot as CreateOrganizationResponseSchema, p as keystrokeAssetsAvatarKeyFromPublicUrl, pn as PresignProjectSourceRequestSchema, pr as WorkflowRunInputsPutBodySchema, pt as DEFAULT_WORKFLOW_OVERVIEW_MODEL, q as AgentWorkspaceFileSummarySchema, qn as UpdateCredentialRequestSchema, qr as organizationSlugErrorCodeFromMessage, qt as ListProjectDeploymentsResponseSchema, r as createAssetsStorageClient, ri as validateFormFieldConfig, rn as OpenApiDiscoverRequestSchema, rr as UploadProjectSourceResponseSchema, rt as CreateCustomAppRequestSchema, s as isKeystrokeAssetsAvatarPublicUrl, sn as PLATFORM_RESOURCE_UNSUPPORTED_TEXT, sr as UserPreferencesSchema, st as CreateProjectArtifactResponseSchema, t as RouteManifestNotFoundError, ti as schemaHasUnsupportedFormFields, tn as McpDiscoverRequestSchema, tr as UpdateProjectSettingsRequestSchema, tt as CreateCredentialsRequestSchema, u as isStorageBucketNotFoundError, un as PresignChatAttachmentResponseSchema, ur as WorkflowCanvasSchema, ut as DEFAULT_CLOUD_PLATFORM_ORIGIN, v as projectArtifactKey, vn as ProjectResponseSchema, vr as WorkspaceTriggerDetailSchema, vt as DuplicateCredentialRequestSchema, w as cronPayloadSchema, wn as PublicFormSubmitBodySchema, wr as agentMemoryFileId, wt as GetCustomAppResponseSchema, x as userAvatarStorageKey, xn as ProjectSlugAvailabilityResponseSchema, xr as WorkspaceTriggerOverviewSchema, xt as FilePartSchema, y as projectSourceBlobKey, yn as ProjectSettingsResponseSchema, yr as WorkspaceTriggerFileSchema, yt as DuplicateCredentialsResponseSchema, z as setManagedServiceCredential, zn as SubmitMarketingContactResponseSchema, zr as mapProjectDeployment, zt as ListChannelPlatformsResponseSchema } from "./dist-2KoUXcsr.mjs";
2
+ import { a as verifyOrgWorkerToken, i as pingProjectTarget, n as fetchDeployStatus, r as mintOrgWorkerToken } from "./dist-BVlTqMH2.mjs";
3
3
  import "./chunk-BZUGFHVS-B2NchobP.mjs";
4
4
  import { n as d$4, t as _$1 } from "./chunk-TN7HHBQW-B8PYcKz5.mjs";
5
- import { n as readWorkerTokenFromRequest, r as requireWorkerToken, t as withProjectScope } from "./with-project-scope-DhPi7-gm.mjs";
5
+ import { n as readWorkerTokenFromRequest, r as requireWorkerToken, t as withProjectScope } from "./with-project-scope-C5w92Hd9.mjs";
6
6
  import { createRequire } from "node:module";
7
7
  import { createHash } from "node:crypto";
8
8
  import "node:fs/promises";
9
- import { acquireProjectDatabasePool, buildHistoryAgentSessionDetail, buildHistoryWorkflowRunDetail, cancelAgentSession, cancelWorkflowRun, clearCredentialInstanceDefaults, collectChildRunCancelTargets, deleteCredentialInstanceById, findHistoryRunCore, getProjectScopeId, getServerTenantScopeId, getWorkspaceTriggerById, listActiveAgents, listActiveSkills, listActiveWorkflows, listAllCredentialInstances, listAttachmentsByTriggerIds, listCredentialInstancesByConnectionId, listHistoryRuns, listRecentResourceActivity, listReplayEvents, listTriggersByIds, listWorkspaceTriggerRunRows, listWorkspaceTriggers, releaseProjectDatabasePool, resolveMigrationsFolder, runMigrations, runWithProjectDatabase, runWithProjectScope, runWithTenantScope, selectActiveAgentById, selectActiveAgentsByIds, selectActiveSkillById, selectActiveSkillsByIds, selectActiveWorkflowById, selectActiveWorkflowsByIds, selectAgentBySlug, selectAgentLastRunAtByIds, selectAgentSessionById, selectCredentialInstanceById, selectCredentialInstancesForScope, selectEphemeralTriggerAttachments, selectProjectResourceCounts, selectTriggerById, selectWorkflowCanvasAnnotations, selectWorkflowLastRunAtByIds, selectWorkflowOverview, selectWorkflowRunById, selectWorkflowRunForWorkflow, selectWorkflowRunInputValues, setTriggerAttachmentEnabledState, setTriggerOverviewGenerating, setWorkflowCanvasAnnotationsGenerating, setWorkflowOverviewGenerating, storedTriggerSourceFromRow, touchResourceActivity, triggerTimezoneFromConfig, updateTriggerOverview, updateWorkflowCanvasAnnotations, updateWorkflowOverview, updateWorkflowRunInputValues, upsertCredentialInstance } from "@keystrokehq/database";
9
+ import { acquireProjectDatabasePool, buildHistoryAgentSessionDetail, buildHistoryWorkflowRunDetail, cancelAgentSession, cancelWorkflowRun, clearCredentialInstanceDefaults, collectChildRunCancelTargets, deleteCredentialInstanceById, findHistoryRunCore, getProjectScopeId, getServerTenantScopeId, getWorkspaceTriggerById, listActiveAgents, listActiveSkills, listActiveWorkflows, listAllCredentialInstances, listAttachmentsByTriggerIds, listCredentialInstancesByConnectionId, listHistoryRuns, listRecentResourceActivity, listReplayEvents, listTriggersByIds, listWorkspaceTriggerRunRows, listWorkspaceTriggers, releaseProjectDatabasePool, runWithProjectDatabase, runWithProjectScope, runWithTenantScope, selectActiveAgentById, selectActiveAgentsByIds, selectActiveSkillById, selectActiveSkillsByIds, selectActiveWorkflowById, selectActiveWorkflowBySlug, selectActiveWorkflowsByIds, selectAgentBySlug, selectAgentLastRunAtByIds, selectAgentSessionById, selectCredentialInstanceById, selectCredentialInstancesForScope, selectEphemeralTriggerAttachments, selectProjectResourceCounts, selectTriggerById, selectWorkflowCanvasAnnotations, selectWorkflowLastRunAtByIds, selectWorkflowOverview, selectWorkflowRunById, selectWorkflowRunForWorkflow, selectWorkflowRunInputValues, setTriggerAttachmentEnabledState, setTriggerOverviewGenerating, setWorkflowCanvasAnnotationsGenerating, setWorkflowOverviewGenerating, storedTriggerSourceFromRow, touchResourceActivity, triggerTimezoneFromConfig, updateTriggerOverview, updateWorkflowCanvasAnnotations, updateWorkflowOverview, updateWorkflowRunInputValues, upsertCredentialInstance } from "@keystrokehq/database";
10
10
  import { ZodError, z } from "zod";
11
11
  import { AsyncLocalStorage } from "node:async_hooks";
12
- import { CannotModifyOwnerError, OrgAppSlugTakenError, OrgPlatformApiKeyNotFoundError, OrganizationInvitationExpiredError, OrganizationInvitationForbiddenError, OrganizationInvitationNotFoundError, OrganizationMemberNotFoundError, OrganizationSlugTakenError, OrganizationSlugTakenError as OrganizationSlugTakenError$1, ProjectMemberNotFoundError, ProjectSlugTakenError, acceptInvitation, checkOrgAppSlugAvailability, checkOrganizationSlugAvailability, checkProjectSlugAvailability, completeProjectArtifact, countActiveMembersForOrganization, countActiveProjectsForOrganization, createOrgAgentStorageClient, createOrgApp, createOrgPlatformApiKey, createOrgStorageClient, createOrganizationForUser, createProjectForOrganization, declineInvitation, deleteOAuthConnectionById, deleteProjectForOrganization, encryptCredentialPayload as encryptCredentialPayload$1, ensureProjectPgBossGrants, ensureWebhookApiKeyForRoute, ensureWebhookApiKeys, getManagedServiceCredential, hasCredentialFieldTemplate, initDatabase, insertProjectArtifact, inviteOrganizationMembers, inviteProjectMembers, isOrganizationStorageBucketInUse, listAppsForOrganization, listManagedServiceCredentialsForOrganization, listOrgPlatformApiKeysForOrganization, listOrgPlatformApiKeysForUser, listUsageEventsForRuns, listWebhookApiKeysForProject, loadOrgPlatformApiKeyUser, mapOrgPlatformApiKeyCreator, mapOrgPlatformApiKeyCreatorOrDeleted, migrateAllOrgSchemas, orgSchedulerRuntimeEnv, orgWorkspacesRuntimeEnv, organizationRowToSidebarBranding, promoteProjectArtifact, removeOrganizationMember, removeProjectMember, resolveNewOrganizationIdentity, resolveOrgDatabaseUrl, resolveOrgProjectDatabaseOptions, resolveOrgRuntimeDatabase, revokeOrgPlatformApiKey, runWithOrganizationScope, runWithWorkspaceContext, selectActiveArtifactManifestForProject, selectActiveArtifactSourceManifestForProject, selectActiveProjectArtifactForProject, selectAppForOrganization, selectLastDeploymentAtByProject, selectManagedServiceCredentialById, selectOAuthConnectionsByIds, selectOrgPlatformApiKeyForOrganization, selectOrganizationById, selectOrganizationMembers, selectPendingInvitationsForUser, selectProjectArtifactById, selectProjectArtifactForProject, selectProjectArtifactSourceManifestForProject, selectProjectById, selectProjectDeployments, selectProjectForOrganization, selectProjectForOrganizationBySlug, selectProjectIdsForUser, selectProjectMembers, selectProjectsByOrganizationId, selectUserById, selectUserOrganizationMembership, selectUserOrganizations, selectUserProjectMembership, selectUsersByIds, summarizeUsageForRuns, updateOrganizationActive, updateOrganizationFailed, updateOrganizationMemberRole, updateOrganizationName, updateOrganizationSidebarBranding, updateOrganizationSlug, updateProjectActive, updateProjectArtifactManifest, updateProjectArtifactSourceManifest, updateProjectFailed, updateProjectForOrganization, updateProjectMemberRole, updateProjectSettings, updateUserById, verifyOrgPlatformApiKeySecret } from "@keystrokehq/platform-database";
12
+ import { CannotModifyOwnerError, OrgAppSlugTakenError, OrgPlatformApiKeyNotFoundError, OrganizationInvitationExpiredError, OrganizationInvitationForbiddenError, OrganizationInvitationNotFoundError, OrganizationMemberNotFoundError, OrganizationSlugTakenError, OrganizationSlugTakenError as OrganizationSlugTakenError$1, ProjectMemberNotFoundError, ProjectSlugTakenError, acceptInvitation, checkOrgAppSlugAvailability, checkOrganizationSlugAvailability, checkProjectSlugAvailability, completeProjectArtifact, countActiveMembersForOrganization, countActiveProjectsForOrganization, createOrgAgentStorageClient, createOrgApp, createOrgPlatformApiKey, createOrgStorageClient, createOrganizationForUser, createProjectForOrganization, declineInvitation, deleteOAuthConnectionById, deleteProjectForOrganization, encryptCredentialPayload as encryptCredentialPayload$1, ensureProjectPgBossGrants, ensureWebhookApiKeyForRoute, ensureWebhookApiKeys, getManagedServiceCredential, hasCredentialFieldTemplate, initDatabase, insertProjectArtifact, inviteOrganizationMembers, inviteProjectMembers, isOrganizationStorageBucketInUse, listAppsForOrganization, listManagedServiceCredentialsForOrganization, listOrgPlatformApiKeysForOrganization, listOrgPlatformApiKeysForUser, listUsageEventsForRuns, listWebhookApiKeysForProject, loadOrgPlatformApiKeyUser, mapOrgPlatformApiKeyCreator, mapOrgPlatformApiKeyCreatorOrDeleted, orgSchedulerRuntimeEnv, orgWorkspacesRuntimeEnv, organizationRowToSidebarBranding, promoteProjectArtifact, removeOrganizationMember, removeProjectMember, resolveNewOrganizationIdentity, resolveOrgProjectDatabaseOptions, resolveOrgRuntimeDatabase, resolvePlatformDatabaseUrl, revokeOrgPlatformApiKey, rotatePublishedFormToken, runWithOrganizationScope, runWithWorkspaceContext, selectActiveArtifactManifestForProject, selectActiveArtifactSourceManifestForProject, selectActiveProjectArtifactForProject, selectAppForOrganization, selectEnabledPublishedFormByToken, selectLastDeploymentAtByProject, selectManagedServiceCredentialById, selectOAuthConnectionsByIds, selectOrgPlatformApiKeyForOrganization, selectOrganizationById, selectOrganizationMembers, selectPendingInvitationsForUser, selectProjectArtifactById, selectProjectArtifactForProject, selectProjectArtifactSourceManifestForProject, selectProjectById, selectProjectDeployments, selectProjectForOrganization, selectProjectForOrganizationBySlug, selectProjectIdsForUser, selectProjectMembers, selectProjectsByOrganizationId, selectPublishedFormForWorkflow, selectUserById, selectUserOrganizationMembership, selectUserOrganizations, selectUserProjectMembership, selectUsersByIds, summarizeUsageForRuns, unpublishFormForWorkflow, updateOrganizationActive, updateOrganizationFailed, updateOrganizationMemberRole, updateOrganizationName, updateOrganizationSidebarBranding, updateOrganizationSlug, updateProjectActive, updateProjectArtifactManifest, updateProjectArtifactSourceManifest, updateProjectFailed, updateProjectForOrganization, updateProjectMemberRole, updateProjectSettings, updateUserById, upsertPublishedForm, verifyOrgPlatformApiKeySecret } from "@keystrokehq/platform-database";
13
13
  import "node:fs";
14
14
  import { basename, join, normalize, relative, resolve } from "node:path";
15
15
  import { tmpdir } from "node:os";
@@ -40,49 +40,7 @@ function setTelemetryContext(patch) {
40
40
  if (patch.sessionId !== void 0) current.sessionId = patch.sessionId;
41
41
  if (patch.client !== void 0) current.client = patch.client;
42
42
  }
43
- /**
44
- * Returns true when an error is an expected client/control-flow failure that
45
- * should not become an Error Tracking issue.
46
- */
47
- function isExpectedError(error) {
48
- if (!error || typeof error !== "object") return false;
49
- const status = readStatus(error);
50
- if (status !== void 0 && (status === 0 || status >= 400 && status < 500)) return true;
51
- if ("name" in error && typeof error.name === "string") {
52
- if (error.name === "AbortError" || error.name === "CanceledError" || error.name === "CancelledError" || error.name === "RunTimeoutError") return true;
53
- }
54
- return false;
55
- }
56
- function readStatus(error) {
57
- if ("status" in error && typeof error.status === "number") return error.status;
58
- if ("statusCode" in error && typeof error.statusCode === "number") return error.statusCode;
59
- }
60
43
  const EVENT_NAME_PATTERN = /^[a-z][a-z0-9_]*(:[a-z][a-z0-9_]*)?$/;
61
- let sink;
62
- async function captureException(input) {
63
- if (isExpectedError(input.error) || true) return;
64
- const context = getTelemetryContext();
65
- const actorId = input.actorId ?? context?.actorId;
66
- const analyticsId = input.analyticsId ?? context?.analyticsId;
67
- const organizationId = input.organizationId ?? context?.organizationId;
68
- const projectId = input.projectId ?? context?.projectId;
69
- const sessionId = input.sessionId ?? context?.sessionId;
70
- const enriched = {
71
- error: input.error,
72
- ...actorId ? { actorId } : {},
73
- ...analyticsId ? { analyticsId } : {},
74
- ...organizationId ? { organizationId } : {},
75
- ...projectId ? { projectId } : {},
76
- ...sessionId ? { sessionId } : {},
77
- ...input.operation ? { operation: input.operation } : {},
78
- ...input.properties ? { properties: input.properties } : {}
79
- };
80
- try {
81
- await sink.captureException(enriched);
82
- } catch (error) {
83
- console.error("[telemetry] captureException sink failed", error);
84
- }
85
- }
86
44
  async function event(input) {
87
45
  if (!EVENT_NAME_PATTERN.test(input.name)) {
88
46
  console.error(`[telemetry] rejected invalid event name: ${input.name}`);
@@ -22951,43 +22909,43 @@ var tt = [
22951
22909
  },
22952
22910
  {
22953
22911
  name: "cat",
22954
- load: async () => (await import("./cat-TSFMZVYS-BxNjOPHo.mjs")).catCommand
22912
+ load: async () => (await import("./cat-TSFMZVYS-CoHlzG1g.mjs")).catCommand
22955
22913
  },
22956
22914
  {
22957
22915
  name: "printf",
22958
- load: async () => (await import("./printf-TWGXF445-SeXWdm7g.mjs")).printfCommand
22916
+ load: async () => (await import("./printf-TWGXF445-TABq8pZA.mjs")).printfCommand
22959
22917
  },
22960
22918
  {
22961
22919
  name: "ls",
22962
- load: async () => (await import("./ls-ZJGQER7M-CTMWgQdb.mjs")).lsCommand
22920
+ load: async () => (await import("./ls-ZJGQER7M-CFGn-LL8.mjs")).lsCommand
22963
22921
  },
22964
22922
  {
22965
22923
  name: "mkdir",
22966
- load: async () => (await import("./mkdir-MEPGZOB6-DlmASeJ8.mjs")).mkdirCommand
22924
+ load: async () => (await import("./mkdir-MEPGZOB6-BcS5Q34m.mjs")).mkdirCommand
22967
22925
  },
22968
22926
  {
22969
22927
  name: "rmdir",
22970
- load: async () => (await import("./rmdir-OC4ZLPYA-BGCS0MYZ.mjs")).rmdirCommand
22928
+ load: async () => (await import("./rmdir-OC4ZLPYA-CNNN3q6l.mjs")).rmdirCommand
22971
22929
  },
22972
22930
  {
22973
22931
  name: "touch",
22974
- load: async () => (await import("./touch-UA33VN3N-U3ZomRAc.mjs")).touchCommand
22932
+ load: async () => (await import("./touch-UA33VN3N-FlNTn8Ds.mjs")).touchCommand
22975
22933
  },
22976
22934
  {
22977
22935
  name: "rm",
22978
- load: async () => (await import("./rm-SSGETQVQ-Yp02JM15.mjs")).rmCommand
22936
+ load: async () => (await import("./rm-SSGETQVQ-CZlEeKOZ.mjs")).rmCommand
22979
22937
  },
22980
22938
  {
22981
22939
  name: "cp",
22982
- load: async () => (await import("./cp-BISAAS7A-LPv4X9LQ.mjs")).cpCommand
22940
+ load: async () => (await import("./cp-BISAAS7A-BDW_Ftsa.mjs")).cpCommand
22983
22941
  },
22984
22942
  {
22985
22943
  name: "mv",
22986
- load: async () => (await import("./mv-W5BIQ646-BUScaUnN.mjs")).mvCommand
22944
+ load: async () => (await import("./mv-W5BIQ646-CoAyZhuD.mjs")).mvCommand
22987
22945
  },
22988
22946
  {
22989
22947
  name: "ln",
22990
- load: async () => (await import("./ln-4LGSXXGD-DEz2c-lc.mjs")).lnCommand
22948
+ load: async () => (await import("./ln-4LGSXXGD-QTMEXUOs.mjs")).lnCommand
22991
22949
  },
22992
22950
  {
22993
22951
  name: "chmod",
@@ -23003,15 +22961,15 @@ var tt = [
23003
22961
  },
23004
22962
  {
23005
22963
  name: "head",
23006
- load: async () => (await import("./head-442HYESI-DUHiojKA.mjs")).headCommand
22964
+ load: async () => (await import("./head-442HYESI-Cs4EuPOi.mjs")).headCommand
23007
22965
  },
23008
22966
  {
23009
22967
  name: "tail",
23010
- load: async () => (await import("./tail-R4PCA2C4-Ww4pv2Dp.mjs")).tailCommand
22968
+ load: async () => (await import("./tail-R4PCA2C4-BkulcngY.mjs")).tailCommand
23011
22969
  },
23012
22970
  {
23013
22971
  name: "wc",
23014
- load: async () => (await import("./wc-LF7NU4LA-B_10bksl.mjs")).wcCommand
22972
+ load: async () => (await import("./wc-LF7NU4LA-DEaxr-il.mjs")).wcCommand
23015
22973
  },
23016
22974
  {
23017
22975
  name: "stat",
@@ -23019,95 +22977,95 @@ var tt = [
23019
22977
  },
23020
22978
  {
23021
22979
  name: "grep",
23022
- load: async () => (await import("./grep-V3LQVMRQ-CukE4iEL.mjs")).grepCommand
22980
+ load: async () => (await import("./grep-V3LQVMRQ-BQA7o3M1.mjs")).grepCommand
23023
22981
  },
23024
22982
  {
23025
22983
  name: "fgrep",
23026
- load: async () => (await import("./grep-V3LQVMRQ-CukE4iEL.mjs")).fgrepCommand
22984
+ load: async () => (await import("./grep-V3LQVMRQ-BQA7o3M1.mjs")).fgrepCommand
23027
22985
  },
23028
22986
  {
23029
22987
  name: "egrep",
23030
- load: async () => (await import("./grep-V3LQVMRQ-CukE4iEL.mjs")).egrepCommand
22988
+ load: async () => (await import("./grep-V3LQVMRQ-BQA7o3M1.mjs")).egrepCommand
23031
22989
  },
23032
22990
  {
23033
22991
  name: "rg",
23034
- load: async () => (await import("./rg-S4FXYXWB-qJ8foUzL.mjs")).rgCommand
22992
+ load: async () => (await import("./rg-S4FXYXWB-DBe0_b15.mjs")).rgCommand
23035
22993
  },
23036
22994
  {
23037
22995
  name: "sed",
23038
- load: async () => (await import("./sed-S5UIK574-BVQuN_lF.mjs")).sedCommand
22996
+ load: async () => (await import("./sed-S5UIK574-DvzUvOnq.mjs")).sedCommand
23039
22997
  },
23040
22998
  {
23041
22999
  name: "awk",
23042
- load: async () => (await import("./awk2-LA3USKJP-D22qN7re.mjs")).awkCommand2
23000
+ load: async () => (await import("./awk2-LA3USKJP-Dgay0H4p.mjs")).awkCommand2
23043
23001
  },
23044
23002
  {
23045
23003
  name: "sort",
23046
- load: async () => (await import("./sort-SW2YEO5B-DPSl4CbI.mjs")).sortCommand
23004
+ load: async () => (await import("./sort-SW2YEO5B-CsboAjc8.mjs")).sortCommand
23047
23005
  },
23048
23006
  {
23049
23007
  name: "uniq",
23050
- load: async () => (await import("./uniq-XSIZR6PB-BytgRQOG.mjs")).uniqCommand
23008
+ load: async () => (await import("./uniq-XSIZR6PB-BaYViHEU.mjs")).uniqCommand
23051
23009
  },
23052
23010
  {
23053
23011
  name: "comm",
23054
- load: async () => (await import("./comm-VV2LDX2J-B9xsrXzR.mjs")).commCommand
23012
+ load: async () => (await import("./comm-VV2LDX2J-z5VLja3D.mjs")).commCommand
23055
23013
  },
23056
23014
  {
23057
23015
  name: "cut",
23058
- load: async () => (await import("./cut-OKARJCCV-8tOnAUTx.mjs")).cutCommand
23016
+ load: async () => (await import("./cut-OKARJCCV-CxnqlZqu.mjs")).cutCommand
23059
23017
  },
23060
23018
  {
23061
23019
  name: "paste",
23062
- load: async () => (await import("./paste-7JC6S4DX-DLKliCxf.mjs")).pasteCommand
23020
+ load: async () => (await import("./paste-7JC6S4DX-DTlwJFjO.mjs")).pasteCommand
23063
23021
  },
23064
23022
  {
23065
23023
  name: "tr",
23066
- load: async () => (await import("./tr-36LHWFRQ-De0ivsL4.mjs")).trCommand
23024
+ load: async () => (await import("./tr-36LHWFRQ-BPsaTkYA.mjs")).trCommand
23067
23025
  },
23068
23026
  {
23069
23027
  name: "rev",
23070
- load: async () => (await import("./rev-5EHFX4EJ-TtsbZt5q.mjs")).rev
23028
+ load: async () => (await import("./rev-5EHFX4EJ-CkoAL_TJ.mjs")).rev
23071
23029
  },
23072
23030
  {
23073
23031
  name: "nl",
23074
- load: async () => (await import("./nl-WSDW7I4O-CZJV7yor.mjs")).nl
23032
+ load: async () => (await import("./nl-WSDW7I4O-8GpfdAsi.mjs")).nl
23075
23033
  },
23076
23034
  {
23077
23035
  name: "fold",
23078
- load: async () => (await import("./fold-4TQNYMSW-C1ExSlRm.mjs")).fold
23036
+ load: async () => (await import("./fold-4TQNYMSW-BOBzzbek.mjs")).fold
23079
23037
  },
23080
23038
  {
23081
23039
  name: "expand",
23082
- load: async () => (await import("./expand-JSPG6VOP-DkKiBzVj.mjs")).expand
23040
+ load: async () => (await import("./expand-JSPG6VOP-GQ9M1qlE.mjs")).expand
23083
23041
  },
23084
23042
  {
23085
23043
  name: "unexpand",
23086
- load: async () => (await import("./unexpand-CADSA4VO-BFtZtqw9.mjs")).unexpand
23044
+ load: async () => (await import("./unexpand-CADSA4VO-DgpWR91p.mjs")).unexpand
23087
23045
  },
23088
23046
  {
23089
23047
  name: "strings",
23090
- load: async () => (await import("./strings-6WDHLGMX-Cy1ZR56z.mjs")).strings
23048
+ load: async () => (await import("./strings-6WDHLGMX-ufOZIkh3.mjs")).strings
23091
23049
  },
23092
23050
  {
23093
23051
  name: "split",
23094
- load: async () => (await import("./split-4KKZZXXE-Dk9lHFC8.mjs")).split
23052
+ load: async () => (await import("./split-4KKZZXXE-D0uthb-r.mjs")).split
23095
23053
  },
23096
23054
  {
23097
23055
  name: "column",
23098
- load: async () => (await import("./column-XT6UFXNQ-DssELUSO.mjs")).column
23056
+ load: async () => (await import("./column-XT6UFXNQ-Dfl8vwzz.mjs")).column
23099
23057
  },
23100
23058
  {
23101
23059
  name: "join",
23102
- load: async () => (await import("./join-TBRGI3LQ-DK7LepAd.mjs")).join
23060
+ load: async () => (await import("./join-TBRGI3LQ-DiBTVdO3.mjs")).join
23103
23061
  },
23104
23062
  {
23105
23063
  name: "tee",
23106
- load: async () => (await import("./tee-YUZ2FKCJ-CMei1bUb.mjs")).teeCommand
23064
+ load: async () => (await import("./tee-YUZ2FKCJ-r5n-l2G2.mjs")).teeCommand
23107
23065
  },
23108
23066
  {
23109
23067
  name: "find",
23110
- load: async () => (await import("./find-INTH3OLC-1l65phnN.mjs")).findCommand
23068
+ load: async () => (await import("./find-INTH3OLC--hNBfGti.mjs")).findCommand
23111
23069
  },
23112
23070
  {
23113
23071
  name: "basename",
@@ -23119,19 +23077,19 @@ var tt = [
23119
23077
  },
23120
23078
  {
23121
23079
  name: "tree",
23122
- load: async () => (await import("./tree-YLD52CNT-DNAB_qw3.mjs")).treeCommand
23080
+ load: async () => (await import("./tree-YLD52CNT-BCAIsMqc.mjs")).treeCommand
23123
23081
  },
23124
23082
  {
23125
23083
  name: "du",
23126
- load: async () => (await import("./du-572XNP42-BD0Zs3Qz.mjs")).duCommand
23084
+ load: async () => (await import("./du-572XNP42-B2I6Njvu.mjs")).duCommand
23127
23085
  },
23128
23086
  {
23129
23087
  name: "env",
23130
- load: async () => (await import("./env-36M5BO7M-C-PYC1oQ.mjs")).envCommand
23088
+ load: async () => (await import("./env-36M5BO7M-DcjiL3cp.mjs")).envCommand
23131
23089
  },
23132
23090
  {
23133
23091
  name: "printenv",
23134
- load: async () => (await import("./env-36M5BO7M-C-PYC1oQ.mjs")).printenvCommand
23092
+ load: async () => (await import("./env-36M5BO7M-DcjiL3cp.mjs")).printenvCommand
23135
23093
  },
23136
23094
  {
23137
23095
  name: "alias",
@@ -23147,7 +23105,7 @@ var tt = [
23147
23105
  },
23148
23106
  {
23149
23107
  name: "xargs",
23150
- load: async () => (await import("./xargs-MGZPH7AX-jq42agOA.mjs")).xargsCommand
23108
+ load: async () => (await import("./xargs-MGZPH7AX-B1CnFZg_.mjs")).xargsCommand
23151
23109
  },
23152
23110
  {
23153
23111
  name: "true",
@@ -23163,23 +23121,23 @@ var tt = [
23163
23121
  },
23164
23122
  {
23165
23123
  name: "bash",
23166
- load: async () => (await import("./bash-YZ33HQZQ-CnwqBcTu.mjs")).bashCommand
23124
+ load: async () => (await import("./bash-YZ33HQZQ-sT3B7KV-.mjs")).bashCommand
23167
23125
  },
23168
23126
  {
23169
23127
  name: "sh",
23170
- load: async () => (await import("./bash-YZ33HQZQ-CnwqBcTu.mjs")).shCommand
23128
+ load: async () => (await import("./bash-YZ33HQZQ-sT3B7KV-.mjs")).shCommand
23171
23129
  },
23172
23130
  {
23173
23131
  name: "jq",
23174
- load: async () => (await import("./jq-4XLYLOS5-D_E-_pWV.mjs")).jqCommand
23132
+ load: async () => (await import("./jq-4XLYLOS5-BALq_nh9.mjs")).jqCommand
23175
23133
  },
23176
23134
  {
23177
23135
  name: "base64",
23178
- load: async () => (await import("./base64-C2AIWVNC-BZ355qNl.mjs")).base64Command
23136
+ load: async () => (await import("./base64-C2AIWVNC-DHDX5cLS.mjs")).base64Command
23179
23137
  },
23180
23138
  {
23181
23139
  name: "diff",
23182
- load: async () => (await import("./diff-MWJFIG7X-aAYDACUk.mjs")).diffCommand
23140
+ load: async () => (await import("./diff-MWJFIG7X-CGXdgUmT.mjs")).diffCommand
23183
23141
  },
23184
23142
  {
23185
23143
  name: "date",
@@ -23187,15 +23145,15 @@ var tt = [
23187
23145
  },
23188
23146
  {
23189
23147
  name: "sleep",
23190
- load: async () => (await import("./sleep-X22JJINO-4I6l2NTe.mjs")).sleepCommand
23148
+ load: async () => (await import("./sleep-X22JJINO-DCoy_Nqt.mjs")).sleepCommand
23191
23149
  },
23192
23150
  {
23193
23151
  name: "timeout",
23194
- load: async () => (await import("./timeout-YDCRSLPQ-Z78PgVy2.mjs")).timeoutCommand
23152
+ load: async () => (await import("./timeout-YDCRSLPQ-tZJha6AQ.mjs")).timeoutCommand
23195
23153
  },
23196
23154
  {
23197
23155
  name: "time",
23198
- load: async () => (await import("./time-D4LNBSWX-z9IAaE5I.mjs")).timeCommand
23156
+ load: async () => (await import("./time-D4LNBSWX-BaTW1ba4.mjs")).timeCommand
23199
23157
  },
23200
23158
  {
23201
23159
  name: "seq",
@@ -23203,19 +23161,19 @@ var tt = [
23203
23161
  },
23204
23162
  {
23205
23163
  name: "expr",
23206
- load: async () => (await import("./expr-5JAACS4X-Dppx8f72.mjs")).exprCommand
23164
+ load: async () => (await import("./expr-5JAACS4X-DHONkP-t.mjs")).exprCommand
23207
23165
  },
23208
23166
  {
23209
23167
  name: "md5sum",
23210
- load: async () => (await import("./md5sum-SPU24VSG-0bULe4dG.mjs")).md5sumCommand
23168
+ load: async () => (await import("./md5sum-SPU24VSG-DSdkIq3n.mjs")).md5sumCommand
23211
23169
  },
23212
23170
  {
23213
23171
  name: "sha1sum",
23214
- load: async () => (await import("./sha1sum-2PTOAFR6-D12ocftB.mjs")).sha1sumCommand
23172
+ load: async () => (await import("./sha1sum-2PTOAFR6-CEM0r2Rz.mjs")).sha1sumCommand
23215
23173
  },
23216
23174
  {
23217
23175
  name: "sha256sum",
23218
- load: async () => (await import("./sha256sum-NS7D3IXX-CXylnxEZ.mjs")).sha256sumCommand
23176
+ load: async () => (await import("./sha256sum-NS7D3IXX-DNbm5sa_.mjs")).sha256sumCommand
23219
23177
  },
23220
23178
  {
23221
23179
  name: "file",
@@ -23223,11 +23181,11 @@ var tt = [
23223
23181
  },
23224
23182
  {
23225
23183
  name: "html-to-markdown",
23226
- load: async () => (await import("./html-to-markdown-JW4MSQZO-BQz_VlRg.mjs")).htmlToMarkdownCommand
23184
+ load: async () => (await import("./html-to-markdown-JW4MSQZO-B1mP45ME.mjs")).htmlToMarkdownCommand
23227
23185
  },
23228
23186
  {
23229
23187
  name: "help",
23230
- load: async () => (await import("./help-HZ6M2CKN-DLEdf0M2.mjs")).helpCommand
23188
+ load: async () => (await import("./help-HZ6M2CKN-Cif0Mz1E.mjs")).helpCommand
23231
23189
  },
23232
23190
  {
23233
23191
  name: "which",
@@ -23235,7 +23193,7 @@ var tt = [
23235
23193
  },
23236
23194
  {
23237
23195
  name: "tac",
23238
- load: async () => (await import("./tac-2STMMJYW-D8GSnWwk.mjs")).tac
23196
+ load: async () => (await import("./tac-2STMMJYW-BWAzF1gZ.mjs")).tac
23239
23197
  },
23240
23198
  {
23241
23199
  name: "hostname",
@@ -23247,49 +23205,49 @@ var tt = [
23247
23205
  },
23248
23206
  {
23249
23207
  name: "od",
23250
- load: async () => (await import("./od-WOKFDJTP-ByzrsPyh.mjs")).od
23208
+ load: async () => (await import("./od-WOKFDJTP-CI6oY0LJ.mjs")).od
23251
23209
  },
23252
23210
  {
23253
23211
  name: "gzip",
23254
- load: async () => (await import("./gzip-O5ASJAFY-wJ28ldi7.mjs")).gzipCommand
23212
+ load: async () => (await import("./gzip-O5ASJAFY-BN_VNZkL.mjs")).gzipCommand
23255
23213
  },
23256
23214
  {
23257
23215
  name: "gunzip",
23258
- load: async () => (await import("./gzip-O5ASJAFY-wJ28ldi7.mjs")).gunzipCommand
23216
+ load: async () => (await import("./gzip-O5ASJAFY-BN_VNZkL.mjs")).gunzipCommand
23259
23217
  },
23260
23218
  {
23261
23219
  name: "zcat",
23262
- load: async () => (await import("./gzip-O5ASJAFY-wJ28ldi7.mjs")).zcatCommand
23220
+ load: async () => (await import("./gzip-O5ASJAFY-BN_VNZkL.mjs")).zcatCommand
23263
23221
  }
23264
23222
  ];
23265
23223
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (tt.push({
23266
23224
  name: "tar",
23267
- load: async () => (await import("./tar-STHHZTZ6-BzXQksgM.mjs")).tarCommand
23225
+ load: async () => (await import("./tar-STHHZTZ6-DEOAF4gq.mjs")).tarCommand
23268
23226
  }), tt.push({
23269
23227
  name: "yq",
23270
- load: async () => (await import("./yq-4QJW3EQG-BrQ6vsDL.mjs")).yqCommand
23228
+ load: async () => (await import("./yq-4QJW3EQG-BCTiQ4M4.mjs")).yqCommand
23271
23229
  }), tt.push({
23272
23230
  name: "xan",
23273
- load: async () => (await import("./xan-Y6WF3IRG-CwjgCDhd.mjs")).xanCommand
23231
+ load: async () => (await import("./xan-Y6WF3IRG-lpubA7_O.mjs")).xanCommand
23274
23232
  }), tt.push({
23275
23233
  name: "sqlite3",
23276
- load: async () => (await import("./sqlite3-CGOEFJAO-BHYKGg1a.mjs")).sqlite3Command
23234
+ load: async () => (await import("./sqlite3-CGOEFJAO-Ct1OVItO.mjs")).sqlite3Command
23277
23235
  }));
23278
23236
  var Yt = [];
23279
23237
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (Yt.push({
23280
23238
  name: "python3",
23281
- load: async () => (await import("./python3-POMOR4OA-DCtD8PWe.mjs")).python3Command
23239
+ load: async () => (await import("./python3-POMOR4OA-DTtek62H.mjs")).python3Command
23282
23240
  }), Yt.push({
23283
23241
  name: "python",
23284
- load: async () => (await import("./python3-POMOR4OA-DCtD8PWe.mjs")).pythonCommand
23242
+ load: async () => (await import("./python3-POMOR4OA-DTtek62H.mjs")).pythonCommand
23285
23243
  }));
23286
23244
  var Qt = [];
23287
23245
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (Qt.push({
23288
23246
  name: "js-exec",
23289
- load: async () => (await import("./js-exec-N5KEZBH7-aTSi2bNc.mjs")).jsExecCommand
23247
+ load: async () => (await import("./js-exec-N5KEZBH7-DZMBJ1Pu.mjs")).jsExecCommand
23290
23248
  }), Qt.push({
23291
23249
  name: "node",
23292
- load: async () => (await import("./js-exec-N5KEZBH7-aTSi2bNc.mjs")).nodeStubCommand
23250
+ load: async () => (await import("./js-exec-N5KEZBH7-DZMBJ1Pu.mjs")).nodeStubCommand
23293
23251
  }));
23294
23252
  new TextEncoder();
23295
23253
  Object.freeze({
@@ -25951,7 +25909,7 @@ function withOrganizationProjectDatabase() {
25951
25909
  trace.getTracer("keystroke.http");
25952
25910
  //#endregion
25953
25911
  //#region src/routes/account/users/me/avatar/GET.ts
25954
- const handler$102 = async (c) => {
25912
+ const handler$107 = async (c) => {
25955
25913
  const dbUser = await selectUserById(c.get("user").id);
25956
25914
  if (!dbUser) return c.json(ErrorResponseSchema.parse({ error: "User not found" }), 404);
25957
25915
  return c.json(UserAvatarSchema.parse({ url: dbUser.image ?? null }));
@@ -25970,7 +25928,7 @@ function avatarExtensionForContentType(contentType) {
25970
25928
  }
25971
25929
  //#endregion
25972
25930
  //#region src/routes/account/users/me/avatar/presign/POST.ts
25973
- const handler$101 = async (c) => {
25931
+ const handler$106 = async (c) => {
25974
25932
  const parsed = PresignUserAvatarRequestSchema.safeParse(await c.req.json().catch(() => null));
25975
25933
  if (!parsed.success) return c.json(ErrorResponseSchema.parse({ error: "Invalid avatar upload request" }), 400);
25976
25934
  const extension = avatarExtensionForContentType(parsed.data.contentType);
@@ -26010,7 +25968,7 @@ async function deleteStoredImageIfOwned(input) {
26010
25968
  }
26011
25969
  //#endregion
26012
25970
  //#region src/routes/account/users/me/avatar/PATCH.ts
26013
- const handler$100 = async (c) => {
25971
+ const handler$105 = async (c) => {
26014
25972
  const parsed = UserAvatarPatchSchema.safeParse(await c.req.json().catch(() => null));
26015
25973
  if (!parsed.success) return c.json(ErrorResponseSchema.parse({ error: "Invalid avatar update" }), 400);
26016
25974
  const user = c.get("user");
@@ -26052,14 +26010,14 @@ const handler$100 = async (c) => {
26052
26010
  };
26053
26011
  //#endregion
26054
26012
  //#region src/routes/account/users/me/preferences/GET.ts
26055
- const handler$99 = async (c) => {
26013
+ const handler$104 = async (c) => {
26056
26014
  const dbUser = await selectUserById(c.get("user").id);
26057
26015
  if (!dbUser) return c.json(ErrorResponseSchema.parse({ error: "User not found" }), 404);
26058
26016
  return c.json(UserPreferencesSchema.parse(normalizeUserPreferences(dbUser.preferences)));
26059
26017
  };
26060
26018
  //#endregion
26061
26019
  //#region src/routes/account/users/me/preferences/PATCH.ts
26062
- const handler$98 = async (c) => {
26020
+ const handler$103 = async (c) => {
26063
26021
  const parsed = UserPreferencesPatchSchema.safeParse(await c.req.json().catch(() => null));
26064
26022
  if (!parsed.success) return c.json(ErrorResponseSchema.parse({ error: "Invalid preferences update" }), 400);
26065
26023
  const user = c.get("user");
@@ -26074,7 +26032,7 @@ const handler$98 = async (c) => {
26074
26032
  };
26075
26033
  //#endregion
26076
26034
  //#region src/routes/account/organizations/GET.ts
26077
- const handler$97 = async (c) => {
26035
+ const handler$102 = async (c) => {
26078
26036
  const memberships = await selectUserOrganizations(c.get("user").id);
26079
26037
  return c.json(ListOrganizationsResponseSchema.parse(memberships.map(mapUserOrganization)));
26080
26038
  };
@@ -26197,7 +26155,7 @@ function createOrganizationHandler(deps) {
26197
26155
  }
26198
26156
  //#endregion
26199
26157
  //#region src/routes/account/organizations/slug-available/GET.ts
26200
- const handler$96 = async (c) => {
26158
+ const handler$101 = async (c) => {
26201
26159
  const parsed = SlugAvailabilityQuerySchema.safeParse({
26202
26160
  slug: c.req.query("slug"),
26203
26161
  excludeOrganizationId: c.req.query("excludeOrganizationId")
@@ -26208,7 +26166,7 @@ const handler$96 = async (c) => {
26208
26166
  };
26209
26167
  //#endregion
26210
26168
  //#region src/routes/account/organizations/[organizationId]/GET.ts
26211
- const handler$95 = async (c) => {
26169
+ const handler$100 = async (c) => {
26212
26170
  const { organizationId } = c.get("organization");
26213
26171
  const membership = await selectUserOrganizationMembership(c.get("user").id, organizationId);
26214
26172
  if (!membership) throw new Error(`Organization membership missing after param guard: ${organizationId}`);
@@ -26216,7 +26174,7 @@ const handler$95 = async (c) => {
26216
26174
  };
26217
26175
  //#endregion
26218
26176
  //#region src/routes/account/organizations/[organizationId]/PATCH.ts
26219
- const handler$94 = async (c) => {
26177
+ const handler$99 = async (c) => {
26220
26178
  const organization = c.get("organization");
26221
26179
  const body = await c.req.json().catch(() => null);
26222
26180
  const parsed = UpdateOrganizationRequestSchema.safeParse(body);
@@ -26241,7 +26199,7 @@ const handler$94 = async (c) => {
26241
26199
  };
26242
26200
  //#endregion
26243
26201
  //#region src/routes/account/organizations/[organizationId]/branding/GET.ts
26244
- const handler$93 = async (c) => {
26202
+ const handler$98 = async (c) => {
26245
26203
  const { organizationId } = c.get("organization");
26246
26204
  const organization = await selectOrganizationById(organizationId);
26247
26205
  if (!organization) return c.json(ErrorResponseSchema.parse({ error: "Organization not found" }), 404);
@@ -26290,7 +26248,7 @@ async function finalizeOrgLogoVariant(input) {
26290
26248
  publicUrl: finalized.publicUrl
26291
26249
  };
26292
26250
  }
26293
- const handler$92 = async (c) => {
26251
+ const handler$97 = async (c) => {
26294
26252
  const parsed = OrganizationSidebarBrandingPatchSchema.safeParse(await c.req.json().catch(() => null));
26295
26253
  if (!parsed.success) return c.json(ErrorResponseSchema.parse({ error: "Invalid branding update" }), 400);
26296
26254
  const { organizationId } = c.get("organization");
@@ -26318,7 +26276,7 @@ const handler$92 = async (c) => {
26318
26276
  };
26319
26277
  //#endregion
26320
26278
  //#region src/routes/account/organizations/[organizationId]/branding/logo/presign/POST.ts
26321
- const handler$91 = async (c) => {
26279
+ const handler$96 = async (c) => {
26322
26280
  const parsed = PresignOrgLogoRequestSchema.safeParse(await c.req.json().catch(() => null));
26323
26281
  if (!parsed.success) return c.json(ErrorResponseSchema.parse({ error: "Invalid logo upload request" }), 400);
26324
26282
  const extension = avatarExtensionForContentType(parsed.data.contentType);
@@ -26528,7 +26486,7 @@ function buildPlatformHistoryUsage(events, durationMs) {
26528
26486
  }
26529
26487
  //#endregion
26530
26488
  //#region src/routes/account/history/GET.ts
26531
- const handler$90 = async (c) => {
26489
+ const handler$95 = async (c) => {
26532
26490
  const organization = c.get("organization");
26533
26491
  const ctx = accessContext(c);
26534
26492
  const query = HistoryRunListQuerySchema.parse({
@@ -26553,7 +26511,7 @@ const handler$90 = async (c) => {
26553
26511
  };
26554
26512
  //#endregion
26555
26513
  //#region src/routes/account/history/[runId]/GET.ts
26556
- const handler$89 = async (c) => {
26514
+ const handler$94 = async (c) => {
26557
26515
  const runId = c.req.param("runId") ?? "";
26558
26516
  if (!runId) return c.json(null, 404);
26559
26517
  const core = await findHistoryRunCore(runId);
@@ -26613,7 +26571,7 @@ function toAgentSummary(row, options) {
26613
26571
  }
26614
26572
  //#endregion
26615
26573
  //#region src/routes/account/agents/GET.ts
26616
- const handler$88 = async (c) => {
26574
+ const handler$93 = async (c) => {
26617
26575
  const filter = await resolveListProjectIds(c, listScope(c, agentListScope(accessContext(c))), c.req.query("projectId"));
26618
26576
  if (filter === "empty") return c.json(AgentSummaryListResponseSchema.parse([]));
26619
26577
  const rows = await listActiveAgents(filter);
@@ -26627,7 +26585,7 @@ function touchResourceActivityBestEffort(options) {
26627
26585
  }
26628
26586
  //#endregion
26629
26587
  //#region src/routes/account/agents/[agentId]/GET.ts
26630
- const handler$87 = async (c) => {
26588
+ const handler$92 = async (c) => {
26631
26589
  const agentId = c.req.param("agentId") ?? "";
26632
26590
  const row = agentId ? await selectActiveAgentById(agentId) : void 0;
26633
26591
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessAgent)) return c.json(AgentSummaryDetailResponseSchema.parse(null));
@@ -26650,7 +26608,7 @@ const handler$87 = async (c) => {
26650
26608
  function relativePathsFromStorageKeys(prefix, keys) {
26651
26609
  return keys.filter((key) => key.startsWith(prefix) && key.endsWith(".md")).map((key) => key.slice(prefix.length)).filter((path) => !path.startsWith(".") && !path.includes("/."));
26652
26610
  }
26653
- const handler$86 = async (c) => {
26611
+ const handler$91 = async (c) => {
26654
26612
  const agentId = c.req.param("agentId") ?? "";
26655
26613
  const row = agentId ? await selectActiveAgentById(agentId) : void 0;
26656
26614
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessAgent)) return c.json(ListAgentMemoryFilesResponseSchema.parse({ files: [] }), 404);
@@ -26675,7 +26633,7 @@ function isStorageNotFoundError(error) {
26675
26633
  const status = typeof record.$metadata === "object" && record.$metadata !== null ? record.$metadata.httpStatusCode : void 0;
26676
26634
  return name === "NoSuchKey" || code === "NoSuchKey" || code === "NotFound" || status === 404;
26677
26635
  }
26678
- const handler$85 = async (c) => {
26636
+ const handler$90 = async (c) => {
26679
26637
  const agentId = c.req.param("agentId") ?? "";
26680
26638
  const path = c.req.query("path");
26681
26639
  if (!path) return c.json(ErrorResponseSchema.parse({ error: "File path is required" }), 400);
@@ -26729,7 +26687,7 @@ function workspaceRelativePathsFromStorageKeys(keys) {
26729
26687
  }
26730
26688
  //#endregion
26731
26689
  //#region src/routes/account/agents/[agentId]/workspace/files/GET.ts
26732
- const handler$84 = async (c) => {
26690
+ const handler$89 = async (c) => {
26733
26691
  const agentId = c.req.param("agentId") ?? "";
26734
26692
  const row = agentId ? await selectActiveAgentById(agentId) : void 0;
26735
26693
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessAgent)) return c.json(ListAgentWorkspaceFilesResponseSchema.parse({ files: [] }), 404);
@@ -26752,7 +26710,7 @@ const handler$84 = async (c) => {
26752
26710
  };
26753
26711
  //#endregion
26754
26712
  //#region src/routes/account/agents/[agentId]/workspace/files/content/GET.ts
26755
- const handler$83 = async (c) => {
26713
+ const handler$88 = async (c) => {
26756
26714
  const agentId = c.req.param("agentId") ?? "";
26757
26715
  const path = c.req.query("path");
26758
26716
  if (!path) return c.json(ErrorResponseSchema.parse({ error: "File path is required" }), 400);
@@ -26804,7 +26762,7 @@ async function cancelHistoryRun(c, kind, cancel) {
26804
26762
  }
26805
26763
  //#endregion
26806
26764
  //#region src/routes/account/agents/sessions/[sessionId]/cancel/POST.ts
26807
- const handler$82 = (c) => cancelHistoryRun(c, "agent", cancelAgentSession);
26765
+ const handler$87 = (c) => cancelHistoryRun(c, "agent", cancelAgentSession);
26808
26766
  //#endregion
26809
26767
  //#region src/routes/account/resources/workflows.ts
26810
26768
  function toWorkflowSummary(row, options) {
@@ -26821,7 +26779,7 @@ function toWorkflowSummary(row, options) {
26821
26779
  }
26822
26780
  //#endregion
26823
26781
  //#region src/routes/account/workflows/GET.ts
26824
- const handler$81 = async (c) => {
26782
+ const handler$86 = async (c) => {
26825
26783
  const filter = await resolveListProjectIds(c, listScope(c, workflowListScope(accessContext(c))), c.req.query("projectId"));
26826
26784
  if (filter === "empty") return c.json(WorkflowSummaryListResponseSchema.parse([]));
26827
26785
  const rows = await listActiveWorkflows(filter);
@@ -26830,7 +26788,7 @@ const handler$81 = async (c) => {
26830
26788
  };
26831
26789
  //#endregion
26832
26790
  //#region src/routes/account/workflows/[workflowId]/GET.ts
26833
- const handler$80 = async (c) => {
26791
+ const handler$85 = async (c) => {
26834
26792
  const workflowId = c.req.param("workflowId") ?? "";
26835
26793
  const row = workflowId ? await selectActiveWorkflowById(workflowId) : void 0;
26836
26794
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessWorkflow)) return c.json(WorkflowSummaryDetailResponseSchema.parse(null));
@@ -27281,7 +27239,7 @@ function buildWorkflowCanvas(input) {
27281
27239
  //#region src/routes/account/workflows/[workflowId]/canvas/GET.ts
27282
27240
  /** Bumped when the annotation prompt/model changes, so cached annotations invalidate. */
27283
27241
  const ANNOTATIONS_GENERATOR_VERSION = "wf-canvas-annotations-v1";
27284
- const handler$79 = async (c) => {
27242
+ const handler$84 = async (c) => {
27285
27243
  const organization = c.get("organization");
27286
27244
  const workflowId = c.req.param("workflowId") ?? "";
27287
27245
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
@@ -27454,7 +27412,7 @@ function toBinding(key, description) {
27454
27412
  * each of its requirements currently binds to (read-only, no decryption). Not
27455
27413
  * content-hash cached — credential state changes without a redeploy.
27456
27414
  */
27457
- const handler$78 = async (c) => {
27415
+ const handler$83 = async (c) => {
27458
27416
  const workflowId = c.req.param("workflowId") ?? "";
27459
27417
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
27460
27418
  const resolved = await resolveWorkflow(c, workflowId);
@@ -27613,7 +27571,7 @@ function toCanvasRunStatus(status) {
27613
27571
  if (status === "canceled") return "canceled";
27614
27572
  return "running";
27615
27573
  }
27616
- const handler$77 = async (c) => {
27574
+ const handler$82 = async (c) => {
27617
27575
  const workflowId = c.req.param("workflowId") ?? "";
27618
27576
  const runId = c.req.param("runId") ?? "";
27619
27577
  if (!workflowId.trim() || !runId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow or run id" }), 400);
@@ -27668,7 +27626,7 @@ async function loadWorkflowSource(organization, projectId, sourcePath) {
27668
27626
  return null;
27669
27627
  }
27670
27628
  }
27671
- const handler$76 = async (c) => {
27629
+ const handler$81 = async (c) => {
27672
27630
  const organization = c.get("organization");
27673
27631
  const workflowId = c.req.param("workflowId") ?? "";
27674
27632
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
@@ -27769,7 +27727,7 @@ const handler$76 = async (c) => {
27769
27727
  };
27770
27728
  //#endregion
27771
27729
  //#region src/routes/account/workflows/[workflowId]/run-inputs/GET.ts
27772
- const handler$75 = async (c) => {
27730
+ const handler$80 = async (c) => {
27773
27731
  const workflowId = c.req.param("workflowId") ?? "";
27774
27732
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
27775
27733
  const resolved = await resolveWorkflow(c, workflowId);
@@ -27784,7 +27742,7 @@ const handler$75 = async (c) => {
27784
27742
  };
27785
27743
  //#endregion
27786
27744
  //#region src/routes/account/workflows/[workflowId]/run-inputs/PUT.ts
27787
- const handler$74 = async (c) => {
27745
+ const handler$79 = async (c) => {
27788
27746
  const workflowId = c.req.param("workflowId") ?? "";
27789
27747
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
27790
27748
  const resolved = await resolveWorkflow(c, workflowId);
@@ -27807,7 +27765,7 @@ const handler$74 = async (c) => {
27807
27765
  };
27808
27766
  //#endregion
27809
27767
  //#region src/routes/account/workflows/[workflowId]/run/POST.ts
27810
- function parseRunInput(requestSchema, input) {
27768
+ function parseRunInput$1(requestSchema, input) {
27811
27769
  if (typeof z.fromJSONSchema === "function") return z.fromJSONSchema(requestSchema).parse(input ?? {});
27812
27770
  return z.record(z.string(), z.unknown()).parse(input ?? {});
27813
27771
  }
@@ -27816,7 +27774,7 @@ function parseRunInput(requestSchema, input) {
27816
27774
  * the workflow row's request schema, creates a pending run, and enqueues it on
27817
27775
  * the project's queue (drained by the project runtime worker). Returns the run id.
27818
27776
  */
27819
- const handler$73 = async (c) => {
27777
+ const handler$78 = async (c) => {
27820
27778
  const { organizationId } = c.get("organization");
27821
27779
  const workflowId = c.req.param("workflowId") ?? "";
27822
27780
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
@@ -27841,7 +27799,7 @@ const handler$73 = async (c) => {
27841
27799
  workflowKey: row.slug,
27842
27800
  input: body,
27843
27801
  jobQueue: scheduler,
27844
- parseInput: (value) => parseRunInput(requestSchema, value),
27802
+ parseInput: (value) => parseRunInput$1(requestSchema, value),
27845
27803
  ranByUserId: userId
27846
27804
  });
27847
27805
  });
@@ -27852,6 +27810,106 @@ const handler$73 = async (c) => {
27852
27810
  }
27853
27811
  };
27854
27812
  //#endregion
27813
+ //#region src/lib/public-form-url.ts
27814
+ function buildPublicFormUrl(token) {
27815
+ return `${(process.env.PUBLIC_WEB_URL?.trim() || "http://localhost:3000").replace(/\/$/, "")}/forms/${encodeURIComponent(token)}`;
27816
+ }
27817
+ //#endregion
27818
+ //#region src/routes/account/workflows/[workflowId]/form/shared.ts
27819
+ function publishedFormResponse(form, workflowId) {
27820
+ return PublishedFormSchema.parse({
27821
+ id: form.id,
27822
+ workflowId,
27823
+ workflowSlug: form.workflowSlug,
27824
+ enabled: form.enabled,
27825
+ title: form.title,
27826
+ description: form.description,
27827
+ fieldConfig: form.fieldConfig,
27828
+ publicUrl: buildPublicFormUrl(form.token),
27829
+ createdAt: form.createdAt.toISOString(),
27830
+ updatedAt: form.updatedAt.toISOString()
27831
+ });
27832
+ }
27833
+ async function resolveFormWorkflow(c, { requireManageAccess = false } = {}) {
27834
+ const workflowId = c.req.param("workflowId")?.trim();
27835
+ if (!workflowId) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
27836
+ const workflow = await resolveWorkflow(c, workflowId);
27837
+ if (!workflow) return c.json(ErrorResponseSchema.parse({ error: "Workflow not found" }), 404);
27838
+ if (requireManageAccess && !await canPerformProjectAction(c, workflow.projectId, projectActions.update)) return c.json(ErrorResponseSchema.parse({ error: "Forbidden" }), 403);
27839
+ return {
27840
+ workflowId,
27841
+ projectId: workflow.projectId,
27842
+ row: workflow.row
27843
+ };
27844
+ }
27845
+ async function resolvePublishableInputSchema(projectId, row) {
27846
+ const requestSchema = await resolveWorkflowRequestSchema(projectId, row);
27847
+ if (!requestSchema) return new Response(JSON.stringify({ error: "Workflow not deployed" }), { status: 404 });
27848
+ const inputSchema = jsonSchemaToWorkflowInputSchema(requestSchema);
27849
+ if (inputSchema.fields.length === 0) return new Response(JSON.stringify({ error: "Workflow does not accept inputs" }), { status: 409 });
27850
+ if (schemaHasFileFields(inputSchema)) return new Response(JSON.stringify({ error: "Forms do not support file inputs yet" }), { status: 409 });
27851
+ if (schemaHasUnsupportedFormFields(inputSchema)) return new Response(JSON.stringify({ error: "Forms support scalar fields and arrays of scalar fields only" }), { status: 409 });
27852
+ return inputSchema;
27853
+ }
27854
+ //#endregion
27855
+ //#region src/routes/account/workflows/[workflowId]/form/GET.ts
27856
+ const handler$77 = async (c) => {
27857
+ const resolved = await resolveFormWorkflow(c);
27858
+ if (resolved instanceof Response) return resolved;
27859
+ const { organizationId } = c.get("organization");
27860
+ const form = await selectPublishedFormForWorkflow(organizationId, resolved.projectId, resolved.row.slug);
27861
+ return c.json(WorkflowFormResponseSchema.parse(form ? publishedFormResponse(form, resolved.workflowId) : null));
27862
+ };
27863
+ //#endregion
27864
+ //#region src/routes/account/workflows/[workflowId]/form/PUT.ts
27865
+ const handler$76 = async (c) => {
27866
+ const resolved = await resolveFormWorkflow(c, { requireManageAccess: true });
27867
+ if (resolved instanceof Response) return resolved;
27868
+ const body = WorkflowFormUpsertBodySchema.safeParse(await c.req.json().catch(() => null));
27869
+ if (!body.success) {
27870
+ const message = body.error.issues[0]?.message ?? "Invalid request body";
27871
+ return c.json(ErrorResponseSchema.parse({ error: message }), 400);
27872
+ }
27873
+ const inputSchema = await resolvePublishableInputSchema(resolved.projectId, resolved.row);
27874
+ if (inputSchema instanceof Response) return inputSchema;
27875
+ if (body.data.fieldConfig) {
27876
+ const validation = validateFormFieldConfig(inputSchema, body.data.fieldConfig);
27877
+ if (!validation.ok) return c.json(ErrorResponseSchema.parse({ error: validation.error }), 400);
27878
+ }
27879
+ const { organizationId } = c.get("organization");
27880
+ const form = await upsertPublishedForm({
27881
+ organizationId,
27882
+ projectId: resolved.projectId,
27883
+ workflowSlug: resolved.row.slug,
27884
+ createdByUserId: c.get("user").id,
27885
+ enabled: body.data.enabled ?? true,
27886
+ ...body.data.title !== void 0 ? { title: body.data.title } : {},
27887
+ ...body.data.description !== void 0 ? { description: body.data.description } : {},
27888
+ ...body.data.fieldConfig !== void 0 ? { fieldConfig: body.data.fieldConfig } : {}
27889
+ });
27890
+ return c.json(publishedFormResponse(form, resolved.workflowId));
27891
+ };
27892
+ //#endregion
27893
+ //#region src/routes/account/workflows/[workflowId]/form/DELETE.ts
27894
+ const handler$75 = async (c) => {
27895
+ const resolved = await resolveFormWorkflow(c, { requireManageAccess: true });
27896
+ if (resolved instanceof Response) return resolved;
27897
+ const { organizationId } = c.get("organization");
27898
+ const form = await unpublishFormForWorkflow(organizationId, resolved.projectId, resolved.row.slug);
27899
+ if (!form) return c.json(ErrorResponseSchema.parse({ error: "Form not found" }), 404);
27900
+ return c.json(publishedFormResponse(form, resolved.workflowId));
27901
+ };
27902
+ //#endregion
27903
+ //#region src/routes/account/workflows/[workflowId]/form/rotate/POST.ts
27904
+ const handler$74 = async (c) => {
27905
+ const resolved = await resolveFormWorkflow(c, { requireManageAccess: true });
27906
+ if (resolved instanceof Response) return resolved;
27907
+ const { organizationId } = c.get("organization");
27908
+ const form = await rotatePublishedFormToken(organizationId, resolved.projectId, resolved.row.slug);
27909
+ if (!form) return c.json(ErrorResponseSchema.parse({ error: "Form not found" }), 404);
27910
+ return c.json(publishedFormResponse(form, resolved.workflowId));
27911
+ };
27912
+ //#endregion
27855
27913
  //#region src/routes/account/workflows/[workflowId]/attachments/presign/POST.ts
27856
27914
  function extensionFromUpload$1(contentType, filename) {
27857
27915
  const fromName = filename.includes(".") ? filename.split(".").pop()?.toLowerCase() : void 0;
@@ -27865,7 +27923,7 @@ function extensionFromUpload$1(contentType, filename) {
27865
27923
  * hydration reads by project id + storage key, so runs read the file the same
27866
27924
  * way `storeFile` output does.
27867
27925
  */
27868
- const handler$72 = async (c) => {
27926
+ const handler$73 = async (c) => {
27869
27927
  const { organizationId } = c.get("organization");
27870
27928
  const workflowId = c.req.param("workflowId") ?? "";
27871
27929
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
@@ -27890,7 +27948,7 @@ const handler$72 = async (c) => {
27890
27948
  };
27891
27949
  //#endregion
27892
27950
  //#region src/routes/account/workflows/[workflowId]/runs/GET.ts
27893
- const handler$71 = async (c) => {
27951
+ const handler$72 = async (c) => {
27894
27952
  const workflowId = c.req.param("workflowId") ?? "";
27895
27953
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
27896
27954
  const resolved = await resolveWorkflow(c, workflowId);
@@ -27913,7 +27971,7 @@ const handler$71 = async (c) => {
27913
27971
  };
27914
27972
  //#endregion
27915
27973
  //#region src/routes/account/workflows/runs/[runId]/cancel/POST.ts
27916
- const handler$70 = (c) => cancelHistoryRun(c, "workflow", cancelWorkflowRun);
27974
+ const handler$71 = (c) => cancelHistoryRun(c, "workflow", cancelWorkflowRun);
27917
27975
  //#endregion
27918
27976
  //#region src/routes/account/resources/skills.ts
27919
27977
  function toSkillSummary(row) {
@@ -27930,7 +27988,7 @@ function toSkillSummary(row) {
27930
27988
  }
27931
27989
  //#endregion
27932
27990
  //#region src/routes/account/skills/GET.ts
27933
- const handler$69 = async (c) => {
27991
+ const handler$70 = async (c) => {
27934
27992
  const filter = await resolveListProjectIds(c, listScope(c, skillListScope(accessContext(c))), c.req.query("projectId"));
27935
27993
  if (filter === "empty") return c.json(SkillSummaryListResponseSchema.parse([]));
27936
27994
  const rows = await listActiveSkills(filter);
@@ -27938,7 +27996,7 @@ const handler$69 = async (c) => {
27938
27996
  };
27939
27997
  //#endregion
27940
27998
  //#region src/routes/account/skills/[skillId]/GET.ts
27941
- const handler$68 = async (c) => {
27999
+ const handler$69 = async (c) => {
27942
28000
  const skillId = c.req.param("skillId") ?? "";
27943
28001
  const row = skillId ? await selectActiveSkillById(skillId) : void 0;
27944
28002
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessSkill)) return c.json(SkillSummaryDetailResponseSchema.parse(null));
@@ -28047,7 +28105,7 @@ function toWorkspaceTriggerRunSummary(item, assignments) {
28047
28105
  }
28048
28106
  //#endregion
28049
28107
  //#region src/routes/account/triggers/GET.ts
28050
- const handler$67 = async (c) => {
28108
+ const handler$68 = async (c) => {
28051
28109
  const organization = c.get("organization");
28052
28110
  const scope = listScope(c, projectListScope(accessContext(c)));
28053
28111
  const filter = await resolveListProjectIds(c, scope, c.req.query("projectId"));
@@ -28059,7 +28117,7 @@ const handler$67 = async (c) => {
28059
28117
  };
28060
28118
  //#endregion
28061
28119
  //#region src/routes/account/triggers/[triggerId]/GET.ts
28062
- const handler$66 = async (c) => {
28120
+ const handler$67 = async (c) => {
28063
28121
  const organization = c.get("organization");
28064
28122
  const triggerId = c.req.param("triggerId") ?? "";
28065
28123
  if (!triggerId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -28075,7 +28133,7 @@ const handler$66 = async (c) => {
28075
28133
  };
28076
28134
  //#endregion
28077
28135
  //#region src/routes/account/triggers/[triggerId]/runs/GET.ts
28078
- const handler$65 = async (c) => {
28136
+ const handler$66 = async (c) => {
28079
28137
  const triggerId = c.req.param("triggerId") ?? "";
28080
28138
  if (!triggerId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
28081
28139
  const filter = await resolveListProjectIds(c, listScope(c, projectListScope(accessContext(c))));
@@ -28104,7 +28162,7 @@ const handler$65 = async (c) => {
28104
28162
  };
28105
28163
  //#endregion
28106
28164
  //#region src/routes/account/triggers/[triggerId]/file/GET.ts
28107
- const handler$64 = async (c) => {
28165
+ const handler$65 = async (c) => {
28108
28166
  const { organizationId } = c.get("organization");
28109
28167
  const triggerId = c.req.param("triggerId") ?? "";
28110
28168
  if (!triggerId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -28141,7 +28199,7 @@ function envelope(row, status, hash) {
28141
28199
  model: row.overviewModel ?? "deepseek/deepseek-v4-flash"
28142
28200
  });
28143
28201
  }
28144
- const handler$63 = async (c) => {
28202
+ const handler$64 = async (c) => {
28145
28203
  const { organizationId } = c.get("organization");
28146
28204
  const triggerId = c.req.param("triggerId") ?? "";
28147
28205
  if (!triggerId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -28223,7 +28281,7 @@ async function syncNativeTriggerSchedule(organization, trigger) {
28223
28281
  }
28224
28282
  await scheduler.removeTriggerSchedule?.(trigger.slug, trigger.projectId);
28225
28283
  }
28226
- const handler$62 = async (c) => {
28284
+ const handler$63 = async (c) => {
28227
28285
  const organization = c.get("organization");
28228
28286
  const triggerId = c.req.param("triggerId") ?? "";
28229
28287
  const attachmentId = c.req.param("attachmentId") ?? "";
@@ -28295,7 +28353,7 @@ var InvokeHttpError = class extends Error {
28295
28353
  * Manually invoke a trigger from the dashboard or CLI. Validates webhook input against
28296
28354
  * stored attachment schemas, then enqueues a trigger job on the project's queue.
28297
28355
  */
28298
- const handler$61 = async (c) => {
28356
+ const handler$62 = async (c) => {
28299
28357
  const { organizationId } = c.get("organization");
28300
28358
  const triggerId = c.req.param("triggerId") ?? "";
28301
28359
  if (!triggerId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -28368,7 +28426,7 @@ const handler$61 = async (c) => {
28368
28426
  * Form metadata for the dashboard invoke popover: webhook request schemas and
28369
28427
  * cron's read-only static payload.
28370
28428
  */
28371
- const handler$60 = async (c) => {
28429
+ const handler$61 = async (c) => {
28372
28430
  const triggerId = c.req.param("triggerId") ?? "";
28373
28431
  if (!triggerId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
28374
28432
  const filter = await resolveListProjectIds(c, listScope(c, projectListScope(accessContext(c))));
@@ -28434,7 +28492,7 @@ function latestRecentInteractionAt(recent) {
28434
28492
  //#endregion
28435
28493
  //#region src/routes/account/recents/GET.ts
28436
28494
  const RECENTS_LIMIT = 50;
28437
- const handler$59 = async (c) => {
28495
+ const handler$60 = async (c) => {
28438
28496
  const userId = c.get("user").id;
28439
28497
  const organization = c.get("organization");
28440
28498
  const grantedProjectIdsList = await grantedProjectIds(c, { kind: "member-only" });
@@ -28460,7 +28518,7 @@ const handler$59 = async (c) => {
28460
28518
  };
28461
28519
  //#endregion
28462
28520
  //#region src/routes/account/projects/GET.ts
28463
- const handler$58 = async (c) => {
28521
+ const handler$59 = async (c) => {
28464
28522
  const organization = c.get("organization");
28465
28523
  const grantedProjectIdsList = await grantedProjectIds(c, listScope(c, projectListScope(accessContext(c))));
28466
28524
  const projects = await selectProjectsByOrganizationId(organization.organizationId, { grantedProjectIds: grantedProjectIdsList });
@@ -28486,7 +28544,7 @@ function mergeProjectListMetrics(input) {
28486
28544
  }
28487
28545
  //#endregion
28488
28546
  //#region src/routes/account/projects/metrics/GET.ts
28489
- const handler$57 = async (c) => {
28547
+ const handler$58 = async (c) => {
28490
28548
  const organization = c.get("organization");
28491
28549
  const grantedProjectIdsList = await grantedProjectIds(c, listScope(c, projectListScope(accessContext(c))));
28492
28550
  const [resourceCounts, lastDeploymentAtByProject] = await Promise.all([selectProjectResourceCounts(grantedProjectIdsList !== void 0 ? { projectIds: grantedProjectIdsList } : void 0), selectLastDeploymentAtByProject(organization.organizationId)]);
@@ -28531,7 +28589,7 @@ function createCreateProjectHandler(projectQuotaGate) {
28531
28589
  }
28532
28590
  //#endregion
28533
28591
  //#region src/routes/account/projects/slug-available/GET.ts
28534
- const handler$55 = async (c) => {
28592
+ const handler$56 = async (c) => {
28535
28593
  const organization = c.get("organization");
28536
28594
  const parsed = ProjectSlugAvailabilityQuerySchema.safeParse({
28537
28595
  slug: c.req.query("slug"),
@@ -28543,12 +28601,12 @@ const handler$55 = async (c) => {
28543
28601
  };
28544
28602
  //#endregion
28545
28603
  //#region src/routes/account/projects/[projectId]/GET.ts
28546
- const handler$54 = async (c) => {
28604
+ const handler$55 = async (c) => {
28547
28605
  return c.json(ProjectResponseSchema.parse(routeProject(c.get("project"))));
28548
28606
  };
28549
28607
  //#endregion
28550
28608
  //#region src/routes/account/projects/[projectId]/PATCH.ts
28551
- const handler$53 = async (c) => {
28609
+ const handler$54 = async (c) => {
28552
28610
  const organization = c.get("organization");
28553
28611
  const project = c.get("project");
28554
28612
  const body = await c.req.json().catch(() => null);
@@ -28566,7 +28624,7 @@ const handler$53 = async (c) => {
28566
28624
  };
28567
28625
  //#endregion
28568
28626
  //#region src/routes/account/projects/[projectId]/DELETE.ts
28569
- const handler$52 = async (c) => {
28627
+ const handler$53 = async (c) => {
28570
28628
  const organization = c.get("organization");
28571
28629
  const project = c.get("project");
28572
28630
  if (!await deleteProjectForOrganization(organization.organizationId, project.id)) return c.json(ErrorResponseSchema.parse({ error: "Project not found" }), 404);
@@ -28574,7 +28632,7 @@ const handler$52 = async (c) => {
28574
28632
  };
28575
28633
  //#endregion
28576
28634
  //#region src/routes/account/projects/[projectId]/deployments/GET.ts
28577
- const handler$51 = async (c) => {
28635
+ const handler$52 = async (c) => {
28578
28636
  const rows = await selectProjectDeployments(c.get("project").id);
28579
28637
  return c.json(ListProjectDeploymentsResponseSchema.parse(rows.map(mapProjectDeployment)));
28580
28638
  };
@@ -28582,7 +28640,7 @@ const handler$51 = async (c) => {
28582
28640
  //#region src/routes/account/projects/[projectId]/artifacts/POST.ts
28583
28641
  const DEFAULT_PRESIGN_TTL_SECONDS$1 = 900;
28584
28642
  const ARTIFACT_CONTENT_TYPE = "application/gzip";
28585
- const handler$50 = async (c) => {
28643
+ const handler$51 = async (c) => {
28586
28644
  const project = c.get("project");
28587
28645
  const { organizationId } = c.get("organization");
28588
28646
  const organization = await selectOrganizationById(organizationId);
@@ -28610,7 +28668,7 @@ const handler$50 = async (c) => {
28610
28668
  //#endregion
28611
28669
  //#region src/routes/account/projects/[projectId]/artifacts/active/download/GET.ts
28612
28670
  const DEFAULT_PRESIGN_TTL_SECONDS = 900;
28613
- const handler$49 = async (c) => {
28671
+ const handler$50 = async (c) => {
28614
28672
  const project = c.get("project");
28615
28673
  const { organizationId } = c.get("organization");
28616
28674
  const organization = await selectOrganizationById(organizationId);
@@ -28629,7 +28687,7 @@ const handler$49 = async (c) => {
28629
28687
  };
28630
28688
  //#endregion
28631
28689
  //#region src/routes/account/projects/[projectId]/artifacts/active/source/GET.ts
28632
- const handler$48 = async (c) => {
28690
+ const handler$49 = async (c) => {
28633
28691
  const project = c.get("project");
28634
28692
  const active = await selectActiveArtifactSourceManifestForProject(project.id);
28635
28693
  if (!active?.sourceManifestJson) return c.json(ErrorResponseSchema.parse({ error: "No active source for project" }), 404);
@@ -28658,7 +28716,7 @@ const TRIGGER_KINDS = new Set([
28658
28716
  "trigger-poll-group",
28659
28717
  "cron-schedule"
28660
28718
  ]);
28661
- const handler$47 = async (c) => {
28719
+ const handler$48 = async (c) => {
28662
28720
  const project = c.get("project");
28663
28721
  const user = c.get("user");
28664
28722
  const artifactId = c.req.param("artifactId");
@@ -28722,7 +28780,7 @@ const handler$47 = async (c) => {
28722
28780
  //#endregion
28723
28781
  //#region src/routes/account/projects/[projectId]/artifacts/[artifactId]/source/presign/POST.ts
28724
28782
  const SOURCE_BLOB_CONTENT_TYPE = "text/plain; charset=utf-8";
28725
- const handler$46 = async (c) => {
28783
+ const handler$47 = async (c) => {
28726
28784
  const project = c.get("project");
28727
28785
  const artifactId = c.req.param("artifactId");
28728
28786
  if (!artifactId) return c.json(ErrorResponseSchema.parse({ error: "Artifact id is required" }), 400);
@@ -28750,7 +28808,7 @@ const handler$46 = async (c) => {
28750
28808
  };
28751
28809
  //#endregion
28752
28810
  //#region src/routes/account/projects/[projectId]/artifacts/[artifactId]/source/manifest/POST.ts
28753
- const handler$45 = async (c) => {
28811
+ const handler$46 = async (c) => {
28754
28812
  const project = c.get("project");
28755
28813
  const artifactId = c.req.param("artifactId");
28756
28814
  if (!artifactId) return c.json(ErrorResponseSchema.parse({ error: "Artifact id is required" }), 400);
@@ -28782,7 +28840,7 @@ function extensionFromUpload(contentType, filename) {
28782
28840
  if (fromName && /^[a-z0-9]+$/.test(fromName)) return fromName;
28783
28841
  return chatAttachmentExtension(contentType) ?? "bin";
28784
28842
  }
28785
- const handler$44 = async (c) => {
28843
+ const handler$45 = async (c) => {
28786
28844
  const project = c.get("project");
28787
28845
  const slug = c.req.param("slug");
28788
28846
  if (!slug) return c.json(ErrorResponseSchema.parse({ error: "Agent slug is required" }), 400);
@@ -28807,7 +28865,7 @@ const handler$44 = async (c) => {
28807
28865
  };
28808
28866
  //#endregion
28809
28867
  //#region src/routes/account/projects/[projectId]/agents/[slug]/attachments/[...key]/GET.ts
28810
- const handler$43 = async (c) => {
28868
+ const handler$44 = async (c) => {
28811
28869
  const project = c.get("project");
28812
28870
  const slug = c.req.param("slug");
28813
28871
  const keyParam = c.req.param("key");
@@ -28853,7 +28911,7 @@ function resolveSourcePaths(rows, kindDir, filePaths) {
28853
28911
  }] : [];
28854
28912
  });
28855
28913
  }
28856
- const handler$42 = async (c) => {
28914
+ const handler$43 = async (c) => {
28857
28915
  const project = c.get("project");
28858
28916
  const active = await selectActiveArtifactSourceManifestForProject(project.id);
28859
28917
  if (!active || !active.sourceManifestJson) return c.json(ListProjectFilesResponseSchema.parse({
@@ -28898,7 +28956,7 @@ function ifNoneMatchMatches(ifNoneMatch, etag) {
28898
28956
  }
28899
28957
  //#endregion
28900
28958
  //#region src/routes/account/projects/[projectId]/artifacts/[artifactId]/files/content/GET.ts
28901
- const handler$41 = async (c) => {
28959
+ const handler$42 = async (c) => {
28902
28960
  const project = c.get("project");
28903
28961
  const artifactId = c.req.param("artifactId");
28904
28962
  if (!artifactId) return c.json(ErrorResponseSchema.parse({ error: "Artifact id is required" }), 400);
@@ -28944,7 +29002,7 @@ function createProjectReachabilityHandler(hosting) {
28944
29002
  }
28945
29003
  //#endregion
28946
29004
  //#region src/routes/account/projects/[projectId]/members/GET.ts
28947
- const handler$40 = async (c) => {
29005
+ const handler$41 = async (c) => {
28948
29006
  const project = c.get("project");
28949
29007
  const currentUserId = c.get("user").id;
28950
29008
  const members = await selectProjectMembers(project.id);
@@ -28952,7 +29010,7 @@ const handler$40 = async (c) => {
28952
29010
  };
28953
29011
  //#endregion
28954
29012
  //#region src/routes/account/projects/[projectId]/members/POST.ts
28955
- const handler$39 = async (c) => {
29013
+ const handler$40 = async (c) => {
28956
29014
  const organization = c.get("organization");
28957
29015
  const project = c.get("project");
28958
29016
  const body = await c.req.json().catch(() => null);
@@ -28968,7 +29026,7 @@ const handler$39 = async (c) => {
28968
29026
  };
28969
29027
  //#endregion
28970
29028
  //#region src/routes/account/projects/[projectId]/members/[userId]/PATCH.ts
28971
- const handler$38 = async (c) => {
29029
+ const handler$39 = async (c) => {
28972
29030
  const project = c.get("project");
28973
29031
  const userId = c.req.param("userId");
28974
29032
  const body = await c.req.json().catch(() => null);
@@ -28985,7 +29043,7 @@ const handler$38 = async (c) => {
28985
29043
  };
28986
29044
  //#endregion
28987
29045
  //#region src/routes/account/projects/[projectId]/members/[userId]/DELETE.ts
28988
- const handler$37 = async (c) => {
29046
+ const handler$38 = async (c) => {
28989
29047
  const project = c.get("project");
28990
29048
  const userId = c.req.param("userId");
28991
29049
  if (!userId) return c.json(ErrorResponseSchema.parse({ error: "User id is required" }), 400);
@@ -28999,7 +29057,7 @@ const handler$37 = async (c) => {
28999
29057
  };
29000
29058
  //#endregion
29001
29059
  //#region src/routes/account/projects/[projectId]/members/me/DELETE.ts
29002
- const handler$36 = async (c) => {
29060
+ const handler$37 = async (c) => {
29003
29061
  const project = c.get("project");
29004
29062
  const userId = c.get("user").id;
29005
29063
  try {
@@ -29012,13 +29070,13 @@ const handler$36 = async (c) => {
29012
29070
  };
29013
29071
  //#endregion
29014
29072
  //#region src/routes/account/projects/[projectId]/settings/GET.ts
29015
- const handler$35 = async (c) => {
29073
+ const handler$36 = async (c) => {
29016
29074
  const project = c.get("project");
29017
29075
  return c.json(ProjectSettingsResponseSchema.parse(mapProjectSettings(project)));
29018
29076
  };
29019
29077
  //#endregion
29020
29078
  //#region src/routes/account/projects/[projectId]/settings/PATCH.ts
29021
- const handler$34 = async (c) => {
29079
+ const handler$35 = async (c) => {
29022
29080
  const organization = c.get("organization");
29023
29081
  const project = c.get("project");
29024
29082
  const body = await c.req.json().catch(() => null);
@@ -29140,7 +29198,7 @@ async function enrichCredentialInstances(rows, organizationId) {
29140
29198
  }
29141
29199
  //#endregion
29142
29200
  //#region src/routes/account/credentials/GET.ts
29143
- const handler$33 = async (c) => {
29201
+ const handler$34 = async (c) => {
29144
29202
  const organization = c.get("organization");
29145
29203
  const user = c.get("user");
29146
29204
  const query = ListCredentialsPageQuerySchema.parse({
@@ -29169,7 +29227,7 @@ function withTargetScope$1(target, fn) {
29169
29227
  if (target.projectScope) return runWithProjectScope(target.projectScope, fn);
29170
29228
  return fn();
29171
29229
  }
29172
- const handler$32 = async (c) => {
29230
+ const handler$33 = async (c) => {
29173
29231
  const organization = c.get("organization");
29174
29232
  const user = c.get("user");
29175
29233
  const parsed = CreateCredentialsRequestSchema.safeParse(await c.req.json().catch(() => null));
@@ -29285,7 +29343,7 @@ async function canAccessCredentialRow(c, row) {
29285
29343
  }
29286
29344
  //#endregion
29287
29345
  //#region src/routes/account/credentials/[credentialId]/GET.ts
29288
- const handler$31 = async (c) => {
29346
+ const handler$32 = async (c) => {
29289
29347
  const organization = c.get("organization");
29290
29348
  const credentialId = c.req.param("credentialId") ?? "";
29291
29349
  const row = credentialId ? await selectCredentialInstanceById(credentialId) : void 0;
@@ -29346,7 +29404,7 @@ function sharedConnectionIdFor(row, scopeType, scopeId) {
29346
29404
  if (!row.connectionId) return row.sharedConnectionId;
29347
29405
  return mcpEntityId(scopeType, scopeId);
29348
29406
  }
29349
- const handler$30 = async (c) => {
29407
+ const handler$31 = async (c) => {
29350
29408
  const organization = c.get("organization");
29351
29409
  const user = c.get("user");
29352
29410
  const credentialId = c.req.param("credentialId") ?? "";
@@ -29447,7 +29505,7 @@ function withTargetScope(target, fn) {
29447
29505
  if (target.projectScope) return runWithProjectScope(target.projectScope, fn);
29448
29506
  return fn();
29449
29507
  }
29450
- const handler$29 = async (c) => {
29508
+ const handler$30 = async (c) => {
29451
29509
  const organization = c.get("organization");
29452
29510
  const user = c.get("user");
29453
29511
  const credentialId = c.req.param("credentialId") ?? "";
@@ -29577,7 +29635,7 @@ function createDeleteCredentialHandler(options = {}) {
29577
29635
  }
29578
29636
  //#endregion
29579
29637
  //#region src/routes/account/members/GET.ts
29580
- const handler$28 = async (c) => {
29638
+ const handler$29 = async (c) => {
29581
29639
  const { organizationId } = c.get("organization");
29582
29640
  const query = ListOrganizationMembersPageQuerySchema.parse({
29583
29641
  limit: c.req.query("limit") || void 0,
@@ -29635,7 +29693,7 @@ async function sendOrganizationInviteEmail(payload, resend) {
29635
29693
  }
29636
29694
  //#endregion
29637
29695
  //#region src/routes/account/members/invitations/POST.ts
29638
- const handler$27 = async (c) => {
29696
+ const handler$28 = async (c) => {
29639
29697
  const user = c.get("user");
29640
29698
  const organization = c.get("organization");
29641
29699
  const body = await c.req.json().catch(() => null);
@@ -29661,7 +29719,7 @@ const handler$27 = async (c) => {
29661
29719
  };
29662
29720
  //#endregion
29663
29721
  //#region src/routes/account/members/[userId]/PATCH.ts
29664
- const handler$26 = async (c) => {
29722
+ const handler$27 = async (c) => {
29665
29723
  const { organizationId } = c.get("organization");
29666
29724
  const userId = c.req.param("userId");
29667
29725
  const body = await c.req.json().catch(() => null);
@@ -29678,7 +29736,7 @@ const handler$26 = async (c) => {
29678
29736
  };
29679
29737
  //#endregion
29680
29738
  //#region src/routes/account/members/[userId]/DELETE.ts
29681
- const handler$25 = async (c) => {
29739
+ const handler$26 = async (c) => {
29682
29740
  const { organizationId } = c.get("organization");
29683
29741
  const userId = c.req.param("userId");
29684
29742
  if (!userId) return c.json(ErrorResponseSchema.parse({ error: "User id is required" }), 400);
@@ -29692,13 +29750,13 @@ const handler$25 = async (c) => {
29692
29750
  };
29693
29751
  //#endregion
29694
29752
  //#region src/routes/account/invitations/GET.ts
29695
- const handler$24 = async (c) => {
29753
+ const handler$25 = async (c) => {
29696
29754
  const invitations = await selectPendingInvitationsForUser(c.get("user").id);
29697
29755
  return c.json(ListOrganizationInvitationsResponseSchema.parse(invitations.map(mapOrganizationInvitation)));
29698
29756
  };
29699
29757
  //#endregion
29700
29758
  //#region src/routes/account/invitations/[invitationId]/accept/POST.ts
29701
- const handler$23 = async (c) => {
29759
+ const handler$24 = async (c) => {
29702
29760
  const user = c.get("user");
29703
29761
  const invitationId = c.req.param("invitationId");
29704
29762
  if (!invitationId) return c.json(ErrorResponseSchema.parse({ error: "Invitation id is required" }), 400);
@@ -29719,7 +29777,7 @@ const handler$23 = async (c) => {
29719
29777
  };
29720
29778
  //#endregion
29721
29779
  //#region src/routes/account/invitations/[invitationId]/decline/POST.ts
29722
- const handler$22 = async (c) => {
29780
+ const handler$23 = async (c) => {
29723
29781
  const user = c.get("user");
29724
29782
  const invitationId = c.req.param("invitationId");
29725
29783
  if (!invitationId) return c.json(ErrorResponseSchema.parse({ error: "Invitation id is required" }), 400);
@@ -29805,13 +29863,13 @@ function appRowToCustomAppDetail(row) {
29805
29863
  }
29806
29864
  //#endregion
29807
29865
  //#region src/routes/account/apps/GET.ts
29808
- const handler$21 = async (c) => {
29866
+ const handler$22 = async (c) => {
29809
29867
  const apps = (await listAppsForOrganization(c.get("organization").organizationId)).map(appRowToCatalogSummary);
29810
29868
  return c.json(ListAppsResponseSchema.parse(apps));
29811
29869
  };
29812
29870
  //#endregion
29813
29871
  //#region src/routes/account/apps/POST.ts
29814
- const handler$20 = async (c) => {
29872
+ const handler$21 = async (c) => {
29815
29873
  const organization = c.get("organization");
29816
29874
  const user = c.get("user");
29817
29875
  const parsed = CreateCustomAppRequestSchema.safeParse(await c.req.json().catch(() => null));
@@ -29855,7 +29913,7 @@ const handler$20 = async (c) => {
29855
29913
  };
29856
29914
  //#endregion
29857
29915
  //#region src/routes/account/apps/discover/POST.ts
29858
- const handler$19 = async (c) => {
29916
+ const handler$20 = async (c) => {
29859
29917
  const parsed = McpDiscoverRequestSchema.safeParse(await c.req.json().catch(() => null));
29860
29918
  if (!parsed.success) return c.json({ error: "Invalid request body" }, 400);
29861
29919
  try {
@@ -29869,7 +29927,7 @@ const handler$19 = async (c) => {
29869
29927
  };
29870
29928
  //#endregion
29871
29929
  //#region src/routes/account/apps/discover-openapi/POST.ts
29872
- const handler$18 = async (c) => {
29930
+ const handler$19 = async (c) => {
29873
29931
  const parsed = OpenApiDiscoverRequestSchema.safeParse(await c.req.json().catch(() => null));
29874
29932
  if (!parsed.success) return c.json({ error: "Invalid request body" }, 400);
29875
29933
  try {
@@ -29886,7 +29944,7 @@ const handler$18 = async (c) => {
29886
29944
  };
29887
29945
  //#endregion
29888
29946
  //#region src/routes/account/apps/discover-graphql/POST.ts
29889
- const handler$17 = async (c) => {
29947
+ const handler$18 = async (c) => {
29890
29948
  const parsed = GraphqlDiscoverRequestSchema.safeParse(await c.req.json().catch(() => null));
29891
29949
  if (!parsed.success) return c.json({ error: "Invalid request body" }, 400);
29892
29950
  try {
@@ -29903,7 +29961,7 @@ const handler$17 = async (c) => {
29903
29961
  };
29904
29962
  //#endregion
29905
29963
  //#region src/routes/account/apps/[slug]/mcp/oauth/connections/POST.ts
29906
- const handler$16 = async (c) => {
29964
+ const handler$17 = async (c) => {
29907
29965
  const organization = c.get("organization");
29908
29966
  const user = c.get("user");
29909
29967
  const appSlug = c.req.param("slug")?.trim();
@@ -29963,7 +30021,7 @@ function buildOAuthWebLandingUrl(webOrigin, params) {
29963
30021
  }
29964
30022
  //#endregion
29965
30023
  //#region src/routes/account/mcp/oauth/callback/GET.ts
29966
- const handler$15 = async (c) => {
30024
+ const handler$16 = async (c) => {
29967
30025
  const code = c.req.query("code")?.trim();
29968
30026
  const state = c.req.query("state")?.trim();
29969
30027
  const oauthError = c.req.query("error")?.trim();
@@ -30061,7 +30119,7 @@ const handler$15 = async (c) => {
30061
30119
  };
30062
30120
  //#endregion
30063
30121
  //#region src/routes/account/apps/slug-available/GET.ts
30064
- const handler$14 = async (c) => {
30122
+ const handler$15 = async (c) => {
30065
30123
  const organization = c.get("organization");
30066
30124
  const parsed = AppSlugAvailabilityQuerySchema.safeParse({ slug: c.req.query("slug") });
30067
30125
  if (!parsed.success) return c.json(ErrorResponseSchema.parse({ error: "Invalid slug query" }), 400);
@@ -30072,7 +30130,7 @@ const handler$14 = async (c) => {
30072
30130
  };
30073
30131
  //#endregion
30074
30132
  //#region src/routes/account/apps/[slug]/GET.ts
30075
- const handler$13 = async (c) => {
30133
+ const handler$14 = async (c) => {
30076
30134
  const organization = c.get("organization");
30077
30135
  const slug = c.req.param("slug") ?? "";
30078
30136
  if (!slug) return c.json(ErrorResponseSchema.parse({ error: "App not found" }), 404);
@@ -30087,7 +30145,7 @@ const handler$13 = async (c) => {
30087
30145
  //#endregion
30088
30146
  //#region src/routes/account/apps/[slug]/catalog/GET.ts
30089
30147
  /** Full catalog entry (scopes + credential template) for connect UI. */
30090
- const handler$12 = async (c) => {
30148
+ const handler$13 = async (c) => {
30091
30149
  const organization = c.get("organization");
30092
30150
  const slug = c.req.param("slug") ?? "";
30093
30151
  if (!slug) return c.json(ErrorResponseSchema.parse({ error: "App not found" }), 404);
@@ -30120,14 +30178,14 @@ function projectChannelPlatform(row) {
30120
30178
  });
30121
30179
  }
30122
30180
  /** Gateway platforms only — avoids downloading the full apps catalog. */
30123
- const handler$11 = async (c) => {
30181
+ const handler$12 = async (c) => {
30124
30182
  const organization = c.get("organization");
30125
30183
  const platforms = (await Promise.all(Object.keys(GATEWAY_BY_APP_SLUG).map((slug) => selectAppForOrganization(organization.organizationId, slug)))).flatMap((row) => row ? [projectChannelPlatform(row)] : []);
30126
30184
  return c.json(ListChannelPlatformsResponseSchema.parse(platforms));
30127
30185
  };
30128
30186
  //#endregion
30129
30187
  //#region src/routes/account/api-keys/GET.ts
30130
- const handler$10 = async (c) => {
30188
+ const handler$11 = async (c) => {
30131
30189
  const { organizationId } = c.get("organization");
30132
30190
  const user = c.get("user");
30133
30191
  const records = apiKeyListScope(accessContext(c)).kind === "all" ? await listOrgPlatformApiKeysForOrganization(organizationId) : await listOrgPlatformApiKeysForUser(organizationId, user.id);
@@ -30144,7 +30202,7 @@ const handler$10 = async (c) => {
30144
30202
  };
30145
30203
  //#endregion
30146
30204
  //#region src/routes/account/api-keys/POST.ts
30147
- const handler$9 = async (c) => {
30205
+ const handler$10 = async (c) => {
30148
30206
  const { organizationId } = c.get("organization");
30149
30207
  const user = c.get("user");
30150
30208
  const body = CreateApiKeyRequestSchema.parse(await c.req.json());
@@ -30167,7 +30225,7 @@ const handler$9 = async (c) => {
30167
30225
  };
30168
30226
  //#endregion
30169
30227
  //#region src/routes/account/api-keys/[apiKeyId]/DELETE.ts
30170
- const handler$8 = async (c) => {
30228
+ const handler$9 = async (c) => {
30171
30229
  const { organizationId } = c.get("organization");
30172
30230
  const user = c.get("user");
30173
30231
  const apiKeyId = c.req.param("apiKeyId");
@@ -30192,7 +30250,7 @@ const handler$8 = async (c) => {
30192
30250
  };
30193
30251
  //#endregion
30194
30252
  //#region src/routes/account/managed-service-credentials/GET.ts
30195
- const handler$7 = async (c) => {
30253
+ const handler$8 = async (c) => {
30196
30254
  const { organizationId } = c.get("organization");
30197
30255
  const user = c.get("user");
30198
30256
  const kindParam = c.req.query("kind");
@@ -30212,7 +30270,7 @@ const handler$7 = async (c) => {
30212
30270
  };
30213
30271
  //#endregion
30214
30272
  //#region src/routes/account/managed-service-credentials/POST.ts
30215
- const handler$6 = async (c) => {
30273
+ const handler$7 = async (c) => {
30216
30274
  const { organizationId } = c.get("organization");
30217
30275
  const user = c.get("user");
30218
30276
  const body = ConnectManagedServiceCredentialRequestSchema.parse(await c.req.json());
@@ -30241,7 +30299,7 @@ const handler$6 = async (c) => {
30241
30299
  };
30242
30300
  //#endregion
30243
30301
  //#region src/routes/account/managed-service-credentials/[id]/PATCH.ts
30244
- const handler$5 = async (c) => {
30302
+ const handler$6 = async (c) => {
30245
30303
  const { organizationId } = c.get("organization");
30246
30304
  const user = c.get("user");
30247
30305
  const credentialId = c.req.param("id");
@@ -30272,7 +30330,7 @@ const handler$5 = async (c) => {
30272
30330
  };
30273
30331
  //#endregion
30274
30332
  //#region src/routes/account/managed-service-credentials/[id]/DELETE.ts
30275
- const handler$4 = async (c) => {
30333
+ const handler$5 = async (c) => {
30276
30334
  const { organizationId } = c.get("organization");
30277
30335
  const credentialId = c.req.param("id");
30278
30336
  if (!credentialId) return c.json(ErrorResponseSchema.parse({ error: "Credential id is required" }), 400);
@@ -30391,7 +30449,7 @@ async function postTeamRequestToSlack(input) {
30391
30449
  }
30392
30450
  //#endregion
30393
30451
  //#region src/routes/account/team-requests/POST.ts
30394
- const handler$3 = async (c) => {
30452
+ const handler$4 = async (c) => {
30395
30453
  const user = c.get("user");
30396
30454
  const organizationContext = c.get("organization");
30397
30455
  const parsed = SubmitTeamRequestRequestSchema.safeParse(await c.req.json().catch(() => null));
@@ -30436,7 +30494,7 @@ function mountAccountRoutes(options) {
30436
30494
  const projectScoped = new Hono();
30437
30495
  const protect = requireSession(createDefaultAuthJwtVerifier());
30438
30496
  const deleteCredential = createDeleteCredentialHandler({ mcp: options.mcp });
30439
- account.get("/mcp/oauth/callback", handler$15);
30497
+ account.get("/mcp/oauth/callback", handler$16);
30440
30498
  account.use("/*", protect);
30441
30499
  orgScoped.use("/*", protect);
30442
30500
  orgScoped.use("/*", requireOrganization());
@@ -30458,109 +30516,113 @@ function mountAccountRoutes(options) {
30458
30516
  const requireProjectManageMembers = authorize(projectActions.manageMembers);
30459
30517
  const requireInvitableProjectRole = authorizePayload(InviteProjectMembersRequestSchema, ({ c, ctx, body }) => canInviteToProject(ctx, { invitePermission: getProjectInvitePermission(c) }, body.role));
30460
30518
  const requireOrgParam = requireOrganizationParam();
30461
- account.get("/organizations", handler$97);
30462
- account.get("/organizations/slug-available", handler$96);
30519
+ account.get("/organizations", handler$102);
30520
+ account.get("/organizations/slug-available", handler$101);
30463
30521
  account.post("/organizations", createOrganizationHandler(options));
30464
- account.get("/organizations/:organizationId", requireOrgParam, handler$95);
30465
- account.patch("/organizations/:organizationId", requireOrgParam, requireOrgUpdate, handler$94);
30466
- account.get("/organizations/:organizationId/branding", requireOrgParam, handler$93);
30467
- account.patch("/organizations/:organizationId/branding", requireOrgParam, requireOrgUpdate, handler$92);
30468
- account.post("/organizations/:organizationId/branding/logo/presign", requireOrgParam, requireOrgUpdate, handler$91);
30469
- account.get("/invitations", handler$24);
30470
- account.post("/invitations/:invitationId/accept", handler$23);
30471
- account.post("/invitations/:invitationId/decline", handler$22);
30472
- account.get("/users/me/avatar", handler$102);
30473
- account.post("/users/me/avatar/presign", handler$101);
30474
- account.patch("/users/me/avatar", handler$100);
30475
- account.get("/users/me/preferences", handler$99);
30476
- account.patch("/users/me/preferences", handler$98);
30522
+ account.get("/organizations/:organizationId", requireOrgParam, handler$100);
30523
+ account.patch("/organizations/:organizationId", requireOrgParam, requireOrgUpdate, handler$99);
30524
+ account.get("/organizations/:organizationId/branding", requireOrgParam, handler$98);
30525
+ account.patch("/organizations/:organizationId/branding", requireOrgParam, requireOrgUpdate, handler$97);
30526
+ account.post("/organizations/:organizationId/branding/logo/presign", requireOrgParam, requireOrgUpdate, handler$96);
30527
+ account.get("/invitations", handler$25);
30528
+ account.post("/invitations/:invitationId/accept", handler$24);
30529
+ account.post("/invitations/:invitationId/decline", handler$23);
30530
+ account.get("/users/me/avatar", handler$107);
30531
+ account.post("/users/me/avatar/presign", handler$106);
30532
+ account.patch("/users/me/avatar", handler$105);
30533
+ account.get("/users/me/preferences", handler$104);
30534
+ account.patch("/users/me/preferences", handler$103);
30477
30535
  const withOrgDb = withOrganizationProjectDatabase();
30478
- orgScoped.get("/apps", handler$21);
30479
- orgScoped.get("/apps/slug-available", handler$14);
30480
- orgScoped.get("/channel-platforms", handler$11);
30481
- orgScoped.post("/apps/discover", requireOrgUpdate, handler$19);
30482
- orgScoped.post("/apps/discover-openapi", requireOrgUpdate, handler$18);
30483
- orgScoped.post("/apps/discover-graphql", requireOrgUpdate, handler$17);
30484
- orgScoped.post("/apps", requireOrgUpdate, handler$20);
30485
- orgScoped.post("/apps/:slug/mcp/oauth/connections", requireOrgUpdate, withOrgDb, handler$16);
30486
- orgScoped.get("/apps/:slug/catalog", handler$12);
30487
- orgScoped.get("/apps/:slug", handler$13);
30488
- account.post("/team-requests", requireOrganization(), handler$3);
30489
- orgScoped.get("/members", handler$28);
30490
- orgScoped.post("/members/invitations", requireUserInvite, requireInvitableRole, handler$27);
30491
- orgScoped.patch("/members/:userId", requireUserManage, handler$26);
30492
- orgScoped.delete("/members/:userId", requireUserManage, handler$25);
30493
- orgScoped.get("/api-keys", handler$10);
30494
- orgScoped.post("/api-keys", requireApiKeyCreate, handler$9);
30495
- orgScoped.delete("/api-keys/:apiKeyId", handler$8);
30496
- orgScoped.get("/managed-service-credentials", requireManagedServicesRead, handler$7);
30497
- orgScoped.post("/managed-service-credentials", requireManagedServicesManage, handler$6);
30498
- orgScoped.patch("/managed-service-credentials/:id", requireManagedServicesManage, handler$5);
30499
- orgScoped.delete("/managed-service-credentials/:id", requireManagedServicesManage, handler$4);
30500
- orgScoped.get("/agents", withOrgDb, handler$88);
30501
- orgScoped.get("/agents/:agentId", withOrgDb, handler$87);
30502
- orgScoped.get("/agents/:agentId/memory/files", withOrgDb, handler$86);
30503
- orgScoped.get("/agents/:agentId/memory/files/content", withOrgDb, handler$85);
30504
- orgScoped.get("/agents/:agentId/workspace/files", withOrgDb, handler$84);
30505
- orgScoped.get("/agents/:agentId/workspace/files/content", withOrgDb, handler$83);
30506
- orgScoped.get("/workflows", withOrgDb, handler$81);
30507
- orgScoped.get("/workflows/:workflowId", withOrgDb, handler$80);
30508
- orgScoped.get("/workflows/:workflowId/canvas", withOrgDb, handler$79);
30509
- orgScoped.get("/workflows/:workflowId/canvas/credentials", withOrgDb, handler$78);
30510
- orgScoped.get("/workflows/:workflowId/canvas/runs/:runId", withOrgDb, handler$77);
30511
- orgScoped.get("/workflows/:workflowId/overview", withOrgDb, handler$76);
30512
- orgScoped.get("/workflows/:workflowId/runs", withOrgDb, handler$71);
30513
- orgScoped.get("/workflows/:workflowId/run-inputs", withOrgDb, handler$75);
30514
- orgScoped.put("/workflows/:workflowId/run-inputs", withOrgDb, handler$74);
30515
- orgScoped.post("/workflows/:workflowId/run", withOrgDb, handler$73);
30516
- orgScoped.post("/workflows/:workflowId/attachments/presign", withOrgDb, handler$72);
30517
- orgScoped.get("/skills", withOrgDb, handler$69);
30518
- orgScoped.get("/skills/:skillId", withOrgDb, handler$68);
30519
- orgScoped.get("/triggers", withOrgDb, handler$67);
30520
- orgScoped.get("/triggers/:triggerId", withOrgDb, handler$66);
30521
- orgScoped.get("/triggers/:triggerId/runs", withOrgDb, handler$65);
30522
- orgScoped.get("/triggers/:triggerId/file", withOrgDb, handler$64);
30523
- orgScoped.get("/triggers/:triggerId/overview", withOrgDb, handler$63);
30524
- orgScoped.get("/triggers/:triggerId/invoke-inputs", withOrgDb, handler$60);
30525
- orgScoped.post("/triggers/:triggerId/invoke", withOrgDb, handler$61);
30526
- orgScoped.patch("/triggers/:triggerId/attachments/:attachmentId", withOrgDb, handler$62);
30527
- orgScoped.get("/recents", withOrgDb, handler$59);
30528
- orgScoped.get("/history", withOrgDb, handler$90);
30529
- orgScoped.get("/history/:runId", withOrgDb, handler$89);
30530
- orgScoped.post("/workflows/runs/:runId/cancel", withOrgDb, handler$70);
30531
- orgScoped.post("/agents/sessions/:sessionId/cancel", withOrgDb, handler$82);
30532
- orgScoped.get("/credentials", withOrgDb, handler$33);
30533
- orgScoped.post("/credentials", withOrgDb, handler$32);
30534
- orgScoped.get("/credentials/:credentialId", withOrgDb, (c, next) => c.req.param("credentialId") === "instances" ? next() : handler$31(c, next));
30535
- orgScoped.patch("/credentials/:credentialId", withOrgDb, handler$30);
30536
- orgScoped.post("/credentials/:credentialId/duplicate", withOrgDb, handler$29);
30536
+ orgScoped.get("/apps", handler$22);
30537
+ orgScoped.get("/apps/slug-available", handler$15);
30538
+ orgScoped.get("/channel-platforms", handler$12);
30539
+ orgScoped.post("/apps/discover", requireOrgUpdate, handler$20);
30540
+ orgScoped.post("/apps/discover-openapi", requireOrgUpdate, handler$19);
30541
+ orgScoped.post("/apps/discover-graphql", requireOrgUpdate, handler$18);
30542
+ orgScoped.post("/apps", requireOrgUpdate, handler$21);
30543
+ orgScoped.post("/apps/:slug/mcp/oauth/connections", requireOrgUpdate, withOrgDb, handler$17);
30544
+ orgScoped.get("/apps/:slug/catalog", handler$13);
30545
+ orgScoped.get("/apps/:slug", handler$14);
30546
+ account.post("/team-requests", requireOrganization(), handler$4);
30547
+ orgScoped.get("/members", handler$29);
30548
+ orgScoped.post("/members/invitations", requireUserInvite, requireInvitableRole, handler$28);
30549
+ orgScoped.patch("/members/:userId", requireUserManage, handler$27);
30550
+ orgScoped.delete("/members/:userId", requireUserManage, handler$26);
30551
+ orgScoped.get("/api-keys", handler$11);
30552
+ orgScoped.post("/api-keys", requireApiKeyCreate, handler$10);
30553
+ orgScoped.delete("/api-keys/:apiKeyId", handler$9);
30554
+ orgScoped.get("/managed-service-credentials", requireManagedServicesRead, handler$8);
30555
+ orgScoped.post("/managed-service-credentials", requireManagedServicesManage, handler$7);
30556
+ orgScoped.patch("/managed-service-credentials/:id", requireManagedServicesManage, handler$6);
30557
+ orgScoped.delete("/managed-service-credentials/:id", requireManagedServicesManage, handler$5);
30558
+ orgScoped.get("/agents", withOrgDb, handler$93);
30559
+ orgScoped.get("/agents/:agentId", withOrgDb, handler$92);
30560
+ orgScoped.get("/agents/:agentId/memory/files", withOrgDb, handler$91);
30561
+ orgScoped.get("/agents/:agentId/memory/files/content", withOrgDb, handler$90);
30562
+ orgScoped.get("/agents/:agentId/workspace/files", withOrgDb, handler$89);
30563
+ orgScoped.get("/agents/:agentId/workspace/files/content", withOrgDb, handler$88);
30564
+ orgScoped.get("/workflows", withOrgDb, handler$86);
30565
+ orgScoped.get("/workflows/:workflowId", withOrgDb, handler$85);
30566
+ orgScoped.get("/workflows/:workflowId/canvas", withOrgDb, handler$84);
30567
+ orgScoped.get("/workflows/:workflowId/canvas/credentials", withOrgDb, handler$83);
30568
+ orgScoped.get("/workflows/:workflowId/canvas/runs/:runId", withOrgDb, handler$82);
30569
+ orgScoped.get("/workflows/:workflowId/overview", withOrgDb, handler$81);
30570
+ orgScoped.get("/workflows/:workflowId/runs", withOrgDb, handler$72);
30571
+ orgScoped.get("/workflows/:workflowId/run-inputs", withOrgDb, handler$80);
30572
+ orgScoped.put("/workflows/:workflowId/run-inputs", withOrgDb, handler$79);
30573
+ orgScoped.post("/workflows/:workflowId/run", withOrgDb, handler$78);
30574
+ orgScoped.get("/workflows/:workflowId/form", withOrgDb, handler$77);
30575
+ orgScoped.put("/workflows/:workflowId/form", withOrgDb, handler$76);
30576
+ orgScoped.delete("/workflows/:workflowId/form", withOrgDb, handler$75);
30577
+ orgScoped.post("/workflows/:workflowId/form/rotate", withOrgDb, handler$74);
30578
+ orgScoped.post("/workflows/:workflowId/attachments/presign", withOrgDb, handler$73);
30579
+ orgScoped.get("/skills", withOrgDb, handler$70);
30580
+ orgScoped.get("/skills/:skillId", withOrgDb, handler$69);
30581
+ orgScoped.get("/triggers", withOrgDb, handler$68);
30582
+ orgScoped.get("/triggers/:triggerId", withOrgDb, handler$67);
30583
+ orgScoped.get("/triggers/:triggerId/runs", withOrgDb, handler$66);
30584
+ orgScoped.get("/triggers/:triggerId/file", withOrgDb, handler$65);
30585
+ orgScoped.get("/triggers/:triggerId/overview", withOrgDb, handler$64);
30586
+ orgScoped.get("/triggers/:triggerId/invoke-inputs", withOrgDb, handler$61);
30587
+ orgScoped.post("/triggers/:triggerId/invoke", withOrgDb, handler$62);
30588
+ orgScoped.patch("/triggers/:triggerId/attachments/:attachmentId", withOrgDb, handler$63);
30589
+ orgScoped.get("/recents", withOrgDb, handler$60);
30590
+ orgScoped.get("/history", withOrgDb, handler$95);
30591
+ orgScoped.get("/history/:runId", withOrgDb, handler$94);
30592
+ orgScoped.post("/workflows/runs/:runId/cancel", withOrgDb, handler$71);
30593
+ orgScoped.post("/agents/sessions/:sessionId/cancel", withOrgDb, handler$87);
30594
+ orgScoped.get("/credentials", withOrgDb, handler$34);
30595
+ orgScoped.post("/credentials", withOrgDb, handler$33);
30596
+ orgScoped.get("/credentials/:credentialId", withOrgDb, (c, next) => c.req.param("credentialId") === "instances" ? next() : handler$32(c, next));
30597
+ orgScoped.patch("/credentials/:credentialId", withOrgDb, handler$31);
30598
+ orgScoped.post("/credentials/:credentialId/duplicate", withOrgDb, handler$30);
30537
30599
  orgScoped.delete("/credentials/:credentialId", withOrgDb, deleteCredential);
30538
- orgScoped.get("/projects", handler$58);
30539
- orgScoped.get("/projects/slug-available", handler$55);
30540
- orgScoped.get("/projects/metrics", withOrgDb, handler$57);
30600
+ orgScoped.get("/projects", handler$59);
30601
+ orgScoped.get("/projects/slug-available", handler$56);
30602
+ orgScoped.get("/projects/metrics", withOrgDb, handler$58);
30541
30603
  orgScoped.post("/projects", createCreateProjectHandler(options.projectQuotaGate));
30542
- projectScoped.get("/:projectId", requireProject(), requireProjectMember, handler$54);
30543
- projectScoped.patch("/:projectId", requireProject(), requireProjectMember, requireProjectUpdate, handler$53);
30544
- projectScoped.delete("/:projectId", requireProject(), requireProjectMember, requireProjectDelete, handler$52);
30545
- projectScoped.get("/:projectId/settings", requireProject(), requireProjectMember, handler$35);
30546
- projectScoped.patch("/:projectId/settings", requireProject(), requireProjectMember, requireProjectUpdate, handler$34);
30547
- projectScoped.get("/:projectId/members", requireProject(), requireProjectMember, handler$40);
30548
- projectScoped.post("/:projectId/members", requireProject(), requireProjectMember, requireInvitableProjectRole, handler$39);
30549
- projectScoped.patch("/:projectId/members/:userId", requireProject(), requireProjectMember, requireProjectManageMembers, handler$38);
30550
- projectScoped.delete("/:projectId/members/:userId", requireProject(), requireProjectMember, requireProjectManageMembers, handler$37);
30551
- projectScoped.delete("/:projectId/members/me", requireProject(), requireProjectMember, handler$36);
30604
+ projectScoped.get("/:projectId", requireProject(), requireProjectMember, handler$55);
30605
+ projectScoped.patch("/:projectId", requireProject(), requireProjectMember, requireProjectUpdate, handler$54);
30606
+ projectScoped.delete("/:projectId", requireProject(), requireProjectMember, requireProjectDelete, handler$53);
30607
+ projectScoped.get("/:projectId/settings", requireProject(), requireProjectMember, handler$36);
30608
+ projectScoped.patch("/:projectId/settings", requireProject(), requireProjectMember, requireProjectUpdate, handler$35);
30609
+ projectScoped.get("/:projectId/members", requireProject(), requireProjectMember, handler$41);
30610
+ projectScoped.post("/:projectId/members", requireProject(), requireProjectMember, requireInvitableProjectRole, handler$40);
30611
+ projectScoped.patch("/:projectId/members/:userId", requireProject(), requireProjectMember, requireProjectManageMembers, handler$39);
30612
+ projectScoped.delete("/:projectId/members/:userId", requireProject(), requireProjectMember, requireProjectManageMembers, handler$38);
30613
+ projectScoped.delete("/:projectId/members/me", requireProject(), requireProjectMember, handler$37);
30552
30614
  projectScoped.get("/:projectId/reachability", requireProject(), requireProjectMember, createProjectReachabilityHandler(options.hosting));
30553
- projectScoped.get("/:projectId/files", requireProject(), requireProjectMember, withOrgDb, handler$42);
30554
- projectScoped.post("/:projectId/agents/:slug/attachments/presign", requireProject(), requireProjectMember, withOrgDb, handler$44);
30555
- projectScoped.get("/:projectId/agents/:slug/attachments/:key{.+}", requireProject(), requireProjectMember, withOrgDb, handler$43);
30556
- projectScoped.get("/:projectId/artifacts/:artifactId/files/content", requireProject(), requireProjectMember, handler$41);
30557
- projectScoped.get("/:projectId/deployments", requireProject(), requireProjectMember, handler$51);
30558
- projectScoped.get("/:projectId/artifacts/active/download", requireProject(), requireProjectMember, requireProjectDeploy, handler$49);
30559
- projectScoped.get("/:projectId/artifacts/active/source", requireProject(), requireProjectMember, withOrgDb, handler$48);
30560
- projectScoped.post("/:projectId/artifacts", requireProject(), requireProjectMember, requireProjectDeploy, handler$50);
30561
- projectScoped.post("/:projectId/artifacts/:artifactId/complete", requireProject(), requireProjectMember, requireProjectDeploy, handler$47);
30562
- projectScoped.post("/:projectId/artifacts/:artifactId/source/presign", requireProject(), requireProjectMember, requireProjectDeploy, handler$46);
30563
- projectScoped.post("/:projectId/artifacts/:artifactId/source/manifest", requireProject(), requireProjectMember, requireProjectDeploy, handler$45);
30615
+ projectScoped.get("/:projectId/files", requireProject(), requireProjectMember, withOrgDb, handler$43);
30616
+ projectScoped.post("/:projectId/agents/:slug/attachments/presign", requireProject(), requireProjectMember, withOrgDb, handler$45);
30617
+ projectScoped.get("/:projectId/agents/:slug/attachments/:key{.+}", requireProject(), requireProjectMember, withOrgDb, handler$44);
30618
+ projectScoped.get("/:projectId/artifacts/:artifactId/files/content", requireProject(), requireProjectMember, handler$42);
30619
+ projectScoped.get("/:projectId/deployments", requireProject(), requireProjectMember, handler$52);
30620
+ projectScoped.get("/:projectId/artifacts/active/download", requireProject(), requireProjectMember, requireProjectDeploy, handler$50);
30621
+ projectScoped.get("/:projectId/artifacts/active/source", requireProject(), requireProjectMember, withOrgDb, handler$49);
30622
+ projectScoped.post("/:projectId/artifacts", requireProject(), requireProjectMember, requireProjectDeploy, handler$51);
30623
+ projectScoped.post("/:projectId/artifacts/:artifactId/complete", requireProject(), requireProjectMember, requireProjectDeploy, handler$48);
30624
+ projectScoped.post("/:projectId/artifacts/:artifactId/source/presign", requireProject(), requireProjectMember, requireProjectDeploy, handler$47);
30625
+ projectScoped.post("/:projectId/artifacts/:artifactId/source/manifest", requireProject(), requireProjectMember, requireProjectDeploy, handler$46);
30564
30626
  orgScoped.route("/projects", projectScoped);
30565
30627
  account.route("/", orgScoped);
30566
30628
  return account;
@@ -30618,7 +30680,7 @@ var DbProxyRejectedError = class extends Error {
30618
30680
  }
30619
30681
  };
30620
30682
  /** Reject multi-statement SQL and explicit transaction/session control. */
30621
- const FORBIDDEN_SQL = /\b(BEGIN|COMMIT|ROLLBACK|START\s+TRANSACTION|SET\s+ROLE|SET\s+SESSION|RESET\s+ROLE|SET\s+LOCAL\s+ROLE)\b/i;
30683
+ const FORBIDDEN_SQL = /\b(BEGIN|COMMIT|ROLLBACK|START\s+TRANSACTION|SET\s+ROLE|SET\s+SESSION|RESET\s+ROLE|SET\s+LOCAL\s+ROLE|SET\s+CONFIG|SELECT\s+SET_CONFIG)\b/i;
30622
30684
  function assertSingleSafeStatement(sql) {
30623
30685
  const trimmed = sql.trim();
30624
30686
  if (!trimmed) throw new DbProxyRejectedError("Empty SQL is not allowed");
@@ -30628,46 +30690,23 @@ function assertSingleSafeStatement(sql) {
30628
30690
  if (withoutLiterals.split(";").map((part) => part.trim()).filter(Boolean).length > 1) throw new DbProxyRejectedError("Only one SQL statement is allowed per proxy request");
30629
30691
  }
30630
30692
  }
30631
- function resolveUntrustedOrgProxyOptions(organization) {
30693
+ /** Shared platform pool + signed organization claim (RLS). */
30694
+ function resolveTenantProxyOptions(organization) {
30632
30695
  return {
30633
- url: resolveOrgDatabaseUrl(organization),
30634
- searchPath: organization.dbSchema
30696
+ url: resolvePlatformDatabaseUrl(),
30697
+ organizationId: organization.id
30635
30698
  };
30636
30699
  }
30637
- async function resetProxySession(client) {
30638
- await client.query("ROLLBACK").catch(() => void 0);
30639
- await client.query("DISCARD ALL").catch(() => void 0);
30640
- }
30641
30700
  async function runOrgDatabaseQuery(options, query) {
30642
30701
  assertSingleSafeStatement(query.sql);
30643
30702
  const handle = await acquireProjectDatabasePool(options);
30644
30703
  try {
30645
30704
  if (handle.dialect !== "postgres") throw new Error("DB proxy requires postgres");
30646
- const client = await handle.pool.connect();
30647
- try {
30648
- return { rows: (await client.query({
30649
- text: query.sql,
30650
- values: query.params,
30651
- rowMode: query.method === "all" ? "array" : void 0
30652
- })).rows };
30653
- } finally {
30654
- await resetProxySession(client);
30655
- client.release();
30656
- }
30657
- } finally {
30658
- releaseProjectDatabasePool(options);
30659
- }
30660
- }
30661
- /**
30662
- * Apply platform-owned org schema migrations. Worker-supplied SQL is ignored —
30663
- * only embedded `@keystrokehq/database` migrations run under the org login.
30664
- */
30665
- async function runOrgDatabaseMigrations(options) {
30666
- const handle = await acquireProjectDatabasePool(options);
30667
- try {
30668
- if (handle.dialect !== "postgres") throw new Error("DB proxy requires postgres");
30669
- await runMigrations(handle, resolveMigrationsFolder("postgres"));
30670
- return [];
30705
+ return { rows: (await handle.pool.query({
30706
+ text: query.sql,
30707
+ values: query.params,
30708
+ rowMode: query.method === "all" ? "array" : void 0
30709
+ })).rows };
30671
30710
  } finally {
30672
30711
  releaseProjectDatabasePool(options);
30673
30712
  }
@@ -30693,7 +30732,7 @@ function mountInternalRoutes(workerToken, tokenRefresh, llmProxy, mcp) {
30693
30732
  error: "Invalid request body",
30694
30733
  details: parsed.error.flatten()
30695
30734
  }, 400);
30696
- const options = resolveUntrustedOrgProxyOptions(organization);
30735
+ const options = resolveTenantProxyOptions(organization);
30697
30736
  try {
30698
30737
  return c.json(await runOrgDatabaseQuery(options, parsed.data));
30699
30738
  } catch (error) {
@@ -30712,25 +30751,6 @@ function mountInternalRoutes(workerToken, tokenRefresh, llmProxy, mcp) {
30712
30751
  }, 500);
30713
30752
  }
30714
30753
  });
30715
- internal.post("/orgs/:organizationId/db/migrate", async (c) => {
30716
- const organizationId = c.req.param("organizationId");
30717
- const organization = await getCachedOrganization(organizationId);
30718
- if (!organization) return c.json({ error: "Organization not found" }, 404);
30719
- const options = resolveUntrustedOrgProxyOptions(organization);
30720
- try {
30721
- return c.json({ results: await runOrgDatabaseMigrations(options) });
30722
- } catch (error) {
30723
- console.error("Database proxy migration failed", {
30724
- organizationId,
30725
- error
30726
- });
30727
- const message = error instanceof Error ? error.message : "Database proxy migration failed.";
30728
- return c.json({
30729
- error: "db_proxy_migrate_failed",
30730
- message
30731
- }, 500);
30732
- }
30733
- });
30734
30754
  internal.use("/*", protect);
30735
30755
  internal.use("/projects/:projectId/*", async (c, next) => {
30736
30756
  const verified = verifyOrgWorkerToken(workerToken, readWorkerTokenFromRequest(c));
@@ -30836,7 +30856,7 @@ async function loadModelIds() {
30836
30856
  })();
30837
30857
  return pendingFetch;
30838
30858
  }
30839
- async function handler$2(c) {
30859
+ async function handler$3(c) {
30840
30860
  try {
30841
30861
  const models = await loadModelIds();
30842
30862
  return c.json(PublicModelsResponseSchema.parse({ models }));
@@ -30847,21 +30867,34 @@ async function handler$2(c) {
30847
30867
  }
30848
30868
  }
30849
30869
  //#endregion
30870
+ //#region src/lib/client-ip.ts
30871
+ function clientIp(c) {
30872
+ const forwarded = c.req.header("x-forwarded-for")?.split(",")[0]?.trim();
30873
+ if (forwarded) return forwarded;
30874
+ const realIp = c.req.header("x-real-ip")?.trim();
30875
+ if (realIp) return realIp;
30876
+ try {
30877
+ return getConnInfo(c).remote.address ?? "unknown";
30878
+ } catch {
30879
+ return "unknown";
30880
+ }
30881
+ }
30882
+ //#endregion
30850
30883
  //#region src/lib/contact-rate-limit.ts
30851
- const WINDOW_MS = 6e4;
30852
- const MAX_REQUESTS_PER_WINDOW = 5;
30853
- const hits = /* @__PURE__ */ new Map();
30884
+ const WINDOW_MS$1 = 6e4;
30885
+ const MAX_REQUESTS_PER_WINDOW$1 = 5;
30886
+ const hits$1 = /* @__PURE__ */ new Map();
30854
30887
  function consumeContactRateLimit(key) {
30855
30888
  const now = Date.now();
30856
- const entry = hits.get(key);
30889
+ const entry = hits$1.get(key);
30857
30890
  if (!entry || now >= entry.resetAt) {
30858
- hits.set(key, {
30891
+ hits$1.set(key, {
30859
30892
  count: 1,
30860
- resetAt: now + WINDOW_MS
30893
+ resetAt: now + WINDOW_MS$1
30861
30894
  });
30862
30895
  return true;
30863
30896
  }
30864
- if (entry.count >= MAX_REQUESTS_PER_WINDOW) return false;
30897
+ if (entry.count >= MAX_REQUESTS_PER_WINDOW$1) return false;
30865
30898
  entry.count += 1;
30866
30899
  return true;
30867
30900
  }
@@ -30917,18 +30950,7 @@ async function postMarketingContactToSlack(input) {
30917
30950
  }
30918
30951
  //#endregion
30919
30952
  //#region src/routes/public/contact/POST.ts
30920
- function clientIp(c) {
30921
- const forwarded = c.req.header("x-forwarded-for")?.split(",")[0]?.trim();
30922
- if (forwarded) return forwarded;
30923
- const realIp = c.req.header("x-real-ip")?.trim();
30924
- if (realIp) return realIp;
30925
- try {
30926
- return getConnInfo(c).remote.address ?? "unknown";
30927
- } catch {
30928
- return "unknown";
30929
- }
30930
- }
30931
- async function handler$1(c) {
30953
+ async function handler$2(c) {
30932
30954
  if (!consumeContactRateLimit(clientIp(c))) return c.json({ error: "Too many requests" }, 429);
30933
30955
  const parsed = SubmitMarketingContactRequestSchema.safeParse(await c.req.json().catch(() => null));
30934
30956
  if (!parsed.success) {
@@ -30950,6 +30972,115 @@ async function handler$1(c) {
30950
30972
  return c.json(SubmitMarketingContactResponseSchema.parse({ ok: true }), 200);
30951
30973
  }
30952
30974
  //#endregion
30975
+ //#region src/routes/public/forms/resolve.ts
30976
+ async function resolvePublicWorkflowForm(token) {
30977
+ const publishedForm = await selectEnabledPublishedFormByToken(token);
30978
+ if (!publishedForm) return null;
30979
+ const workflow = await withProjectScope(publishedForm.project.id, () => selectActiveWorkflowBySlug(publishedForm.form.workflowSlug));
30980
+ if (!workflow) return null;
30981
+ const requestSchema = await resolveWorkflowRequestSchema(publishedForm.project.id, workflow);
30982
+ if (!requestSchema) return null;
30983
+ const inputSchema = jsonSchemaToWorkflowInputSchema(requestSchema);
30984
+ if (inputSchema.fields.length === 0 || schemaHasFileFields(inputSchema) || schemaHasUnsupportedFormFields(inputSchema)) return null;
30985
+ return {
30986
+ publishedForm,
30987
+ workflow,
30988
+ requestSchema,
30989
+ inputSchema
30990
+ };
30991
+ }
30992
+ //#endregion
30993
+ //#region src/routes/public/forms/GET.ts
30994
+ async function handler$1(c) {
30995
+ const token = c.req.param("token")?.trim();
30996
+ if (!token) return c.json(ErrorResponseSchema.parse({ error: "Form not found" }), 404);
30997
+ const resolved = await resolvePublicWorkflowForm(token);
30998
+ if (!resolved) return c.json(ErrorResponseSchema.parse({ error: "Form not found" }), 404);
30999
+ const { publishedForm, workflow, inputSchema } = resolved;
31000
+ const branding = publishedForm.organization;
31001
+ return c.json(PublicFormMetadataSchema.parse({
31002
+ title: publishedForm.form.title ?? workflow.name,
31003
+ description: publishedForm.form.description ?? workflow.description,
31004
+ fields: resolvePublicFormFields(inputSchema, publishedForm.form.fieldConfig),
31005
+ branding: {
31006
+ organizationName: branding.name,
31007
+ projectName: publishedForm.project.name,
31008
+ logoLightUrl: branding.customLogoEnabled ? branding.logoLightUrl : null,
31009
+ logoDarkUrl: branding.customLogoEnabled ? branding.logoDarkUrl : null,
31010
+ logoHeightPx: branding.logoHeightPx
31011
+ }
31012
+ }));
31013
+ }
31014
+ //#endregion
31015
+ //#region src/lib/public-form-rate-limit.ts
31016
+ const WINDOW_MS = 6e4;
31017
+ const MAX_REQUESTS_PER_WINDOW = 5;
31018
+ const hits = /* @__PURE__ */ new Map();
31019
+ /** Limits a visitor's submissions to one published form. */
31020
+ function consumePublicFormRateLimit(formToken, ip) {
31021
+ const key = `${formToken}:${ip}`;
31022
+ const now = Date.now();
31023
+ const entry = hits.get(key);
31024
+ if (!entry || now >= entry.resetAt) {
31025
+ hits.set(key, {
31026
+ count: 1,
31027
+ resetAt: now + WINDOW_MS
31028
+ });
31029
+ return true;
31030
+ }
31031
+ if (entry.count >= MAX_REQUESTS_PER_WINDOW) return false;
31032
+ entry.count += 1;
31033
+ return true;
31034
+ }
31035
+ //#endregion
31036
+ //#region src/routes/public/forms/submit/POST.ts
31037
+ function parseRunInput(requestSchema, input) {
31038
+ if (typeof z.fromJSONSchema === "function") return z.fromJSONSchema(requestSchema).parse(input ?? {});
31039
+ return z.record(z.string(), z.unknown()).parse(input ?? {});
31040
+ }
31041
+ function createHandler(promptCreditGate) {
31042
+ return async (c) => {
31043
+ const token = c.req.param("token")?.trim();
31044
+ if (!token) return c.json(ErrorResponseSchema.parse({ error: "Form not found" }), 404);
31045
+ const resolved = await resolvePublicWorkflowForm(token);
31046
+ if (!resolved) return c.json(ErrorResponseSchema.parse({ error: "Form not found" }), 404);
31047
+ if (!consumePublicFormRateLimit(token, clientIp(c))) return c.json(ErrorResponseSchema.parse({ error: "Too many requests" }), 429);
31048
+ const parsed = PublicFormSubmitBodySchema.safeParse(await c.req.json().catch(() => null));
31049
+ if (!parsed.success) {
31050
+ const message = parsed.error.issues[0]?.message ?? "Invalid request body";
31051
+ return c.json(ErrorResponseSchema.parse({ error: message }), 400);
31052
+ }
31053
+ if (parsed.data.website?.trim()) return c.json(PublicFormSubmitResponseSchema.parse({ ok: true }), 202);
31054
+ const { publishedForm, requestSchema, workflow } = resolved;
31055
+ if (promptCreditGate) try {
31056
+ const creditResult = await promptCreditGate(publishedForm.organization.id);
31057
+ if (!creditResult.allow) return c.json(ErrorResponseSchema.parse({
31058
+ error: creditResult.reason,
31059
+ message: "This workspace is out of credits. Add credits in billing settings to run workflows."
31060
+ }), 402);
31061
+ } catch (error) {
31062
+ console.error("[public-forms] prompt credit gate failed (allowing):", error);
31063
+ }
31064
+ const organization = await selectOrganizationById(publishedForm.organization.id);
31065
+ if (!organization) return c.json(ErrorResponseSchema.parse({ error: "Form not found" }), 404);
31066
+ try {
31067
+ await withProjectScope(publishedForm.project.id, async () => {
31068
+ const scheduler = await getProjectScheduler(organization, publishedForm.project.id);
31069
+ await enqueueWorkflowRunByKey({
31070
+ workflowKey: workflow.slug,
31071
+ input: parsed.data.values,
31072
+ jobQueue: scheduler,
31073
+ parseInput: (value) => parseRunInput(requestSchema, value)
31074
+ });
31075
+ });
31076
+ } catch (error) {
31077
+ if (error instanceof ZodError) return c.json(validationErrorResponse(error, "Invalid workflow input"), 400);
31078
+ throw error;
31079
+ }
31080
+ return c.json(PublicFormSubmitResponseSchema.parse({ ok: true }), 202);
31081
+ };
31082
+ }
31083
+ //#endregion
30953
31084
  //#region src/routes/well-known/oauth-client-metadata/GET.ts
30954
31085
  /** Public CIMD document for outbound MCP OAuth (no session required). */
30955
31086
  async function handler(c) {
@@ -30976,8 +31107,10 @@ async function createApp$1(auth, options) {
30976
31107
  },
30977
31108
  mountAccount: async (app) => {
30978
31109
  app.get(OAUTH_CLIENT_METADATA_PATH, handler);
30979
- app.post("/api/public/contact", handler$1);
30980
- app.get("/api/public/models", handler$2);
31110
+ app.post("/api/public/contact", handler$2);
31111
+ app.get("/api/public/models", handler$3);
31112
+ app.get("/api/public/forms/:token", handler$1);
31113
+ app.post("/api/public/forms/:token/submit", createHandler(options.promptCreditGate));
30981
31114
  app.route("/api", mountAccountRoutes({
30982
31115
  hosting: options.hosting,
30983
31116
  storage: options.storage,
@@ -31023,28 +31156,6 @@ function usesPgBossScheduler(platformConfig) {
31023
31156
  async function startPlatformServer(platformConfig, hooks = {}) {
31024
31157
  const runtime = platformConfig.hosting.createRuntime();
31025
31158
  await initDatabase();
31026
- migrateAllOrgSchemas({ tryLock: true }).then(async ({ organizationCount, migratedCount, failures, skipped }) => {
31027
- if (skipped) {
31028
- console.log("[platform] org schema migrate-all skipped (another machine holds the cluster lock)");
31029
- return;
31030
- }
31031
- console.log(`Applied org runtime migrations for ${migratedCount}/${organizationCount} organization(s).`);
31032
- for (const failure of failures) {
31033
- console.error(`[platform] org schema migration failed for ${failure.organizationId} (${failure.dbSchema})`, failure.error);
31034
- await captureException({
31035
- error: failure.error,
31036
- organizationId: failure.organizationId,
31037
- operation: "platform.migrate_org_schema",
31038
- properties: { db_schema: failure.dbSchema }
31039
- });
31040
- }
31041
- }).catch((error) => {
31042
- console.error("[platform] background org schema migrate-all failed", error);
31043
- captureException({
31044
- error,
31045
- operation: "platform.migrate_org_schema"
31046
- });
31047
- });
31048
31159
  await ensureKeystrokeAssetsBucket();
31049
31160
  await seedOAuthAppsFromEnvForAllOrganizations();
31050
31161
  if (usesPgBossScheduler(platformConfig)) await ensureProjectPgBossGrants();
@@ -31139,4 +31250,4 @@ async function startPlatformServer(platformConfig, hooks = {}) {
31139
31250
  //#endregion
31140
31251
  export { r1 as S, o as _, c as a, b$1 as b, a$1 as c, c$1 as d, r as f, e as g, u as h, n$1 as i, d$1 as l, b as m, n, p as o, r$1 as p, i as r, x as s, startPlatformServer as t, x$1 as u, r$3 as v, I1 as x, h as y };
31141
31252
 
31142
- //# sourceMappingURL=start-DAmqO4hu.mjs.map
31253
+ //# sourceMappingURL=start-7oMxob_7.mjs.map