@keystrokehq/platform 0.1.121 → 0.1.123

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 (310) hide show
  1. package/README.md +8 -0
  2. package/dist/{awk2-LA3USKJP-C_uJ9UTC.mjs → awk2-LA3USKJP-B0I2s5WK.mjs} +2 -2
  3. package/dist/{awk2-LA3USKJP-C_uJ9UTC.mjs.map → awk2-LA3USKJP-B0I2s5WK.mjs.map} +1 -1
  4. package/dist/{awk2-LA3USKJP-BW5gD7Ek.cjs → awk2-LA3USKJP-CW4ZfUmw.cjs} +2 -2
  5. package/dist/{awk2-LA3USKJP-BW5gD7Ek.cjs.map → awk2-LA3USKJP-CW4ZfUmw.cjs.map} +1 -1
  6. package/dist/{base64-C2AIWVNC-Dj_3ikno.mjs → base64-C2AIWVNC-DJIlIJyA.mjs} +2 -2
  7. package/dist/{base64-C2AIWVNC-Dj_3ikno.mjs.map → base64-C2AIWVNC-DJIlIJyA.mjs.map} +1 -1
  8. package/dist/{base64-C2AIWVNC-Deofn7Tz.cjs → base64-C2AIWVNC-lw60Mcqo.cjs} +2 -2
  9. package/dist/{base64-C2AIWVNC-Deofn7Tz.cjs.map → base64-C2AIWVNC-lw60Mcqo.cjs.map} +1 -1
  10. package/dist/{bash-YZ33HQZQ-DiCTIB0C.cjs → bash-YZ33HQZQ-XJpQyMat.cjs} +2 -2
  11. package/dist/{bash-YZ33HQZQ-DiCTIB0C.cjs.map → bash-YZ33HQZQ-XJpQyMat.cjs.map} +1 -1
  12. package/dist/{bash-YZ33HQZQ-0OgzIjsV.mjs → bash-YZ33HQZQ-luMyh6vQ.mjs} +2 -2
  13. package/dist/{bash-YZ33HQZQ-0OgzIjsV.mjs.map → bash-YZ33HQZQ-luMyh6vQ.mjs.map} +1 -1
  14. package/dist/{cat-TSFMZVYS-19ZMdpAq.mjs → cat-TSFMZVYS-EOSJ_gzj.mjs} +3 -3
  15. package/dist/{cat-TSFMZVYS-19ZMdpAq.mjs.map → cat-TSFMZVYS-EOSJ_gzj.mjs.map} +1 -1
  16. package/dist/{cat-TSFMZVYS-DPSpsOSF.cjs → cat-TSFMZVYS-il94pqXS.cjs} +3 -3
  17. package/dist/{cat-TSFMZVYS-DPSpsOSF.cjs.map → cat-TSFMZVYS-il94pqXS.cjs.map} +1 -1
  18. package/dist/{chunk-5H5SCKJM-mInR0aVw.cjs → chunk-5H5SCKJM-BtmZf7ka.cjs} +2 -2
  19. package/dist/{chunk-5H5SCKJM-mInR0aVw.cjs.map → chunk-5H5SCKJM-BtmZf7ka.cjs.map} +1 -1
  20. package/dist/{chunk-5H5SCKJM-DZPFrWS7.mjs → chunk-5H5SCKJM-CBAT1HYQ.mjs} +2 -2
  21. package/dist/{chunk-5H5SCKJM-DZPFrWS7.mjs.map → chunk-5H5SCKJM-CBAT1HYQ.mjs.map} +1 -1
  22. package/dist/{chunk-AQ6FYS2X-Z7TDlycS.mjs → chunk-AQ6FYS2X-B_Jft-TW.mjs} +2 -2
  23. package/dist/{chunk-AQ6FYS2X-Z7TDlycS.mjs.map → chunk-AQ6FYS2X-B_Jft-TW.mjs.map} +1 -1
  24. package/dist/{chunk-AQ6FYS2X-BSdtBwzs.cjs → chunk-AQ6FYS2X-DhgXJLMn.cjs} +2 -2
  25. package/dist/{chunk-AQ6FYS2X-BSdtBwzs.cjs.map → chunk-AQ6FYS2X-DhgXJLMn.cjs.map} +1 -1
  26. package/dist/{chunk-CHFEPBH4-34GTMZQg.cjs → chunk-CHFEPBH4-B-L9sswx.cjs} +2 -2
  27. package/dist/{chunk-CHFEPBH4-34GTMZQg.cjs.map → chunk-CHFEPBH4-B-L9sswx.cjs.map} +1 -1
  28. package/dist/{chunk-CHFEPBH4-CAH6NdaH.mjs → chunk-CHFEPBH4-BkpHkBUr.mjs} +2 -2
  29. package/dist/{chunk-CHFEPBH4-CAH6NdaH.mjs.map → chunk-CHFEPBH4-BkpHkBUr.mjs.map} +1 -1
  30. package/dist/{chunk-EBAPSGAO-mqIfq_c1.cjs → chunk-EBAPSGAO-DFzPRxjp.cjs} +2 -2
  31. package/dist/{chunk-EBAPSGAO-mqIfq_c1.cjs.map → chunk-EBAPSGAO-DFzPRxjp.cjs.map} +1 -1
  32. package/dist/{chunk-EBAPSGAO-DkISHjdI.mjs → chunk-EBAPSGAO-aR6d2BWb.mjs} +2 -2
  33. package/dist/{chunk-EBAPSGAO-DkISHjdI.mjs.map → chunk-EBAPSGAO-aR6d2BWb.mjs.map} +1 -1
  34. package/dist/{chunk-LEKBROJD-CSy2cC7R.mjs → chunk-LEKBROJD-BKyvDurm.mjs} +2 -2
  35. package/dist/{chunk-LEKBROJD-CSy2cC7R.mjs.map → chunk-LEKBROJD-BKyvDurm.mjs.map} +1 -1
  36. package/dist/{chunk-LEKBROJD-D44MqVtt.cjs → chunk-LEKBROJD-Crsi92sY.cjs} +2 -2
  37. package/dist/{chunk-LEKBROJD-D44MqVtt.cjs.map → chunk-LEKBROJD-Crsi92sY.cjs.map} +1 -1
  38. package/dist/{chunk-VPADYNBD-l5-X8hMy.mjs → chunk-VPADYNBD-BuTnWRxP.mjs} +2 -2
  39. package/dist/{chunk-VPADYNBD-l5-X8hMy.mjs.map → chunk-VPADYNBD-BuTnWRxP.mjs.map} +1 -1
  40. package/dist/{chunk-VPADYNBD-DNBSUueR.cjs → chunk-VPADYNBD-CmocuKR4.cjs} +2 -2
  41. package/dist/{chunk-VPADYNBD-DNBSUueR.cjs.map → chunk-VPADYNBD-CmocuKR4.cjs.map} +1 -1
  42. package/dist/{chunk-YCLFEX4T-uJ2V8d7w.mjs → chunk-YCLFEX4T-BAMxRKxL.mjs} +2 -2
  43. package/dist/{chunk-YCLFEX4T-uJ2V8d7w.mjs.map → chunk-YCLFEX4T-BAMxRKxL.mjs.map} +1 -1
  44. package/dist/{chunk-YCLFEX4T-CMZ-flBc.cjs → chunk-YCLFEX4T-DrGtmD8f.cjs} +2 -2
  45. package/dist/{chunk-YCLFEX4T-CMZ-flBc.cjs.map → chunk-YCLFEX4T-DrGtmD8f.cjs.map} +1 -1
  46. package/dist/{column-XT6UFXNQ-DqZnm5qa.cjs → column-XT6UFXNQ-DZqF4lN0.cjs} +2 -2
  47. package/dist/{column-XT6UFXNQ-DqZnm5qa.cjs.map → column-XT6UFXNQ-DZqF4lN0.cjs.map} +1 -1
  48. package/dist/{column-XT6UFXNQ-B8k4MbkY.mjs → column-XT6UFXNQ-j93nOJhW.mjs} +2 -2
  49. package/dist/{column-XT6UFXNQ-B8k4MbkY.mjs.map → column-XT6UFXNQ-j93nOJhW.mjs.map} +1 -1
  50. package/dist/{comm-VV2LDX2J-CR1wbzGf.cjs → comm-VV2LDX2J-BqgPJ18z.cjs} +2 -2
  51. package/dist/{comm-VV2LDX2J-CR1wbzGf.cjs.map → comm-VV2LDX2J-BqgPJ18z.cjs.map} +1 -1
  52. package/dist/{comm-VV2LDX2J-C3W7A-jn.mjs → comm-VV2LDX2J-Dsyf6e56.mjs} +2 -2
  53. package/dist/{comm-VV2LDX2J-C3W7A-jn.mjs.map → comm-VV2LDX2J-Dsyf6e56.mjs.map} +1 -1
  54. package/dist/config.cjs +2 -2
  55. package/dist/config.mjs +2 -2
  56. package/dist/{cp-BISAAS7A-CEFW3zU-.cjs → cp-BISAAS7A-B1fM76rM.cjs} +2 -2
  57. package/dist/{cp-BISAAS7A-CEFW3zU-.cjs.map → cp-BISAAS7A-B1fM76rM.cjs.map} +1 -1
  58. package/dist/{cp-BISAAS7A-aP1UYqJd.mjs → cp-BISAAS7A-QoODzq_y.mjs} +2 -2
  59. package/dist/{cp-BISAAS7A-aP1UYqJd.mjs.map → cp-BISAAS7A-QoODzq_y.mjs.map} +1 -1
  60. package/dist/{cut-OKARJCCV-DfCVAblN.mjs → cut-OKARJCCV-CuyLMhz8.mjs} +3 -3
  61. package/dist/{cut-OKARJCCV-DfCVAblN.mjs.map → cut-OKARJCCV-CuyLMhz8.mjs.map} +1 -1
  62. package/dist/{cut-OKARJCCV-YbUZRW2m.cjs → cut-OKARJCCV-w-pyqX5v.cjs} +3 -3
  63. package/dist/{cut-OKARJCCV-YbUZRW2m.cjs.map → cut-OKARJCCV-w-pyqX5v.cjs.map} +1 -1
  64. package/dist/{diff-MWJFIG7X-uzFU7vBr.cjs → diff-MWJFIG7X-4T0RgJTl.cjs} +2 -2
  65. package/dist/{diff-MWJFIG7X-uzFU7vBr.cjs.map → diff-MWJFIG7X-4T0RgJTl.cjs.map} +1 -1
  66. package/dist/{diff-MWJFIG7X-Db23ZFvu.mjs → diff-MWJFIG7X-DnU8lxvv.mjs} +2 -2
  67. package/dist/{diff-MWJFIG7X-Db23ZFvu.mjs.map → diff-MWJFIG7X-DnU8lxvv.mjs.map} +1 -1
  68. package/dist/{dist-B2lPLfrR.mjs → dist-BbcFUrLU.mjs} +75 -6
  69. package/dist/dist-BbcFUrLU.mjs.map +1 -0
  70. package/dist/{dist-CkBSbX2_.cjs → dist-BqavNK6G.cjs} +99 -6
  71. package/dist/dist-BqavNK6G.cjs.map +1 -0
  72. package/dist/{dist-QS2Dafen.cjs → dist-DBqXzrRX.cjs} +78 -4
  73. package/dist/dist-DBqXzrRX.cjs.map +1 -0
  74. package/dist/{dist-D_ICFiVc.mjs → dist-DCg7fFyO.mjs} +78 -4
  75. package/dist/dist-DCg7fFyO.mjs.map +1 -0
  76. package/dist/{du-572XNP42-CX6RDfLF.cjs → du-572XNP42-CY_xV18Z.cjs} +2 -2
  77. package/dist/{du-572XNP42-CX6RDfLF.cjs.map → du-572XNP42-CY_xV18Z.cjs.map} +1 -1
  78. package/dist/{du-572XNP42-B724WDI9.mjs → du-572XNP42-lB6Kzq8E.mjs} +2 -2
  79. package/dist/{du-572XNP42-B724WDI9.mjs.map → du-572XNP42-lB6Kzq8E.mjs.map} +1 -1
  80. package/dist/{env-36M5BO7M-okDipi6p.cjs → env-36M5BO7M-DNqd7E6I.cjs} +2 -2
  81. package/dist/{env-36M5BO7M-okDipi6p.cjs.map → env-36M5BO7M-DNqd7E6I.cjs.map} +1 -1
  82. package/dist/{env-36M5BO7M-BLMWIQAH.mjs → env-36M5BO7M-ESR8eI72.mjs} +2 -2
  83. package/dist/{env-36M5BO7M-BLMWIQAH.mjs.map → env-36M5BO7M-ESR8eI72.mjs.map} +1 -1
  84. package/dist/{expand-JSPG6VOP-BRdJhhzq.cjs → expand-JSPG6VOP-CAjx2zOr.cjs} +2 -2
  85. package/dist/{expand-JSPG6VOP-BRdJhhzq.cjs.map → expand-JSPG6VOP-CAjx2zOr.cjs.map} +1 -1
  86. package/dist/{expand-JSPG6VOP-DUj7F9Cu.mjs → expand-JSPG6VOP-x4oQXcDy.mjs} +2 -2
  87. package/dist/{expand-JSPG6VOP-DUj7F9Cu.mjs.map → expand-JSPG6VOP-x4oQXcDy.mjs.map} +1 -1
  88. package/dist/{expr-5JAACS4X-XEZLTHHs.cjs → expr-5JAACS4X-DdRWhhZD.cjs} +2 -2
  89. package/dist/{expr-5JAACS4X-XEZLTHHs.cjs.map → expr-5JAACS4X-DdRWhhZD.cjs.map} +1 -1
  90. package/dist/{expr-5JAACS4X-CfrWhuNY.mjs → expr-5JAACS4X-DoNrHw-x.mjs} +2 -2
  91. package/dist/{expr-5JAACS4X-CfrWhuNY.mjs.map → expr-5JAACS4X-DoNrHw-x.mjs.map} +1 -1
  92. package/dist/{find-INTH3OLC-CxFHfo_D.mjs → find-INTH3OLC-D7w3zTvw.mjs} +3 -3
  93. package/dist/{find-INTH3OLC-CxFHfo_D.mjs.map → find-INTH3OLC-D7w3zTvw.mjs.map} +1 -1
  94. package/dist/{find-INTH3OLC-ChUCh5M0.cjs → find-INTH3OLC-Duiv0ysU.cjs} +3 -3
  95. package/dist/{find-INTH3OLC-ChUCh5M0.cjs.map → find-INTH3OLC-Duiv0ysU.cjs.map} +1 -1
  96. package/dist/{fold-4TQNYMSW-D5LbDNK2.cjs → fold-4TQNYMSW-9vJYne9u.cjs} +2 -2
  97. package/dist/{fold-4TQNYMSW-D5LbDNK2.cjs.map → fold-4TQNYMSW-9vJYne9u.cjs.map} +1 -1
  98. package/dist/{fold-4TQNYMSW-B8TGVC7j.mjs → fold-4TQNYMSW-BhOfytEa.mjs} +2 -2
  99. package/dist/{fold-4TQNYMSW-B8TGVC7j.mjs.map → fold-4TQNYMSW-BhOfytEa.mjs.map} +1 -1
  100. package/dist/{grep-V3LQVMRQ-DN1wiZly.mjs → grep-V3LQVMRQ-B21nky3U.mjs} +4 -4
  101. package/dist/{grep-V3LQVMRQ-DN1wiZly.mjs.map → grep-V3LQVMRQ-B21nky3U.mjs.map} +1 -1
  102. package/dist/{grep-V3LQVMRQ-WVUeOxin.cjs → grep-V3LQVMRQ-a4ALkWEs.cjs} +4 -4
  103. package/dist/{grep-V3LQVMRQ-WVUeOxin.cjs.map → grep-V3LQVMRQ-a4ALkWEs.cjs.map} +1 -1
  104. package/dist/{gzip-O5ASJAFY-C7v6CBdm.mjs → gzip-O5ASJAFY-TYcsb_J5.mjs} +2 -2
  105. package/dist/{gzip-O5ASJAFY-C7v6CBdm.mjs.map → gzip-O5ASJAFY-TYcsb_J5.mjs.map} +1 -1
  106. package/dist/{gzip-O5ASJAFY-DFGo8ssh.cjs → gzip-O5ASJAFY-w7v8_8Lw.cjs} +2 -2
  107. package/dist/{gzip-O5ASJAFY-DFGo8ssh.cjs.map → gzip-O5ASJAFY-w7v8_8Lw.cjs.map} +1 -1
  108. package/dist/{head-442HYESI-DYhCEt04.mjs → head-442HYESI-BHKs27wD.mjs} +2 -2
  109. package/dist/{head-442HYESI-DYhCEt04.mjs.map → head-442HYESI-BHKs27wD.mjs.map} +1 -1
  110. package/dist/{head-442HYESI-oqGD9fkS.cjs → head-442HYESI-Dk-aZxLY.cjs} +2 -2
  111. package/dist/{head-442HYESI-oqGD9fkS.cjs.map → head-442HYESI-Dk-aZxLY.cjs.map} +1 -1
  112. package/dist/{help-HZ6M2CKN-CQnNa3uh.cjs → help-HZ6M2CKN-BDjDl95L.cjs} +2 -2
  113. package/dist/{help-HZ6M2CKN-CQnNa3uh.cjs.map → help-HZ6M2CKN-BDjDl95L.cjs.map} +1 -1
  114. package/dist/{help-HZ6M2CKN-WHmZpsJe.mjs → help-HZ6M2CKN-NJxruCvX.mjs} +2 -2
  115. package/dist/{help-HZ6M2CKN-WHmZpsJe.mjs.map → help-HZ6M2CKN-NJxruCvX.mjs.map} +1 -1
  116. package/dist/{html-to-markdown-JW4MSQZO-BRaey0zy.cjs → html-to-markdown-JW4MSQZO-DhwShT4r.cjs} +3 -3
  117. package/dist/{html-to-markdown-JW4MSQZO-BRaey0zy.cjs.map → html-to-markdown-JW4MSQZO-DhwShT4r.cjs.map} +1 -1
  118. package/dist/{html-to-markdown-JW4MSQZO-CezmhFZv.mjs → html-to-markdown-JW4MSQZO-Dxn3G_u0.mjs} +3 -3
  119. package/dist/{html-to-markdown-JW4MSQZO-CezmhFZv.mjs.map → html-to-markdown-JW4MSQZO-Dxn3G_u0.mjs.map} +1 -1
  120. package/dist/internal.cjs +1 -1
  121. package/dist/internal.mjs +1 -1
  122. package/dist/{join-TBRGI3LQ-DGC98Vff.cjs → join-TBRGI3LQ-BOrN6o91.cjs} +2 -2
  123. package/dist/{join-TBRGI3LQ-DGC98Vff.cjs.map → join-TBRGI3LQ-BOrN6o91.cjs.map} +1 -1
  124. package/dist/{join-TBRGI3LQ-DavcUkrI.mjs → join-TBRGI3LQ-Detqm78p.mjs} +2 -2
  125. package/dist/{join-TBRGI3LQ-DavcUkrI.mjs.map → join-TBRGI3LQ-Detqm78p.mjs.map} +1 -1
  126. package/dist/{jq-4XLYLOS5-DwHcJv8h.cjs → jq-4XLYLOS5-D1rW-r_t.cjs} +4 -4
  127. package/dist/{jq-4XLYLOS5-DwHcJv8h.cjs.map → jq-4XLYLOS5-D1rW-r_t.cjs.map} +1 -1
  128. package/dist/{jq-4XLYLOS5-BIRMGhL2.mjs → jq-4XLYLOS5-D3Hv5NPh.mjs} +4 -4
  129. package/dist/{jq-4XLYLOS5-BIRMGhL2.mjs.map → jq-4XLYLOS5-D3Hv5NPh.mjs.map} +1 -1
  130. package/dist/{js-exec-N5KEZBH7-BfEgJ3O-.cjs → js-exec-N5KEZBH7-DdUI6ysR.cjs} +3 -3
  131. package/dist/{js-exec-N5KEZBH7-BfEgJ3O-.cjs.map → js-exec-N5KEZBH7-DdUI6ysR.cjs.map} +1 -1
  132. package/dist/{js-exec-N5KEZBH7-CENniwUd.mjs → js-exec-N5KEZBH7-IeT7kUb4.mjs} +3 -3
  133. package/dist/{js-exec-N5KEZBH7-CENniwUd.mjs.map → js-exec-N5KEZBH7-IeT7kUb4.mjs.map} +1 -1
  134. package/dist/{lib-s1Tq9Ck6.cjs → lib-CWnMkTds.cjs} +2 -2
  135. package/dist/{lib-s1Tq9Ck6.cjs.map → lib-CWnMkTds.cjs.map} +1 -1
  136. package/dist/{lib-r4uXvKzY.mjs → lib-IvUaxE_n.mjs} +2 -2
  137. package/dist/{lib-r4uXvKzY.mjs.map → lib-IvUaxE_n.mjs.map} +1 -1
  138. package/dist/{ln-4LGSXXGD-C2-zvnH-.cjs → ln-4LGSXXGD-C_nCll5M.cjs} +2 -2
  139. package/dist/{ln-4LGSXXGD-C2-zvnH-.cjs.map → ln-4LGSXXGD-C_nCll5M.cjs.map} +1 -1
  140. package/dist/{ln-4LGSXXGD-Bm1sddvE.mjs → ln-4LGSXXGD-QwxdpvJS.mjs} +2 -2
  141. package/dist/{ln-4LGSXXGD-Bm1sddvE.mjs.map → ln-4LGSXXGD-QwxdpvJS.mjs.map} +1 -1
  142. package/dist/{ls-ZJGQER7M-Kk7mhuiM.cjs → ls-ZJGQER7M-2SPXYvOJ.cjs} +2 -2
  143. package/dist/{ls-ZJGQER7M-Kk7mhuiM.cjs.map → ls-ZJGQER7M-2SPXYvOJ.cjs.map} +1 -1
  144. package/dist/{ls-ZJGQER7M-EzhpSJMB.mjs → ls-ZJGQER7M-fzilJj5j.mjs} +2 -2
  145. package/dist/{ls-ZJGQER7M-EzhpSJMB.mjs.map → ls-ZJGQER7M-fzilJj5j.mjs.map} +1 -1
  146. package/dist/{lzma-Bss45nA5.cjs → lzma-DIkV1Qwz.cjs} +2 -2
  147. package/dist/{lzma-Bss45nA5.cjs.map → lzma-DIkV1Qwz.cjs.map} +1 -1
  148. package/dist/{md5sum-SPU24VSG-DpKxsaMc.cjs → md5sum-SPU24VSG-B9UPOmq7.cjs} +3 -3
  149. package/dist/{md5sum-SPU24VSG-DpKxsaMc.cjs.map → md5sum-SPU24VSG-B9UPOmq7.cjs.map} +1 -1
  150. package/dist/{md5sum-SPU24VSG-DuY3W47X.mjs → md5sum-SPU24VSG-CPMIT1Bm.mjs} +3 -3
  151. package/dist/{md5sum-SPU24VSG-DuY3W47X.mjs.map → md5sum-SPU24VSG-CPMIT1Bm.mjs.map} +1 -1
  152. package/dist/{mkdir-MEPGZOB6-B54I-co9.mjs → mkdir-MEPGZOB6-0RKW2lRs.mjs} +2 -2
  153. package/dist/{mkdir-MEPGZOB6-B54I-co9.mjs.map → mkdir-MEPGZOB6-0RKW2lRs.mjs.map} +1 -1
  154. package/dist/{mkdir-MEPGZOB6-CQG6PmsH.cjs → mkdir-MEPGZOB6-DXXYi16-.cjs} +2 -2
  155. package/dist/{mkdir-MEPGZOB6-CQG6PmsH.cjs.map → mkdir-MEPGZOB6-DXXYi16-.cjs.map} +1 -1
  156. package/dist/{mv-W5BIQ646-W82Guf5l.cjs → mv-W5BIQ646-BC8w4OGn.cjs} +2 -2
  157. package/dist/{mv-W5BIQ646-W82Guf5l.cjs.map → mv-W5BIQ646-BC8w4OGn.cjs.map} +1 -1
  158. package/dist/{mv-W5BIQ646-BOGImyXG.mjs → mv-W5BIQ646-YdlzzXCv.mjs} +2 -2
  159. package/dist/{mv-W5BIQ646-BOGImyXG.mjs.map → mv-W5BIQ646-YdlzzXCv.mjs.map} +1 -1
  160. package/dist/{nl-WSDW7I4O-C5Tn3qyh.mjs → nl-WSDW7I4O-A0T6QLHV.mjs} +2 -2
  161. package/dist/{nl-WSDW7I4O-C5Tn3qyh.mjs.map → nl-WSDW7I4O-A0T6QLHV.mjs.map} +1 -1
  162. package/dist/{nl-WSDW7I4O-DHCupEKS.cjs → nl-WSDW7I4O-BKXSseFP.cjs} +2 -2
  163. package/dist/{nl-WSDW7I4O-DHCupEKS.cjs.map → nl-WSDW7I4O-BKXSseFP.cjs.map} +1 -1
  164. package/dist/{od-WOKFDJTP-CQQETIge.cjs → od-WOKFDJTP-CSXVq9ia.cjs} +2 -2
  165. package/dist/{od-WOKFDJTP-CQQETIge.cjs.map → od-WOKFDJTP-CSXVq9ia.cjs.map} +1 -1
  166. package/dist/{od-WOKFDJTP-Dhall4HD.mjs → od-WOKFDJTP-KJiVwF6Z.mjs} +2 -2
  167. package/dist/{od-WOKFDJTP-Dhall4HD.mjs.map → od-WOKFDJTP-KJiVwF6Z.mjs.map} +1 -1
  168. package/dist/{paste-7JC6S4DX-DRUvmKbL.cjs → paste-7JC6S4DX-D3CVNBlz.cjs} +2 -2
  169. package/dist/{paste-7JC6S4DX-DRUvmKbL.cjs.map → paste-7JC6S4DX-D3CVNBlz.cjs.map} +1 -1
  170. package/dist/{paste-7JC6S4DX-CQu-heii.mjs → paste-7JC6S4DX-DyGi5wYF.mjs} +2 -2
  171. package/dist/{paste-7JC6S4DX-CQu-heii.mjs.map → paste-7JC6S4DX-DyGi5wYF.mjs.map} +1 -1
  172. package/dist/{printf-TWGXF445-BL70_Mu8.cjs → printf-TWGXF445-BKfQlbL9.cjs} +3 -3
  173. package/dist/{printf-TWGXF445-BL70_Mu8.cjs.map → printf-TWGXF445-BKfQlbL9.cjs.map} +1 -1
  174. package/dist/{printf-TWGXF445-Dt9gKujx.mjs → printf-TWGXF445-r3qhlsv5.mjs} +3 -3
  175. package/dist/{printf-TWGXF445-Dt9gKujx.mjs.map → printf-TWGXF445-r3qhlsv5.mjs.map} +1 -1
  176. package/dist/{python3-POMOR4OA-CudEUuqu.mjs → python3-POMOR4OA-A_1Rtauo.mjs} +3 -3
  177. package/dist/{python3-POMOR4OA-CudEUuqu.mjs.map → python3-POMOR4OA-A_1Rtauo.mjs.map} +1 -1
  178. package/dist/{python3-POMOR4OA-k99Mukqm.cjs → python3-POMOR4OA-Dn2QuNCR.cjs} +3 -3
  179. package/dist/{python3-POMOR4OA-k99Mukqm.cjs.map → python3-POMOR4OA-Dn2QuNCR.cjs.map} +1 -1
  180. package/dist/{rev-5EHFX4EJ-BncrTaPe.cjs → rev-5EHFX4EJ-BvsRq0Ut.cjs} +2 -2
  181. package/dist/{rev-5EHFX4EJ-BncrTaPe.cjs.map → rev-5EHFX4EJ-BvsRq0Ut.cjs.map} +1 -1
  182. package/dist/{rev-5EHFX4EJ-Da-_OtYp.mjs → rev-5EHFX4EJ-qcwp1b76.mjs} +2 -2
  183. package/dist/{rev-5EHFX4EJ-Da-_OtYp.mjs.map → rev-5EHFX4EJ-qcwp1b76.mjs.map} +1 -1
  184. package/dist/{rg-S4FXYXWB-DpNsd4K9.mjs → rg-S4FXYXWB-B0WvYOCl.mjs} +3 -3
  185. package/dist/{rg-S4FXYXWB-DpNsd4K9.mjs.map → rg-S4FXYXWB-B0WvYOCl.mjs.map} +1 -1
  186. package/dist/{rg-S4FXYXWB-k-o32NUm.cjs → rg-S4FXYXWB-BQiwshYf.cjs} +3 -3
  187. package/dist/{rg-S4FXYXWB-k-o32NUm.cjs.map → rg-S4FXYXWB-BQiwshYf.cjs.map} +1 -1
  188. package/dist/{rm-SSGETQVQ-BdEQdiqA.cjs → rm-SSGETQVQ-A9H9diLP.cjs} +2 -2
  189. package/dist/{rm-SSGETQVQ-BdEQdiqA.cjs.map → rm-SSGETQVQ-A9H9diLP.cjs.map} +1 -1
  190. package/dist/{rm-SSGETQVQ-D3OzLKaR.mjs → rm-SSGETQVQ-BvdJ3-kd.mjs} +2 -2
  191. package/dist/{rm-SSGETQVQ-D3OzLKaR.mjs.map → rm-SSGETQVQ-BvdJ3-kd.mjs.map} +1 -1
  192. package/dist/{rmdir-OC4ZLPYA-Vs8pjIJ4.mjs → rmdir-OC4ZLPYA-B4-LzLc2.mjs} +2 -2
  193. package/dist/{rmdir-OC4ZLPYA-Vs8pjIJ4.mjs.map → rmdir-OC4ZLPYA-B4-LzLc2.mjs.map} +1 -1
  194. package/dist/{rmdir-OC4ZLPYA-CwNexp-K.cjs → rmdir-OC4ZLPYA-DVNZyP3E.cjs} +2 -2
  195. package/dist/{rmdir-OC4ZLPYA-CwNexp-K.cjs.map → rmdir-OC4ZLPYA-DVNZyP3E.cjs.map} +1 -1
  196. package/dist/run.cjs +1 -1
  197. package/dist/run.mjs +1 -1
  198. package/dist/{sed-S5UIK574-CmYMd5gV.cjs → sed-S5UIK574-ZRrZ1_cy.cjs} +2 -2
  199. package/dist/{sed-S5UIK574-CmYMd5gV.cjs.map → sed-S5UIK574-ZRrZ1_cy.cjs.map} +1 -1
  200. package/dist/{sed-S5UIK574-DyJHugnM.mjs → sed-S5UIK574-tv8TCVhp.mjs} +2 -2
  201. package/dist/{sed-S5UIK574-DyJHugnM.mjs.map → sed-S5UIK574-tv8TCVhp.mjs.map} +1 -1
  202. package/dist/{sha1sum-2PTOAFR6-BNMNnH4a.mjs → sha1sum-2PTOAFR6-B_oiePQj.mjs} +3 -3
  203. package/dist/{sha1sum-2PTOAFR6-BNMNnH4a.mjs.map → sha1sum-2PTOAFR6-B_oiePQj.mjs.map} +1 -1
  204. package/dist/{sha1sum-2PTOAFR6-CHkmBbuF.cjs → sha1sum-2PTOAFR6-XZkP6nt7.cjs} +3 -3
  205. package/dist/{sha1sum-2PTOAFR6-CHkmBbuF.cjs.map → sha1sum-2PTOAFR6-XZkP6nt7.cjs.map} +1 -1
  206. package/dist/{sha256sum-NS7D3IXX-DCiObRGK.mjs → sha256sum-NS7D3IXX-DEmVydlk.mjs} +3 -3
  207. package/dist/{sha256sum-NS7D3IXX-DCiObRGK.mjs.map → sha256sum-NS7D3IXX-DEmVydlk.mjs.map} +1 -1
  208. package/dist/{sha256sum-NS7D3IXX-D8Ows_EQ.cjs → sha256sum-NS7D3IXX-DnC_PGjQ.cjs} +3 -3
  209. package/dist/{sha256sum-NS7D3IXX-D8Ows_EQ.cjs.map → sha256sum-NS7D3IXX-DnC_PGjQ.cjs.map} +1 -1
  210. package/dist/{sleep-X22JJINO-DCiATAgx.mjs → sleep-X22JJINO-BXynmGAQ.mjs} +2 -2
  211. package/dist/{sleep-X22JJINO-DCiATAgx.mjs.map → sleep-X22JJINO-BXynmGAQ.mjs.map} +1 -1
  212. package/dist/{sleep-X22JJINO-DgywhtkX.cjs → sleep-X22JJINO-Ch8K7jyv.cjs} +2 -2
  213. package/dist/{sleep-X22JJINO-DgywhtkX.cjs.map → sleep-X22JJINO-Ch8K7jyv.cjs.map} +1 -1
  214. package/dist/{sort-SW2YEO5B-BIld1500.mjs → sort-SW2YEO5B-BaVI4IMc.mjs} +3 -3
  215. package/dist/{sort-SW2YEO5B-BIld1500.mjs.map → sort-SW2YEO5B-BaVI4IMc.mjs.map} +1 -1
  216. package/dist/{sort-SW2YEO5B-K29bZEkt.cjs → sort-SW2YEO5B-DsecUzWJ.cjs} +3 -3
  217. package/dist/{sort-SW2YEO5B-K29bZEkt.cjs.map → sort-SW2YEO5B-DsecUzWJ.cjs.map} +1 -1
  218. package/dist/{split-4KKZZXXE-C682TL18.mjs → split-4KKZZXXE-BfB9q-OP.mjs} +2 -2
  219. package/dist/{split-4KKZZXXE-C682TL18.mjs.map → split-4KKZZXXE-BfB9q-OP.mjs.map} +1 -1
  220. package/dist/{split-4KKZZXXE-C2sHnk6E.cjs → split-4KKZZXXE-DuVoFksv.cjs} +2 -2
  221. package/dist/{split-4KKZZXXE-C2sHnk6E.cjs.map → split-4KKZZXXE-DuVoFksv.cjs.map} +1 -1
  222. package/dist/{sqlite3-CGOEFJAO-Dh0oqw-k.cjs → sqlite3-CGOEFJAO-B3darddO.cjs} +3 -3
  223. package/dist/{sqlite3-CGOEFJAO-Dh0oqw-k.cjs.map → sqlite3-CGOEFJAO-B3darddO.cjs.map} +1 -1
  224. package/dist/{sqlite3-CGOEFJAO-BCIPkSxm.mjs → sqlite3-CGOEFJAO-C8O67MY7.mjs} +3 -3
  225. package/dist/{sqlite3-CGOEFJAO-BCIPkSxm.mjs.map → sqlite3-CGOEFJAO-C8O67MY7.mjs.map} +1 -1
  226. package/dist/{start-C8A5Y1es.mjs → start-B3sE8bjc.mjs} +463 -292
  227. package/dist/start-B3sE8bjc.mjs.map +1 -0
  228. package/dist/{start-DcC-zxF1.cjs → start-CvNWHkwA.cjs} +462 -291
  229. package/dist/start-CvNWHkwA.cjs.map +1 -0
  230. package/dist/start.cjs +1 -1
  231. package/dist/start.mjs +1 -1
  232. package/dist/{strings-6WDHLGMX-DfgljZYU.mjs → strings-6WDHLGMX-C2Nuw6WT.mjs} +2 -2
  233. package/dist/{strings-6WDHLGMX-DfgljZYU.mjs.map → strings-6WDHLGMX-C2Nuw6WT.mjs.map} +1 -1
  234. package/dist/{strings-6WDHLGMX-DljwAIWz.cjs → strings-6WDHLGMX-CgtErQkB.cjs} +2 -2
  235. package/dist/{strings-6WDHLGMX-DljwAIWz.cjs.map → strings-6WDHLGMX-CgtErQkB.cjs.map} +1 -1
  236. package/dist/{tac-2STMMJYW-B3AcXTdf.mjs → tac-2STMMJYW-CwL11Mhc.mjs} +2 -2
  237. package/dist/{tac-2STMMJYW-B3AcXTdf.mjs.map → tac-2STMMJYW-CwL11Mhc.mjs.map} +1 -1
  238. package/dist/{tac-2STMMJYW-BnVw01dK.cjs → tac-2STMMJYW-r_2LJAA8.cjs} +2 -2
  239. package/dist/{tac-2STMMJYW-BnVw01dK.cjs.map → tac-2STMMJYW-r_2LJAA8.cjs.map} +1 -1
  240. package/dist/{tail-R4PCA2C4-8A3op41b.cjs → tail-R4PCA2C4-BS_pF2B-.cjs} +2 -2
  241. package/dist/{tail-R4PCA2C4-8A3op41b.cjs.map → tail-R4PCA2C4-BS_pF2B-.cjs.map} +1 -1
  242. package/dist/{tail-R4PCA2C4-BrONSl6R.mjs → tail-R4PCA2C4-mxBFiByP.mjs} +2 -2
  243. package/dist/{tail-R4PCA2C4-BrONSl6R.mjs.map → tail-R4PCA2C4-mxBFiByP.mjs.map} +1 -1
  244. package/dist/{tar-STHHZTZ6-DIkfQzE0.cjs → tar-STHHZTZ6-A4iJTjR5.cjs} +5 -5
  245. package/dist/{tar-STHHZTZ6-DIkfQzE0.cjs.map → tar-STHHZTZ6-A4iJTjR5.cjs.map} +1 -1
  246. package/dist/{tar-STHHZTZ6-BAXlUOR5.mjs → tar-STHHZTZ6-hlJ3WqnQ.mjs} +4 -4
  247. package/dist/{tar-STHHZTZ6-BAXlUOR5.mjs.map → tar-STHHZTZ6-hlJ3WqnQ.mjs.map} +1 -1
  248. package/dist/{tee-YUZ2FKCJ-DBlSS73M.mjs → tee-YUZ2FKCJ-C3CDSTkz.mjs} +2 -2
  249. package/dist/{tee-YUZ2FKCJ-DBlSS73M.mjs.map → tee-YUZ2FKCJ-C3CDSTkz.mjs.map} +1 -1
  250. package/dist/{tee-YUZ2FKCJ-BkwF9rxX.cjs → tee-YUZ2FKCJ-bPzE5SDX.cjs} +2 -2
  251. package/dist/{tee-YUZ2FKCJ-BkwF9rxX.cjs.map → tee-YUZ2FKCJ-bPzE5SDX.cjs.map} +1 -1
  252. package/dist/{time-D4LNBSWX-7MVmAtQo.mjs → time-D4LNBSWX-CKKOkAsd.mjs} +2 -2
  253. package/dist/{time-D4LNBSWX-7MVmAtQo.mjs.map → time-D4LNBSWX-CKKOkAsd.mjs.map} +1 -1
  254. package/dist/{time-D4LNBSWX-alYfSUdv.cjs → time-D4LNBSWX-CNeNuqrL.cjs} +2 -2
  255. package/dist/{time-D4LNBSWX-alYfSUdv.cjs.map → time-D4LNBSWX-CNeNuqrL.cjs.map} +1 -1
  256. package/dist/{timeout-YDCRSLPQ-D7uw71ZK.cjs → timeout-YDCRSLPQ-BRpWJOuw.cjs} +2 -2
  257. package/dist/{timeout-YDCRSLPQ-D7uw71ZK.cjs.map → timeout-YDCRSLPQ-BRpWJOuw.cjs.map} +1 -1
  258. package/dist/{timeout-YDCRSLPQ-V4Gc33PA.mjs → timeout-YDCRSLPQ-K6Njm0v3.mjs} +2 -2
  259. package/dist/{timeout-YDCRSLPQ-V4Gc33PA.mjs.map → timeout-YDCRSLPQ-K6Njm0v3.mjs.map} +1 -1
  260. package/dist/{touch-UA33VN3N-rmsOL84Q.cjs → touch-UA33VN3N-BVvQHPN0.cjs} +2 -2
  261. package/dist/{touch-UA33VN3N-rmsOL84Q.cjs.map → touch-UA33VN3N-BVvQHPN0.cjs.map} +1 -1
  262. package/dist/{touch-UA33VN3N-BvdCDNvh.mjs → touch-UA33VN3N-Dotlnikw.mjs} +2 -2
  263. package/dist/{touch-UA33VN3N-BvdCDNvh.mjs.map → touch-UA33VN3N-Dotlnikw.mjs.map} +1 -1
  264. package/dist/{tr-36LHWFRQ-DQL-CWbQ.mjs → tr-36LHWFRQ-CmAcddQN.mjs} +2 -2
  265. package/dist/{tr-36LHWFRQ-DQL-CWbQ.mjs.map → tr-36LHWFRQ-CmAcddQN.mjs.map} +1 -1
  266. package/dist/{tr-36LHWFRQ-D672NK0o.cjs → tr-36LHWFRQ-D2Jm53vt.cjs} +2 -2
  267. package/dist/{tr-36LHWFRQ-D672NK0o.cjs.map → tr-36LHWFRQ-D2Jm53vt.cjs.map} +1 -1
  268. package/dist/{tree-YLD52CNT-B9MlNWhD.cjs → tree-YLD52CNT-C3RULkH4.cjs} +2 -2
  269. package/dist/{tree-YLD52CNT-B9MlNWhD.cjs.map → tree-YLD52CNT-C3RULkH4.cjs.map} +1 -1
  270. package/dist/{tree-YLD52CNT-LmR2Tdyi.mjs → tree-YLD52CNT-CyZ9gID6.mjs} +2 -2
  271. package/dist/{tree-YLD52CNT-LmR2Tdyi.mjs.map → tree-YLD52CNT-CyZ9gID6.mjs.map} +1 -1
  272. package/dist/{unexpand-CADSA4VO-BlcDiLij.mjs → unexpand-CADSA4VO-C7s1nWRV.mjs} +2 -2
  273. package/dist/{unexpand-CADSA4VO-BlcDiLij.mjs.map → unexpand-CADSA4VO-C7s1nWRV.mjs.map} +1 -1
  274. package/dist/{unexpand-CADSA4VO-DHAAlelL.cjs → unexpand-CADSA4VO-Cg3kMDd4.cjs} +2 -2
  275. package/dist/{unexpand-CADSA4VO-DHAAlelL.cjs.map → unexpand-CADSA4VO-Cg3kMDd4.cjs.map} +1 -1
  276. package/dist/{uniq-XSIZR6PB-DEfJnyaW.cjs → uniq-XSIZR6PB-dPsExEhi.cjs} +3 -3
  277. package/dist/{uniq-XSIZR6PB-DEfJnyaW.cjs.map → uniq-XSIZR6PB-dPsExEhi.cjs.map} +1 -1
  278. package/dist/{uniq-XSIZR6PB-3tHE1GmH.mjs → uniq-XSIZR6PB-gvgCEeBQ.mjs} +3 -3
  279. package/dist/{uniq-XSIZR6PB-3tHE1GmH.mjs.map → uniq-XSIZR6PB-gvgCEeBQ.mjs.map} +1 -1
  280. package/dist/{wc-LF7NU4LA-DRj3yyc9.mjs → wc-LF7NU4LA-5fJsZ37R.mjs} +3 -3
  281. package/dist/{wc-LF7NU4LA-DRj3yyc9.mjs.map → wc-LF7NU4LA-5fJsZ37R.mjs.map} +1 -1
  282. package/dist/{wc-LF7NU4LA-DMBDVHsS.cjs → wc-LF7NU4LA-E5PFHjSK.cjs} +3 -3
  283. package/dist/{wc-LF7NU4LA-DMBDVHsS.cjs.map → wc-LF7NU4LA-E5PFHjSK.cjs.map} +1 -1
  284. package/dist/{with-project-scope-DkQ6P3hm.mjs → with-project-scope-CyJ2jypd.mjs} +2 -2
  285. package/dist/{with-project-scope-DkQ6P3hm.mjs.map → with-project-scope-CyJ2jypd.mjs.map} +1 -1
  286. package/dist/{with-project-scope-DtpKIH7m.cjs → with-project-scope-mT3JxjHG.cjs} +2 -2
  287. package/dist/{with-project-scope-DtpKIH7m.cjs.map → with-project-scope-mT3JxjHG.cjs.map} +1 -1
  288. package/dist/{xan-Y6WF3IRG-C6Rea9i5.cjs → xan-Y6WF3IRG-C5dCpQeC.cjs} +6 -6
  289. package/dist/{xan-Y6WF3IRG-C6Rea9i5.cjs.map → xan-Y6WF3IRG-C5dCpQeC.cjs.map} +1 -1
  290. package/dist/{xan-Y6WF3IRG-Bk9GoBFW.mjs → xan-Y6WF3IRG-x7xglQiG.mjs} +6 -6
  291. package/dist/{xan-Y6WF3IRG-Bk9GoBFW.mjs.map → xan-Y6WF3IRG-x7xglQiG.mjs.map} +1 -1
  292. package/dist/{xan-view-HDVKHFC2-D8wWmUlF.cjs → xan-view-HDVKHFC2-BJMQgSrv.cjs} +3 -3
  293. package/dist/{xan-view-HDVKHFC2-D8wWmUlF.cjs.map → xan-view-HDVKHFC2-BJMQgSrv.cjs.map} +1 -1
  294. package/dist/{xan-view-HDVKHFC2-DU4gFwCD.mjs → xan-view-HDVKHFC2-INEMSTjB.mjs} +3 -3
  295. package/dist/{xan-view-HDVKHFC2-DU4gFwCD.mjs.map → xan-view-HDVKHFC2-INEMSTjB.mjs.map} +1 -1
  296. package/dist/{xargs-MGZPH7AX-Bokgq8NQ.mjs → xargs-MGZPH7AX-6RyGvkuL.mjs} +2 -2
  297. package/dist/{xargs-MGZPH7AX-Bokgq8NQ.mjs.map → xargs-MGZPH7AX-6RyGvkuL.mjs.map} +1 -1
  298. package/dist/{xargs-MGZPH7AX-B_25UIWm.cjs → xargs-MGZPH7AX-E5UD1hra.cjs} +2 -2
  299. package/dist/{xargs-MGZPH7AX-B_25UIWm.cjs.map → xargs-MGZPH7AX-E5UD1hra.cjs.map} +1 -1
  300. package/dist/{yq-4QJW3EQG-BfnftBmC.cjs → yq-4QJW3EQG-D-1VaQsP.cjs} +3 -3
  301. package/dist/{yq-4QJW3EQG-BfnftBmC.cjs.map → yq-4QJW3EQG-D-1VaQsP.cjs.map} +1 -1
  302. package/dist/{yq-4QJW3EQG-D-gf6DFH.mjs → yq-4QJW3EQG-lZUtQEHq.mjs} +3 -3
  303. package/dist/{yq-4QJW3EQG-D-gf6DFH.mjs.map → yq-4QJW3EQG-lZUtQEHq.mjs.map} +1 -1
  304. package/package.json +1 -1
  305. package/dist/dist-B2lPLfrR.mjs.map +0 -1
  306. package/dist/dist-CkBSbX2_.cjs.map +0 -1
  307. package/dist/dist-D_ICFiVc.mjs.map +0 -1
  308. package/dist/dist-QS2Dafen.cjs.map +0 -1
  309. package/dist/start-C8A5Y1es.mjs.map +0 -1
  310. package/dist/start-DcC-zxF1.cjs.map +0 -1
@@ -1,8 +1,8 @@
1
- import { $ as ChannelPlatformSchema, $n as TemplateKindSchema, $r as mapProjectSettings, $t as ListProjectDeploymentsResponseSchema, A as decodeOAuthState, An as ProjectSlugAvailabilityResponseSchema, Ar as WorkspaceTriggerDetailSchema, At as GetTemplateResponseSchema, B as readCredentialInstanceSecret, Bn as SkillSummaryDetailResponseSchema, Br as deriveCredentialInstanceSlug, Bt as InviteProjectMembersResponseSchema, C as userAvatarStorageKey, Cn as PresignProjectSourceResponseSchema, Cr as WorkflowFormResponseSchema, Ct as ErrorResponseSchema, D as McpOAuthConnectError, Dn as ProjectResponseSchema, Dr as WorkflowSummaryDetailResponseSchema, Dt as GetAppCatalogEntryResponseSchema, E as cronPayloadSchema, En as ProjectReachabilityResponseSchema, Er as WorkflowRunInputsSchema, Et as FinalizeCustomAppLogoResponseSchema, F as isDiscoveryError, Fn as PublicModelsResponseSchema, Fr as WorkspaceWorkflowOverviewSchema, Ft as HistoryRunListQuerySchema, G as ActiveOrganizationResponseSchema, Gn as StartMcpOAuthConnectionInputSchema, Gr as jsonSchemaToWorkflowInputSchema, Gt as ListChannelPlatformsResponseSchema, H as setManagedServiceCredential, Hn as SkillSummarySchema, Hr as isAllowedChatAttachmentMediaType, Ht as ListAgentWorkspaceFilesResponseSchema, I as withCredentialAssignments, In as PublishedFormListResponseSchema, Ir as agentMemoryFileId, It as HistoryRunListResponseSchema, J as AgentSummaryListResponseSchema, Jn as SubmitMarketingContactRequestSchema, Jr as mapOrganizationMember, Jt as ListManagedServiceCredentialsResponseSchema, K as AgentMemoryFileSummarySchema, Kn as StartMcpOAuthConnectionResultSchema, Kr as listenPortFromPublicUrl, Kt as ListCredentialsPageQuerySchema, L as PublicHttpUrlError, Ln as PublishedFormSchema, Lr as agentWorkspaceFileId, Lt as InviteOrganizationMembersRequestSchema, M as discoverGraphqlApp, Mn as PublicFormMetadataSchema, Mr as WorkspaceTriggerListResponseSchema, Mt as GraphqlDiscoverResponseSchema, N as discoverMcpApp, Nn as PublicFormSubmitBodySchema, Nr as WorkspaceTriggerOverviewSchema, Nt as HistoryRunCancelResponseSchema, O as beginMcpOAuthConnect, On as ProjectSettingsResponseSchema, Or as WorkflowSummaryListResponseSchema, Ot as GetCredentialResponseSchema, P as discoverOpenApiApp, Pn as PublicFormSubmitResponseSchema, Pr as WorkspaceTriggerRunListResponseSchema, Pt as HistoryRunDetailResponseSchema, Q as AppSlugAvailabilityResponseSchema, Qn as TemplateFilesResponseSchema, Qr as mapProjectMember, Qt as ListOrganizationsResponseSchema, R as deleteCredentialInstanceSecret, Rn as RecentResourceListResponseSchema, Rr as buildCredentialInstanceLabel, Rt as InviteOrganizationMembersResponseSchema, S as publicKeystrokeAssetsObjectUrl, Sn as PresignProjectSourceRequestSchema, Sr as WorkflowCanvasSchema, St as DuplicateCredentialsResponseSchema, T as defaultSchedulerPlugin, Tn as PresignUserAvatarResponseSchema, Tr as WorkflowRunInputsPutBodySchema, Tt as FinalizeCustomAppLogoRequestSchema, U as ACTIVE_ORG_HEADER, Un as SlugAvailabilityQuerySchema, Ur as isHelloWorldTemplateSlug, Ut as ListApiKeysResponseSchema, V as setCredentialInstanceSecret, Vn as SkillSummaryListResponseSchema, Vr as displayCredentialAppName, Vt as ListAgentMemoryFilesResponseSchema, W as AcceptOrganizationInvitationResponseSchema, Wn as SlugAvailabilityResponseSchema, Wr as isLlmProviderSlug, Wt as ListAppsResponseSchema, X as AgentWorkspaceFileSummarySchema, Xn as SubmitTeamRequestRequestSchema, Xr as mapProjectArtifact, Xt as ListOrganizationMembersPageQuerySchema, Y as AgentSummarySchema, Yn as SubmitMarketingContactResponseSchema, Yr as mapProject, Yt as ListOrganizationInvitationsResponseSchema, Z as AppSlugAvailabilityQuerySchema, Zn as SubmitTeamRequestResponseSchema, Zr as mapProjectDeployment, Zt as ListOrganizationMembersPageResponseSchema, _ as loadProjectSourceFiles, _i as validationErrorResponse, _n as PresignChatAttachmentResponseSchema, _r as UserAvatarSchema, _t as DbProxyQueryRequestSchema, a as ensureKeystrokeAssetsBucket, ai as organizationSlugErrorCodeFromMessage, an as MICRO_CREDITS_PER_CREDIT, ar as UpdateCredentialRequestSchema, at as CreateCredentialsResponseSchema, b as projectArtifactKey, bn as PresignOrgLogoRequestSchema, br as WorkflowCanvasCredentialBindingsSchema, bt as DownloadActiveProjectSourceResponseSchema, c as isChatAttachmentStorageKey, ci as projectFileId, cn as McpDiscoverRequestSchema, cr as UpdateOrganizationMemberResponseSchema, ct as CreateOrganizationRequestSchema, d as isOrgLogoStorageKey, di as resolveUniqueCredentialInstanceLabel, dn as OpenApiDiscoverResponseSchema, dr as UpdateProjectMemberResponseSchema, dt as CreateProjectRequestSchema, ei as mapUserOrganization, en as ListProjectFilesResponseSchema, er as TriggerAttachmentUpdateRequestSchema, et as CompleteProjectArtifactResponseSchema, f as isStorageBucketNotFoundError, fi as schemaHasFileFields, fn as OrganizationSidebarBrandingPatchSchema, fr as UpdateProjectRequestSchema, ft as CreateProjectResponseSchema, g as keystrokeAssetsOrgLogoKeyFromPublicUrl, gi as validateWorkflowRunInputValues, gn as PresignChatAttachmentRequestSchema, gr as UserAvatarPatchSchema, gt as DEFAULT_WORKFLOW_OVERVIEW_MODEL, h as keystrokeAssetsAvatarKeyFromPublicUrl, hi as validateFormFieldConfig, hn as PROJECT_SLUG_TAKEN_MESSAGE, hr as UploadProjectSourceResponseSchema, ht as DEFAULT_WORKFLOW_CANVAS_MODEL, i as createAssetsStorageClient, ii as organizationInvitationAcceptPath, in as ListTemplatesResponseSchema, ir as TriggerRunListQuerySchema, it as CreateCredentialsRequestSchema, j as describeCredentialBindings, jn as ProjectSourceResourcesSchema, jr as WorkspaceTriggerFileSchema, jt as GraphqlDiscoverRequestSchema, k as completeMcpOAuthConnect, kn as ProjectSlugAvailabilityQuerySchema, kr as WorkflowSummarySchema, kt as GetCustomAppResponseSchema, l as isKeystrokeAssetsAvatarPublicUrl, li as resolveExternalPlatformOrigin, ln as McpDiscoverResponseSchema, lr as UpdateOrganizationRequestSchema, lt as CreateOrganizationResponseSchema, m as isUserAvatarStorageKey, mi as validateCredentialValueAgainstFields, mn as PLATFORM_RESOURCE_UNSUPPORTED_TEXT, mr as UploadProjectSourceManifestRequestSchema, mt as DEFAULT_TRIGGER_OVERVIEW_MODEL, n as appLogoStorageKey, ni as mergeUserPreferences, nn as ListProjectMetricsResponseSchema, nr as TriggerInvokeRequestSchema, nt as CreateApiKeyRequestSchema, o as extractRouteManifestFromArtifact, oi as parseAppSlug, on as ManagedServiceCredentialSchema, or as UpdateManagedServiceCredentialRequestSchema, ot as CreateCustomAppRequestSchema, p as isStorageNotFoundError$1, pi as schemaHasUnsupportedFormFields, pn as OrganizationSidebarBrandingSchema, pr as UpdateProjectSettingsRequestSchema, pt as DEFAULT_CLOUD_PLATFORM_ORIGIN, q as AgentSummaryDetailResponseSchema, qn as StoredProjectSourceManifestSchema, qr as mapOrganizationInvitation, qt as ListCredentialsPageResponseSchema, r as chatAttachmentStorageKey, ri as normalizeUserPreferences, rn as ListProjectsResponseSchema, rr as TriggerInvokeResponseSchema, rt as CreateApiKeyResponseSchema, s as isAppLogoStorageKey, si as parseStoredRouteManifest, sn as ManagedServiceKindSchema, sr as UpdateOrganizationMemberRequestSchema, st as CreateCustomAppResponseSchema, t as RouteManifestNotFoundError, ti as mcpEntityId, tn as ListProjectMembersResponseSchema, tr as TriggerInvokeInputsSchema, tt as ConnectManagedServiceCredentialRequestSchema, u as isKeystrokeAssetsOrgLogoPublicUrl, ui as resolvePublicFormFields, un as OpenApiDiscoverRequestSchema, ur as UpdateProjectMemberRequestSchema, ut as CreateProjectArtifactResponseSchema, vn as PresignCustomAppLogoRequestSchema, vr as UserPreferencesPatchSchema, vt as DeclineOrganizationInvitationResponseSchema, w as createJobQueue, wn as PresignUserAvatarRequestSchema, wr as WorkflowFormUpsertBodySchema, wt as FilePartSchema, x as projectSourceBlobKey, xn as PresignOrgLogoResponseSchema, xr as WorkflowCanvasRunSchema, xt as DuplicateCredentialRequestSchema, y as orgLogoStorageKey, yn as PresignCustomAppLogoResponseSchema, yr as UserPreferencesSchema, yt as DownloadActiveProjectArtifactResponseSchema, z as deleteManagedServiceCredential$1, zn as RecentResourceSchema, zr as chatAttachmentExtension, zt as InviteProjectMembersRequestSchema } from "./dist-B2lPLfrR.mjs";
2
- import { a as verifyOrgWorkerToken, i as pingProjectTarget, n as fetchDeployStatus, r as mintOrgWorkerToken } from "./dist-D_ICFiVc.mjs";
1
+ import { $ as AppSlugAvailabilityResponseSchema, $n as SubmitTeamRequestRequestSchema, $r as mapProject, $t as ListOrganizationsResponseSchema, A as decodeOAuthState, An as ProjectSlugAvailabilityQuerySchema, Ar as WorkflowSummaryDetailResponseSchema, At as GetCustomAppResponseSchema, B as readCredentialInstanceSecret, Bn as RecentResourceSchema, Br as agentWorkspaceFileId, Bt as InviteProjectMembersRequestSchema, C as userAvatarStorageKey, Cn as PresignProjectSourceRequestSchema, Cr as WorkflowCanvasCredentialBindingsSchema, Ct as DuplicateCredentialsResponseSchema, D as McpOAuthConnectError, Dn as ProjectReachabilityResponseSchema, Dr as WorkflowFormUpsertBodySchema, Dt as FinalizeCustomAppLogoResponseSchema, E as cronPayloadSchema, En as PresignUserAvatarResponseSchema, Er as WorkflowFormResponseSchema, Et as FinalizeCustomAppLogoRequestSchema, F as isDiscoveryError, Fn as PublicFormSubmitResponseSchema, Fr as WorkspaceTriggerListResponseSchema, Ft as HistoryRunDetailResponseSchema, G as AcceptOrganizationInvitationResponseSchema, Gn as SlugAvailabilityResponseSchema, Gr as displayCredentialAppName, Gt as ListAppsResponseSchema, H as setCredentialInstanceSecretValue, Hn as SkillSummaryListResponseSchema, Hr as chatAttachmentExtension, Ht as ListAgentMemoryFilesResponseSchema, I as withCredentialAssignments, In as PublicModelsResponseSchema, Ir as WorkspaceTriggerOverviewSchema, It as HistoryRunListQuerySchema, J as AgentSummaryDetailResponseSchema, Jn as StoredProjectSourceManifestSchema, Jr as isLlmProviderSlug, Jt as ListCredentialsPageResponseSchema, K as ActiveOrganizationResponseSchema, Kn as StartMcpOAuthConnectionInputSchema, Kr as isAllowedChatAttachmentMediaType, Kt as ListChannelPlatformsResponseSchema, L as PublicHttpUrlError, Ln as PublishedFormListResponseSchema, Lr as WorkspaceTriggerRunListResponseSchema, Lt as HistoryRunListResponseSchema, M as discoverGraphqlApp, Mn as ProjectSourceResourcesSchema, Mr as WorkflowSummarySchema, Mt as GraphqlDiscoverRequestSchema, N as discoverMcpApp, Nn as PublicFormMetadataSchema, Nr as WorkspaceTriggerDetailSchema, Nt as GraphqlDiscoverResponseSchema, O as beginMcpOAuthConnect, On as ProjectResponseSchema, Or as WorkflowRunInputsPutBodySchema, Ot as GetAppCatalogEntryResponseSchema, P as discoverOpenApiApp, Pn as PublicFormSubmitBodySchema, Pr as WorkspaceTriggerFileSchema, Pt as HistoryRunCancelResponseSchema, Q as AppSlugAvailabilityQuerySchema, Qn as SubmitMarketingContactResponseSchema, Qr as mapOrganizationMember, Qt as ListOrganizationMembersPageResponseSchema, R as deleteCredentialInstanceSecret, Rn as PublishedFormSchema, Rr as WorkspaceWorkflowOverviewSchema, Rt as InviteOrganizationMembersRequestSchema, S as publicKeystrokeAssetsObjectUrl, Sn as PresignOrgLogoResponseSchema, Sr as UserPreferencesSchema, St as DuplicateCredentialRequestSchema, T as defaultSchedulerPlugin, Tn as PresignUserAvatarRequestSchema, Tr as WorkflowCanvasSchema, Tt as FilePartSchema, U as setManagedServiceCredential, Un as SkillSummarySchema, Ur as credentialInputSchema, Ut as ListAgentWorkspaceFilesResponseSchema, V as setCredentialInstanceSecret, Vn as SkillSummaryDetailResponseSchema, Vr as buildCredentialInstanceLabel, Vt as InviteProjectMembersResponseSchema, W as ACTIVE_ORG_HEADER, Wn as SlugAvailabilityQuerySchema, Wr as deriveCredentialInstanceSlug, Wt as ListApiKeysResponseSchema, X as AgentSummarySchema, Xn as SubmitAgentFeedbackResponseSchema, Xr as listenPortFromPublicUrl, Xt as ListOrganizationInvitationsResponseSchema, Y as AgentSummaryListResponseSchema, Yn as SubmitAgentFeedbackRequestSchema, Yr as jsonSchemaToWorkflowInputSchema, Yt as ListManagedServiceCredentialsResponseSchema, Z as AgentWorkspaceFileSummarySchema, Zn as SubmitMarketingContactRequestSchema, Zr as mapOrganizationInvitation, Zt as ListOrganizationMembersPageQuerySchema, _ as loadProjectSourceFiles, _i as schemaHasUnsupportedFormFields, _n as PresignChatAttachmentRequestSchema, _r as UploadProjectSourceManifestRequestSchema, _t as DEFAULT_WORKFLOW_OVERVIEW_MODEL, a as ensureKeystrokeAssetsBucket, ai as mcpEntityId, an as ListTemplatesResponseSchema, ar as TriggerInvokeRequestSchema, at as CreateCredentialsRequestSchema, b as projectArtifactKey, bi as validateWorkflowRunInputValues, bn as PresignCustomAppLogoResponseSchema, br as UserAvatarSchema, bt as DownloadActiveProjectArtifactResponseSchema, c as isChatAttachmentStorageKey, ci as organizationInvitationAcceptPath, cn as ManagedServiceKindSchema, cr as UpdateCredentialRequestSchema, ct as CreateCustomAppResponseSchema, d as isOrgLogoStorageKey, di as parseStoredRouteManifest, dn as OpenApiDiscoverRequestSchema, dr as UpdateOrganizationMemberResponseSchema, dt as CreateProjectArtifactResponseSchema, ei as mapProjectArtifact, en as ListProjectDeploymentsResponseSchema, er as SubmitTeamRequestResponseSchema, et as ChannelPlatformSchema, f as isStorageBucketNotFoundError, fi as projectFileId, fn as OpenApiDiscoverResponseSchema, fr as UpdateOrganizationRequestSchema, ft as CreateProjectRequestSchema, g as keystrokeAssetsOrgLogoKeyFromPublicUrl, gi as schemaHasFileFields, gn as PROJECT_SLUG_TAKEN_MESSAGE, gr as UpdateProjectSettingsRequestSchema, gt as DEFAULT_WORKFLOW_CANVAS_MODEL, h as keystrokeAssetsAvatarKeyFromPublicUrl, hi as resolveUniqueCredentialInstanceLabel, hn as PLATFORM_RESOURCE_UNSUPPORTED_TEXT, hr as UpdateProjectRequestSchema, ht as DEFAULT_TRIGGER_OVERVIEW_MODEL, i as createAssetsStorageClient, ii as mapUserOrganization, in as ListProjectsResponseSchema, ir as TriggerInvokeInputsSchema, it as CreateApiKeyResponseSchema, j as describeCredentialBindings, jn as ProjectSlugAvailabilityResponseSchema, jr as WorkflowSummaryListResponseSchema, jt as GetTemplateResponseSchema, k as completeMcpOAuthConnect, kn as ProjectSettingsResponseSchema, kr as WorkflowRunInputsSchema, kt as GetCredentialResponseSchema, l as isKeystrokeAssetsAvatarPublicUrl, li as organizationSlugErrorCodeFromMessage, ln as McpDiscoverRequestSchema, lr as UpdateManagedServiceCredentialRequestSchema, lt as CreateOrganizationRequestSchema, m as isUserAvatarStorageKey, mi as resolvePublicFormFields, mn as OrganizationSidebarBrandingSchema, mr as UpdateProjectMemberResponseSchema, mt as DEFAULT_CLOUD_PLATFORM_ORIGIN, n as appLogoStorageKey, ni as mapProjectMember, nn as ListProjectMembersResponseSchema, nr as TemplateKindSchema, nt as ConnectManagedServiceCredentialRequestSchema, o as extractRouteManifestFromArtifact, oi as mergeUserPreferences, on as MICRO_CREDITS_PER_CREDIT, or as TriggerInvokeResponseSchema, ot as CreateCredentialsResponseSchema, p as isStorageNotFoundError$1, pi as resolveExternalPlatformOrigin, pn as OrganizationSidebarBrandingPatchSchema, pr as UpdateProjectMemberRequestSchema, pt as CreateProjectResponseSchema, q as AgentMemoryFileSummarySchema, qn as StartMcpOAuthConnectionResultSchema, qr as isHelloWorldTemplateSlug, qt as ListCredentialsPageQuerySchema, r as chatAttachmentStorageKey, ri as mapProjectSettings, rn as ListProjectMetricsResponseSchema, rr as TriggerAttachmentUpdateRequestSchema, rt as CreateApiKeyRequestSchema, s as isAppLogoStorageKey, si as normalizeUserPreferences, sn as ManagedServiceCredentialSchema, sr as TriggerRunListQuerySchema, st as CreateCustomAppRequestSchema, t as RouteManifestNotFoundError, ti as mapProjectDeployment, tn as ListProjectFilesResponseSchema, tr as TemplateFilesResponseSchema, tt as CompleteProjectArtifactResponseSchema, u as isKeystrokeAssetsOrgLogoPublicUrl, ui as parseAppSlug, un as McpDiscoverResponseSchema, ur as UpdateOrganizationMemberRequestSchema, ut as CreateOrganizationResponseSchema, vi as validateCredentialValueAgainstFields, vn as PresignChatAttachmentResponseSchema, vr as UploadProjectSourceResponseSchema, vt as DbProxyQueryRequestSchema, w as createJobQueue, wn as PresignProjectSourceResponseSchema, wr as WorkflowCanvasRunSchema, wt as ErrorResponseSchema, x as projectSourceBlobKey, xi as validationErrorResponse, xn as PresignOrgLogoRequestSchema, xr as UserPreferencesPatchSchema, xt as DownloadActiveProjectSourceResponseSchema, y as orgLogoStorageKey, yi as validateFormFieldConfig, yn as PresignCustomAppLogoRequestSchema, yr as UserAvatarPatchSchema, yt as DeclineOrganizationInvitationResponseSchema, z as deleteManagedServiceCredential$1, zn as RecentResourceListResponseSchema, zr as agentMemoryFileId, zt as InviteOrganizationMembersResponseSchema } from "./dist-BbcFUrLU.mjs";
2
+ import { a as verifyOrgWorkerToken, i as pingProjectTarget, n as fetchDeployStatus, r as mintOrgWorkerToken } from "./dist-DCg7fFyO.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-DkQ6P3hm.mjs";
5
+ import { n as readWorkerTokenFromRequest, r as requireWorkerToken, t as withProjectScope } from "./with-project-scope-CyJ2jypd.mjs";
6
6
  import { createRequire } from "node:module";
7
7
  import { createHash } from "node:crypto";
8
8
  import "node:fs/promises";
@@ -18,7 +18,7 @@ import { AUTH_API_PATH, createAuth, createDefaultAuthJwtVerifier, extractWebhook
18
18
  import { buildWebhookUrl, createCredentialMaterializeHandler, enqueueWebhookIngress, enqueueWorkflowRunByKey, extractWebhookRoutesFromManifest, formatIssuesDetail, matchWebhookPayload, seedOAuthAppsFromEnvForAllOrganizations, seedOAuthAppsFromEnvForOrganization, syncRegistryFromStoredManifest, webhookAttachmentSchemasFromStoredSource, withProjectId } from "@keystrokehq/runtime";
19
19
  import "node:url";
20
20
  import "typescript";
21
- import { createApp, externalPlatformOrigin, getProjectScheduler, platformWebhookOrigin, postPipelineSlackWebhook, postTeamSlackWebhook, resolveMcpEntityId } from "@keystrokehq/http";
21
+ import { createApp, externalPlatformOrigin, getProjectScheduler, platformWebhookOrigin, postAgentFeedbackSlackWebhook, postPipelineSlackWebhook, postTeamSlackWebhook, resolveMcpEntityId } from "@keystrokehq/http";
22
22
  import { Hono } from "hono";
23
23
  import "hono/http-exception";
24
24
  import "hono/route";
@@ -100,7 +100,7 @@ z.object({
100
100
  content: z.string().describe("Content to write to the file")
101
101
  });
102
102
  //#endregion
103
- //#region ../../packages/sandbox/dist/files-EBXCAi4v.mjs
103
+ //#region ../../packages/sandbox/dist/files-DHxVXA0l.mjs
104
104
  const SandboxModeSchema = z.enum(["in-process", "vm"]);
105
105
  const SandboxFileContentSchema = z.object({
106
106
  path: z.string(),
@@ -118,16 +118,74 @@ const SandboxFileSchema = z.object({
118
118
  const SandboxProjectFilesSchema = z.union([z.literal(true), z.string()]);
119
119
  /** Author-facing sandbox files: inline entries or a project file set. */
120
120
  const SandboxFilesInputSchema = z.union([z.array(SandboxFileSchema), SandboxProjectFilesSchema]);
121
+ const GITHUB_REPOSITORY_PATTERN = /^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/;
122
+ const SandboxGitUserSchema = z.object({
123
+ name: z.string().trim().min(1),
124
+ email: z.string().trim().min(1)
125
+ });
126
+ const SandboxGitCloneSchema = z.object({
127
+ repository: z.string().trim().min(1).regex(GITHUB_REPOSITORY_PATTERN, "repository must be \"owner/repo\""),
128
+ credential: z.string().trim().min(1),
129
+ branch: z.string().trim().min(1).optional(),
130
+ path: z.string().trim().min(1).optional()
131
+ });
132
+ const SandboxGitSchema = z.object({
133
+ clone: SandboxGitCloneSchema,
134
+ user: SandboxGitUserSchema.optional()
135
+ });
136
+ const SandboxEnvFnSchema = z.custom((value) => typeof value === "function", "env must be a function");
137
+ /** Author-facing first-session setup commands (`defineSandbox({ setup })`). */
138
+ const SandboxSetupSchema = z.array(z.string().trim().min(1)).min(1);
121
139
  z.object({
122
140
  key: z.string().optional(),
123
141
  /** Sandbox execution mode. Defaults to in-process when omitted. */
124
142
  mode: SandboxModeSchema.optional(),
125
- files: SandboxFilesInputSchema.optional()
143
+ files: SandboxFilesInputSchema.optional(),
144
+ credentials: z.array(credentialInputSchema).optional(),
145
+ env: SandboxEnvFnSchema.optional(),
146
+ git: SandboxGitSchema.optional(),
147
+ setup: SandboxSetupSchema.optional()
148
+ }).superRefine((value, ctx) => {
149
+ if ((value.credentials !== void 0 || value.env !== void 0 || value.git !== void 0 || value.setup !== void 0) && value.mode !== "vm") ctx.addIssue({
150
+ code: "custom",
151
+ message: "sandbox credentials, env, git, and setup require mode: \"vm\"",
152
+ path: ["mode"]
153
+ });
154
+ if ((value.env !== void 0 || value.git !== void 0) && !value.credentials?.length) ctx.addIssue({
155
+ code: "custom",
156
+ message: "sandbox env and git require a non-empty credentials list",
157
+ path: ["credentials"]
158
+ });
159
+ if (value.credentials) {
160
+ const keys = value.credentials.map((item) => item.key);
161
+ const seen = /* @__PURE__ */ new Set();
162
+ for (const key of keys) {
163
+ if (seen.has(key)) ctx.addIssue({
164
+ code: "custom",
165
+ message: `duplicate sandbox credential key "${key}"`,
166
+ path: ["credentials"]
167
+ });
168
+ seen.add(key);
169
+ }
170
+ if (value.git && !seen.has(value.git.clone.credential)) ctx.addIssue({
171
+ code: "custom",
172
+ message: `git.clone.credential "${value.git.clone.credential}" must be declared in credentials`,
173
+ path: [
174
+ "git",
175
+ "clone",
176
+ "credential"
177
+ ]
178
+ });
179
+ }
126
180
  });
127
181
  z.object({
128
182
  key: z.string().optional(),
129
183
  mode: SandboxModeSchema.optional(),
130
- files: z.array(SandboxFileSchema).optional()
184
+ files: z.array(SandboxFileSchema).optional(),
185
+ credentials: z.array(credentialInputSchema).optional(),
186
+ env: SandboxEnvFnSchema.optional(),
187
+ git: SandboxGitSchema.optional(),
188
+ setup: SandboxSetupSchema.optional()
131
189
  });
132
190
  new AsyncLocalStorage();
133
191
  //#endregion
@@ -22932,43 +22990,43 @@ var tt = [
22932
22990
  },
22933
22991
  {
22934
22992
  name: "cat",
22935
- load: async () => (await import("./cat-TSFMZVYS-19ZMdpAq.mjs")).catCommand
22993
+ load: async () => (await import("./cat-TSFMZVYS-EOSJ_gzj.mjs")).catCommand
22936
22994
  },
22937
22995
  {
22938
22996
  name: "printf",
22939
- load: async () => (await import("./printf-TWGXF445-Dt9gKujx.mjs")).printfCommand
22997
+ load: async () => (await import("./printf-TWGXF445-r3qhlsv5.mjs")).printfCommand
22940
22998
  },
22941
22999
  {
22942
23000
  name: "ls",
22943
- load: async () => (await import("./ls-ZJGQER7M-EzhpSJMB.mjs")).lsCommand
23001
+ load: async () => (await import("./ls-ZJGQER7M-fzilJj5j.mjs")).lsCommand
22944
23002
  },
22945
23003
  {
22946
23004
  name: "mkdir",
22947
- load: async () => (await import("./mkdir-MEPGZOB6-B54I-co9.mjs")).mkdirCommand
23005
+ load: async () => (await import("./mkdir-MEPGZOB6-0RKW2lRs.mjs")).mkdirCommand
22948
23006
  },
22949
23007
  {
22950
23008
  name: "rmdir",
22951
- load: async () => (await import("./rmdir-OC4ZLPYA-Vs8pjIJ4.mjs")).rmdirCommand
23009
+ load: async () => (await import("./rmdir-OC4ZLPYA-B4-LzLc2.mjs")).rmdirCommand
22952
23010
  },
22953
23011
  {
22954
23012
  name: "touch",
22955
- load: async () => (await import("./touch-UA33VN3N-BvdCDNvh.mjs")).touchCommand
23013
+ load: async () => (await import("./touch-UA33VN3N-Dotlnikw.mjs")).touchCommand
22956
23014
  },
22957
23015
  {
22958
23016
  name: "rm",
22959
- load: async () => (await import("./rm-SSGETQVQ-D3OzLKaR.mjs")).rmCommand
23017
+ load: async () => (await import("./rm-SSGETQVQ-BvdJ3-kd.mjs")).rmCommand
22960
23018
  },
22961
23019
  {
22962
23020
  name: "cp",
22963
- load: async () => (await import("./cp-BISAAS7A-aP1UYqJd.mjs")).cpCommand
23021
+ load: async () => (await import("./cp-BISAAS7A-QoODzq_y.mjs")).cpCommand
22964
23022
  },
22965
23023
  {
22966
23024
  name: "mv",
22967
- load: async () => (await import("./mv-W5BIQ646-BOGImyXG.mjs")).mvCommand
23025
+ load: async () => (await import("./mv-W5BIQ646-YdlzzXCv.mjs")).mvCommand
22968
23026
  },
22969
23027
  {
22970
23028
  name: "ln",
22971
- load: async () => (await import("./ln-4LGSXXGD-Bm1sddvE.mjs")).lnCommand
23029
+ load: async () => (await import("./ln-4LGSXXGD-QwxdpvJS.mjs")).lnCommand
22972
23030
  },
22973
23031
  {
22974
23032
  name: "chmod",
@@ -22984,15 +23042,15 @@ var tt = [
22984
23042
  },
22985
23043
  {
22986
23044
  name: "head",
22987
- load: async () => (await import("./head-442HYESI-DYhCEt04.mjs")).headCommand
23045
+ load: async () => (await import("./head-442HYESI-BHKs27wD.mjs")).headCommand
22988
23046
  },
22989
23047
  {
22990
23048
  name: "tail",
22991
- load: async () => (await import("./tail-R4PCA2C4-BrONSl6R.mjs")).tailCommand
23049
+ load: async () => (await import("./tail-R4PCA2C4-mxBFiByP.mjs")).tailCommand
22992
23050
  },
22993
23051
  {
22994
23052
  name: "wc",
22995
- load: async () => (await import("./wc-LF7NU4LA-DRj3yyc9.mjs")).wcCommand
23053
+ load: async () => (await import("./wc-LF7NU4LA-5fJsZ37R.mjs")).wcCommand
22996
23054
  },
22997
23055
  {
22998
23056
  name: "stat",
@@ -23000,95 +23058,95 @@ var tt = [
23000
23058
  },
23001
23059
  {
23002
23060
  name: "grep",
23003
- load: async () => (await import("./grep-V3LQVMRQ-DN1wiZly.mjs")).grepCommand
23061
+ load: async () => (await import("./grep-V3LQVMRQ-B21nky3U.mjs")).grepCommand
23004
23062
  },
23005
23063
  {
23006
23064
  name: "fgrep",
23007
- load: async () => (await import("./grep-V3LQVMRQ-DN1wiZly.mjs")).fgrepCommand
23065
+ load: async () => (await import("./grep-V3LQVMRQ-B21nky3U.mjs")).fgrepCommand
23008
23066
  },
23009
23067
  {
23010
23068
  name: "egrep",
23011
- load: async () => (await import("./grep-V3LQVMRQ-DN1wiZly.mjs")).egrepCommand
23069
+ load: async () => (await import("./grep-V3LQVMRQ-B21nky3U.mjs")).egrepCommand
23012
23070
  },
23013
23071
  {
23014
23072
  name: "rg",
23015
- load: async () => (await import("./rg-S4FXYXWB-DpNsd4K9.mjs")).rgCommand
23073
+ load: async () => (await import("./rg-S4FXYXWB-B0WvYOCl.mjs")).rgCommand
23016
23074
  },
23017
23075
  {
23018
23076
  name: "sed",
23019
- load: async () => (await import("./sed-S5UIK574-DyJHugnM.mjs")).sedCommand
23077
+ load: async () => (await import("./sed-S5UIK574-tv8TCVhp.mjs")).sedCommand
23020
23078
  },
23021
23079
  {
23022
23080
  name: "awk",
23023
- load: async () => (await import("./awk2-LA3USKJP-C_uJ9UTC.mjs")).awkCommand2
23081
+ load: async () => (await import("./awk2-LA3USKJP-B0I2s5WK.mjs")).awkCommand2
23024
23082
  },
23025
23083
  {
23026
23084
  name: "sort",
23027
- load: async () => (await import("./sort-SW2YEO5B-BIld1500.mjs")).sortCommand
23085
+ load: async () => (await import("./sort-SW2YEO5B-BaVI4IMc.mjs")).sortCommand
23028
23086
  },
23029
23087
  {
23030
23088
  name: "uniq",
23031
- load: async () => (await import("./uniq-XSIZR6PB-3tHE1GmH.mjs")).uniqCommand
23089
+ load: async () => (await import("./uniq-XSIZR6PB-gvgCEeBQ.mjs")).uniqCommand
23032
23090
  },
23033
23091
  {
23034
23092
  name: "comm",
23035
- load: async () => (await import("./comm-VV2LDX2J-C3W7A-jn.mjs")).commCommand
23093
+ load: async () => (await import("./comm-VV2LDX2J-Dsyf6e56.mjs")).commCommand
23036
23094
  },
23037
23095
  {
23038
23096
  name: "cut",
23039
- load: async () => (await import("./cut-OKARJCCV-DfCVAblN.mjs")).cutCommand
23097
+ load: async () => (await import("./cut-OKARJCCV-CuyLMhz8.mjs")).cutCommand
23040
23098
  },
23041
23099
  {
23042
23100
  name: "paste",
23043
- load: async () => (await import("./paste-7JC6S4DX-CQu-heii.mjs")).pasteCommand
23101
+ load: async () => (await import("./paste-7JC6S4DX-DyGi5wYF.mjs")).pasteCommand
23044
23102
  },
23045
23103
  {
23046
23104
  name: "tr",
23047
- load: async () => (await import("./tr-36LHWFRQ-DQL-CWbQ.mjs")).trCommand
23105
+ load: async () => (await import("./tr-36LHWFRQ-CmAcddQN.mjs")).trCommand
23048
23106
  },
23049
23107
  {
23050
23108
  name: "rev",
23051
- load: async () => (await import("./rev-5EHFX4EJ-Da-_OtYp.mjs")).rev
23109
+ load: async () => (await import("./rev-5EHFX4EJ-qcwp1b76.mjs")).rev
23052
23110
  },
23053
23111
  {
23054
23112
  name: "nl",
23055
- load: async () => (await import("./nl-WSDW7I4O-C5Tn3qyh.mjs")).nl
23113
+ load: async () => (await import("./nl-WSDW7I4O-A0T6QLHV.mjs")).nl
23056
23114
  },
23057
23115
  {
23058
23116
  name: "fold",
23059
- load: async () => (await import("./fold-4TQNYMSW-B8TGVC7j.mjs")).fold
23117
+ load: async () => (await import("./fold-4TQNYMSW-BhOfytEa.mjs")).fold
23060
23118
  },
23061
23119
  {
23062
23120
  name: "expand",
23063
- load: async () => (await import("./expand-JSPG6VOP-DUj7F9Cu.mjs")).expand
23121
+ load: async () => (await import("./expand-JSPG6VOP-x4oQXcDy.mjs")).expand
23064
23122
  },
23065
23123
  {
23066
23124
  name: "unexpand",
23067
- load: async () => (await import("./unexpand-CADSA4VO-BlcDiLij.mjs")).unexpand
23125
+ load: async () => (await import("./unexpand-CADSA4VO-C7s1nWRV.mjs")).unexpand
23068
23126
  },
23069
23127
  {
23070
23128
  name: "strings",
23071
- load: async () => (await import("./strings-6WDHLGMX-DfgljZYU.mjs")).strings
23129
+ load: async () => (await import("./strings-6WDHLGMX-C2Nuw6WT.mjs")).strings
23072
23130
  },
23073
23131
  {
23074
23132
  name: "split",
23075
- load: async () => (await import("./split-4KKZZXXE-C682TL18.mjs")).split
23133
+ load: async () => (await import("./split-4KKZZXXE-BfB9q-OP.mjs")).split
23076
23134
  },
23077
23135
  {
23078
23136
  name: "column",
23079
- load: async () => (await import("./column-XT6UFXNQ-B8k4MbkY.mjs")).column
23137
+ load: async () => (await import("./column-XT6UFXNQ-j93nOJhW.mjs")).column
23080
23138
  },
23081
23139
  {
23082
23140
  name: "join",
23083
- load: async () => (await import("./join-TBRGI3LQ-DavcUkrI.mjs")).join
23141
+ load: async () => (await import("./join-TBRGI3LQ-Detqm78p.mjs")).join
23084
23142
  },
23085
23143
  {
23086
23144
  name: "tee",
23087
- load: async () => (await import("./tee-YUZ2FKCJ-DBlSS73M.mjs")).teeCommand
23145
+ load: async () => (await import("./tee-YUZ2FKCJ-C3CDSTkz.mjs")).teeCommand
23088
23146
  },
23089
23147
  {
23090
23148
  name: "find",
23091
- load: async () => (await import("./find-INTH3OLC-CxFHfo_D.mjs")).findCommand
23149
+ load: async () => (await import("./find-INTH3OLC-D7w3zTvw.mjs")).findCommand
23092
23150
  },
23093
23151
  {
23094
23152
  name: "basename",
@@ -23100,19 +23158,19 @@ var tt = [
23100
23158
  },
23101
23159
  {
23102
23160
  name: "tree",
23103
- load: async () => (await import("./tree-YLD52CNT-LmR2Tdyi.mjs")).treeCommand
23161
+ load: async () => (await import("./tree-YLD52CNT-CyZ9gID6.mjs")).treeCommand
23104
23162
  },
23105
23163
  {
23106
23164
  name: "du",
23107
- load: async () => (await import("./du-572XNP42-B724WDI9.mjs")).duCommand
23165
+ load: async () => (await import("./du-572XNP42-lB6Kzq8E.mjs")).duCommand
23108
23166
  },
23109
23167
  {
23110
23168
  name: "env",
23111
- load: async () => (await import("./env-36M5BO7M-BLMWIQAH.mjs")).envCommand
23169
+ load: async () => (await import("./env-36M5BO7M-ESR8eI72.mjs")).envCommand
23112
23170
  },
23113
23171
  {
23114
23172
  name: "printenv",
23115
- load: async () => (await import("./env-36M5BO7M-BLMWIQAH.mjs")).printenvCommand
23173
+ load: async () => (await import("./env-36M5BO7M-ESR8eI72.mjs")).printenvCommand
23116
23174
  },
23117
23175
  {
23118
23176
  name: "alias",
@@ -23128,7 +23186,7 @@ var tt = [
23128
23186
  },
23129
23187
  {
23130
23188
  name: "xargs",
23131
- load: async () => (await import("./xargs-MGZPH7AX-Bokgq8NQ.mjs")).xargsCommand
23189
+ load: async () => (await import("./xargs-MGZPH7AX-6RyGvkuL.mjs")).xargsCommand
23132
23190
  },
23133
23191
  {
23134
23192
  name: "true",
@@ -23144,23 +23202,23 @@ var tt = [
23144
23202
  },
23145
23203
  {
23146
23204
  name: "bash",
23147
- load: async () => (await import("./bash-YZ33HQZQ-0OgzIjsV.mjs")).bashCommand
23205
+ load: async () => (await import("./bash-YZ33HQZQ-luMyh6vQ.mjs")).bashCommand
23148
23206
  },
23149
23207
  {
23150
23208
  name: "sh",
23151
- load: async () => (await import("./bash-YZ33HQZQ-0OgzIjsV.mjs")).shCommand
23209
+ load: async () => (await import("./bash-YZ33HQZQ-luMyh6vQ.mjs")).shCommand
23152
23210
  },
23153
23211
  {
23154
23212
  name: "jq",
23155
- load: async () => (await import("./jq-4XLYLOS5-BIRMGhL2.mjs")).jqCommand
23213
+ load: async () => (await import("./jq-4XLYLOS5-D3Hv5NPh.mjs")).jqCommand
23156
23214
  },
23157
23215
  {
23158
23216
  name: "base64",
23159
- load: async () => (await import("./base64-C2AIWVNC-Dj_3ikno.mjs")).base64Command
23217
+ load: async () => (await import("./base64-C2AIWVNC-DJIlIJyA.mjs")).base64Command
23160
23218
  },
23161
23219
  {
23162
23220
  name: "diff",
23163
- load: async () => (await import("./diff-MWJFIG7X-Db23ZFvu.mjs")).diffCommand
23221
+ load: async () => (await import("./diff-MWJFIG7X-DnU8lxvv.mjs")).diffCommand
23164
23222
  },
23165
23223
  {
23166
23224
  name: "date",
@@ -23168,15 +23226,15 @@ var tt = [
23168
23226
  },
23169
23227
  {
23170
23228
  name: "sleep",
23171
- load: async () => (await import("./sleep-X22JJINO-DCiATAgx.mjs")).sleepCommand
23229
+ load: async () => (await import("./sleep-X22JJINO-BXynmGAQ.mjs")).sleepCommand
23172
23230
  },
23173
23231
  {
23174
23232
  name: "timeout",
23175
- load: async () => (await import("./timeout-YDCRSLPQ-V4Gc33PA.mjs")).timeoutCommand
23233
+ load: async () => (await import("./timeout-YDCRSLPQ-K6Njm0v3.mjs")).timeoutCommand
23176
23234
  },
23177
23235
  {
23178
23236
  name: "time",
23179
- load: async () => (await import("./time-D4LNBSWX-7MVmAtQo.mjs")).timeCommand
23237
+ load: async () => (await import("./time-D4LNBSWX-CKKOkAsd.mjs")).timeCommand
23180
23238
  },
23181
23239
  {
23182
23240
  name: "seq",
@@ -23184,19 +23242,19 @@ var tt = [
23184
23242
  },
23185
23243
  {
23186
23244
  name: "expr",
23187
- load: async () => (await import("./expr-5JAACS4X-CfrWhuNY.mjs")).exprCommand
23245
+ load: async () => (await import("./expr-5JAACS4X-DoNrHw-x.mjs")).exprCommand
23188
23246
  },
23189
23247
  {
23190
23248
  name: "md5sum",
23191
- load: async () => (await import("./md5sum-SPU24VSG-DuY3W47X.mjs")).md5sumCommand
23249
+ load: async () => (await import("./md5sum-SPU24VSG-CPMIT1Bm.mjs")).md5sumCommand
23192
23250
  },
23193
23251
  {
23194
23252
  name: "sha1sum",
23195
- load: async () => (await import("./sha1sum-2PTOAFR6-BNMNnH4a.mjs")).sha1sumCommand
23253
+ load: async () => (await import("./sha1sum-2PTOAFR6-B_oiePQj.mjs")).sha1sumCommand
23196
23254
  },
23197
23255
  {
23198
23256
  name: "sha256sum",
23199
- load: async () => (await import("./sha256sum-NS7D3IXX-DCiObRGK.mjs")).sha256sumCommand
23257
+ load: async () => (await import("./sha256sum-NS7D3IXX-DEmVydlk.mjs")).sha256sumCommand
23200
23258
  },
23201
23259
  {
23202
23260
  name: "file",
@@ -23204,11 +23262,11 @@ var tt = [
23204
23262
  },
23205
23263
  {
23206
23264
  name: "html-to-markdown",
23207
- load: async () => (await import("./html-to-markdown-JW4MSQZO-CezmhFZv.mjs")).htmlToMarkdownCommand
23265
+ load: async () => (await import("./html-to-markdown-JW4MSQZO-Dxn3G_u0.mjs")).htmlToMarkdownCommand
23208
23266
  },
23209
23267
  {
23210
23268
  name: "help",
23211
- load: async () => (await import("./help-HZ6M2CKN-WHmZpsJe.mjs")).helpCommand
23269
+ load: async () => (await import("./help-HZ6M2CKN-NJxruCvX.mjs")).helpCommand
23212
23270
  },
23213
23271
  {
23214
23272
  name: "which",
@@ -23216,7 +23274,7 @@ var tt = [
23216
23274
  },
23217
23275
  {
23218
23276
  name: "tac",
23219
- load: async () => (await import("./tac-2STMMJYW-B3AcXTdf.mjs")).tac
23277
+ load: async () => (await import("./tac-2STMMJYW-CwL11Mhc.mjs")).tac
23220
23278
  },
23221
23279
  {
23222
23280
  name: "hostname",
@@ -23228,49 +23286,49 @@ var tt = [
23228
23286
  },
23229
23287
  {
23230
23288
  name: "od",
23231
- load: async () => (await import("./od-WOKFDJTP-Dhall4HD.mjs")).od
23289
+ load: async () => (await import("./od-WOKFDJTP-KJiVwF6Z.mjs")).od
23232
23290
  },
23233
23291
  {
23234
23292
  name: "gzip",
23235
- load: async () => (await import("./gzip-O5ASJAFY-C7v6CBdm.mjs")).gzipCommand
23293
+ load: async () => (await import("./gzip-O5ASJAFY-TYcsb_J5.mjs")).gzipCommand
23236
23294
  },
23237
23295
  {
23238
23296
  name: "gunzip",
23239
- load: async () => (await import("./gzip-O5ASJAFY-C7v6CBdm.mjs")).gunzipCommand
23297
+ load: async () => (await import("./gzip-O5ASJAFY-TYcsb_J5.mjs")).gunzipCommand
23240
23298
  },
23241
23299
  {
23242
23300
  name: "zcat",
23243
- load: async () => (await import("./gzip-O5ASJAFY-C7v6CBdm.mjs")).zcatCommand
23301
+ load: async () => (await import("./gzip-O5ASJAFY-TYcsb_J5.mjs")).zcatCommand
23244
23302
  }
23245
23303
  ];
23246
23304
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (tt.push({
23247
23305
  name: "tar",
23248
- load: async () => (await import("./tar-STHHZTZ6-BAXlUOR5.mjs")).tarCommand
23306
+ load: async () => (await import("./tar-STHHZTZ6-hlJ3WqnQ.mjs")).tarCommand
23249
23307
  }), tt.push({
23250
23308
  name: "yq",
23251
- load: async () => (await import("./yq-4QJW3EQG-D-gf6DFH.mjs")).yqCommand
23309
+ load: async () => (await import("./yq-4QJW3EQG-lZUtQEHq.mjs")).yqCommand
23252
23310
  }), tt.push({
23253
23311
  name: "xan",
23254
- load: async () => (await import("./xan-Y6WF3IRG-Bk9GoBFW.mjs")).xanCommand
23312
+ load: async () => (await import("./xan-Y6WF3IRG-x7xglQiG.mjs")).xanCommand
23255
23313
  }), tt.push({
23256
23314
  name: "sqlite3",
23257
- load: async () => (await import("./sqlite3-CGOEFJAO-BCIPkSxm.mjs")).sqlite3Command
23315
+ load: async () => (await import("./sqlite3-CGOEFJAO-C8O67MY7.mjs")).sqlite3Command
23258
23316
  }));
23259
23317
  var Yt = [];
23260
23318
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (Yt.push({
23261
23319
  name: "python3",
23262
- load: async () => (await import("./python3-POMOR4OA-CudEUuqu.mjs")).python3Command
23320
+ load: async () => (await import("./python3-POMOR4OA-A_1Rtauo.mjs")).python3Command
23263
23321
  }), Yt.push({
23264
23322
  name: "python",
23265
- load: async () => (await import("./python3-POMOR4OA-CudEUuqu.mjs")).pythonCommand
23323
+ load: async () => (await import("./python3-POMOR4OA-A_1Rtauo.mjs")).pythonCommand
23266
23324
  }));
23267
23325
  var Qt = [];
23268
23326
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (Qt.push({
23269
23327
  name: "js-exec",
23270
- load: async () => (await import("./js-exec-N5KEZBH7-CENniwUd.mjs")).jsExecCommand
23328
+ load: async () => (await import("./js-exec-N5KEZBH7-IeT7kUb4.mjs")).jsExecCommand
23271
23329
  }), Qt.push({
23272
23330
  name: "node",
23273
- load: async () => (await import("./js-exec-N5KEZBH7-CENniwUd.mjs")).nodeStubCommand
23331
+ load: async () => (await import("./js-exec-N5KEZBH7-IeT7kUb4.mjs")).nodeStubCommand
23274
23332
  }));
23275
23333
  new TextEncoder();
23276
23334
  Object.freeze({
@@ -23685,6 +23743,18 @@ Object.freeze({
23685
23743
  option is given.`]]
23686
23744
  ]).keys()].sort();
23687
23745
  new TextDecoder("utf-8", { fatal: !0 });
23746
+ z.object({
23747
+ clone: z.object({
23748
+ repository: z.string().trim().min(1),
23749
+ credential: z.string().trim().min(1),
23750
+ branch: z.string().trim().min(1).optional(),
23751
+ path: z.string().trim().min(1).optional()
23752
+ }),
23753
+ user: z.object({
23754
+ name: z.string().trim().min(1).optional(),
23755
+ email: z.string().trim().min(1).optional()
23756
+ }).optional()
23757
+ });
23688
23758
  JSON.stringify({
23689
23759
  messages: [],
23690
23760
  results: [],
@@ -25932,7 +26002,7 @@ function withOrganizationProjectDatabase() {
25932
26002
  trace.getTracer("keystroke.http");
25933
26003
  //#endregion
25934
26004
  //#region src/routes/account/users/me/avatar/GET.ts
25935
- const handler$110 = async (c) => {
26005
+ const handler$111 = async (c) => {
25936
26006
  const dbUser = await selectUserById(c.get("user").id);
25937
26007
  if (!dbUser) return c.json(ErrorResponseSchema.parse({ error: "User not found" }), 404);
25938
26008
  return c.json(UserAvatarSchema.parse({ url: dbUser.image ?? null }));
@@ -25951,7 +26021,7 @@ function avatarExtensionForContentType(contentType) {
25951
26021
  }
25952
26022
  //#endregion
25953
26023
  //#region src/routes/account/users/me/avatar/presign/POST.ts
25954
- const handler$109 = async (c) => {
26024
+ const handler$110 = async (c) => {
25955
26025
  const parsed = PresignUserAvatarRequestSchema.safeParse(await c.req.json().catch(() => null));
25956
26026
  if (!parsed.success) return c.json(ErrorResponseSchema.parse({ error: "Invalid avatar upload request" }), 400);
25957
26027
  const extension = avatarExtensionForContentType(parsed.data.contentType);
@@ -25991,7 +26061,7 @@ async function deleteStoredImageIfOwned(input) {
25991
26061
  }
25992
26062
  //#endregion
25993
26063
  //#region src/routes/account/users/me/avatar/PATCH.ts
25994
- const handler$108 = async (c) => {
26064
+ const handler$109 = async (c) => {
25995
26065
  const parsed = UserAvatarPatchSchema.safeParse(await c.req.json().catch(() => null));
25996
26066
  if (!parsed.success) return c.json(ErrorResponseSchema.parse({ error: "Invalid avatar update" }), 400);
25997
26067
  const user = c.get("user");
@@ -26033,14 +26103,14 @@ const handler$108 = async (c) => {
26033
26103
  };
26034
26104
  //#endregion
26035
26105
  //#region src/routes/account/users/me/preferences/GET.ts
26036
- const handler$107 = async (c) => {
26106
+ const handler$108 = async (c) => {
26037
26107
  const dbUser = await selectUserById(c.get("user").id);
26038
26108
  if (!dbUser) return c.json(ErrorResponseSchema.parse({ error: "User not found" }), 404);
26039
26109
  return c.json(UserPreferencesSchema.parse(normalizeUserPreferences(dbUser.preferences)));
26040
26110
  };
26041
26111
  //#endregion
26042
26112
  //#region src/routes/account/users/me/preferences/PATCH.ts
26043
- const handler$106 = async (c) => {
26113
+ const handler$107 = async (c) => {
26044
26114
  const parsed = UserPreferencesPatchSchema.safeParse(await c.req.json().catch(() => null));
26045
26115
  if (!parsed.success) return c.json(ErrorResponseSchema.parse({ error: "Invalid preferences update" }), 400);
26046
26116
  const user = c.get("user");
@@ -26055,7 +26125,7 @@ const handler$106 = async (c) => {
26055
26125
  };
26056
26126
  //#endregion
26057
26127
  //#region src/routes/account/organizations/GET.ts
26058
- const handler$105 = async (c) => {
26128
+ const handler$106 = async (c) => {
26059
26129
  const memberships = await selectUserOrganizations(c.get("user").id);
26060
26130
  return c.json(ListOrganizationsResponseSchema.parse(memberships.map(mapUserOrganization)));
26061
26131
  };
@@ -26178,7 +26248,7 @@ function createOrganizationHandler(deps) {
26178
26248
  }
26179
26249
  //#endregion
26180
26250
  //#region src/routes/account/organizations/slug-available/GET.ts
26181
- const handler$104 = async (c) => {
26251
+ const handler$105 = async (c) => {
26182
26252
  const parsed = SlugAvailabilityQuerySchema.safeParse({
26183
26253
  slug: c.req.query("slug"),
26184
26254
  excludeOrganizationId: c.req.query("excludeOrganizationId")
@@ -26189,7 +26259,7 @@ const handler$104 = async (c) => {
26189
26259
  };
26190
26260
  //#endregion
26191
26261
  //#region src/routes/account/organizations/[organizationId]/GET.ts
26192
- const handler$103 = async (c) => {
26262
+ const handler$104 = async (c) => {
26193
26263
  const { organizationId } = c.get("organization");
26194
26264
  const membership = await selectUserOrganizationMembership(c.get("user").id, organizationId);
26195
26265
  if (!membership) throw new Error(`Organization membership missing after param guard: ${organizationId}`);
@@ -26197,7 +26267,7 @@ const handler$103 = async (c) => {
26197
26267
  };
26198
26268
  //#endregion
26199
26269
  //#region src/routes/account/organizations/[organizationId]/PATCH.ts
26200
- const handler$102 = async (c) => {
26270
+ const handler$103 = async (c) => {
26201
26271
  const organization = c.get("organization");
26202
26272
  const body = await c.req.json().catch(() => null);
26203
26273
  const parsed = UpdateOrganizationRequestSchema.safeParse(body);
@@ -26222,7 +26292,7 @@ const handler$102 = async (c) => {
26222
26292
  };
26223
26293
  //#endregion
26224
26294
  //#region src/routes/account/organizations/[organizationId]/branding/GET.ts
26225
- const handler$101 = async (c) => {
26295
+ const handler$102 = async (c) => {
26226
26296
  const { organizationId } = c.get("organization");
26227
26297
  const organization = await selectOrganizationById(organizationId);
26228
26298
  if (!organization) return c.json(ErrorResponseSchema.parse({ error: "Organization not found" }), 404);
@@ -26271,7 +26341,7 @@ async function finalizeOrgLogoVariant(input) {
26271
26341
  publicUrl: finalized.publicUrl
26272
26342
  };
26273
26343
  }
26274
- const handler$100 = async (c) => {
26344
+ const handler$101 = async (c) => {
26275
26345
  const parsed = OrganizationSidebarBrandingPatchSchema.safeParse(await c.req.json().catch(() => null));
26276
26346
  if (!parsed.success) return c.json(ErrorResponseSchema.parse({ error: "Invalid branding update" }), 400);
26277
26347
  const { organizationId } = c.get("organization");
@@ -26299,7 +26369,7 @@ const handler$100 = async (c) => {
26299
26369
  };
26300
26370
  //#endregion
26301
26371
  //#region src/routes/account/organizations/[organizationId]/branding/logo/presign/POST.ts
26302
- const handler$99 = async (c) => {
26372
+ const handler$100 = async (c) => {
26303
26373
  const parsed = PresignOrgLogoRequestSchema.safeParse(await c.req.json().catch(() => null));
26304
26374
  if (!parsed.success) return c.json(ErrorResponseSchema.parse({ error: "Invalid logo upload request" }), 400);
26305
26375
  const extension = avatarExtensionForContentType(parsed.data.contentType);
@@ -26509,7 +26579,7 @@ function buildPlatformHistoryUsage(events, durationMs) {
26509
26579
  }
26510
26580
  //#endregion
26511
26581
  //#region src/routes/account/history/GET.ts
26512
- const handler$98 = async (c) => {
26582
+ const handler$99 = async (c) => {
26513
26583
  const organization = c.get("organization");
26514
26584
  const ctx = accessContext(c);
26515
26585
  const query = HistoryRunListQuerySchema.parse({
@@ -26534,7 +26604,7 @@ const handler$98 = async (c) => {
26534
26604
  };
26535
26605
  //#endregion
26536
26606
  //#region src/routes/account/history/[runId]/GET.ts
26537
- const handler$97 = async (c) => {
26607
+ const handler$98 = async (c) => {
26538
26608
  const runId = c.req.param("runId") ?? "";
26539
26609
  if (!runId) return c.json(null, 404);
26540
26610
  const core = await findHistoryRunCore(runId);
@@ -26594,7 +26664,7 @@ function toAgentSummary(row, options) {
26594
26664
  }
26595
26665
  //#endregion
26596
26666
  //#region src/routes/account/agents/GET.ts
26597
- const handler$96 = async (c) => {
26667
+ const handler$97 = async (c) => {
26598
26668
  const filter = await resolveListProjectIds(c, listScope(c, agentListScope(accessContext(c))), c.req.query("projectId"));
26599
26669
  if (filter === "empty") return c.json(AgentSummaryListResponseSchema.parse([]));
26600
26670
  const rows = await listActiveAgents(filter);
@@ -26608,7 +26678,7 @@ function touchResourceActivityBestEffort(options) {
26608
26678
  }
26609
26679
  //#endregion
26610
26680
  //#region src/routes/account/agents/[agentId]/GET.ts
26611
- const handler$95 = async (c) => {
26681
+ const handler$96 = async (c) => {
26612
26682
  const agentId = c.req.param("agentId") ?? "";
26613
26683
  const row = agentId ? await selectActiveAgentById(agentId) : void 0;
26614
26684
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessAgent)) return c.json(AgentSummaryDetailResponseSchema.parse(null));
@@ -26631,7 +26701,7 @@ const handler$95 = async (c) => {
26631
26701
  function relativePathsFromStorageKeys(prefix, keys) {
26632
26702
  return keys.filter((key) => key.startsWith(prefix) && key.endsWith(".md")).map((key) => key.slice(prefix.length)).filter((path) => !path.startsWith(".") && !path.includes("/."));
26633
26703
  }
26634
- const handler$94 = async (c) => {
26704
+ const handler$95 = async (c) => {
26635
26705
  const agentId = c.req.param("agentId") ?? "";
26636
26706
  const row = agentId ? await selectActiveAgentById(agentId) : void 0;
26637
26707
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessAgent)) return c.json(ListAgentMemoryFilesResponseSchema.parse({ files: [] }), 404);
@@ -26656,7 +26726,7 @@ function isStorageNotFoundError(error) {
26656
26726
  const status = typeof record.$metadata === "object" && record.$metadata !== null ? record.$metadata.httpStatusCode : void 0;
26657
26727
  return name === "NoSuchKey" || code === "NoSuchKey" || code === "NotFound" || status === 404;
26658
26728
  }
26659
- const handler$93 = async (c) => {
26729
+ const handler$94 = async (c) => {
26660
26730
  const agentId = c.req.param("agentId") ?? "";
26661
26731
  const path = c.req.query("path");
26662
26732
  if (!path) return c.json(ErrorResponseSchema.parse({ error: "File path is required" }), 400);
@@ -26710,7 +26780,7 @@ function workspaceRelativePathsFromStorageKeys(keys) {
26710
26780
  }
26711
26781
  //#endregion
26712
26782
  //#region src/routes/account/agents/[agentId]/workspace/files/GET.ts
26713
- const handler$92 = async (c) => {
26783
+ const handler$93 = async (c) => {
26714
26784
  const agentId = c.req.param("agentId") ?? "";
26715
26785
  const row = agentId ? await selectActiveAgentById(agentId) : void 0;
26716
26786
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessAgent)) return c.json(ListAgentWorkspaceFilesResponseSchema.parse({ files: [] }), 404);
@@ -26733,7 +26803,7 @@ const handler$92 = async (c) => {
26733
26803
  };
26734
26804
  //#endregion
26735
26805
  //#region src/routes/account/agents/[agentId]/workspace/files/content/GET.ts
26736
- const handler$91 = async (c) => {
26806
+ const handler$92 = async (c) => {
26737
26807
  const agentId = c.req.param("agentId") ?? "";
26738
26808
  const path = c.req.query("path");
26739
26809
  if (!path) return c.json(ErrorResponseSchema.parse({ error: "File path is required" }), 400);
@@ -26785,7 +26855,7 @@ async function cancelHistoryRun(c, kind, cancel) {
26785
26855
  }
26786
26856
  //#endregion
26787
26857
  //#region src/routes/account/agents/sessions/[sessionId]/cancel/POST.ts
26788
- const handler$90 = (c) => cancelHistoryRun(c, "agent", cancelAgentSession);
26858
+ const handler$91 = (c) => cancelHistoryRun(c, "agent", cancelAgentSession);
26789
26859
  //#endregion
26790
26860
  //#region src/routes/account/resources/workflows.ts
26791
26861
  function toWorkflowSummary(row, options) {
@@ -26802,7 +26872,7 @@ function toWorkflowSummary(row, options) {
26802
26872
  }
26803
26873
  //#endregion
26804
26874
  //#region src/routes/account/workflows/GET.ts
26805
- const handler$89 = async (c) => {
26875
+ const handler$90 = async (c) => {
26806
26876
  const filter = await resolveListProjectIds(c, listScope(c, workflowListScope(accessContext(c))), c.req.query("projectId"));
26807
26877
  if (filter === "empty") return c.json(WorkflowSummaryListResponseSchema.parse([]));
26808
26878
  const rows = await listActiveWorkflows(filter);
@@ -26816,7 +26886,7 @@ function buildPublicFormUrl(token) {
26816
26886
  }
26817
26887
  //#endregion
26818
26888
  //#region src/routes/account/workflows/forms/GET.ts
26819
- const handler$88 = async (c) => {
26889
+ const handler$89 = async (c) => {
26820
26890
  const { organizationId } = c.get("organization");
26821
26891
  const filter = await resolveListProjectIds(c, listScope(c, workflowListScope(accessContext(c))), c.req.query("projectId"));
26822
26892
  if (filter === "empty") return c.json(PublishedFormListResponseSchema.parse([]));
@@ -26836,7 +26906,7 @@ const handler$88 = async (c) => {
26836
26906
  };
26837
26907
  //#endregion
26838
26908
  //#region src/routes/account/workflows/[workflowId]/GET.ts
26839
- const handler$87 = async (c) => {
26909
+ const handler$88 = async (c) => {
26840
26910
  const workflowId = c.req.param("workflowId") ?? "";
26841
26911
  const row = workflowId ? await selectActiveWorkflowById(workflowId) : void 0;
26842
26912
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessWorkflow)) return c.json(WorkflowSummaryDetailResponseSchema.parse(null));
@@ -27311,7 +27381,7 @@ function buildWorkflowCanvas(input) {
27311
27381
  //#region src/routes/account/workflows/[workflowId]/canvas/GET.ts
27312
27382
  /** Bumped when the annotation prompt/model changes, so cached annotations invalidate. */
27313
27383
  const ANNOTATIONS_GENERATOR_VERSION = "wf-canvas-annotations-v1";
27314
- const handler$86 = async (c) => {
27384
+ const handler$87 = async (c) => {
27315
27385
  const organization = c.get("organization");
27316
27386
  const workflowId = c.req.param("workflowId") ?? "";
27317
27387
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
@@ -27485,7 +27555,7 @@ function toBinding(key, description) {
27485
27555
  * each of its requirements currently binds to (read-only, no decryption). Not
27486
27556
  * content-hash cached — credential state changes without a redeploy.
27487
27557
  */
27488
- const handler$85 = async (c) => {
27558
+ const handler$86 = async (c) => {
27489
27559
  const workflowId = c.req.param("workflowId") ?? "";
27490
27560
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
27491
27561
  const resolved = await resolveWorkflow(c, workflowId);
@@ -27644,7 +27714,7 @@ function toCanvasRunStatus(status) {
27644
27714
  if (status === "canceled") return "canceled";
27645
27715
  return "running";
27646
27716
  }
27647
- const handler$84 = async (c) => {
27717
+ const handler$85 = async (c) => {
27648
27718
  const workflowId = c.req.param("workflowId") ?? "";
27649
27719
  const runId = c.req.param("runId") ?? "";
27650
27720
  if (!workflowId.trim() || !runId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow or run id" }), 400);
@@ -27699,7 +27769,7 @@ async function loadWorkflowSource(organization, projectId, sourcePath) {
27699
27769
  return null;
27700
27770
  }
27701
27771
  }
27702
- const handler$83 = async (c) => {
27772
+ const handler$84 = async (c) => {
27703
27773
  const organization = c.get("organization");
27704
27774
  const workflowId = c.req.param("workflowId") ?? "";
27705
27775
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
@@ -27800,7 +27870,7 @@ const handler$83 = async (c) => {
27800
27870
  };
27801
27871
  //#endregion
27802
27872
  //#region src/routes/account/workflows/[workflowId]/run-inputs/GET.ts
27803
- const handler$82 = async (c) => {
27873
+ const handler$83 = async (c) => {
27804
27874
  const workflowId = c.req.param("workflowId") ?? "";
27805
27875
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
27806
27876
  const resolved = await resolveWorkflow(c, workflowId);
@@ -27815,7 +27885,7 @@ const handler$82 = async (c) => {
27815
27885
  };
27816
27886
  //#endregion
27817
27887
  //#region src/routes/account/workflows/[workflowId]/run-inputs/PUT.ts
27818
- const handler$81 = async (c) => {
27888
+ const handler$82 = async (c) => {
27819
27889
  const workflowId = c.req.param("workflowId") ?? "";
27820
27890
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
27821
27891
  const resolved = await resolveWorkflow(c, workflowId);
@@ -27847,7 +27917,7 @@ function parseRunInput$1(requestSchema, input) {
27847
27917
  * the workflow row's request schema, creates a pending run, and enqueues it on
27848
27918
  * the project's queue (drained by the project runtime worker). Returns the run id.
27849
27919
  */
27850
- const handler$80 = async (c) => {
27920
+ const handler$81 = async (c) => {
27851
27921
  const { organizationId } = c.get("organization");
27852
27922
  const workflowId = c.req.param("workflowId") ?? "";
27853
27923
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
@@ -27921,7 +27991,7 @@ async function resolvePublishableInputSchema(projectId, row) {
27921
27991
  }
27922
27992
  //#endregion
27923
27993
  //#region src/routes/account/workflows/[workflowId]/form/GET.ts
27924
- const handler$79 = async (c) => {
27994
+ const handler$80 = async (c) => {
27925
27995
  const resolved = await resolveFormWorkflow(c);
27926
27996
  if (resolved instanceof Response) return resolved;
27927
27997
  const { organizationId } = c.get("organization");
@@ -27930,7 +28000,7 @@ const handler$79 = async (c) => {
27930
28000
  };
27931
28001
  //#endregion
27932
28002
  //#region src/routes/account/workflows/[workflowId]/form/PUT.ts
27933
- const handler$78 = async (c) => {
28003
+ const handler$79 = async (c) => {
27934
28004
  const resolved = await resolveFormWorkflow(c, { requireManageAccess: true });
27935
28005
  if (resolved instanceof Response) return resolved;
27936
28006
  const body = WorkflowFormUpsertBodySchema.safeParse(await c.req.json().catch(() => null));
@@ -27959,7 +28029,7 @@ const handler$78 = async (c) => {
27959
28029
  };
27960
28030
  //#endregion
27961
28031
  //#region src/routes/account/workflows/[workflowId]/form/DELETE.ts
27962
- const handler$77 = async (c) => {
28032
+ const handler$78 = async (c) => {
27963
28033
  const resolved = await resolveFormWorkflow(c, { requireManageAccess: true });
27964
28034
  if (resolved instanceof Response) return resolved;
27965
28035
  const { organizationId } = c.get("organization");
@@ -27969,7 +28039,7 @@ const handler$77 = async (c) => {
27969
28039
  };
27970
28040
  //#endregion
27971
28041
  //#region src/routes/account/workflows/[workflowId]/form/rotate/POST.ts
27972
- const handler$76 = async (c) => {
28042
+ const handler$77 = async (c) => {
27973
28043
  const resolved = await resolveFormWorkflow(c, { requireManageAccess: true });
27974
28044
  if (resolved instanceof Response) return resolved;
27975
28045
  const { organizationId } = c.get("organization");
@@ -27991,7 +28061,7 @@ function extensionFromUpload$1(contentType, filename) {
27991
28061
  * hydration reads by project id + storage key, so runs read the file the same
27992
28062
  * way `storeFile` output does.
27993
28063
  */
27994
- const handler$75 = async (c) => {
28064
+ const handler$76 = async (c) => {
27995
28065
  const { organizationId } = c.get("organization");
27996
28066
  const workflowId = c.req.param("workflowId") ?? "";
27997
28067
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
@@ -28016,7 +28086,7 @@ const handler$75 = async (c) => {
28016
28086
  };
28017
28087
  //#endregion
28018
28088
  //#region src/routes/account/workflows/[workflowId]/runs/GET.ts
28019
- const handler$74 = async (c) => {
28089
+ const handler$75 = async (c) => {
28020
28090
  const workflowId = c.req.param("workflowId") ?? "";
28021
28091
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
28022
28092
  const resolved = await resolveWorkflow(c, workflowId);
@@ -28039,7 +28109,7 @@ const handler$74 = async (c) => {
28039
28109
  };
28040
28110
  //#endregion
28041
28111
  //#region src/routes/account/workflows/runs/[runId]/cancel/POST.ts
28042
- const handler$73 = (c) => cancelHistoryRun(c, "workflow", cancelWorkflowRun);
28112
+ const handler$74 = (c) => cancelHistoryRun(c, "workflow", cancelWorkflowRun);
28043
28113
  //#endregion
28044
28114
  //#region src/routes/account/resources/skills.ts
28045
28115
  function toSkillSummary(row) {
@@ -28056,7 +28126,7 @@ function toSkillSummary(row) {
28056
28126
  }
28057
28127
  //#endregion
28058
28128
  //#region src/routes/account/skills/GET.ts
28059
- const handler$72 = async (c) => {
28129
+ const handler$73 = async (c) => {
28060
28130
  const filter = await resolveListProjectIds(c, listScope(c, skillListScope(accessContext(c))), c.req.query("projectId"));
28061
28131
  if (filter === "empty") return c.json(SkillSummaryListResponseSchema.parse([]));
28062
28132
  const rows = await listActiveSkills(filter);
@@ -28064,7 +28134,7 @@ const handler$72 = async (c) => {
28064
28134
  };
28065
28135
  //#endregion
28066
28136
  //#region src/routes/account/skills/[skillId]/GET.ts
28067
- const handler$71 = async (c) => {
28137
+ const handler$72 = async (c) => {
28068
28138
  const skillId = c.req.param("skillId") ?? "";
28069
28139
  const row = skillId ? await selectActiveSkillById(skillId) : void 0;
28070
28140
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessSkill)) return c.json(SkillSummaryDetailResponseSchema.parse(null));
@@ -28173,7 +28243,7 @@ function toWorkspaceTriggerRunSummary(item, assignments) {
28173
28243
  }
28174
28244
  //#endregion
28175
28245
  //#region src/routes/account/triggers/GET.ts
28176
- const handler$70 = async (c) => {
28246
+ const handler$71 = async (c) => {
28177
28247
  const organization = c.get("organization");
28178
28248
  const scope = listScope(c, projectListScope(accessContext(c)));
28179
28249
  const filter = await resolveListProjectIds(c, scope, c.req.query("projectId"));
@@ -28185,7 +28255,7 @@ const handler$70 = async (c) => {
28185
28255
  };
28186
28256
  //#endregion
28187
28257
  //#region src/routes/account/triggers/[triggerId]/GET.ts
28188
- const handler$69 = async (c) => {
28258
+ const handler$70 = async (c) => {
28189
28259
  const organization = c.get("organization");
28190
28260
  const triggerId = c.req.param("triggerId") ?? "";
28191
28261
  if (!triggerId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -28201,7 +28271,7 @@ const handler$69 = async (c) => {
28201
28271
  };
28202
28272
  //#endregion
28203
28273
  //#region src/routes/account/triggers/[triggerId]/runs/GET.ts
28204
- const handler$68 = async (c) => {
28274
+ const handler$69 = async (c) => {
28205
28275
  const triggerId = c.req.param("triggerId") ?? "";
28206
28276
  if (!triggerId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
28207
28277
  const filter = await resolveListProjectIds(c, listScope(c, projectListScope(accessContext(c))));
@@ -28230,7 +28300,7 @@ const handler$68 = async (c) => {
28230
28300
  };
28231
28301
  //#endregion
28232
28302
  //#region src/routes/account/triggers/[triggerId]/file/GET.ts
28233
- const handler$67 = async (c) => {
28303
+ const handler$68 = async (c) => {
28234
28304
  const { organizationId } = c.get("organization");
28235
28305
  const triggerId = c.req.param("triggerId") ?? "";
28236
28306
  if (!triggerId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -28267,7 +28337,7 @@ function envelope(row, status, hash) {
28267
28337
  model: row.overviewModel ?? "deepseek/deepseek-v4-flash"
28268
28338
  });
28269
28339
  }
28270
- const handler$66 = async (c) => {
28340
+ const handler$67 = async (c) => {
28271
28341
  const { organizationId } = c.get("organization");
28272
28342
  const triggerId = c.req.param("triggerId") ?? "";
28273
28343
  if (!triggerId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -28349,7 +28419,7 @@ async function syncNativeTriggerSchedule(organization, trigger) {
28349
28419
  }
28350
28420
  await scheduler.removeTriggerSchedule?.(trigger.slug, trigger.projectId);
28351
28421
  }
28352
- const handler$65 = async (c) => {
28422
+ const handler$66 = async (c) => {
28353
28423
  const organization = c.get("organization");
28354
28424
  const triggerId = c.req.param("triggerId") ?? "";
28355
28425
  const attachmentId = c.req.param("attachmentId") ?? "";
@@ -28421,7 +28491,7 @@ var InvokeHttpError = class extends Error {
28421
28491
  * Manually invoke a trigger from the dashboard or CLI. Validates webhook input against
28422
28492
  * stored attachment schemas, then enqueues a trigger job on the project's queue.
28423
28493
  */
28424
- const handler$64 = async (c) => {
28494
+ const handler$65 = async (c) => {
28425
28495
  const { organizationId } = c.get("organization");
28426
28496
  const triggerId = c.req.param("triggerId") ?? "";
28427
28497
  if (!triggerId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -28494,7 +28564,7 @@ const handler$64 = async (c) => {
28494
28564
  * Form metadata for the dashboard invoke popover: webhook request schemas and
28495
28565
  * cron's read-only static payload.
28496
28566
  */
28497
- const handler$63 = async (c) => {
28567
+ const handler$64 = async (c) => {
28498
28568
  const triggerId = c.req.param("triggerId") ?? "";
28499
28569
  if (!triggerId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
28500
28570
  const filter = await resolveListProjectIds(c, listScope(c, projectListScope(accessContext(c))));
@@ -28560,7 +28630,7 @@ function latestRecentInteractionAt(recent) {
28560
28630
  //#endregion
28561
28631
  //#region src/routes/account/recents/GET.ts
28562
28632
  const RECENTS_LIMIT = 50;
28563
- const handler$62 = async (c) => {
28633
+ const handler$63 = async (c) => {
28564
28634
  const userId = c.get("user").id;
28565
28635
  const organization = c.get("organization");
28566
28636
  const grantedProjectIdsList = await grantedProjectIds(c, { kind: "member-only" });
@@ -28586,7 +28656,7 @@ const handler$62 = async (c) => {
28586
28656
  };
28587
28657
  //#endregion
28588
28658
  //#region src/routes/account/projects/GET.ts
28589
- const handler$61 = async (c) => {
28659
+ const handler$62 = async (c) => {
28590
28660
  const organization = c.get("organization");
28591
28661
  const grantedProjectIdsList = await grantedProjectIds(c, listScope(c, projectListScope(accessContext(c))));
28592
28662
  const projects = await selectProjectsByOrganizationId(organization.organizationId, { grantedProjectIds: grantedProjectIdsList });
@@ -28612,7 +28682,7 @@ function mergeProjectListMetrics(input) {
28612
28682
  }
28613
28683
  //#endregion
28614
28684
  //#region src/routes/account/projects/metrics/GET.ts
28615
- const handler$60 = async (c) => {
28685
+ const handler$61 = async (c) => {
28616
28686
  const organization = c.get("organization");
28617
28687
  const grantedProjectIdsList = await grantedProjectIds(c, listScope(c, projectListScope(accessContext(c))));
28618
28688
  const [resourceCounts, lastDeploymentAtByProject] = await Promise.all([selectProjectResourceCounts(grantedProjectIdsList !== void 0 ? { projectIds: grantedProjectIdsList } : void 0), selectLastDeploymentAtByProject(organization.organizationId)]);
@@ -28657,7 +28727,7 @@ function createCreateProjectHandler(projectQuotaGate) {
28657
28727
  }
28658
28728
  //#endregion
28659
28729
  //#region src/routes/account/projects/slug-available/GET.ts
28660
- const handler$58 = async (c) => {
28730
+ const handler$59 = async (c) => {
28661
28731
  const organization = c.get("organization");
28662
28732
  const parsed = ProjectSlugAvailabilityQuerySchema.safeParse({
28663
28733
  slug: c.req.query("slug"),
@@ -28669,12 +28739,12 @@ const handler$58 = async (c) => {
28669
28739
  };
28670
28740
  //#endregion
28671
28741
  //#region src/routes/account/projects/[projectId]/GET.ts
28672
- const handler$57 = async (c) => {
28742
+ const handler$58 = async (c) => {
28673
28743
  return c.json(ProjectResponseSchema.parse(routeProject(c.get("project"))));
28674
28744
  };
28675
28745
  //#endregion
28676
28746
  //#region src/routes/account/projects/[projectId]/PATCH.ts
28677
- const handler$56 = async (c) => {
28747
+ const handler$57 = async (c) => {
28678
28748
  const organization = c.get("organization");
28679
28749
  const project = c.get("project");
28680
28750
  const body = await c.req.json().catch(() => null);
@@ -28692,7 +28762,7 @@ const handler$56 = async (c) => {
28692
28762
  };
28693
28763
  //#endregion
28694
28764
  //#region src/routes/account/projects/[projectId]/DELETE.ts
28695
- const handler$55 = async (c) => {
28765
+ const handler$56 = async (c) => {
28696
28766
  const organization = c.get("organization");
28697
28767
  const project = c.get("project");
28698
28768
  if (!await deleteProjectForOrganization(organization.organizationId, project.id)) return c.json(ErrorResponseSchema.parse({ error: "Project not found" }), 404);
@@ -28700,7 +28770,7 @@ const handler$55 = async (c) => {
28700
28770
  };
28701
28771
  //#endregion
28702
28772
  //#region src/routes/account/projects/[projectId]/deployments/GET.ts
28703
- const handler$54 = async (c) => {
28773
+ const handler$55 = async (c) => {
28704
28774
  const rows = await selectProjectDeployments(c.get("project").id);
28705
28775
  return c.json(ListProjectDeploymentsResponseSchema.parse(rows.map(mapProjectDeployment)));
28706
28776
  };
@@ -28708,7 +28778,7 @@ const handler$54 = async (c) => {
28708
28778
  //#region src/routes/account/projects/[projectId]/artifacts/POST.ts
28709
28779
  const DEFAULT_PRESIGN_TTL_SECONDS$1 = 900;
28710
28780
  const ARTIFACT_CONTENT_TYPE = "application/gzip";
28711
- const handler$53 = async (c) => {
28781
+ const handler$54 = async (c) => {
28712
28782
  const project = c.get("project");
28713
28783
  const { organizationId } = c.get("organization");
28714
28784
  const organization = await selectOrganizationById(organizationId);
@@ -28736,7 +28806,7 @@ const handler$53 = async (c) => {
28736
28806
  //#endregion
28737
28807
  //#region src/routes/account/projects/[projectId]/artifacts/active/download/GET.ts
28738
28808
  const DEFAULT_PRESIGN_TTL_SECONDS = 900;
28739
- const handler$52 = async (c) => {
28809
+ const handler$53 = async (c) => {
28740
28810
  const project = c.get("project");
28741
28811
  const { organizationId } = c.get("organization");
28742
28812
  const organization = await selectOrganizationById(organizationId);
@@ -28755,7 +28825,7 @@ const handler$52 = async (c) => {
28755
28825
  };
28756
28826
  //#endregion
28757
28827
  //#region src/routes/account/projects/[projectId]/artifacts/active/source/GET.ts
28758
- const handler$51 = async (c) => {
28828
+ const handler$52 = async (c) => {
28759
28829
  const project = c.get("project");
28760
28830
  const active = await selectActiveArtifactSourceManifestForProject(project.id);
28761
28831
  if (!active?.sourceManifestJson) return c.json(ErrorResponseSchema.parse({ error: "No active source for project" }), 404);
@@ -28784,7 +28854,7 @@ const TRIGGER_KINDS = new Set([
28784
28854
  "trigger-poll-group",
28785
28855
  "cron-schedule"
28786
28856
  ]);
28787
- const handler$50 = async (c) => {
28857
+ const handler$51 = async (c) => {
28788
28858
  const project = c.get("project");
28789
28859
  const user = c.get("user");
28790
28860
  const artifactId = c.req.param("artifactId");
@@ -28848,7 +28918,7 @@ const handler$50 = async (c) => {
28848
28918
  //#endregion
28849
28919
  //#region src/routes/account/projects/[projectId]/artifacts/[artifactId]/source/presign/POST.ts
28850
28920
  const SOURCE_BLOB_CONTENT_TYPE = "text/plain; charset=utf-8";
28851
- const handler$49 = async (c) => {
28921
+ const handler$50 = async (c) => {
28852
28922
  const project = c.get("project");
28853
28923
  const artifactId = c.req.param("artifactId");
28854
28924
  if (!artifactId) return c.json(ErrorResponseSchema.parse({ error: "Artifact id is required" }), 400);
@@ -28876,7 +28946,7 @@ const handler$49 = async (c) => {
28876
28946
  };
28877
28947
  //#endregion
28878
28948
  //#region src/routes/account/projects/[projectId]/artifacts/[artifactId]/source/manifest/POST.ts
28879
- const handler$48 = async (c) => {
28949
+ const handler$49 = async (c) => {
28880
28950
  const project = c.get("project");
28881
28951
  const artifactId = c.req.param("artifactId");
28882
28952
  if (!artifactId) return c.json(ErrorResponseSchema.parse({ error: "Artifact id is required" }), 400);
@@ -28908,7 +28978,7 @@ function extensionFromUpload(contentType, filename) {
28908
28978
  if (fromName && /^[a-z0-9]+$/.test(fromName)) return fromName;
28909
28979
  return chatAttachmentExtension(contentType) ?? "bin";
28910
28980
  }
28911
- const handler$47 = async (c) => {
28981
+ const handler$48 = async (c) => {
28912
28982
  const project = c.get("project");
28913
28983
  const slug = c.req.param("slug");
28914
28984
  if (!slug) return c.json(ErrorResponseSchema.parse({ error: "Agent slug is required" }), 400);
@@ -28933,7 +29003,7 @@ const handler$47 = async (c) => {
28933
29003
  };
28934
29004
  //#endregion
28935
29005
  //#region src/routes/account/projects/[projectId]/agents/[slug]/attachments/[...key]/GET.ts
28936
- const handler$46 = async (c) => {
29006
+ const handler$47 = async (c) => {
28937
29007
  const project = c.get("project");
28938
29008
  const slug = c.req.param("slug");
28939
29009
  const keyParam = c.req.param("key");
@@ -28979,7 +29049,7 @@ function resolveSourcePaths(rows, kindDir, filePaths) {
28979
29049
  }] : [];
28980
29050
  });
28981
29051
  }
28982
- const handler$45 = async (c) => {
29052
+ const handler$46 = async (c) => {
28983
29053
  const project = c.get("project");
28984
29054
  const active = await selectActiveArtifactSourceManifestForProject(project.id);
28985
29055
  if (!active || !active.sourceManifestJson) return c.json(ListProjectFilesResponseSchema.parse({
@@ -29024,7 +29094,7 @@ function ifNoneMatchMatches(ifNoneMatch, etag) {
29024
29094
  }
29025
29095
  //#endregion
29026
29096
  //#region src/routes/account/projects/[projectId]/artifacts/[artifactId]/files/content/GET.ts
29027
- const handler$44 = async (c) => {
29097
+ const handler$45 = async (c) => {
29028
29098
  const project = c.get("project");
29029
29099
  const artifactId = c.req.param("artifactId");
29030
29100
  if (!artifactId) return c.json(ErrorResponseSchema.parse({ error: "Artifact id is required" }), 400);
@@ -29070,7 +29140,7 @@ function createProjectReachabilityHandler(hosting) {
29070
29140
  }
29071
29141
  //#endregion
29072
29142
  //#region src/routes/account/projects/[projectId]/members/GET.ts
29073
- const handler$43 = async (c) => {
29143
+ const handler$44 = async (c) => {
29074
29144
  const project = c.get("project");
29075
29145
  const currentUserId = c.get("user").id;
29076
29146
  const members = await selectProjectMembers(project.id);
@@ -29078,7 +29148,7 @@ const handler$43 = async (c) => {
29078
29148
  };
29079
29149
  //#endregion
29080
29150
  //#region src/routes/account/projects/[projectId]/members/POST.ts
29081
- const handler$42 = async (c) => {
29151
+ const handler$43 = async (c) => {
29082
29152
  const organization = c.get("organization");
29083
29153
  const project = c.get("project");
29084
29154
  const body = await c.req.json().catch(() => null);
@@ -29094,7 +29164,7 @@ const handler$42 = async (c) => {
29094
29164
  };
29095
29165
  //#endregion
29096
29166
  //#region src/routes/account/projects/[projectId]/members/[userId]/PATCH.ts
29097
- const handler$41 = async (c) => {
29167
+ const handler$42 = async (c) => {
29098
29168
  const project = c.get("project");
29099
29169
  const userId = c.req.param("userId");
29100
29170
  const body = await c.req.json().catch(() => null);
@@ -29111,7 +29181,7 @@ const handler$41 = async (c) => {
29111
29181
  };
29112
29182
  //#endregion
29113
29183
  //#region src/routes/account/projects/[projectId]/members/[userId]/DELETE.ts
29114
- const handler$40 = async (c) => {
29184
+ const handler$41 = async (c) => {
29115
29185
  const project = c.get("project");
29116
29186
  const userId = c.req.param("userId");
29117
29187
  if (!userId) return c.json(ErrorResponseSchema.parse({ error: "User id is required" }), 400);
@@ -29125,7 +29195,7 @@ const handler$40 = async (c) => {
29125
29195
  };
29126
29196
  //#endregion
29127
29197
  //#region src/routes/account/projects/[projectId]/members/me/DELETE.ts
29128
- const handler$39 = async (c) => {
29198
+ const handler$40 = async (c) => {
29129
29199
  const project = c.get("project");
29130
29200
  const userId = c.get("user").id;
29131
29201
  try {
@@ -29138,13 +29208,13 @@ const handler$39 = async (c) => {
29138
29208
  };
29139
29209
  //#endregion
29140
29210
  //#region src/routes/account/projects/[projectId]/settings/GET.ts
29141
- const handler$38 = async (c) => {
29211
+ const handler$39 = async (c) => {
29142
29212
  const project = c.get("project");
29143
29213
  return c.json(ProjectSettingsResponseSchema.parse(mapProjectSettings(project)));
29144
29214
  };
29145
29215
  //#endregion
29146
29216
  //#region src/routes/account/projects/[projectId]/settings/PATCH.ts
29147
- const handler$37 = async (c) => {
29217
+ const handler$38 = async (c) => {
29148
29218
  const organization = c.get("organization");
29149
29219
  const project = c.get("project");
29150
29220
  const body = await c.req.json().catch(() => null);
@@ -29269,7 +29339,7 @@ async function enrichCredentialInstances(rows, organizationId) {
29269
29339
  }
29270
29340
  //#endregion
29271
29341
  //#region src/routes/account/credentials/GET.ts
29272
- const handler$36 = async (c) => {
29342
+ const handler$37 = async (c) => {
29273
29343
  const organization = c.get("organization");
29274
29344
  const user = c.get("user");
29275
29345
  const query = ListCredentialsPageQuerySchema.parse({
@@ -29298,7 +29368,7 @@ function withTargetScope$1(target, fn) {
29298
29368
  if (target.projectScope) return runWithProjectScope(target.projectScope, fn);
29299
29369
  return fn();
29300
29370
  }
29301
- const handler$35 = async (c) => {
29371
+ const handler$36 = async (c) => {
29302
29372
  const organization = c.get("organization");
29303
29373
  const user = c.get("user");
29304
29374
  const parsed = CreateCredentialsRequestSchema.safeParse(await c.req.json().catch(() => null));
@@ -29414,7 +29484,7 @@ async function canAccessCredentialRow(c, row) {
29414
29484
  }
29415
29485
  //#endregion
29416
29486
  //#region src/routes/account/credentials/[credentialId]/GET.ts
29417
- const handler$34 = async (c) => {
29487
+ const handler$35 = async (c) => {
29418
29488
  const organization = c.get("organization");
29419
29489
  const credentialId = c.req.param("credentialId") ?? "";
29420
29490
  const row = credentialId ? await selectCredentialInstanceById(credentialId) : void 0;
@@ -29475,7 +29545,7 @@ function sharedConnectionIdFor(row, scopeType, scopeId) {
29475
29545
  if (!row.connectionId) return row.sharedConnectionId;
29476
29546
  return mcpEntityId(scopeType, scopeId);
29477
29547
  }
29478
- const handler$33 = async (c) => {
29548
+ const handler$34 = async (c) => {
29479
29549
  const organization = c.get("organization");
29480
29550
  const user = c.get("user");
29481
29551
  const credentialId = c.req.param("credentialId") ?? "";
@@ -29576,7 +29646,7 @@ function withTargetScope(target, fn) {
29576
29646
  if (target.projectScope) return runWithProjectScope(target.projectScope, fn);
29577
29647
  return fn();
29578
29648
  }
29579
- const handler$32 = async (c) => {
29649
+ const handler$33 = async (c) => {
29580
29650
  const organization = c.get("organization");
29581
29651
  const user = c.get("user");
29582
29652
  const credentialId = c.req.param("credentialId") ?? "";
@@ -29611,6 +29681,7 @@ const handler$32 = async (c) => {
29611
29681
  }] : []
29612
29682
  ];
29613
29683
  let apiKeyValue;
29684
+ let keystrokeSecretValue;
29614
29685
  if (source.authKind === "api_key") {
29615
29686
  const raw = await readCredentialInstanceSecret(source.id);
29616
29687
  if (!raw) return c.json({ error: "Credential secret not found" }, 400);
@@ -29619,6 +29690,13 @@ const handler$32 = async (c) => {
29619
29690
  } catch {
29620
29691
  return c.json({ error: "Credential secret is invalid" }, 400);
29621
29692
  }
29693
+ } else if (source.authKind === "keystroke") {
29694
+ const raw = await readCredentialInstanceSecret(source.id);
29695
+ if (raw) try {
29696
+ keystrokeSecretValue = JSON.parse(raw);
29697
+ } catch {
29698
+ return c.json({ error: "Credential secret is invalid" }, 400);
29699
+ }
29622
29700
  }
29623
29701
  const sourceLabel = source.label ?? source.name ?? source.appSlug;
29624
29702
  const baseLabel = input.label?.trim() || `${sourceLabel} (copy)`;
@@ -29668,6 +29746,7 @@ const handler$32 = async (c) => {
29668
29746
  createdAt: now,
29669
29747
  updatedAt: now
29670
29748
  });
29749
+ if (source.authKind === "keystroke" && keystrokeSecretValue !== void 0) await setCredentialInstanceSecretValue(id, keystrokeSecretValue);
29671
29750
  });
29672
29751
  createdIds.push(id);
29673
29752
  }
@@ -29699,6 +29778,7 @@ function createDeleteCredentialHandler(options = {}) {
29699
29778
  await options.mcp.revokeConnection(resolveMcpEntityId(existing), existing.connectionId);
29700
29779
  }
29701
29780
  }
29781
+ await deleteCredentialInstanceSecret(existing.id);
29702
29782
  } else await deleteCredentialInstanceSecret(existing.id);
29703
29783
  await deleteCredentialInstanceById(credentialId);
29704
29784
  return c.body(null, 204);
@@ -29706,7 +29786,7 @@ function createDeleteCredentialHandler(options = {}) {
29706
29786
  }
29707
29787
  //#endregion
29708
29788
  //#region src/routes/account/members/GET.ts
29709
- const handler$31 = async (c) => {
29789
+ const handler$32 = async (c) => {
29710
29790
  const { organizationId } = c.get("organization");
29711
29791
  const query = ListOrganizationMembersPageQuerySchema.parse({
29712
29792
  limit: c.req.query("limit") || void 0,
@@ -29764,7 +29844,7 @@ async function sendOrganizationInviteEmail(payload, resend) {
29764
29844
  }
29765
29845
  //#endregion
29766
29846
  //#region src/routes/account/members/invitations/POST.ts
29767
- const handler$30 = async (c) => {
29847
+ const handler$31 = async (c) => {
29768
29848
  const user = c.get("user");
29769
29849
  const organization = c.get("organization");
29770
29850
  const body = await c.req.json().catch(() => null);
@@ -29790,7 +29870,7 @@ const handler$30 = async (c) => {
29790
29870
  };
29791
29871
  //#endregion
29792
29872
  //#region src/routes/account/members/[userId]/PATCH.ts
29793
- const handler$29 = async (c) => {
29873
+ const handler$30 = async (c) => {
29794
29874
  const { organizationId } = c.get("organization");
29795
29875
  const userId = c.req.param("userId");
29796
29876
  const body = await c.req.json().catch(() => null);
@@ -29807,7 +29887,7 @@ const handler$29 = async (c) => {
29807
29887
  };
29808
29888
  //#endregion
29809
29889
  //#region src/routes/account/members/[userId]/DELETE.ts
29810
- const handler$28 = async (c) => {
29890
+ const handler$29 = async (c) => {
29811
29891
  const { organizationId } = c.get("organization");
29812
29892
  const userId = c.req.param("userId");
29813
29893
  if (!userId) return c.json(ErrorResponseSchema.parse({ error: "User id is required" }), 400);
@@ -29821,13 +29901,13 @@ const handler$28 = async (c) => {
29821
29901
  };
29822
29902
  //#endregion
29823
29903
  //#region src/routes/account/invitations/GET.ts
29824
- const handler$27 = async (c) => {
29904
+ const handler$28 = async (c) => {
29825
29905
  const invitations = await selectPendingInvitationsForUser(c.get("user").id);
29826
29906
  return c.json(ListOrganizationInvitationsResponseSchema.parse(invitations.map(mapOrganizationInvitation)));
29827
29907
  };
29828
29908
  //#endregion
29829
29909
  //#region src/routes/account/invitations/[invitationId]/accept/POST.ts
29830
- const handler$26 = async (c) => {
29910
+ const handler$27 = async (c) => {
29831
29911
  const user = c.get("user");
29832
29912
  const invitationId = c.req.param("invitationId");
29833
29913
  if (!invitationId) return c.json(ErrorResponseSchema.parse({ error: "Invitation id is required" }), 400);
@@ -29848,7 +29928,7 @@ const handler$26 = async (c) => {
29848
29928
  };
29849
29929
  //#endregion
29850
29930
  //#region src/routes/account/invitations/[invitationId]/decline/POST.ts
29851
- const handler$25 = async (c) => {
29931
+ const handler$26 = async (c) => {
29852
29932
  const user = c.get("user");
29853
29933
  const invitationId = c.req.param("invitationId");
29854
29934
  if (!invitationId) return c.json(ErrorResponseSchema.parse({ error: "Invitation id is required" }), 400);
@@ -29936,13 +30016,13 @@ function appRowToCustomAppDetail(row) {
29936
30016
  }
29937
30017
  //#endregion
29938
30018
  //#region src/routes/account/apps/GET.ts
29939
- const handler$24 = async (c) => {
30019
+ const handler$25 = async (c) => {
29940
30020
  const apps = (await listAppsForOrganization(c.get("organization").organizationId)).map(appRowToCatalogSummary);
29941
30021
  return c.json(ListAppsResponseSchema.parse(apps));
29942
30022
  };
29943
30023
  //#endregion
29944
30024
  //#region src/routes/account/apps/POST.ts
29945
- const handler$23 = async (c) => {
30025
+ const handler$24 = async (c) => {
29946
30026
  const organization = c.get("organization");
29947
30027
  const user = c.get("user");
29948
30028
  const parsed = CreateCustomAppRequestSchema.safeParse(await c.req.json().catch(() => null));
@@ -29987,7 +30067,7 @@ const handler$23 = async (c) => {
29987
30067
  };
29988
30068
  //#endregion
29989
30069
  //#region src/routes/account/apps/logo/POST.ts
29990
- const handler$22 = async (c) => {
30070
+ const handler$23 = async (c) => {
29991
30071
  const parsed = FinalizeCustomAppLogoRequestSchema.safeParse(await c.req.json().catch(() => null));
29992
30072
  if (!parsed.success) return c.json(ErrorResponseSchema.parse({ error: "Invalid logo finalize request" }), 400);
29993
30073
  const { organizationId } = c.get("organization");
@@ -30002,7 +30082,7 @@ const handler$22 = async (c) => {
30002
30082
  };
30003
30083
  //#endregion
30004
30084
  //#region src/routes/account/apps/logo/presign/POST.ts
30005
- const handler$21 = async (c) => {
30085
+ const handler$22 = async (c) => {
30006
30086
  const parsed = PresignCustomAppLogoRequestSchema.safeParse(await c.req.json().catch(() => null));
30007
30087
  if (!parsed.success) return c.json(ErrorResponseSchema.parse({ error: "Invalid logo upload request" }), 400);
30008
30088
  const extension = avatarExtensionForContentType(parsed.data.contentType);
@@ -30020,7 +30100,7 @@ const handler$21 = async (c) => {
30020
30100
  };
30021
30101
  //#endregion
30022
30102
  //#region src/routes/account/apps/discover/POST.ts
30023
- const handler$20 = async (c) => {
30103
+ const handler$21 = async (c) => {
30024
30104
  const parsed = McpDiscoverRequestSchema.safeParse(await c.req.json().catch(() => null));
30025
30105
  if (!parsed.success) return c.json({ error: "Invalid request body" }, 400);
30026
30106
  try {
@@ -30034,7 +30114,7 @@ const handler$20 = async (c) => {
30034
30114
  };
30035
30115
  //#endregion
30036
30116
  //#region src/routes/account/apps/discover-openapi/POST.ts
30037
- const handler$19 = async (c) => {
30117
+ const handler$20 = async (c) => {
30038
30118
  const parsed = OpenApiDiscoverRequestSchema.safeParse(await c.req.json().catch(() => null));
30039
30119
  if (!parsed.success) return c.json({ error: "Invalid request body" }, 400);
30040
30120
  try {
@@ -30051,7 +30131,7 @@ const handler$19 = async (c) => {
30051
30131
  };
30052
30132
  //#endregion
30053
30133
  //#region src/routes/account/apps/discover-graphql/POST.ts
30054
- const handler$18 = async (c) => {
30134
+ const handler$19 = async (c) => {
30055
30135
  const parsed = GraphqlDiscoverRequestSchema.safeParse(await c.req.json().catch(() => null));
30056
30136
  if (!parsed.success) return c.json({ error: "Invalid request body" }, 400);
30057
30137
  try {
@@ -30083,7 +30163,7 @@ function sanitizedUrl(value) {
30083
30163
  }
30084
30164
  //#endregion
30085
30165
  //#region src/routes/account/apps/[slug]/mcp/oauth/connections/POST.ts
30086
- const handler$17 = async (c) => {
30166
+ const handler$18 = async (c) => {
30087
30167
  const organization = c.get("organization");
30088
30168
  const user = c.get("user");
30089
30169
  const appSlug = c.req.param("slug")?.trim();
@@ -30177,7 +30257,7 @@ function buildOAuthWebLandingUrl(webOrigin, params) {
30177
30257
  function normalizedOAuthError(value) {
30178
30258
  return /^[a-z0-9_]+$/i.test(value) ? value : "authorization_failed";
30179
30259
  }
30180
- const handler$16 = async (c) => {
30260
+ const handler$17 = async (c) => {
30181
30261
  const code = c.req.query("code")?.trim();
30182
30262
  const state = c.req.query("state")?.trim();
30183
30263
  const oauthError = c.req.query("error")?.trim();
@@ -30310,7 +30390,7 @@ const handler$16 = async (c) => {
30310
30390
  };
30311
30391
  //#endregion
30312
30392
  //#region src/routes/account/apps/slug-available/GET.ts
30313
- const handler$15 = async (c) => {
30393
+ const handler$16 = async (c) => {
30314
30394
  const organization = c.get("organization");
30315
30395
  const parsed = AppSlugAvailabilityQuerySchema.safeParse({ slug: c.req.query("slug") });
30316
30396
  if (!parsed.success) return c.json(ErrorResponseSchema.parse({ error: "Invalid slug query" }), 400);
@@ -30321,7 +30401,7 @@ const handler$15 = async (c) => {
30321
30401
  };
30322
30402
  //#endregion
30323
30403
  //#region src/routes/account/apps/[slug]/GET.ts
30324
- const handler$14 = async (c) => {
30404
+ const handler$15 = async (c) => {
30325
30405
  const organization = c.get("organization");
30326
30406
  const slug = c.req.param("slug") ?? "";
30327
30407
  if (!slug) return c.json(ErrorResponseSchema.parse({ error: "App not found" }), 404);
@@ -30336,7 +30416,7 @@ const handler$14 = async (c) => {
30336
30416
  //#endregion
30337
30417
  //#region src/routes/account/apps/[slug]/catalog/GET.ts
30338
30418
  /** Full catalog entry (scopes + credential template) for connect UI. */
30339
- const handler$13 = async (c) => {
30419
+ const handler$14 = async (c) => {
30340
30420
  const organization = c.get("organization");
30341
30421
  const slug = c.req.param("slug") ?? "";
30342
30422
  if (!slug) return c.json(ErrorResponseSchema.parse({ error: "App not found" }), 404);
@@ -30369,14 +30449,14 @@ function projectChannelPlatform(row) {
30369
30449
  });
30370
30450
  }
30371
30451
  /** Gateway platforms only — avoids downloading the full apps catalog. */
30372
- const handler$12 = async (c) => {
30452
+ const handler$13 = async (c) => {
30373
30453
  const organization = c.get("organization");
30374
30454
  const platforms = (await Promise.all(Object.keys(GATEWAY_BY_APP_SLUG).map((slug) => selectAppForOrganization(organization.organizationId, slug)))).flatMap((row) => row ? [projectChannelPlatform(row)] : []);
30375
30455
  return c.json(ListChannelPlatformsResponseSchema.parse(platforms));
30376
30456
  };
30377
30457
  //#endregion
30378
30458
  //#region src/routes/account/api-keys/GET.ts
30379
- const handler$11 = async (c) => {
30459
+ const handler$12 = async (c) => {
30380
30460
  const { organizationId } = c.get("organization");
30381
30461
  const user = c.get("user");
30382
30462
  const records = apiKeyListScope(accessContext(c)).kind === "all" ? await listOrgPlatformApiKeysForOrganization(organizationId) : await listOrgPlatformApiKeysForUser(organizationId, user.id);
@@ -30393,7 +30473,7 @@ const handler$11 = async (c) => {
30393
30473
  };
30394
30474
  //#endregion
30395
30475
  //#region src/routes/account/api-keys/POST.ts
30396
- const handler$10 = async (c) => {
30476
+ const handler$11 = async (c) => {
30397
30477
  const { organizationId } = c.get("organization");
30398
30478
  const user = c.get("user");
30399
30479
  const body = CreateApiKeyRequestSchema.parse(await c.req.json());
@@ -30416,7 +30496,7 @@ const handler$10 = async (c) => {
30416
30496
  };
30417
30497
  //#endregion
30418
30498
  //#region src/routes/account/api-keys/[apiKeyId]/DELETE.ts
30419
- const handler$9 = async (c) => {
30499
+ const handler$10 = async (c) => {
30420
30500
  const { organizationId } = c.get("organization");
30421
30501
  const user = c.get("user");
30422
30502
  const apiKeyId = c.req.param("apiKeyId");
@@ -30441,7 +30521,7 @@ const handler$9 = async (c) => {
30441
30521
  };
30442
30522
  //#endregion
30443
30523
  //#region src/routes/account/managed-service-credentials/GET.ts
30444
- const handler$8 = async (c) => {
30524
+ const handler$9 = async (c) => {
30445
30525
  const { organizationId } = c.get("organization");
30446
30526
  const user = c.get("user");
30447
30527
  const kindParam = c.req.query("kind");
@@ -30467,7 +30547,7 @@ const handler$8 = async (c) => {
30467
30547
  };
30468
30548
  //#endregion
30469
30549
  //#region src/routes/account/managed-service-credentials/POST.ts
30470
- const handler$7 = async (c) => {
30550
+ const handler$8 = async (c) => {
30471
30551
  const { organizationId } = c.get("organization");
30472
30552
  const user = c.get("user");
30473
30553
  let raw;
@@ -30504,7 +30584,7 @@ const handler$7 = async (c) => {
30504
30584
  };
30505
30585
  //#endregion
30506
30586
  //#region src/routes/account/managed-service-credentials/[id]/PATCH.ts
30507
- const handler$6 = async (c) => {
30587
+ const handler$7 = async (c) => {
30508
30588
  const { organizationId } = c.get("organization");
30509
30589
  const user = c.get("user");
30510
30590
  const credentialId = c.req.param("id");
@@ -30543,7 +30623,7 @@ const handler$6 = async (c) => {
30543
30623
  };
30544
30624
  //#endregion
30545
30625
  //#region src/routes/account/managed-service-credentials/[id]/DELETE.ts
30546
- const handler$5 = async (c) => {
30626
+ const handler$6 = async (c) => {
30547
30627
  const { organizationId } = c.get("organization");
30548
30628
  const credentialId = c.req.param("id");
30549
30629
  if (!credentialId) return c.json(ErrorResponseSchema.parse({ error: "Credential id is required" }), 400);
@@ -30589,6 +30669,7 @@ function teamRequestHeading(type) {
30589
30669
  case "contact": return "Contact request";
30590
30670
  case "enterprise-upgrade": return "Enterprise upgrade requested";
30591
30671
  case "verification": return "Organization access requested";
30672
+ case "connector-access": return "Connector sandbox access requested";
30592
30673
  default: return type;
30593
30674
  }
30594
30675
  }
@@ -30610,7 +30691,8 @@ function buildTeamRequestSlackPayload(input) {
30610
30691
  case "org-deletion":
30611
30692
  case "contact":
30612
30693
  case "enterprise-upgrade":
30613
- case "verification": break;
30694
+ case "verification":
30695
+ case "connector-access": break;
30614
30696
  default: return input.type;
30615
30697
  }
30616
30698
  const timestamp = input.timestamp ?? (/* @__PURE__ */ new Date()).toISOString();
@@ -30634,6 +30716,10 @@ function buildTeamRequestSlackPayload(input) {
30634
30716
  text: `*Organization:*\n${input.org.name}\n\`${input.org.slug}\`\n\`${input.org.id}\``
30635
30717
  }
30636
30718
  ];
30719
+ if (input.type === "connector-access" && input.appSlug) fields.push({
30720
+ type: "mrkdwn",
30721
+ text: `*Connector:*\n\`${escapeSlackText(input.appSlug)}\``
30722
+ });
30637
30723
  const blocks = [{
30638
30724
  type: "header",
30639
30725
  text: {
@@ -30645,7 +30731,7 @@ function buildTeamRequestSlackPayload(input) {
30645
30731
  type: "section",
30646
30732
  fields
30647
30733
  }];
30648
- if ((input.type === "contact" || input.type === "verification") && input.message?.trim()) blocks.push({
30734
+ if ((input.type === "contact" || input.type === "verification" || input.type === "connector-access") && input.message?.trim()) blocks.push({
30649
30735
  type: "section",
30650
30736
  text: {
30651
30737
  type: "mrkdwn",
@@ -30662,7 +30748,7 @@ async function postTeamRequestToSlack(input) {
30662
30748
  }
30663
30749
  //#endregion
30664
30750
  //#region src/routes/account/team-requests/POST.ts
30665
- const handler$4 = async (c) => {
30751
+ const handler$5 = async (c) => {
30666
30752
  const user = c.get("user");
30667
30753
  const organizationContext = c.get("organization");
30668
30754
  const parsed = SubmitTeamRequestRequestSchema.safeParse(await c.req.json().catch(() => null));
@@ -30676,6 +30762,7 @@ const handler$4 = async (c) => {
30676
30762
  await postTeamRequestToSlack({
30677
30763
  type: parsed.data.type,
30678
30764
  message: parsed.data.message,
30765
+ appSlug: parsed.data.appSlug,
30679
30766
  user: {
30680
30767
  id: user.id,
30681
30768
  name: user.name,
@@ -30695,11 +30782,94 @@ const handler$4 = async (c) => {
30695
30782
  name: "support:requested",
30696
30783
  actorId: user.id,
30697
30784
  organizationId: organization.id,
30698
- properties: { request_type: parsed.data.type }
30785
+ properties: {
30786
+ request_type: parsed.data.type,
30787
+ ...parsed.data.appSlug ? { app_slug: parsed.data.appSlug } : {}
30788
+ }
30699
30789
  }).catch(() => {});
30700
30790
  return c.json(SubmitTeamRequestResponseSchema.parse({ ok: true }), 200);
30701
30791
  };
30702
30792
  //#endregion
30793
+ //#region src/lib/agent-feedback-slack.ts
30794
+ /** Slack section mrkdwn text limit. */
30795
+ const SLACK_SECTION_TEXT_LIMIT = 3e3;
30796
+ function chunkSlackText(text, size) {
30797
+ if (text.length <= size) return [text];
30798
+ const chunks = [];
30799
+ for (let i = 0; i < text.length; i += size) chunks.push(text.slice(i, i + size));
30800
+ return chunks;
30801
+ }
30802
+ function buildAgentFeedbackSlackText(input) {
30803
+ const lines = [
30804
+ `*User:* ${escapeSlackText(input.user.name.trim())}`,
30805
+ `*Email:* ${escapeSlackText(input.user.email.trim())}`,
30806
+ `*Org:* ${escapeSlackText(input.org.name.trim())} (\`${escapeSlackText(input.org.slug.trim())}\`)`
30807
+ ];
30808
+ if (input.cliVersion?.trim()) lines.push(`*CLI:* ${escapeSlackText(input.cliVersion.trim())}`);
30809
+ if (input.projectSlug?.trim()) lines.push(`*Project:* \`${escapeSlackText(input.projectSlug.trim())}\``);
30810
+ lines.push("", "-------------------------", "", escapeSlackText(input.message.trim()));
30811
+ return lines.join("\n");
30812
+ }
30813
+ function buildAgentFeedbackSlackPayload(input) {
30814
+ const body = buildAgentFeedbackSlackText(input);
30815
+ return {
30816
+ text: `Feedback Report from ${input.user.name} (${input.org.name})`,
30817
+ blocks: chunkSlackText(body, SLACK_SECTION_TEXT_LIMIT).map((chunk) => ({
30818
+ type: "section",
30819
+ text: {
30820
+ type: "mrkdwn",
30821
+ text: chunk
30822
+ }
30823
+ }))
30824
+ };
30825
+ }
30826
+ async function postAgentFeedbackToSlack(input) {
30827
+ await postAgentFeedbackSlackWebhook(buildAgentFeedbackSlackPayload(input));
30828
+ }
30829
+ //#endregion
30830
+ //#region src/routes/account/agent-feedback/POST.ts
30831
+ const handler$4 = async (c) => {
30832
+ const user = c.get("user");
30833
+ const organizationContext = c.get("organization");
30834
+ const parsed = SubmitAgentFeedbackRequestSchema.safeParse(await c.req.json().catch(() => null));
30835
+ if (!parsed.success) {
30836
+ const message = parsed.error.issues[0]?.message ?? "Invalid request body";
30837
+ return c.json({ error: message }, 400);
30838
+ }
30839
+ const organization = await selectOrganizationById(organizationContext.organizationId);
30840
+ if (!organization) return c.json({ error: "Organization not found" }, 404);
30841
+ try {
30842
+ await postAgentFeedbackToSlack({
30843
+ message: parsed.data.message,
30844
+ cliVersion: parsed.data.cliVersion,
30845
+ projectSlug: parsed.data.projectSlug,
30846
+ user: {
30847
+ name: user.name,
30848
+ email: user.email
30849
+ },
30850
+ org: {
30851
+ name: organization.name,
30852
+ slug: organization.slug
30853
+ }
30854
+ });
30855
+ } catch (error) {
30856
+ console.error("Failed to deliver agent feedback to Slack", error);
30857
+ return c.json({ error: "Failed to deliver feedback" }, 502);
30858
+ }
30859
+ trackProductEvent({
30860
+ name: "feedback:submitted",
30861
+ actorId: user.id,
30862
+ organizationId: organization.id,
30863
+ properties: {
30864
+ source: "cli-agent",
30865
+ has_cli_version: Boolean(parsed.data.cliVersion),
30866
+ has_project_slug: Boolean(parsed.data.projectSlug),
30867
+ message_length: parsed.data.message.length
30868
+ }
30869
+ }).catch(() => {});
30870
+ return c.json(SubmitAgentFeedbackResponseSchema.parse({ ok: true }), 200);
30871
+ };
30872
+ //#endregion
30703
30873
  //#region src/routes/account/templates/GET.ts
30704
30874
  function toIso(date) {
30705
30875
  return date.toISOString();
@@ -30747,7 +30917,7 @@ function mountAccountRoutes(options) {
30747
30917
  const projectScoped = new Hono();
30748
30918
  const protect = requireSession(createDefaultAuthJwtVerifier());
30749
30919
  const deleteCredential = createDeleteCredentialHandler({ mcp: options.mcp });
30750
- account.get("/mcp/oauth/callback", handler$16);
30920
+ account.get("/mcp/oauth/callback", handler$17);
30751
30921
  account.use("/*", protect);
30752
30922
  orgScoped.use("/*", protect);
30753
30923
  orgScoped.use("/*", requireOrganization());
@@ -30769,119 +30939,120 @@ function mountAccountRoutes(options) {
30769
30939
  const requireProjectManageMembers = authorize(projectActions.manageMembers);
30770
30940
  const requireInvitableProjectRole = authorizePayload(InviteProjectMembersRequestSchema, ({ c, ctx, body }) => canInviteToProject(ctx, { invitePermission: getProjectInvitePermission(c) }, body.role));
30771
30941
  const requireOrgParam = requireOrganizationParam();
30772
- account.get("/organizations", handler$105);
30773
- account.get("/organizations/slug-available", handler$104);
30942
+ account.get("/organizations", handler$106);
30943
+ account.get("/organizations/slug-available", handler$105);
30774
30944
  account.post("/organizations", createOrganizationHandler(options));
30775
- account.get("/organizations/:organizationId", requireOrgParam, handler$103);
30776
- account.patch("/organizations/:organizationId", requireOrgParam, requireOrgUpdate, handler$102);
30777
- account.get("/organizations/:organizationId/branding", requireOrgParam, handler$101);
30778
- account.patch("/organizations/:organizationId/branding", requireOrgParam, requireOrgUpdate, handler$100);
30779
- account.post("/organizations/:organizationId/branding/logo/presign", requireOrgParam, requireOrgUpdate, handler$99);
30780
- account.get("/invitations", handler$27);
30781
- account.post("/invitations/:invitationId/accept", handler$26);
30782
- account.post("/invitations/:invitationId/decline", handler$25);
30783
- account.get("/users/me/avatar", handler$110);
30784
- account.post("/users/me/avatar/presign", handler$109);
30785
- account.patch("/users/me/avatar", handler$108);
30786
- account.get("/users/me/preferences", handler$107);
30787
- account.patch("/users/me/preferences", handler$106);
30945
+ account.get("/organizations/:organizationId", requireOrgParam, handler$104);
30946
+ account.patch("/organizations/:organizationId", requireOrgParam, requireOrgUpdate, handler$103);
30947
+ account.get("/organizations/:organizationId/branding", requireOrgParam, handler$102);
30948
+ account.patch("/organizations/:organizationId/branding", requireOrgParam, requireOrgUpdate, handler$101);
30949
+ account.post("/organizations/:organizationId/branding/logo/presign", requireOrgParam, requireOrgUpdate, handler$100);
30950
+ account.get("/invitations", handler$28);
30951
+ account.post("/invitations/:invitationId/accept", handler$27);
30952
+ account.post("/invitations/:invitationId/decline", handler$26);
30953
+ account.get("/users/me/avatar", handler$111);
30954
+ account.post("/users/me/avatar/presign", handler$110);
30955
+ account.patch("/users/me/avatar", handler$109);
30956
+ account.get("/users/me/preferences", handler$108);
30957
+ account.patch("/users/me/preferences", handler$107);
30788
30958
  const withOrgDb = withOrganizationProjectDatabase();
30789
- orgScoped.get("/apps", handler$24);
30959
+ orgScoped.get("/apps", handler$25);
30790
30960
  orgScoped.get("/templates", listTemplatesHandler);
30791
30961
  orgScoped.get("/templates/:slug", getTemplateHandler);
30792
30962
  orgScoped.get("/templates/:slug/files", getTemplateFilesHandler);
30793
- orgScoped.get("/apps/slug-available", handler$15);
30794
- orgScoped.get("/channel-platforms", handler$12);
30795
- orgScoped.post("/apps/discover", requireOrgUpdate, handler$20);
30796
- orgScoped.post("/apps/discover-openapi", requireOrgUpdate, handler$19);
30797
- orgScoped.post("/apps/discover-graphql", requireOrgUpdate, handler$18);
30798
- orgScoped.post("/apps/logo/presign", requireOrgUpdate, handler$21);
30799
- orgScoped.post("/apps/logo", requireOrgUpdate, handler$22);
30800
- orgScoped.post("/apps", requireOrgUpdate, handler$23);
30801
- orgScoped.post("/apps/:slug/mcp/oauth/connections", requireOrgUpdate, withOrgDb, handler$17);
30802
- orgScoped.get("/apps/:slug/catalog", handler$13);
30803
- orgScoped.get("/apps/:slug", handler$14);
30804
- account.post("/team-requests", requireOrganization(), handler$4);
30805
- orgScoped.get("/members", handler$31);
30806
- orgScoped.post("/members/invitations", requireUserInvite, requireInvitableRole, handler$30);
30807
- orgScoped.patch("/members/:userId", requireUserManage, handler$29);
30808
- orgScoped.delete("/members/:userId", requireUserManage, handler$28);
30809
- orgScoped.get("/api-keys", handler$11);
30810
- orgScoped.post("/api-keys", requireApiKeyCreate, handler$10);
30811
- orgScoped.delete("/api-keys/:apiKeyId", handler$9);
30812
- orgScoped.get("/managed-service-credentials", requireManagedServicesRead, handler$8);
30813
- orgScoped.post("/managed-service-credentials", requireManagedServicesManage, handler$7);
30814
- orgScoped.patch("/managed-service-credentials/:id", requireManagedServicesManage, handler$6);
30815
- orgScoped.delete("/managed-service-credentials/:id", requireManagedServicesManage, handler$5);
30816
- orgScoped.get("/agents", withOrgDb, handler$96);
30817
- orgScoped.get("/agents/:agentId", withOrgDb, handler$95);
30818
- orgScoped.get("/agents/:agentId/memory/files", withOrgDb, handler$94);
30819
- orgScoped.get("/agents/:agentId/memory/files/content", withOrgDb, handler$93);
30820
- orgScoped.get("/agents/:agentId/workspace/files", withOrgDb, handler$92);
30821
- orgScoped.get("/agents/:agentId/workspace/files/content", withOrgDb, handler$91);
30822
- orgScoped.get("/workflows", withOrgDb, handler$89);
30823
- orgScoped.get("/workflows/forms", handler$88);
30824
- orgScoped.get("/workflows/:workflowId", withOrgDb, handler$87);
30825
- orgScoped.get("/workflows/:workflowId/canvas", withOrgDb, handler$86);
30826
- orgScoped.get("/workflows/:workflowId/canvas/credentials", withOrgDb, handler$85);
30827
- orgScoped.get("/workflows/:workflowId/canvas/runs/:runId", withOrgDb, handler$84);
30828
- orgScoped.get("/workflows/:workflowId/overview", withOrgDb, handler$83);
30829
- orgScoped.get("/workflows/:workflowId/runs", withOrgDb, handler$74);
30830
- orgScoped.get("/workflows/:workflowId/run-inputs", withOrgDb, handler$82);
30831
- orgScoped.put("/workflows/:workflowId/run-inputs", withOrgDb, handler$81);
30832
- orgScoped.post("/workflows/:workflowId/run", withOrgDb, handler$80);
30833
- orgScoped.get("/workflows/:workflowId/form", withOrgDb, handler$79);
30834
- orgScoped.put("/workflows/:workflowId/form", withOrgDb, handler$78);
30835
- orgScoped.delete("/workflows/:workflowId/form", withOrgDb, handler$77);
30836
- orgScoped.post("/workflows/:workflowId/form/rotate", withOrgDb, handler$76);
30837
- orgScoped.post("/workflows/:workflowId/attachments/presign", withOrgDb, handler$75);
30838
- orgScoped.get("/skills", withOrgDb, handler$72);
30839
- orgScoped.get("/skills/:skillId", withOrgDb, handler$71);
30840
- orgScoped.get("/triggers", withOrgDb, handler$70);
30841
- orgScoped.get("/triggers/:triggerId", withOrgDb, handler$69);
30842
- orgScoped.get("/triggers/:triggerId/runs", withOrgDb, handler$68);
30843
- orgScoped.get("/triggers/:triggerId/file", withOrgDb, handler$67);
30844
- orgScoped.get("/triggers/:triggerId/overview", withOrgDb, handler$66);
30845
- orgScoped.get("/triggers/:triggerId/invoke-inputs", withOrgDb, handler$63);
30846
- orgScoped.post("/triggers/:triggerId/invoke", withOrgDb, handler$64);
30847
- orgScoped.patch("/triggers/:triggerId/attachments/:attachmentId", withOrgDb, handler$65);
30848
- orgScoped.get("/recents", withOrgDb, handler$62);
30849
- orgScoped.get("/history", withOrgDb, handler$98);
30850
- orgScoped.get("/history/:runId", withOrgDb, handler$97);
30851
- orgScoped.post("/workflows/runs/:runId/cancel", withOrgDb, handler$73);
30852
- orgScoped.post("/agents/sessions/:sessionId/cancel", withOrgDb, handler$90);
30853
- orgScoped.get("/credentials", withOrgDb, handler$36);
30854
- orgScoped.post("/credentials", withOrgDb, handler$35);
30855
- orgScoped.get("/credentials/:credentialId", withOrgDb, (c, next) => c.req.param("credentialId") === "instances" ? next() : handler$34(c, next));
30856
- orgScoped.patch("/credentials/:credentialId", withOrgDb, handler$33);
30857
- orgScoped.post("/credentials/:credentialId/duplicate", withOrgDb, handler$32);
30963
+ orgScoped.get("/apps/slug-available", handler$16);
30964
+ orgScoped.get("/channel-platforms", handler$13);
30965
+ orgScoped.post("/apps/discover", requireOrgUpdate, handler$21);
30966
+ orgScoped.post("/apps/discover-openapi", requireOrgUpdate, handler$20);
30967
+ orgScoped.post("/apps/discover-graphql", requireOrgUpdate, handler$19);
30968
+ orgScoped.post("/apps/logo/presign", requireOrgUpdate, handler$22);
30969
+ orgScoped.post("/apps/logo", requireOrgUpdate, handler$23);
30970
+ orgScoped.post("/apps", requireOrgUpdate, handler$24);
30971
+ orgScoped.post("/apps/:slug/mcp/oauth/connections", requireOrgUpdate, withOrgDb, handler$18);
30972
+ orgScoped.get("/apps/:slug/catalog", handler$14);
30973
+ orgScoped.get("/apps/:slug", handler$15);
30974
+ account.post("/team-requests", requireOrganization(), handler$5);
30975
+ account.post("/agent-feedback", requireOrganization(), handler$4);
30976
+ orgScoped.get("/members", handler$32);
30977
+ orgScoped.post("/members/invitations", requireUserInvite, requireInvitableRole, handler$31);
30978
+ orgScoped.patch("/members/:userId", requireUserManage, handler$30);
30979
+ orgScoped.delete("/members/:userId", requireUserManage, handler$29);
30980
+ orgScoped.get("/api-keys", handler$12);
30981
+ orgScoped.post("/api-keys", requireApiKeyCreate, handler$11);
30982
+ orgScoped.delete("/api-keys/:apiKeyId", handler$10);
30983
+ orgScoped.get("/managed-service-credentials", requireManagedServicesRead, handler$9);
30984
+ orgScoped.post("/managed-service-credentials", requireManagedServicesManage, handler$8);
30985
+ orgScoped.patch("/managed-service-credentials/:id", requireManagedServicesManage, handler$7);
30986
+ orgScoped.delete("/managed-service-credentials/:id", requireManagedServicesManage, handler$6);
30987
+ orgScoped.get("/agents", withOrgDb, handler$97);
30988
+ orgScoped.get("/agents/:agentId", withOrgDb, handler$96);
30989
+ orgScoped.get("/agents/:agentId/memory/files", withOrgDb, handler$95);
30990
+ orgScoped.get("/agents/:agentId/memory/files/content", withOrgDb, handler$94);
30991
+ orgScoped.get("/agents/:agentId/workspace/files", withOrgDb, handler$93);
30992
+ orgScoped.get("/agents/:agentId/workspace/files/content", withOrgDb, handler$92);
30993
+ orgScoped.get("/workflows", withOrgDb, handler$90);
30994
+ orgScoped.get("/workflows/forms", handler$89);
30995
+ orgScoped.get("/workflows/:workflowId", withOrgDb, handler$88);
30996
+ orgScoped.get("/workflows/:workflowId/canvas", withOrgDb, handler$87);
30997
+ orgScoped.get("/workflows/:workflowId/canvas/credentials", withOrgDb, handler$86);
30998
+ orgScoped.get("/workflows/:workflowId/canvas/runs/:runId", withOrgDb, handler$85);
30999
+ orgScoped.get("/workflows/:workflowId/overview", withOrgDb, handler$84);
31000
+ orgScoped.get("/workflows/:workflowId/runs", withOrgDb, handler$75);
31001
+ orgScoped.get("/workflows/:workflowId/run-inputs", withOrgDb, handler$83);
31002
+ orgScoped.put("/workflows/:workflowId/run-inputs", withOrgDb, handler$82);
31003
+ orgScoped.post("/workflows/:workflowId/run", withOrgDb, handler$81);
31004
+ orgScoped.get("/workflows/:workflowId/form", withOrgDb, handler$80);
31005
+ orgScoped.put("/workflows/:workflowId/form", withOrgDb, handler$79);
31006
+ orgScoped.delete("/workflows/:workflowId/form", withOrgDb, handler$78);
31007
+ orgScoped.post("/workflows/:workflowId/form/rotate", withOrgDb, handler$77);
31008
+ orgScoped.post("/workflows/:workflowId/attachments/presign", withOrgDb, handler$76);
31009
+ orgScoped.get("/skills", withOrgDb, handler$73);
31010
+ orgScoped.get("/skills/:skillId", withOrgDb, handler$72);
31011
+ orgScoped.get("/triggers", withOrgDb, handler$71);
31012
+ orgScoped.get("/triggers/:triggerId", withOrgDb, handler$70);
31013
+ orgScoped.get("/triggers/:triggerId/runs", withOrgDb, handler$69);
31014
+ orgScoped.get("/triggers/:triggerId/file", withOrgDb, handler$68);
31015
+ orgScoped.get("/triggers/:triggerId/overview", withOrgDb, handler$67);
31016
+ orgScoped.get("/triggers/:triggerId/invoke-inputs", withOrgDb, handler$64);
31017
+ orgScoped.post("/triggers/:triggerId/invoke", withOrgDb, handler$65);
31018
+ orgScoped.patch("/triggers/:triggerId/attachments/:attachmentId", withOrgDb, handler$66);
31019
+ orgScoped.get("/recents", withOrgDb, handler$63);
31020
+ orgScoped.get("/history", withOrgDb, handler$99);
31021
+ orgScoped.get("/history/:runId", withOrgDb, handler$98);
31022
+ orgScoped.post("/workflows/runs/:runId/cancel", withOrgDb, handler$74);
31023
+ orgScoped.post("/agents/sessions/:sessionId/cancel", withOrgDb, handler$91);
31024
+ orgScoped.get("/credentials", withOrgDb, handler$37);
31025
+ orgScoped.post("/credentials", withOrgDb, handler$36);
31026
+ orgScoped.get("/credentials/:credentialId", withOrgDb, (c, next) => c.req.param("credentialId") === "instances" ? next() : handler$35(c, next));
31027
+ orgScoped.patch("/credentials/:credentialId", withOrgDb, handler$34);
31028
+ orgScoped.post("/credentials/:credentialId/duplicate", withOrgDb, handler$33);
30858
31029
  orgScoped.delete("/credentials/:credentialId", withOrgDb, deleteCredential);
30859
- orgScoped.get("/projects", handler$61);
30860
- orgScoped.get("/projects/slug-available", handler$58);
30861
- orgScoped.get("/projects/metrics", withOrgDb, handler$60);
31030
+ orgScoped.get("/projects", handler$62);
31031
+ orgScoped.get("/projects/slug-available", handler$59);
31032
+ orgScoped.get("/projects/metrics", withOrgDb, handler$61);
30862
31033
  orgScoped.post("/projects", createCreateProjectHandler(options.projectQuotaGate));
30863
- projectScoped.get("/:projectId", requireProject(), requireProjectMember, handler$57);
30864
- projectScoped.patch("/:projectId", requireProject(), requireProjectMember, requireProjectUpdate, handler$56);
30865
- projectScoped.delete("/:projectId", requireProject(), requireProjectMember, requireProjectDelete, handler$55);
30866
- projectScoped.get("/:projectId/settings", requireProject(), requireProjectMember, handler$38);
30867
- projectScoped.patch("/:projectId/settings", requireProject(), requireProjectMember, requireProjectUpdate, handler$37);
30868
- projectScoped.get("/:projectId/members", requireProject(), requireProjectMember, handler$43);
30869
- projectScoped.post("/:projectId/members", requireProject(), requireProjectMember, requireInvitableProjectRole, handler$42);
30870
- projectScoped.patch("/:projectId/members/:userId", requireProject(), requireProjectMember, requireProjectManageMembers, handler$41);
30871
- projectScoped.delete("/:projectId/members/:userId", requireProject(), requireProjectMember, requireProjectManageMembers, handler$40);
30872
- projectScoped.delete("/:projectId/members/me", requireProject(), requireProjectMember, handler$39);
31034
+ projectScoped.get("/:projectId", requireProject(), requireProjectMember, handler$58);
31035
+ projectScoped.patch("/:projectId", requireProject(), requireProjectMember, requireProjectUpdate, handler$57);
31036
+ projectScoped.delete("/:projectId", requireProject(), requireProjectMember, requireProjectDelete, handler$56);
31037
+ projectScoped.get("/:projectId/settings", requireProject(), requireProjectMember, handler$39);
31038
+ projectScoped.patch("/:projectId/settings", requireProject(), requireProjectMember, requireProjectUpdate, handler$38);
31039
+ projectScoped.get("/:projectId/members", requireProject(), requireProjectMember, handler$44);
31040
+ projectScoped.post("/:projectId/members", requireProject(), requireProjectMember, requireInvitableProjectRole, handler$43);
31041
+ projectScoped.patch("/:projectId/members/:userId", requireProject(), requireProjectMember, requireProjectManageMembers, handler$42);
31042
+ projectScoped.delete("/:projectId/members/:userId", requireProject(), requireProjectMember, requireProjectManageMembers, handler$41);
31043
+ projectScoped.delete("/:projectId/members/me", requireProject(), requireProjectMember, handler$40);
30873
31044
  projectScoped.get("/:projectId/reachability", requireProject(), requireProjectMember, createProjectReachabilityHandler(options.hosting));
30874
- projectScoped.get("/:projectId/files", requireProject(), requireProjectMember, withOrgDb, handler$45);
30875
- projectScoped.post("/:projectId/agents/:slug/attachments/presign", requireProject(), requireProjectMember, withOrgDb, handler$47);
30876
- projectScoped.get("/:projectId/agents/:slug/attachments/:key{.+}", requireProject(), requireProjectMember, withOrgDb, handler$46);
30877
- projectScoped.get("/:projectId/artifacts/:artifactId/files/content", requireProject(), requireProjectMember, handler$44);
30878
- projectScoped.get("/:projectId/deployments", requireProject(), requireProjectMember, handler$54);
30879
- projectScoped.get("/:projectId/artifacts/active/download", requireProject(), requireProjectMember, requireProjectDeploy, handler$52);
30880
- projectScoped.get("/:projectId/artifacts/active/source", requireProject(), requireProjectMember, withOrgDb, handler$51);
30881
- projectScoped.post("/:projectId/artifacts", requireProject(), requireProjectMember, requireProjectDeploy, handler$53);
30882
- projectScoped.post("/:projectId/artifacts/:artifactId/complete", requireProject(), requireProjectMember, requireProjectDeploy, handler$50);
30883
- projectScoped.post("/:projectId/artifacts/:artifactId/source/presign", requireProject(), requireProjectMember, requireProjectDeploy, handler$49);
30884
- projectScoped.post("/:projectId/artifacts/:artifactId/source/manifest", requireProject(), requireProjectMember, requireProjectDeploy, handler$48);
31045
+ projectScoped.get("/:projectId/files", requireProject(), requireProjectMember, withOrgDb, handler$46);
31046
+ projectScoped.post("/:projectId/agents/:slug/attachments/presign", requireProject(), requireProjectMember, withOrgDb, handler$48);
31047
+ projectScoped.get("/:projectId/agents/:slug/attachments/:key{.+}", requireProject(), requireProjectMember, withOrgDb, handler$47);
31048
+ projectScoped.get("/:projectId/artifacts/:artifactId/files/content", requireProject(), requireProjectMember, handler$45);
31049
+ projectScoped.get("/:projectId/deployments", requireProject(), requireProjectMember, handler$55);
31050
+ projectScoped.get("/:projectId/artifacts/active/download", requireProject(), requireProjectMember, requireProjectDeploy, handler$53);
31051
+ projectScoped.get("/:projectId/artifacts/active/source", requireProject(), requireProjectMember, withOrgDb, handler$52);
31052
+ projectScoped.post("/:projectId/artifacts", requireProject(), requireProjectMember, requireProjectDeploy, handler$54);
31053
+ projectScoped.post("/:projectId/artifacts/:artifactId/complete", requireProject(), requireProjectMember, requireProjectDeploy, handler$51);
31054
+ projectScoped.post("/:projectId/artifacts/:artifactId/source/presign", requireProject(), requireProjectMember, requireProjectDeploy, handler$50);
31055
+ projectScoped.post("/:projectId/artifacts/:artifactId/source/manifest", requireProject(), requireProjectMember, requireProjectDeploy, handler$49);
30885
31056
  orgScoped.route("/projects", projectScoped);
30886
31057
  account.route("/", orgScoped);
30887
31058
  return account;
@@ -31013,7 +31184,7 @@ async function runOrgDatabaseQuery(options, query) {
31013
31184
  function mountInternalRoutes(workerToken, tokenRefresh, llmProxy, mcp) {
31014
31185
  const internal = new Hono();
31015
31186
  const protect = requireWorkerToken(workerToken);
31016
- const materialize = createCredentialMaterializeHandler(tokenRefresh);
31187
+ const materialize = createCredentialMaterializeHandler(tokenRefresh, { resolveSandboxAccessToken: mcp ? (connectionId) => mcp.resolveSandboxAccessToken(connectionId) : void 0 });
31017
31188
  internal.use("/orgs/:organizationId/db/*", async (c, next) => {
31018
31189
  const verified = verifyOrgWorkerToken(workerToken, readWorkerTokenFromRequest(c));
31019
31190
  if (!verified || verified.organizationId !== c.req.param("organizationId")) return c.json({
@@ -31563,4 +31734,4 @@ async function startPlatformServer(platformConfig, hooks = {}) {
31563
31734
  //#endregion
31564
31735
  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 };
31565
31736
 
31566
- //# sourceMappingURL=start-C8A5Y1es.mjs.map
31737
+ //# sourceMappingURL=start-B3sE8bjc.mjs.map