@keystrokehq/platform 0.1.157 → 0.1.158

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 (330) hide show
  1. package/dist/{awk2-LA3USKJP-ByfczQFR.mjs → awk2-LA3USKJP-BKuMVeOB.mjs} +2 -2
  2. package/dist/{awk2-LA3USKJP-ByfczQFR.mjs.map → awk2-LA3USKJP-BKuMVeOB.mjs.map} +1 -1
  3. package/dist/{awk2-LA3USKJP-DMwZ6QQr.cjs → awk2-LA3USKJP-uE6zOSil.cjs} +2 -2
  4. package/dist/{awk2-LA3USKJP-DMwZ6QQr.cjs.map → awk2-LA3USKJP-uE6zOSil.cjs.map} +1 -1
  5. package/dist/{base64-C2AIWVNC-TPM8YCIT.cjs → base64-C2AIWVNC-CDGwGwLv.cjs} +2 -2
  6. package/dist/{base64-C2AIWVNC-TPM8YCIT.cjs.map → base64-C2AIWVNC-CDGwGwLv.cjs.map} +1 -1
  7. package/dist/{base64-C2AIWVNC-DhLdSVMT.mjs → base64-C2AIWVNC-DJcPDkRK.mjs} +2 -2
  8. package/dist/{base64-C2AIWVNC-DhLdSVMT.mjs.map → base64-C2AIWVNC-DJcPDkRK.mjs.map} +1 -1
  9. package/dist/{bash-YZ33HQZQ-0JXMDwY6.mjs → bash-YZ33HQZQ-BC6yOs7H.mjs} +2 -2
  10. package/dist/{bash-YZ33HQZQ-0JXMDwY6.mjs.map → bash-YZ33HQZQ-BC6yOs7H.mjs.map} +1 -1
  11. package/dist/{bash-YZ33HQZQ-3gtMzQUb.cjs → bash-YZ33HQZQ-ySQQCFf9.cjs} +2 -2
  12. package/dist/{bash-YZ33HQZQ-3gtMzQUb.cjs.map → bash-YZ33HQZQ-ySQQCFf9.cjs.map} +1 -1
  13. package/dist/{cat-TSFMZVYS-DGwUv9Kz.cjs → cat-TSFMZVYS--RzScLHz.cjs} +3 -3
  14. package/dist/{cat-TSFMZVYS-DGwUv9Kz.cjs.map → cat-TSFMZVYS--RzScLHz.cjs.map} +1 -1
  15. package/dist/{cat-TSFMZVYS-pOt--woU.mjs → cat-TSFMZVYS-CJ6mQfvI.mjs} +3 -3
  16. package/dist/{cat-TSFMZVYS-pOt--woU.mjs.map → cat-TSFMZVYS-CJ6mQfvI.mjs.map} +1 -1
  17. package/dist/{chunk-5H5SCKJM-IFTXCE4s.mjs → chunk-5H5SCKJM-BdQ2tIwA.mjs} +2 -2
  18. package/dist/{chunk-5H5SCKJM-IFTXCE4s.mjs.map → chunk-5H5SCKJM-BdQ2tIwA.mjs.map} +1 -1
  19. package/dist/{chunk-5H5SCKJM-Dfxe1gZt.cjs → chunk-5H5SCKJM-CZxhImiD.cjs} +2 -2
  20. package/dist/{chunk-5H5SCKJM-Dfxe1gZt.cjs.map → chunk-5H5SCKJM-CZxhImiD.cjs.map} +1 -1
  21. package/dist/{chunk-AQ6FYS2X-F3UFTyNi.cjs → chunk-AQ6FYS2X-Zc2W4QMU.cjs} +2 -2
  22. package/dist/{chunk-AQ6FYS2X-F3UFTyNi.cjs.map → chunk-AQ6FYS2X-Zc2W4QMU.cjs.map} +1 -1
  23. package/dist/{chunk-AQ6FYS2X-CeO3SltC.mjs → chunk-AQ6FYS2X-tGyu7HwM.mjs} +2 -2
  24. package/dist/{chunk-AQ6FYS2X-CeO3SltC.mjs.map → chunk-AQ6FYS2X-tGyu7HwM.mjs.map} +1 -1
  25. package/dist/{chunk-CHFEPBH4-ahdwSYy4.cjs → chunk-CHFEPBH4-B3olJhLL.cjs} +2 -2
  26. package/dist/{chunk-CHFEPBH4-ahdwSYy4.cjs.map → chunk-CHFEPBH4-B3olJhLL.cjs.map} +1 -1
  27. package/dist/{chunk-CHFEPBH4-DXT2jaxl.mjs → chunk-CHFEPBH4-CkdOgmKT.mjs} +2 -2
  28. package/dist/{chunk-CHFEPBH4-DXT2jaxl.mjs.map → chunk-CHFEPBH4-CkdOgmKT.mjs.map} +1 -1
  29. package/dist/{chunk-EBAPSGAO-Dlc9htiv.cjs → chunk-EBAPSGAO-B_b5_B0U.cjs} +2 -2
  30. package/dist/{chunk-EBAPSGAO-Dlc9htiv.cjs.map → chunk-EBAPSGAO-B_b5_B0U.cjs.map} +1 -1
  31. package/dist/{chunk-EBAPSGAO-BH9U8nRM.mjs → chunk-EBAPSGAO-CTOjh6Dk.mjs} +2 -2
  32. package/dist/{chunk-EBAPSGAO-BH9U8nRM.mjs.map → chunk-EBAPSGAO-CTOjh6Dk.mjs.map} +1 -1
  33. package/dist/{chunk-LEKBROJD-CN3XABuh.mjs → chunk-LEKBROJD-9J-ouZmr.mjs} +2 -2
  34. package/dist/{chunk-LEKBROJD-CN3XABuh.mjs.map → chunk-LEKBROJD-9J-ouZmr.mjs.map} +1 -1
  35. package/dist/{chunk-LEKBROJD-CyvuoMFA.cjs → chunk-LEKBROJD-CaQZRDQo.cjs} +2 -2
  36. package/dist/{chunk-LEKBROJD-CyvuoMFA.cjs.map → chunk-LEKBROJD-CaQZRDQo.cjs.map} +1 -1
  37. package/dist/{chunk-VPADYNBD-B1fgFmr7.cjs → chunk-VPADYNBD-Df6eBFS5.cjs} +2 -2
  38. package/dist/{chunk-VPADYNBD-B1fgFmr7.cjs.map → chunk-VPADYNBD-Df6eBFS5.cjs.map} +1 -1
  39. package/dist/{chunk-VPADYNBD-CoDQW9rd.mjs → chunk-VPADYNBD-rUjh3V91.mjs} +2 -2
  40. package/dist/{chunk-VPADYNBD-CoDQW9rd.mjs.map → chunk-VPADYNBD-rUjh3V91.mjs.map} +1 -1
  41. package/dist/{chunk-YCLFEX4T-Bqhg2MlS.mjs → chunk-YCLFEX4T-ZlD89Xad.mjs} +2 -2
  42. package/dist/{chunk-YCLFEX4T-Bqhg2MlS.mjs.map → chunk-YCLFEX4T-ZlD89Xad.mjs.map} +1 -1
  43. package/dist/{chunk-YCLFEX4T-BhkOyHi8.cjs → chunk-YCLFEX4T-uHkQ9RlV.cjs} +2 -2
  44. package/dist/{chunk-YCLFEX4T-BhkOyHi8.cjs.map → chunk-YCLFEX4T-uHkQ9RlV.cjs.map} +1 -1
  45. package/dist/{column-XT6UFXNQ-2pQbXs2k.mjs → column-XT6UFXNQ-CqVWzha1.mjs} +2 -2
  46. package/dist/{column-XT6UFXNQ-2pQbXs2k.mjs.map → column-XT6UFXNQ-CqVWzha1.mjs.map} +1 -1
  47. package/dist/{column-XT6UFXNQ-vx9cFrby.cjs → column-XT6UFXNQ-M29JNaKQ.cjs} +2 -2
  48. package/dist/{column-XT6UFXNQ-vx9cFrby.cjs.map → column-XT6UFXNQ-M29JNaKQ.cjs.map} +1 -1
  49. package/dist/{comm-VV2LDX2J-BqGE2v_-.mjs → comm-VV2LDX2J-DmVZ2wGn.mjs} +2 -2
  50. package/dist/{comm-VV2LDX2J-BqGE2v_-.mjs.map → comm-VV2LDX2J-DmVZ2wGn.mjs.map} +1 -1
  51. package/dist/{comm-VV2LDX2J-BOZDvYIa.cjs → comm-VV2LDX2J-k1LAn-UX.cjs} +2 -2
  52. package/dist/{comm-VV2LDX2J-BOZDvYIa.cjs.map → comm-VV2LDX2J-k1LAn-UX.cjs.map} +1 -1
  53. package/dist/{config-7QWAcHEf.d.mts → config-3ZXCaTiz.d.mts} +34 -8
  54. package/dist/{config-Bc0kWwBk.d.cts → config-C1blpLvD.d.cts} +34 -8
  55. package/dist/{config-BEXGfMWX.mjs → config-CqA6LTcB.mjs} +3 -3
  56. package/dist/config-CqA6LTcB.mjs.map +1 -0
  57. package/dist/{config-BXIsWKDr.cjs → config-Vk9Uvgd6.cjs} +3 -3
  58. package/dist/config-Vk9Uvgd6.cjs.map +1 -0
  59. package/dist/config.cjs +2 -2
  60. package/dist/config.d.cts +2 -2
  61. package/dist/config.d.mts +2 -2
  62. package/dist/config.mjs +2 -2
  63. package/dist/{cp-BISAAS7A-B8FLyvxG.mjs → cp-BISAAS7A-CJkhs863.mjs} +2 -2
  64. package/dist/{cp-BISAAS7A-B8FLyvxG.mjs.map → cp-BISAAS7A-CJkhs863.mjs.map} +1 -1
  65. package/dist/{cp-BISAAS7A-BPMpNsAw.cjs → cp-BISAAS7A-LMQ-Lgu3.cjs} +2 -2
  66. package/dist/{cp-BISAAS7A-BPMpNsAw.cjs.map → cp-BISAAS7A-LMQ-Lgu3.cjs.map} +1 -1
  67. package/dist/{cut-OKARJCCV-D0Odc3Jf.cjs → cut-OKARJCCV-BiAZwS61.cjs} +3 -3
  68. package/dist/{cut-OKARJCCV-D0Odc3Jf.cjs.map → cut-OKARJCCV-BiAZwS61.cjs.map} +1 -1
  69. package/dist/{cut-OKARJCCV-D8thql_D.mjs → cut-OKARJCCV-CtFH2BBH.mjs} +3 -3
  70. package/dist/{cut-OKARJCCV-D8thql_D.mjs.map → cut-OKARJCCV-CtFH2BBH.mjs.map} +1 -1
  71. package/dist/{diff-MWJFIG7X-oslL1LAV.cjs → diff-MWJFIG7X-B9KQ6sp2.cjs} +2 -2
  72. package/dist/{diff-MWJFIG7X-oslL1LAV.cjs.map → diff-MWJFIG7X-B9KQ6sp2.cjs.map} +1 -1
  73. package/dist/{diff-MWJFIG7X-Drqts0Ou.mjs → diff-MWJFIG7X-CCt8XQbx.mjs} +2 -2
  74. package/dist/{diff-MWJFIG7X-Drqts0Ou.mjs.map → diff-MWJFIG7X-CCt8XQbx.mjs.map} +1 -1
  75. package/dist/{dist-kYSK2aR1.cjs → dist-DCBZwccy.cjs} +10 -2
  76. package/dist/dist-DCBZwccy.cjs.map +1 -0
  77. package/dist/{dist-CGVfb4k_.mjs → dist-knpBLc4g.mjs} +10 -2
  78. package/dist/{dist-CGVfb4k_.mjs.map → dist-knpBLc4g.mjs.map} +1 -1
  79. package/dist/{du-572XNP42-CELJ23aS.mjs → du-572XNP42-Cfmnvzp8.mjs} +2 -2
  80. package/dist/{du-572XNP42-CELJ23aS.mjs.map → du-572XNP42-Cfmnvzp8.mjs.map} +1 -1
  81. package/dist/{du-572XNP42-DmOYu76Z.cjs → du-572XNP42-TQqS6aEh.cjs} +2 -2
  82. package/dist/{du-572XNP42-DmOYu76Z.cjs.map → du-572XNP42-TQqS6aEh.cjs.map} +1 -1
  83. package/dist/{env-36M5BO7M-DZfbg9cL.cjs → env-36M5BO7M-DB1ByvdV.cjs} +2 -2
  84. package/dist/{env-36M5BO7M-DZfbg9cL.cjs.map → env-36M5BO7M-DB1ByvdV.cjs.map} +1 -1
  85. package/dist/{env-36M5BO7M-CNN23vys.mjs → env-36M5BO7M-DzamDw0x.mjs} +2 -2
  86. package/dist/{env-36M5BO7M-CNN23vys.mjs.map → env-36M5BO7M-DzamDw0x.mjs.map} +1 -1
  87. package/dist/{expand-JSPG6VOP-PLyckfMd.mjs → expand-JSPG6VOP-CBZ5VTZh.mjs} +2 -2
  88. package/dist/{expand-JSPG6VOP-PLyckfMd.mjs.map → expand-JSPG6VOP-CBZ5VTZh.mjs.map} +1 -1
  89. package/dist/{expand-JSPG6VOP-Bi-8GRhN.cjs → expand-JSPG6VOP-wdcwExNq.cjs} +2 -2
  90. package/dist/{expand-JSPG6VOP-Bi-8GRhN.cjs.map → expand-JSPG6VOP-wdcwExNq.cjs.map} +1 -1
  91. package/dist/{expr-5JAACS4X-BqIxQcAx.mjs → expr-5JAACS4X-C-EnCCF2.mjs} +2 -2
  92. package/dist/{expr-5JAACS4X-BqIxQcAx.mjs.map → expr-5JAACS4X-C-EnCCF2.mjs.map} +1 -1
  93. package/dist/{expr-5JAACS4X-BNy25DC2.cjs → expr-5JAACS4X-CKlqA3rx.cjs} +2 -2
  94. package/dist/{expr-5JAACS4X-BNy25DC2.cjs.map → expr-5JAACS4X-CKlqA3rx.cjs.map} +1 -1
  95. package/dist/{find-INTH3OLC-2piuR3-O.cjs → find-INTH3OLC-CkQ9J21w.cjs} +3 -3
  96. package/dist/{find-INTH3OLC-2piuR3-O.cjs.map → find-INTH3OLC-CkQ9J21w.cjs.map} +1 -1
  97. package/dist/{find-INTH3OLC-DH8DXZHk.mjs → find-INTH3OLC-DkRilJpD.mjs} +3 -3
  98. package/dist/{find-INTH3OLC-DH8DXZHk.mjs.map → find-INTH3OLC-DkRilJpD.mjs.map} +1 -1
  99. package/dist/{fold-4TQNYMSW-Bd1uAxr4.cjs → fold-4TQNYMSW-B-REYZ2T.cjs} +2 -2
  100. package/dist/{fold-4TQNYMSW-Bd1uAxr4.cjs.map → fold-4TQNYMSW-B-REYZ2T.cjs.map} +1 -1
  101. package/dist/{fold-4TQNYMSW-CsMYO96e.mjs → fold-4TQNYMSW-CsYQfT6n.mjs} +2 -2
  102. package/dist/{fold-4TQNYMSW-CsMYO96e.mjs.map → fold-4TQNYMSW-CsYQfT6n.mjs.map} +1 -1
  103. package/dist/{grep-V3LQVMRQ-Cds5pG3P.mjs → grep-V3LQVMRQ-CCkpNQq2.mjs} +4 -4
  104. package/dist/{grep-V3LQVMRQ-Cds5pG3P.mjs.map → grep-V3LQVMRQ-CCkpNQq2.mjs.map} +1 -1
  105. package/dist/{grep-V3LQVMRQ-DBBMtXpt.cjs → grep-V3LQVMRQ-Dqvc044Y.cjs} +4 -4
  106. package/dist/{grep-V3LQVMRQ-DBBMtXpt.cjs.map → grep-V3LQVMRQ-Dqvc044Y.cjs.map} +1 -1
  107. package/dist/{gzip-O5ASJAFY-CdOkcay5.cjs → gzip-O5ASJAFY-CxrvMOo3.cjs} +2 -2
  108. package/dist/{gzip-O5ASJAFY-CdOkcay5.cjs.map → gzip-O5ASJAFY-CxrvMOo3.cjs.map} +1 -1
  109. package/dist/{gzip-O5ASJAFY-BUdYCD74.mjs → gzip-O5ASJAFY-DgV2lPtN.mjs} +2 -2
  110. package/dist/{gzip-O5ASJAFY-BUdYCD74.mjs.map → gzip-O5ASJAFY-DgV2lPtN.mjs.map} +1 -1
  111. package/dist/{head-442HYESI-DpretS3H.cjs → head-442HYESI-BNn4Zd5W.cjs} +2 -2
  112. package/dist/{head-442HYESI-DpretS3H.cjs.map → head-442HYESI-BNn4Zd5W.cjs.map} +1 -1
  113. package/dist/{head-442HYESI-_V6c_Y8y.mjs → head-442HYESI-DW-UZKJE.mjs} +2 -2
  114. package/dist/{head-442HYESI-_V6c_Y8y.mjs.map → head-442HYESI-DW-UZKJE.mjs.map} +1 -1
  115. package/dist/{help-HZ6M2CKN-CWp0eQ2z.cjs → help-HZ6M2CKN-C62cNKDA.cjs} +2 -2
  116. package/dist/{help-HZ6M2CKN-CWp0eQ2z.cjs.map → help-HZ6M2CKN-C62cNKDA.cjs.map} +1 -1
  117. package/dist/{help-HZ6M2CKN-BqaLEgp2.mjs → help-HZ6M2CKN-Qo4lB8OP.mjs} +2 -2
  118. package/dist/{help-HZ6M2CKN-BqaLEgp2.mjs.map → help-HZ6M2CKN-Qo4lB8OP.mjs.map} +1 -1
  119. package/dist/{html-to-markdown-JW4MSQZO-CAcZBrRZ.mjs → html-to-markdown-JW4MSQZO-CKrnTTGV.mjs} +3 -3
  120. package/dist/{html-to-markdown-JW4MSQZO-CAcZBrRZ.mjs.map → html-to-markdown-JW4MSQZO-CKrnTTGV.mjs.map} +1 -1
  121. package/dist/{html-to-markdown-JW4MSQZO-DcGBGpbg.cjs → html-to-markdown-JW4MSQZO-DXxS5cxI.cjs} +3 -3
  122. package/dist/{html-to-markdown-JW4MSQZO-DcGBGpbg.cjs.map → html-to-markdown-JW4MSQZO-DXxS5cxI.cjs.map} +1 -1
  123. package/dist/internal.cjs +2 -2
  124. package/dist/internal.d.cts +2 -2
  125. package/dist/internal.d.mts +2 -2
  126. package/dist/internal.mjs +2 -2
  127. package/dist/{join-TBRGI3LQ-CzqTCyC_.cjs → join-TBRGI3LQ-8cSkvs72.cjs} +2 -2
  128. package/dist/{join-TBRGI3LQ-CzqTCyC_.cjs.map → join-TBRGI3LQ-8cSkvs72.cjs.map} +1 -1
  129. package/dist/{join-TBRGI3LQ-A6BX1u07.mjs → join-TBRGI3LQ-CRFay7fz.mjs} +2 -2
  130. package/dist/{join-TBRGI3LQ-A6BX1u07.mjs.map → join-TBRGI3LQ-CRFay7fz.mjs.map} +1 -1
  131. package/dist/{jq-4XLYLOS5-BJYQ4YMc.mjs → jq-4XLYLOS5-DfZRPbAf.mjs} +4 -4
  132. package/dist/{jq-4XLYLOS5-BJYQ4YMc.mjs.map → jq-4XLYLOS5-DfZRPbAf.mjs.map} +1 -1
  133. package/dist/{jq-4XLYLOS5-Dzk1Cr1F.cjs → jq-4XLYLOS5-edqMm9y9.cjs} +4 -4
  134. package/dist/{jq-4XLYLOS5-Dzk1Cr1F.cjs.map → jq-4XLYLOS5-edqMm9y9.cjs.map} +1 -1
  135. package/dist/{js-exec-N5KEZBH7-QGZXHyY0.mjs → js-exec-N5KEZBH7-DLlRvb2Z.mjs} +3 -3
  136. package/dist/{js-exec-N5KEZBH7-QGZXHyY0.mjs.map → js-exec-N5KEZBH7-DLlRvb2Z.mjs.map} +1 -1
  137. package/dist/{js-exec-N5KEZBH7-Bcd8otKl.cjs → js-exec-N5KEZBH7-Zyo2F6Ti.cjs} +3 -3
  138. package/dist/{js-exec-N5KEZBH7-Bcd8otKl.cjs.map → js-exec-N5KEZBH7-Zyo2F6Ti.cjs.map} +1 -1
  139. package/dist/lib/public-models.cjs +40 -11
  140. package/dist/lib/public-models.cjs.map +1 -1
  141. package/dist/lib/public-models.d.cts +25 -4
  142. package/dist/lib/public-models.d.mts +25 -4
  143. package/dist/lib/public-models.mjs +39 -12
  144. package/dist/lib/public-models.mjs.map +1 -1
  145. package/dist/{lib-DDGDxczq.cjs → lib-Bs77v-gS.cjs} +2 -2
  146. package/dist/{lib-DDGDxczq.cjs.map → lib-Bs77v-gS.cjs.map} +1 -1
  147. package/dist/{lib-Jj_eXohJ.mjs → lib-CFo1OZlw.mjs} +2 -2
  148. package/dist/{lib-Jj_eXohJ.mjs.map → lib-CFo1OZlw.mjs.map} +1 -1
  149. package/dist/{ln-4LGSXXGD-C5UT-Ujb.cjs → ln-4LGSXXGD-C1lfOtP2.cjs} +2 -2
  150. package/dist/{ln-4LGSXXGD-C5UT-Ujb.cjs.map → ln-4LGSXXGD-C1lfOtP2.cjs.map} +1 -1
  151. package/dist/{ln-4LGSXXGD-aZgyO6BG.mjs → ln-4LGSXXGD-DbgzmDmw.mjs} +2 -2
  152. package/dist/{ln-4LGSXXGD-aZgyO6BG.mjs.map → ln-4LGSXXGD-DbgzmDmw.mjs.map} +1 -1
  153. package/dist/{ls-ZJGQER7M-C3KTKhlL.mjs → ls-ZJGQER7M-BIbwj43R.mjs} +2 -2
  154. package/dist/{ls-ZJGQER7M-C3KTKhlL.mjs.map → ls-ZJGQER7M-BIbwj43R.mjs.map} +1 -1
  155. package/dist/{ls-ZJGQER7M-CzK8vxkc.cjs → ls-ZJGQER7M-D3t0QDQM.cjs} +2 -2
  156. package/dist/{ls-ZJGQER7M-CzK8vxkc.cjs.map → ls-ZJGQER7M-D3t0QDQM.cjs.map} +1 -1
  157. package/dist/{lzma-wgqkUDaW.cjs → lzma-Bsuh228D.cjs} +2 -2
  158. package/dist/{lzma-wgqkUDaW.cjs.map → lzma-Bsuh228D.cjs.map} +1 -1
  159. package/dist/{md5sum-SPU24VSG-CmI2Hsa_.mjs → md5sum-SPU24VSG-BiWtAKaM.mjs} +3 -3
  160. package/dist/{md5sum-SPU24VSG-CmI2Hsa_.mjs.map → md5sum-SPU24VSG-BiWtAKaM.mjs.map} +1 -1
  161. package/dist/{md5sum-SPU24VSG-BcSybbbv.cjs → md5sum-SPU24VSG-DJIgz_9a.cjs} +3 -3
  162. package/dist/{md5sum-SPU24VSG-BcSybbbv.cjs.map → md5sum-SPU24VSG-DJIgz_9a.cjs.map} +1 -1
  163. package/dist/{mkdir-MEPGZOB6-Dz0ilrHF.mjs → mkdir-MEPGZOB6-B1i3E32f.mjs} +2 -2
  164. package/dist/{mkdir-MEPGZOB6-Dz0ilrHF.mjs.map → mkdir-MEPGZOB6-B1i3E32f.mjs.map} +1 -1
  165. package/dist/{mkdir-MEPGZOB6-Bks_xob7.cjs → mkdir-MEPGZOB6-BqMED7DB.cjs} +2 -2
  166. package/dist/{mkdir-MEPGZOB6-Bks_xob7.cjs.map → mkdir-MEPGZOB6-BqMED7DB.cjs.map} +1 -1
  167. package/dist/{mv-W5BIQ646-BQe2vxEx.cjs → mv-W5BIQ646-DFL2qoA8.cjs} +2 -2
  168. package/dist/{mv-W5BIQ646-BQe2vxEx.cjs.map → mv-W5BIQ646-DFL2qoA8.cjs.map} +1 -1
  169. package/dist/{mv-W5BIQ646-BYWL1wkh.mjs → mv-W5BIQ646-nkURfvBY.mjs} +2 -2
  170. package/dist/{mv-W5BIQ646-BYWL1wkh.mjs.map → mv-W5BIQ646-nkURfvBY.mjs.map} +1 -1
  171. package/dist/{nl-WSDW7I4O-CHu4o_ve.cjs → nl-WSDW7I4O-WXzYOkjQ.cjs} +2 -2
  172. package/dist/{nl-WSDW7I4O-CHu4o_ve.cjs.map → nl-WSDW7I4O-WXzYOkjQ.cjs.map} +1 -1
  173. package/dist/{nl-WSDW7I4O-DWG5wZv2.mjs → nl-WSDW7I4O-rSBgQURn.mjs} +2 -2
  174. package/dist/{nl-WSDW7I4O-DWG5wZv2.mjs.map → nl-WSDW7I4O-rSBgQURn.mjs.map} +1 -1
  175. package/dist/{od-WOKFDJTP-C0KKUEqR.mjs → od-WOKFDJTP-CJFl9Ohq.mjs} +2 -2
  176. package/dist/{od-WOKFDJTP-C0KKUEqR.mjs.map → od-WOKFDJTP-CJFl9Ohq.mjs.map} +1 -1
  177. package/dist/{od-WOKFDJTP-BEdRBpH3.cjs → od-WOKFDJTP-DHLzLIii.cjs} +2 -2
  178. package/dist/{od-WOKFDJTP-BEdRBpH3.cjs.map → od-WOKFDJTP-DHLzLIii.cjs.map} +1 -1
  179. package/dist/{paste-7JC6S4DX-4f_UlCmY.mjs → paste-7JC6S4DX-Bml6SXf_.mjs} +2 -2
  180. package/dist/{paste-7JC6S4DX-4f_UlCmY.mjs.map → paste-7JC6S4DX-Bml6SXf_.mjs.map} +1 -1
  181. package/dist/{paste-7JC6S4DX-D2Mx-pNX.cjs → paste-7JC6S4DX-DD5eWGK0.cjs} +2 -2
  182. package/dist/{paste-7JC6S4DX-D2Mx-pNX.cjs.map → paste-7JC6S4DX-DD5eWGK0.cjs.map} +1 -1
  183. package/dist/{printf-TWGXF445-Cku6hGej.mjs → printf-TWGXF445-Bmuv2_VM.mjs} +3 -3
  184. package/dist/{printf-TWGXF445-Cku6hGej.mjs.map → printf-TWGXF445-Bmuv2_VM.mjs.map} +1 -1
  185. package/dist/{printf-TWGXF445-DCHSwRN6.cjs → printf-TWGXF445-CbiNvLS5.cjs} +3 -3
  186. package/dist/{printf-TWGXF445-DCHSwRN6.cjs.map → printf-TWGXF445-CbiNvLS5.cjs.map} +1 -1
  187. package/dist/{project-draft-notifier-DlWmyn5m.cjs → project-draft-notifier-BTrhFlJq.cjs} +799 -26
  188. package/dist/project-draft-notifier-BTrhFlJq.cjs.map +1 -0
  189. package/dist/{project-draft-notifier-B7K0aaAp.mjs → project-draft-notifier-DbGvx0CD.mjs} +746 -27
  190. package/dist/project-draft-notifier-DbGvx0CD.mjs.map +1 -0
  191. package/dist/{python3-POMOR4OA-DSAcZLAU.cjs → python3-POMOR4OA-BsOUiq4A.cjs} +3 -3
  192. package/dist/{python3-POMOR4OA-DSAcZLAU.cjs.map → python3-POMOR4OA-BsOUiq4A.cjs.map} +1 -1
  193. package/dist/{python3-POMOR4OA-BcBrl1X2.mjs → python3-POMOR4OA-SOzmJUy_.mjs} +3 -3
  194. package/dist/{python3-POMOR4OA-BcBrl1X2.mjs.map → python3-POMOR4OA-SOzmJUy_.mjs.map} +1 -1
  195. package/dist/{rev-5EHFX4EJ-Dmo6hsDY.mjs → rev-5EHFX4EJ-D8G5f0B8.mjs} +2 -2
  196. package/dist/{rev-5EHFX4EJ-Dmo6hsDY.mjs.map → rev-5EHFX4EJ-D8G5f0B8.mjs.map} +1 -1
  197. package/dist/{rev-5EHFX4EJ-u03jP4f-.cjs → rev-5EHFX4EJ-DiP5cwEi.cjs} +2 -2
  198. package/dist/{rev-5EHFX4EJ-u03jP4f-.cjs.map → rev-5EHFX4EJ-DiP5cwEi.cjs.map} +1 -1
  199. package/dist/{rg-S4FXYXWB-CTWDqqzD.cjs → rg-S4FXYXWB-B4PncTdP.cjs} +3 -3
  200. package/dist/{rg-S4FXYXWB-CTWDqqzD.cjs.map → rg-S4FXYXWB-B4PncTdP.cjs.map} +1 -1
  201. package/dist/{rg-S4FXYXWB-C5rIiKqa.mjs → rg-S4FXYXWB-DCoDd-co.mjs} +3 -3
  202. package/dist/{rg-S4FXYXWB-C5rIiKqa.mjs.map → rg-S4FXYXWB-DCoDd-co.mjs.map} +1 -1
  203. package/dist/{rm-SSGETQVQ-CMqCuC6-.cjs → rm-SSGETQVQ-B9SMhBSB.cjs} +2 -2
  204. package/dist/{rm-SSGETQVQ-CMqCuC6-.cjs.map → rm-SSGETQVQ-B9SMhBSB.cjs.map} +1 -1
  205. package/dist/{rm-SSGETQVQ-SVr6JZrX.mjs → rm-SSGETQVQ-DYztIM5O.mjs} +2 -2
  206. package/dist/{rm-SSGETQVQ-SVr6JZrX.mjs.map → rm-SSGETQVQ-DYztIM5O.mjs.map} +1 -1
  207. package/dist/{rmdir-OC4ZLPYA-xNbbN8z9.cjs → rmdir-OC4ZLPYA-D7HEcQAy.cjs} +2 -2
  208. package/dist/{rmdir-OC4ZLPYA-xNbbN8z9.cjs.map → rmdir-OC4ZLPYA-D7HEcQAy.cjs.map} +1 -1
  209. package/dist/{rmdir-OC4ZLPYA-DhpPwVcw.mjs → rmdir-OC4ZLPYA-xWQ-tIg9.mjs} +2 -2
  210. package/dist/{rmdir-OC4ZLPYA-DhpPwVcw.mjs.map → rmdir-OC4ZLPYA-xWQ-tIg9.mjs.map} +1 -1
  211. package/dist/run.cjs +4 -4
  212. package/dist/run.mjs +4 -4
  213. package/dist/{sed-S5UIK574-B9o7Evcw.cjs → sed-S5UIK574-Du8IExJm.cjs} +2 -2
  214. package/dist/{sed-S5UIK574-B9o7Evcw.cjs.map → sed-S5UIK574-Du8IExJm.cjs.map} +1 -1
  215. package/dist/{sed-S5UIK574-CwkMwpF4.mjs → sed-S5UIK574-bm0JFNZc.mjs} +2 -2
  216. package/dist/{sed-S5UIK574-CwkMwpF4.mjs.map → sed-S5UIK574-bm0JFNZc.mjs.map} +1 -1
  217. package/dist/{sha1sum-2PTOAFR6-CGWtyGkR.cjs → sha1sum-2PTOAFR6-Bq-v3RHV.cjs} +3 -3
  218. package/dist/{sha1sum-2PTOAFR6-CGWtyGkR.cjs.map → sha1sum-2PTOAFR6-Bq-v3RHV.cjs.map} +1 -1
  219. package/dist/{sha1sum-2PTOAFR6-Cad6_7os.mjs → sha1sum-2PTOAFR6-C5l_CLHS.mjs} +3 -3
  220. package/dist/{sha1sum-2PTOAFR6-Cad6_7os.mjs.map → sha1sum-2PTOAFR6-C5l_CLHS.mjs.map} +1 -1
  221. package/dist/{sha256sum-NS7D3IXX-QeeptGn3.mjs → sha256sum-NS7D3IXX-BZcZdhxE.mjs} +3 -3
  222. package/dist/{sha256sum-NS7D3IXX-QeeptGn3.mjs.map → sha256sum-NS7D3IXX-BZcZdhxE.mjs.map} +1 -1
  223. package/dist/{sha256sum-NS7D3IXX-Tkb8bOpJ.cjs → sha256sum-NS7D3IXX-hHNRLdA_.cjs} +3 -3
  224. package/dist/{sha256sum-NS7D3IXX-Tkb8bOpJ.cjs.map → sha256sum-NS7D3IXX-hHNRLdA_.cjs.map} +1 -1
  225. package/dist/{sleep-X22JJINO-SSB0_xkn.mjs → sleep-X22JJINO-CLwFdFCo.mjs} +2 -2
  226. package/dist/{sleep-X22JJINO-SSB0_xkn.mjs.map → sleep-X22JJINO-CLwFdFCo.mjs.map} +1 -1
  227. package/dist/{sleep-X22JJINO-Dlhdt3UF.cjs → sleep-X22JJINO-CgS_ip5Q.cjs} +2 -2
  228. package/dist/{sleep-X22JJINO-Dlhdt3UF.cjs.map → sleep-X22JJINO-CgS_ip5Q.cjs.map} +1 -1
  229. package/dist/{sort-SW2YEO5B-DHu-IjJK.mjs → sort-SW2YEO5B-0zTxs9YD.mjs} +3 -3
  230. package/dist/{sort-SW2YEO5B-DHu-IjJK.mjs.map → sort-SW2YEO5B-0zTxs9YD.mjs.map} +1 -1
  231. package/dist/{sort-SW2YEO5B-CfN8qsOe.cjs → sort-SW2YEO5B-wNs-q9FY.cjs} +3 -3
  232. package/dist/{sort-SW2YEO5B-CfN8qsOe.cjs.map → sort-SW2YEO5B-wNs-q9FY.cjs.map} +1 -1
  233. package/dist/{split-4KKZZXXE-DRFoW0C-.mjs → split-4KKZZXXE-3Go-xLDT.mjs} +2 -2
  234. package/dist/{split-4KKZZXXE-DRFoW0C-.mjs.map → split-4KKZZXXE-3Go-xLDT.mjs.map} +1 -1
  235. package/dist/{split-4KKZZXXE-B8plYwAH.cjs → split-4KKZZXXE-CRC14l7P.cjs} +2 -2
  236. package/dist/{split-4KKZZXXE-B8plYwAH.cjs.map → split-4KKZZXXE-CRC14l7P.cjs.map} +1 -1
  237. package/dist/{sqlite3-CGOEFJAO-racIOTTD.cjs → sqlite3-CGOEFJAO-V3zmhkJY.cjs} +3 -3
  238. package/dist/{sqlite3-CGOEFJAO-racIOTTD.cjs.map → sqlite3-CGOEFJAO-V3zmhkJY.cjs.map} +1 -1
  239. package/dist/{sqlite3-CGOEFJAO-CF1nf3bu.mjs → sqlite3-CGOEFJAO-rN_cPAaW.mjs} +3 -3
  240. package/dist/{sqlite3-CGOEFJAO-CF1nf3bu.mjs.map → sqlite3-CGOEFJAO-rN_cPAaW.mjs.map} +1 -1
  241. package/dist/{start-bgZZCOmu.cjs → start-BJw3ihFS.cjs} +584 -190
  242. package/dist/start-BJw3ihFS.cjs.map +1 -0
  243. package/dist/{start-BBW9vi1A.mjs → start-t_pBPQsU.mjs} +581 -188
  244. package/dist/start-t_pBPQsU.mjs.map +1 -0
  245. package/dist/start.cjs +1 -1
  246. package/dist/start.d.cts +1 -1
  247. package/dist/start.d.mts +1 -1
  248. package/dist/start.mjs +1 -1
  249. package/dist/{strings-6WDHLGMX-B8ogXPoK.cjs → strings-6WDHLGMX-BljfjANt.cjs} +2 -2
  250. package/dist/{strings-6WDHLGMX-B8ogXPoK.cjs.map → strings-6WDHLGMX-BljfjANt.cjs.map} +1 -1
  251. package/dist/{strings-6WDHLGMX-D-8gxmaP.mjs → strings-6WDHLGMX-DGdL1td6.mjs} +2 -2
  252. package/dist/{strings-6WDHLGMX-D-8gxmaP.mjs.map → strings-6WDHLGMX-DGdL1td6.mjs.map} +1 -1
  253. package/dist/{tac-2STMMJYW-GqCFVlMI.cjs → tac-2STMMJYW-DMhQEe5q.cjs} +2 -2
  254. package/dist/{tac-2STMMJYW-GqCFVlMI.cjs.map → tac-2STMMJYW-DMhQEe5q.cjs.map} +1 -1
  255. package/dist/{tac-2STMMJYW-BXvN_CFk.mjs → tac-2STMMJYW-u_39KuCC.mjs} +2 -2
  256. package/dist/{tac-2STMMJYW-BXvN_CFk.mjs.map → tac-2STMMJYW-u_39KuCC.mjs.map} +1 -1
  257. package/dist/{tail-R4PCA2C4-C0ugHzL2.mjs → tail-R4PCA2C4-tgyT7wGC.mjs} +2 -2
  258. package/dist/{tail-R4PCA2C4-C0ugHzL2.mjs.map → tail-R4PCA2C4-tgyT7wGC.mjs.map} +1 -1
  259. package/dist/{tail-R4PCA2C4-Drjdjemt.cjs → tail-R4PCA2C4-xZalNeK5.cjs} +2 -2
  260. package/dist/{tail-R4PCA2C4-Drjdjemt.cjs.map → tail-R4PCA2C4-xZalNeK5.cjs.map} +1 -1
  261. package/dist/{tar-STHHZTZ6-BsgloKrW.mjs → tar-STHHZTZ6-0gdvsCju.mjs} +4 -4
  262. package/dist/{tar-STHHZTZ6-BsgloKrW.mjs.map → tar-STHHZTZ6-0gdvsCju.mjs.map} +1 -1
  263. package/dist/{tar-STHHZTZ6-BuhlrLgy.cjs → tar-STHHZTZ6-pvdoWQbG.cjs} +5 -5
  264. package/dist/{tar-STHHZTZ6-BuhlrLgy.cjs.map → tar-STHHZTZ6-pvdoWQbG.cjs.map} +1 -1
  265. package/dist/{tee-YUZ2FKCJ-BhRQUMAz.cjs → tee-YUZ2FKCJ-DXiSfvar.cjs} +2 -2
  266. package/dist/{tee-YUZ2FKCJ-BhRQUMAz.cjs.map → tee-YUZ2FKCJ-DXiSfvar.cjs.map} +1 -1
  267. package/dist/{tee-YUZ2FKCJ-BbF6VRAs.mjs → tee-YUZ2FKCJ-LRZMywwS.mjs} +2 -2
  268. package/dist/{tee-YUZ2FKCJ-BbF6VRAs.mjs.map → tee-YUZ2FKCJ-LRZMywwS.mjs.map} +1 -1
  269. package/dist/{time-D4LNBSWX-BG4ZXuon.mjs → time-D4LNBSWX-RRPjvylO.mjs} +2 -2
  270. package/dist/{time-D4LNBSWX-BG4ZXuon.mjs.map → time-D4LNBSWX-RRPjvylO.mjs.map} +1 -1
  271. package/dist/{time-D4LNBSWX-BMJlkpiY.cjs → time-D4LNBSWX-XYvudP3x.cjs} +2 -2
  272. package/dist/{time-D4LNBSWX-BMJlkpiY.cjs.map → time-D4LNBSWX-XYvudP3x.cjs.map} +1 -1
  273. package/dist/{timeout-YDCRSLPQ-CuD519Dt.cjs → timeout-YDCRSLPQ-B9nIcBSB.cjs} +2 -2
  274. package/dist/{timeout-YDCRSLPQ-CuD519Dt.cjs.map → timeout-YDCRSLPQ-B9nIcBSB.cjs.map} +1 -1
  275. package/dist/{timeout-YDCRSLPQ-C4E3RCT1.mjs → timeout-YDCRSLPQ-auteC3Gb.mjs} +2 -2
  276. package/dist/{timeout-YDCRSLPQ-C4E3RCT1.mjs.map → timeout-YDCRSLPQ-auteC3Gb.mjs.map} +1 -1
  277. package/dist/{touch-UA33VN3N-Dr7gGPKc.mjs → touch-UA33VN3N-CTkCho8K.mjs} +2 -2
  278. package/dist/{touch-UA33VN3N-Dr7gGPKc.mjs.map → touch-UA33VN3N-CTkCho8K.mjs.map} +1 -1
  279. package/dist/{touch-UA33VN3N-BvhbAbJ5.cjs → touch-UA33VN3N-C_lnOJKi.cjs} +2 -2
  280. package/dist/{touch-UA33VN3N-BvhbAbJ5.cjs.map → touch-UA33VN3N-C_lnOJKi.cjs.map} +1 -1
  281. package/dist/{tr-36LHWFRQ-tCkx_1H_.cjs → tr-36LHWFRQ-CRO2ZQcO.cjs} +2 -2
  282. package/dist/{tr-36LHWFRQ-tCkx_1H_.cjs.map → tr-36LHWFRQ-CRO2ZQcO.cjs.map} +1 -1
  283. package/dist/{tr-36LHWFRQ-BAzZcYrH.mjs → tr-36LHWFRQ-DI-dtBA6.mjs} +2 -2
  284. package/dist/{tr-36LHWFRQ-BAzZcYrH.mjs.map → tr-36LHWFRQ-DI-dtBA6.mjs.map} +1 -1
  285. package/dist/{tree-YLD52CNT-2CgZVKNz.mjs → tree-YLD52CNT-C8_F9fOy.mjs} +2 -2
  286. package/dist/{tree-YLD52CNT-2CgZVKNz.mjs.map → tree-YLD52CNT-C8_F9fOy.mjs.map} +1 -1
  287. package/dist/{tree-YLD52CNT-CtxzyzyK.cjs → tree-YLD52CNT-DY8dtHDR.cjs} +2 -2
  288. package/dist/{tree-YLD52CNT-CtxzyzyK.cjs.map → tree-YLD52CNT-DY8dtHDR.cjs.map} +1 -1
  289. package/dist/{unexpand-CADSA4VO-DN7WjSgJ.mjs → unexpand-CADSA4VO-CrIzgXCI.mjs} +2 -2
  290. package/dist/{unexpand-CADSA4VO-DN7WjSgJ.mjs.map → unexpand-CADSA4VO-CrIzgXCI.mjs.map} +1 -1
  291. package/dist/{unexpand-CADSA4VO-uMt0rf4X.cjs → unexpand-CADSA4VO-sC6d7vYD.cjs} +2 -2
  292. package/dist/{unexpand-CADSA4VO-uMt0rf4X.cjs.map → unexpand-CADSA4VO-sC6d7vYD.cjs.map} +1 -1
  293. package/dist/{uniq-XSIZR6PB-i4UN8_wj.mjs → uniq-XSIZR6PB-BMIaoH6r.mjs} +3 -3
  294. package/dist/{uniq-XSIZR6PB-i4UN8_wj.mjs.map → uniq-XSIZR6PB-BMIaoH6r.mjs.map} +1 -1
  295. package/dist/{uniq-XSIZR6PB-BkO2mNi8.cjs → uniq-XSIZR6PB-B_Eb3B42.cjs} +3 -3
  296. package/dist/{uniq-XSIZR6PB-BkO2mNi8.cjs.map → uniq-XSIZR6PB-B_Eb3B42.cjs.map} +1 -1
  297. package/dist/{wc-LF7NU4LA-DbAal6fW.cjs → wc-LF7NU4LA-BN8uD5xw.cjs} +3 -3
  298. package/dist/{wc-LF7NU4LA-DbAal6fW.cjs.map → wc-LF7NU4LA-BN8uD5xw.cjs.map} +1 -1
  299. package/dist/{wc-LF7NU4LA-B5iKJ_sK.mjs → wc-LF7NU4LA-I7kgqxq0.mjs} +3 -3
  300. package/dist/{wc-LF7NU4LA-B5iKJ_sK.mjs.map → wc-LF7NU4LA-I7kgqxq0.mjs.map} +1 -1
  301. package/dist/{with-project-scope-D2Nxb_81.cjs → with-project-scope-BUYH3etZ.cjs} +20 -4
  302. package/dist/with-project-scope-BUYH3etZ.cjs.map +1 -0
  303. package/dist/{with-project-scope-BLKH8VDX.mjs → with-project-scope-DpiIxlik.mjs} +20 -4
  304. package/dist/with-project-scope-DpiIxlik.mjs.map +1 -0
  305. package/dist/{xan-Y6WF3IRG-PLXYTtLn.cjs → xan-Y6WF3IRG-Do49tZ_W.cjs} +6 -6
  306. package/dist/{xan-Y6WF3IRG-PLXYTtLn.cjs.map → xan-Y6WF3IRG-Do49tZ_W.cjs.map} +1 -1
  307. package/dist/{xan-Y6WF3IRG-B5YnpCBT.mjs → xan-Y6WF3IRG-rkkOjnpn.mjs} +6 -6
  308. package/dist/{xan-Y6WF3IRG-B5YnpCBT.mjs.map → xan-Y6WF3IRG-rkkOjnpn.mjs.map} +1 -1
  309. package/dist/{xan-view-HDVKHFC2-C4U_Ysf1.cjs → xan-view-HDVKHFC2-D8RIM5n-.cjs} +3 -3
  310. package/dist/{xan-view-HDVKHFC2-C4U_Ysf1.cjs.map → xan-view-HDVKHFC2-D8RIM5n-.cjs.map} +1 -1
  311. package/dist/{xan-view-HDVKHFC2-WJOBrjRv.mjs → xan-view-HDVKHFC2-jFIMBk6E.mjs} +3 -3
  312. package/dist/{xan-view-HDVKHFC2-WJOBrjRv.mjs.map → xan-view-HDVKHFC2-jFIMBk6E.mjs.map} +1 -1
  313. package/dist/{xargs-MGZPH7AX-CWF0HdOV.cjs → xargs-MGZPH7AX-WBopvhsi.cjs} +2 -2
  314. package/dist/{xargs-MGZPH7AX-CWF0HdOV.cjs.map → xargs-MGZPH7AX-WBopvhsi.cjs.map} +1 -1
  315. package/dist/{xargs-MGZPH7AX-D85Ko7xE.mjs → xargs-MGZPH7AX-oK7VOww8.mjs} +2 -2
  316. package/dist/{xargs-MGZPH7AX-D85Ko7xE.mjs.map → xargs-MGZPH7AX-oK7VOww8.mjs.map} +1 -1
  317. package/dist/{yq-4QJW3EQG-BcuExFs8.mjs → yq-4QJW3EQG-BclNWUX9.mjs} +3 -3
  318. package/dist/{yq-4QJW3EQG-BcuExFs8.mjs.map → yq-4QJW3EQG-BclNWUX9.mjs.map} +1 -1
  319. package/dist/{yq-4QJW3EQG-BSSwWyVt.cjs → yq-4QJW3EQG-DafLngnL.cjs} +3 -3
  320. package/dist/{yq-4QJW3EQG-BSSwWyVt.cjs.map → yq-4QJW3EQG-DafLngnL.cjs.map} +1 -1
  321. package/package.json +2 -2
  322. package/dist/config-BEXGfMWX.mjs.map +0 -1
  323. package/dist/config-BXIsWKDr.cjs.map +0 -1
  324. package/dist/dist-kYSK2aR1.cjs.map +0 -1
  325. package/dist/project-draft-notifier-B7K0aaAp.mjs.map +0 -1
  326. package/dist/project-draft-notifier-DlWmyn5m.cjs.map +0 -1
  327. package/dist/start-BBW9vi1A.mjs.map +0 -1
  328. package/dist/start-bgZZCOmu.cjs.map +0 -1
  329. package/dist/with-project-scope-BLKH8VDX.mjs.map +0 -1
  330. package/dist/with-project-scope-D2Nxb_81.cjs.map +0 -1
@@ -1,6 +1,6 @@
1
- import { C as setManagedServiceCredential, S as setCredentialInstanceSecretValue, _ as withMcpReadClient, a as completeMcpOAuthConnect, b as readCredentialInstanceSecret, c as describeCredentialBindings, d as discoverOpenApiApp, f as isDiscoveryError, g as PublicHttpUrlError, h as withCredentialAssignments, i as beginMcpOAuthConnect, l as discoverGraphqlApp, m as verifyOAuthState, n as cronPayloadSchema, o as createOAuthState, p as resolveConnectedMcpAuthHeaders, r as McpOAuthConnectError, s as decodeOAuthState, u as discoverMcpApp, v as deleteCredentialInstanceSecret, x as setCredentialInstanceSecret, y as deleteManagedServiceCredential$1 } from "./dist-CGVfb4k_.mjs";
2
- import { $ as CompleteManagedDeployArtifactResponseSchema, $i as projectFileId, $n as PublicFormSubmitResponseSchema, $r as UserPreferencesSchema, $t as ListAgentWorkspaceFilesResponseSchema, A as projectArtifactKey, Aa as resolvePublicPlatformApiOrigin, Ar as SubmitTeamRequestRequestSchema, At as DraftRevisionResponseSchema, B as AgentEnvImageSnapshotResponseSchema, Bi as mapProjectDeployment, Bn as PresignUserAvatarRequestSchema, Br as UpdateManagedServiceCredentialRequestSchema, Bt as GetTemplateResponseSchema, C as loadProjectSourceFiles, Ca as mintOrgWorkerToken, Ci as displayCredentialAppName, Cn as OpenApiDiscoverResponseSchema, Cr as StartMcpOAuthConnectionInputSchema, Ct as DbProxyQueryRequestSchema, D as prefetchCanvasShards, Di as isHelloWorldTemplateSlug, Dr as SubmitAgentFeedbackResponseSchema, Dt as DraftCommitResponseSchema, E as orgLogoStorageKey, Ea as verifyOrgWorkerToken, Ei as isDraftSnapshotPlaceholderCommitSha, En as PLATFORM_RESOURCE_UNSUPPORTED_TEXT, Er as SubmitAgentFeedbackRequestSchema, Et as DownloadActiveProjectSourceResponseSchema, F as userAvatarStorageKey, Fi as listenPortFromPublicUrl, Fn as PresignCustomAppLogoResponseSchema, Fr as TriggerInvokeInputsSchema, Ft as FinalizeCustomAppLogoRequestSchema, G as AgentSummarySchema, Gi as mergeUserPreferences, Gn as ProjectReachabilityResponseSchema, Gr as UpdateProjectMemberResponseSchema, Gt as HistoryRunDetailResponseSchema, H as AgentMemoryFileSummarySchema, Hi as mapProjectSettings, Hn as ProjectGitRemoteRequestSchema, Hr as UpdateOrganizationMemberResponseSchema, Ht as GraphqlDiscoverResponseSchema, I as AcceptOrganizationInvitationResponseSchema, Ii as mapOrganizationInvitation, In as PresignOrgLogoRequestSchema, Ir as TriggerInvokeRequestSchema, It as FinalizeCustomAppLogoResponseSchema, J as AppSlugAvailabilityResponseSchema, Jn as ProjectSlugAvailabilityQuerySchema, Jr as UploadProjectSourceManifestRequestSchema, Jt as InviteOrganizationMembersRequestSchema, K as AgentWorkspaceFileSummarySchema, Ki as normalizeSlackAppHandle, Kn as ProjectResponseSchema, Kr as UpdateProjectRequestSchema, Kt as HistoryRunListQuerySchema, L as ActionsCatalogShardSchema, Li as mapOrganizationMember, Ln as PresignOrgLogoResponseSchema, Lr as TriggerInvokeResponseSchema, Lt as GetAppCatalogEntryResponseSchema, M as projectSourceBlobKey, Mi as isSlackCustomAppOauthSlug, Mn as PrepareManagedDeployRequestSchema, Mr as TemplateFilesResponseSchema, Mt as DuplicateCredentialRequestSchema, N as publicKeystrokeAssetsObjectUrl, Ni as jsonSchemaToWorkflowInputSchema, Nn as PrepareManagedDeployResponseSchema, Nr as TemplateKindSchema, Nt as DuplicateCredentialsResponseSchema, O as projectArtifactBlobKey, Oa as DEFAULT_CLOUD_PLATFORM_ORIGIN, On as PROJECT_SLUG_TAKEN_MESSAGE, Or as SubmitMarketingContactRequestSchema, Ot as DraftConflictResponseSchema, Pi as jsonSchemaToZod, Pn as PresignCustomAppLogoRequestSchema, Pr as TriggerAttachmentUpdateRequestSchema, Pt as ErrorResponseSchema, Q as CompleteManagedDeployArtifactRequestSchema, Qi as parseStoredRouteManifest, Qn as PublicFormSubmitBodySchema, Qr as UserPreferencesPatchSchema, Qt as ListAgentMemoryFilesResponseSchema, R as ActiveOrganizationResponseSchema, Ri as mapProject, Rn as PresignProjectSourceRequestSchema, Rr as TriggerRunListQuerySchema, Rt as GetCredentialResponseSchema, S as keystrokeAssetsOrgLogoKeyFromPublicUrl, Si as deriveCredentialInstanceSlug, Sn as OpenApiDiscoverRequestSchema, Sr as SlugAvailabilityResponseSchema, St as DRAFT_SNAPSHOT_PLACEHOLDER_COMMIT_SHA, T as openModularArtifactShards, Tn as OrganizationSidebarBrandingSchema, Tr as StoredProjectSourceManifestSchema, Tt as DownloadActiveProjectArtifactResponseSchema, U as AgentSummaryDetailResponseSchema, Ui as mapUserOrganization, Un as ProjectGitRemoteResponseSchema, Ur as UpdateOrganizationRequestSchema, Ut as HeartbeatManagedDeployResponseSchema, V as AgentManifestShardSchema, Vi as mapProjectMember, Vn as PresignUserAvatarResponseSchema, Vr as UpdateOrganizationMemberRequestSchema, Vt as GraphqlDiscoverRequestSchema, W as AgentSummaryListResponseSchema, Wn as ProjectGitStatusResponseSchema, Wr as UpdateProjectMemberRequestSchema, Wt as HistoryRunCancelResponseSchema, X as CancelManagedDeployResponseSchema, Xi as organizationSlugErrorCodeFromMessage, Xn as ProjectSourceResourcesSchema, Xr as UserAvatarPatchSchema, Xt as InviteProjectMembersRequestSchema, Y as CancelManagedDeployRequestSchema, Yi as organizationInvitationAcceptPath, Yn as ProjectSlugAvailabilityResponseSchema, Yr as UploadProjectSourceResponseSchema, Yt as InviteOrganizationMembersResponseSchema, Z as ChannelPlatformSchema, Zi as parseAppSlug, Zn as PublicFormMetadataSchema, Zr as UserAvatarSchema, Zt as InviteProjectMembersResponseSchema, _ as isStorageBucketNotFoundError, _a as isAllowedChatAttachmentMediaType, _i as WorkspaceWorkflowOverviewSchema, _n as ListTemplatesResponseSchema, _r as SlackAppInstallStartResponseSchema, _t as CreateSlackAppRequestSchema, a as createAssetsStorageClient, aa as slackCustomAppHandleFromSlug, ai as WorkflowManifestFlowShardSchema, an as ListDraftFilesResponseSchema, ar as RecentResourceSchema, at as CreateCredentialsRequestSchema, b as keystrokeAssetsAppLogoKeyFromPublicUrl, bi as buildCredentialInstanceLabel, bn as McpDiscoverRequestSchema, br as SlackAppManifestResponseSchema, bt as DEFAULT_WORKFLOW_CANVAS_MODEL, ca as validateFormFieldConfig, ci as WorkflowRunInputsSchema, cn as ListOrganizationInvitationsResponseSchema, cr as SLACK_CUSTOM_APP_BOT_SCOPES, ct as CreateCustomAppResponseSchema, d as isKeystrokeAssetsAppLogoPublicUrl, di as WorkflowSummarySchema, dn as ListOrganizationsResponseSchema, dr as SLACK_GATEWAY_OAUTH_APP_KEY, dt as CreateOrganizationRequestSchema, ea as resolvePublicFormFields, ei as WorkflowCanvasCredentialBindingsSchema, en as ListApiKeysResponseSchema, er as PublishManagedDeployCandidateRequestSchema, et as CompleteProjectArtifactRequestSchema, f as isKeystrokeAssetsAvatarPublicUrl, fa as FilePartSchema, fi as WorkspaceTriggerDetailSchema, fn as ListProjectDeploymentsResponseSchema, fr as SLACK_KEYSTROKE_APP_BOT_SCOPES, ft as CreateOrganizationResponseSchema, ga as chatAttachmentExtension, gi as WorkspaceTriggerRunListResponseSchema, gn as ListProjectsResponseSchema, gr as SkillSummarySchema, gt as CreateProjectResponseSchema, h as isProjectArtifactIndexKey, ha as PublicModelsResponseSchema, hi as WorkspaceTriggerOverviewSchema, hn as ListProjectMetricsResponseSchema, hr as SkillSummaryListResponseSchema, ht as CreateProjectRequestSchema, i as chatAttachmentStorageKey, ia as slackAppBindingChannelId, ii as WorkflowFormUpsertBodySchema, in as ListCredentialsPageResponseSchema, ir as RecentResourceListResponseSchema, it as CreateApiKeyResponseSchema, ja as resolvePublicPlatformOrigin, jr as SubmitTeamRequestResponseSchema, jt as DraftUpdateEventSchema, ka as resolveExternalPlatformOrigin, ki as isLlmProviderSlug, kr as SubmitMarketingContactResponseSchema, kt as DraftFileContentQuerySchema, l as isAppLogoStorageKey, la as validateWorkflowRunInputValues, li as WorkflowSummaryDetailResponseSchema, ln as ListOrganizationMembersPageQuerySchema, lr as SLACK_CUSTOM_APP_CREDENTIAL_SLUG, lt as CreateDraftCommitRequestSchema, m as isOrgLogoStorageKey, ma as PresignChatAttachmentResponseSchema, mi as WorkspaceTriggerListResponseSchema, mn as ListProjectMembersResponseSchema, mr as SkillSummaryDetailResponseSchema, mt as CreateProjectArtifactResponseSchema, n as publishDraftUpdateBestEffort, na as schemaHasFileFields, ni as WorkflowCanvasSchema, nn as ListChannelPlatformsResponseSchema, nr as PublishedFormListResponseSchema, nt as ConnectManagedServiceCredentialRequestSchema, o as ensureKeystrokeAssetsBucket, oa as slackCustomAppOauthSlug, oi as WorkflowManifestMetaShardSchema, on as ListManagedServiceCredentialsResponseSchema, or as RenewManagedDeployUploadRequestSchema, ot as CreateCredentialsResponseSchema, p as isKeystrokeAssetsOrgLogoPublicUrl, pa as PresignChatAttachmentRequestSchema, pi as WorkspaceTriggerFileSchema, pn as ListProjectFilesResponseSchema, pr as SLACK_KEYSTROKE_APP_SLUG, pt as CreateProjectArtifactRequestSchema, q as AppSlugAvailabilityQuerySchema, qi as normalizeUserPreferences, qn as ProjectSettingsResponseSchema, qr as UpdateProjectSettingsRequestSchema, qt as HistoryRunListResponseSchema, r as appLogoStorageKey, ra as schemaHasUnsupportedFormFields, ri as WorkflowFormResponseSchema, rn as ListCredentialsPageQuerySchema, rr as PublishedFormSchema, rt as CreateApiKeyRequestSchema, s as extractRouteManifestFromArtifact, sa as validateCredentialValueAgainstFields, si as WorkflowRunInputsPutBodySchema, sn as ListMcpAppToolsResponseSchema, sr as RenewManagedDeployUploadResponseSchema, st as CreateCustomAppRequestSchema, t as createInProcessProjectDraftNotifier, ta as resolveUniqueCredentialInstanceLabel, ti as WorkflowCanvasRunSchema, tn as ListAppsResponseSchema, tr as PublishManagedDeployCandidateResponseSchema, tt as CompleteProjectArtifactResponseSchema, u as isChatAttachmentStorageKey, ua as validationErrorResponse, ui as WorkflowSummaryListResponseSchema, un as ListOrganizationMembersPageResponseSchema, ur as SLACK_CUSTOM_APP_SLUG_PREFIX, ut as CreateDraftDiffCommitRequestSchema, v as isStorageNotFoundError$1, va as MICRO_CREDITS_PER_CREDIT, vi as agentMemoryFileId, vn as ManagedServiceCredentialSchema, vr as SlackAppListResponseSchema, vt as CreateSlackAppResponseSchema, wn as OrganizationSidebarBrandingPatchSchema, wr as StartMcpOAuthConnectionResultSchema, wt as DeclineOrganizationInvitationResponseSchema, x as keystrokeAssetsAvatarKeyFromPublicUrl, xi as buildSlackAppManifest, xn as McpDiscoverResponseSchema, xr as SlugAvailabilityQuerySchema, xt as DEFAULT_WORKFLOW_OVERVIEW_MODEL, y as isUserAvatarStorageKey, ya as credentialInputSchema, yi as agentWorkspaceFileId, yn as ManagedServiceKindSchema, yr as SlackAppManifestRequestSchema, yt as DEFAULT_TRIGGER_OVERVIEW_MODEL, z as ActiveProjectSourceRevisionSchema, zi as mapProjectArtifact, zn as PresignProjectSourceResponseSchema, zr as UpdateCredentialRequestSchema, zt as GetCustomAppResponseSchema } from "./project-draft-notifier-B7K0aaAp.mjs";
3
- import { $ as canInviteToProject, A as toProjectGitRepository, B as requireSession, C as createProjectSourceServiceFactory, D as ProjectRepositoryNotReadyError, E as trackProductEvent, F as authorize, G as agentListScope, H as routeProject, I as forbidden, J as canAccessAgent, K as apiKeyListScope, L as requireOrganization, O as archiveProjectRepositoryInline, P as isProjectGitProviderError, Q as canInviteRole, R as requireProject, T as identifyOrganizationGroup, U as accessContext, V as requireVerifiedOrganization, W as getProjectInvitePermission, X as canAccessSkill, Y as canAccessHistoryRun, Z as canAccessWorkflow, _ as commitProjectDraftFromDiff, a as cancelManagedDeploy, at as credentialListScope, c as prepareManagedDeploy, ct as organizationActions, d as ManagedDeployError, dt as skillListScope, et as canReadApiKey, f as deleteManagedDeployCandidateBestEffort, ft as userActions, g as commitProjectDraft, gt as pingProjectTarget, ht as log, i as workerOrganizationIdFromContext, it as checkPermission, j as MANAGED_DRAFT_BRANCH, k as provisionProjectRepositoryInline, l as publishManagedDeployCandidate, lt as projectActions, mt as event, n as readWorkerTokenFromRequest, nt as canRevokeApiKey, o as completeManagedDeployArtifact, ot as historyListScope, p as promoteManagedDeployMain, pt as workflowListScope, q as apiKeysActions, r as requireWorkerToken, rt as canViewCredential, s as heartbeatManagedDeploy, st as managedServicesActions, t as withProjectScope, tt as canReadProject, u as renewManagedDeployUpload, ut as projectListScope, v as mapDraftCommitError, w as mapProjectSourceError, x as assertAvailable, y as ensureProjectRepositoryReady, z as requireProjectMembership } from "./with-project-scope-BLKH8VDX.mjs";
1
+ import { C as setManagedServiceCredential, S as setCredentialInstanceSecretValue, _ as withMcpReadClient, a as completeMcpOAuthConnect, b as readCredentialInstanceSecret, c as describeCredentialBindings, d as discoverOpenApiApp, f as isDiscoveryError, g as PublicHttpUrlError, h as withCredentialAssignments, i as beginMcpOAuthConnect, l as discoverGraphqlApp, m as verifyOAuthState, n as cronPayloadSchema, o as createOAuthState, p as resolveConnectedMcpAuthHeaders, r as McpOAuthConnectError, s as decodeOAuthState, u as discoverMcpApp, v as deleteCredentialInstanceSecret, x as setCredentialInstanceSecret, y as deleteManagedServiceCredential$1 } from "./dist-knpBLc4g.mjs";
2
+ import { $ as AppSlugAvailabilityResponseSchema, $n as ProjectGitStatusResponseSchema, $r as UpdateProjectMemberRequestSchema, $t as HistoryRunDetailResponseSchema, A as prefetchCanvasShards, Ai as buildSlackAppManifest, An as McpDiscoverResponseSchema, Ar as SlugAvailabilityQuerySchema, At as DRAFT_SNAPSHOT_PLACEHOLDER_COMMIT_SHA, Ba as resolvePublicPlatformOrigin, Br as SubmitTeamRequestResponseSchema, Bt as DuplicateCredentialRequestSchema, C as keystrokeAssetsAppLogoKeyFromPublicUrl, Ca as PresignChatAttachmentResponseSchema, Ci as WorkspaceTriggerListResponseSchema, Cn as ListProjectMembersResponseSchema, Cr as SkillSummaryDetailResponseSchema, Ct as CreateProjectRequestSchema, Da as MICRO_CREDITS_PER_CREDIT, Di as agentMemoryFileId, Dn as ManagedServiceCredentialSchema, Dr as SlackAppListResponseSchema, Dt as DEFAULT_TRIGGER_OVERVIEW_MODEL, E as loadProjectSourceFiles, Ea as isAllowedChatAttachmentMediaType, Ei as WorkspaceWorkflowOverviewSchema, En as ListTemplatesResponseSchema, Er as SlackAppInstallStartResponseSchema, Et as CreateSlackAppResponseSchema, F as projectSourceBlobKey, Fa as verifyOrgWorkerToken, Fi as isDraftSnapshotPlaceholderCommitSha, Fn as PLATFORM_RESOURCE_UNSUPPORTED_TEXT, Fr as SubmitAgentFeedbackRequestSchema, Ft as DraftCommitResponseSchema, G as AgentEnvImageSnapshotResponseSchema, Gi as mapOrganizationInvitation, Gn as PresignOrgLogoRequestSchema, Gr as TriggerInvokeRequestSchema, Gt as GetAppCatalogEntryResponseSchema, H as ActionsCatalogShardSchema, Hi as jsonSchemaToWorkflowInputSchema, Hn as PrepareManagedDeployResponseSchema, Hr as TemplateKindSchema, Ht as ErrorResponseSchema, I as publicKeystrokeAssetsObjectUrl, Ii as isHelloWorldTemplateSlug, Ir as SubmitAgentFeedbackResponseSchema, It as DraftConflictResponseSchema, J as AgentSummaryDetailResponseSchema, Ji as mapProjectArtifact, Jn as PresignProjectSourceResponseSchema, Jr as UpdateCredentialRequestSchema, Jt as GetTemplateResponseSchema, K as AgentManifestShardSchema, Ki as mapOrganizationMember, Kn as PresignOrgLogoResponseSchema, Kr as TriggerInvokeResponseSchema, Kt as GetCredentialResponseSchema, L as putBrowserProfileMeta, La as DEFAULT_CLOUD_PLATFORM_ORIGIN, Ln as PROJECT_SLUG_TAKEN_MESSAGE, Lr as SubmitMarketingContactRequestSchema, Lt as DraftFileContentQuerySchema, Ma as mintOrgWorkerToken, Mi as displayCredentialAppName, Mn as OpenApiDiscoverResponseSchema, Mr as StartMcpOAuthConnectionInputSchema, Mt as DeclineOrganizationInvitationResponseSchema, N as projectArtifactKey, Nn as OrganizationSidebarBrandingPatchSchema, Nr as StartMcpOAuthConnectionResultSchema, Nt as DownloadActiveProjectArtifactResponseSchema, O as openModularArtifactShards, Oa as credentialInputSchema, Oi as agentWorkspaceFileId, On as ManagedServiceKindSchema, Or as SlackAppManifestRequestSchema, Ot as DEFAULT_WORKFLOW_CANVAS_MODEL, Pn as OrganizationSidebarBrandingSchema, Pr as StoredProjectSourceManifestSchema, Pt as DownloadActiveProjectSourceResponseSchema, Q as AppSlugAvailabilityQuerySchema, Qi as mapUserOrganization, Qn as ProjectGitRemoteResponseSchema, Qr as UpdateOrganizationRequestSchema, Qt as HistoryRunCancelResponseSchema, R as putBrowserSessionMeta, Ra as resolveExternalPlatformOrigin, Ri as isLlmProviderSlug, Rr as SubmitMarketingContactResponseSchema, Rt as DraftRevisionResponseSchema, S as isUserAvatarStorageKey, Sa as PresignChatAttachmentRequestSchema, Si as WorkspaceTriggerFileSchema, Sn as ListProjectFilesResponseSchema, Sr as SLACK_KEYSTROKE_APP_SLUG, St as CreateProjectArtifactResponseSchema, T as keystrokeAssetsOrgLogoKeyFromPublicUrl, Ta as chatAttachmentExtension, Ti as WorkspaceTriggerRunListResponseSchema, Tn as ListProjectsResponseSchema, Tr as SkillSummarySchema, Tt as CreateSlackAppRequestSchema, U as ActiveOrganizationResponseSchema, Ui as jsonSchemaToZod, Un as PresignCustomAppLogoRequestSchema, Ur as TriggerAttachmentUpdateRequestSchema, Ut as FinalizeCustomAppLogoRequestSchema, V as AcceptOrganizationInvitationResponseSchema, Vi as isSlackCustomAppOauthSlug, Vn as PrepareManagedDeployRequestSchema, Vr as TemplateFilesResponseSchema, Vt as DuplicateCredentialsResponseSchema, W as ActiveProjectSourceRevisionSchema, Wi as listenPortFromPublicUrl, Wn as PresignCustomAppLogoResponseSchema, Wr as TriggerInvokeInputsSchema, Wt as FinalizeCustomAppLogoResponseSchema, X as AgentSummarySchema, Xi as mapProjectMember, Xn as PresignUserAvatarResponseSchema, Xr as UpdateOrganizationMemberRequestSchema, Xt as GraphqlDiscoverResponseSchema, Y as AgentSummaryListResponseSchema, Yi as mapProjectDeployment, Yn as PresignUserAvatarRequestSchema, Yr as UpdateManagedServiceCredentialRequestSchema, Yt as GraphqlDiscoverRequestSchema, Z as AgentWorkspaceFileSummarySchema, Zi as mapProjectSettings, Zn as ProjectGitRemoteRequestSchema, Zr as UpdateOrganizationMemberResponseSchema, Zt as HeartbeatManagedDeployResponseSchema, _ as isOrgLogoStorageKey, _a as validateFormFieldConfig, _i as WorkflowRunInputsSchema, _n as ListOrganizationInvitationsResponseSchema, _r as SLACK_CUSTOM_APP_BOT_SCOPES, _t as CreateDraftCommitRequestSchema, a as createAssetsStorageClient, aa as organizationSlugErrorCodeFromMessage, ai as UserAvatarPatchSchema, an as InviteProjectMembersResponseSchema, ar as ProjectSourceResourcesSchema, at as ChannelPlatformSchema, b as isStorageBucketNotFoundError, bi as WorkflowSummarySchema, bn as ListOrganizationsResponseSchema, br as SLACK_GATEWAY_OAUTH_APP_KEY, bt as CreateOrganizationResponseSchema, ca as projectFileId, ci as UserPreferencesSchema, cn as ListApiKeysResponseSchema, cr as PublicFormSubmitResponseSchema, ct as CompleteProjectArtifactRequestSchema, d as isAppLogoStorageKey, da as schemaHasFileFields, di as WorkflowCanvasSchema, dn as ListChannelPlatformsResponseSchema, dr as PublishedFormListResponseSchema, dt as CreateApiKeyRequestSchema, ea as mergeUserPreferences, ei as UpdateProjectMemberResponseSchema, en as HistoryRunListQuerySchema, er as ProjectReachabilityResponseSchema, f as isBrowserMediaStorageKey, fa as schemaHasUnsupportedFormFields, fi as WorkflowFormResponseSchema, fn as ListCredentialsPageQuerySchema, fr as PublishedFormSchema, ft as CreateApiKeyResponseSchema, g as isKeystrokeAssetsOrgLogoPublicUrl, ga as validateCredentialValueAgainstFields, gi as WorkflowRunInputsPutBodySchema, gn as ListMcpAppToolsResponseSchema, gr as RenewManagedDeployUploadResponseSchema, gt as CreateCustomAppResponseSchema, h as isKeystrokeAssetsAvatarPublicUrl, ha as slackCustomAppOauthSlug, hi as WorkflowManifestMetaShardSchema, hn as ListManagedServiceCredentialsResponseSchema, hr as RenewManagedDeployUploadRequestSchema, ht as CreateCustomAppRequestSchema, i as chatAttachmentStorageKey, ia as organizationInvitationAcceptPath, ii as UploadProjectSourceResponseSchema, in as InviteProjectMembersRequestSchema, ir as ProjectSlugAvailabilityResponseSchema, it as CancelManagedDeployResponseSchema, j as projectArtifactBlobKey, ji as deriveCredentialInstanceSlug, jn as OpenApiDiscoverRequestSchema, jr as SlugAvailabilityResponseSchema, jt as DbProxyQueryRequestSchema, k as orgLogoStorageKey, ki as buildCredentialInstanceLabel, kn as McpDiscoverRequestSchema, kr as SlackAppManifestResponseSchema, kt as DEFAULT_WORKFLOW_OVERVIEW_MODEL, l as getBrowserProfileMeta, la as resolvePublicFormFields, li as WorkflowCanvasCredentialBindingsSchema, ln as ListAppsResponseSchema, lr as PublishManagedDeployCandidateRequestSchema, lt as CompleteProjectArtifactResponseSchema, m as isKeystrokeAssetsAppLogoPublicUrl, ma as slackCustomAppHandleFromSlug, mi as WorkflowManifestFlowShardSchema, mn as ListDraftFilesResponseSchema, mr as RecentResourceSchema, mt as CreateCredentialsResponseSchema, n as publishDraftUpdateBestEffort, na as normalizeUserPreferences, ni as UpdateProjectSettingsRequestSchema, nn as InviteOrganizationMembersRequestSchema, nr as ProjectSettingsResponseSchema, nt as BrowserResumeStateSchema, o as ensureKeystrokeAssetsBucket, oa as parseAppSlug, oi as UserAvatarSchema, on as ListAgentMemoryFilesResponseSchema, or as PublicFormMetadataSchema, ot as CompleteManagedDeployArtifactRequestSchema, p as isChatAttachmentStorageKey, pa as slackAppBindingChannelId, pi as WorkflowFormUpsertBodySchema, pn as ListCredentialsPageResponseSchema, pr as RecentResourceListResponseSchema, pt as CreateCredentialsRequestSchema, q as AgentMemoryFileSummarySchema, qi as mapProject, qn as PresignProjectSourceRequestSchema, qr as TriggerRunListQuerySchema, qt as GetCustomAppResponseSchema, r as appLogoStorageKey, ri as UploadProjectSourceManifestRequestSchema, rn as InviteOrganizationMembersResponseSchema, rr as ProjectSlugAvailabilityQuerySchema, rt as CancelManagedDeployRequestSchema, s as extractRouteManifestFromArtifact, sa as parseStoredRouteManifest, si as UserPreferencesPatchSchema, sn as ListAgentWorkspaceFilesResponseSchema, sr as PublicFormSubmitBodySchema, st as CompleteManagedDeployArtifactResponseSchema, t as createInProcessProjectDraftNotifier, ta as normalizeSlackAppHandle, ti as UpdateProjectRequestSchema, tn as HistoryRunListResponseSchema, tr as ProjectResponseSchema, tt as BrainReferenceSchema, u as getBrowserSessionMeta, ua as resolveUniqueCredentialInstanceLabel, ui as WorkflowCanvasRunSchema, ur as PublishManagedDeployCandidateResponseSchema, ut as ConnectManagedServiceCredentialRequestSchema, v as isProjectArtifactIndexKey, va as validateWorkflowRunInputValues, vi as WorkflowSummaryDetailResponseSchema, vn as ListOrganizationMembersPageQuerySchema, vr as SLACK_CUSTOM_APP_CREDENTIAL_SLUG, vt as CreateDraftDiffCommitRequestSchema, w as keystrokeAssetsAvatarKeyFromPublicUrl, wa as PublicModelsResponseSchema, wi as WorkspaceTriggerOverviewSchema, wn as ListProjectMetricsResponseSchema, wr as SkillSummaryListResponseSchema, wt as CreateProjectResponseSchema, x as isStorageNotFoundError$1, xa as FilePartSchema, xi as WorkspaceTriggerDetailSchema, xn as ListProjectDeploymentsResponseSchema, xr as SLACK_KEYSTROKE_APP_BOT_SCOPES, xt as CreateProjectArtifactRequestSchema, ya as validationErrorResponse, yi as WorkflowSummaryListResponseSchema, yn as ListOrganizationMembersPageResponseSchema, yr as SLACK_CUSTOM_APP_SLUG_PREFIX, yt as CreateOrganizationRequestSchema, z as userAvatarStorageKey, za as resolvePublicPlatformApiOrigin, zr as SubmitTeamRequestRequestSchema, zt as DraftUpdateEventSchema } from "./project-draft-notifier-DbGvx0CD.mjs";
3
+ import { $ as canInviteToProject, A as toProjectGitRepository, B as requireSession, C as createProjectSourceServiceFactory, D as ProjectRepositoryNotReadyError, E as trackProductEvent, F as authorize, G as agentListScope, H as routeProject, I as forbidden, J as canAccessAgent, K as apiKeyListScope, L as requireOrganization, O as archiveProjectRepositoryInline, P as isProjectGitProviderError, Q as canInviteRole, R as requireProject, T as identifyOrganizationGroup, U as accessContext, V as requireVerifiedOrganization, W as getProjectInvitePermission, X as canAccessSkill, Y as canAccessHistoryRun, Z as canAccessWorkflow, _ as commitProjectDraftFromDiff, a as cancelManagedDeploy, at as credentialListScope, c as prepareManagedDeploy, ct as organizationActions, d as ManagedDeployError, dt as skillListScope, et as canReadApiKey, f as deleteManagedDeployCandidateBestEffort, ft as userActions, g as commitProjectDraft, gt as pingProjectTarget, ht as log, i as workerOrganizationIdFromContext, it as checkPermission, j as MANAGED_DRAFT_BRANCH, k as provisionProjectRepositoryInline, l as publishManagedDeployCandidate, lt as projectActions, mt as event, n as readWorkerTokenFromRequest, nt as canRevokeApiKey, o as completeManagedDeployArtifact, ot as historyListScope, p as promoteManagedDeployMain, pt as workflowListScope, q as apiKeysActions, r as requireWorkerToken, rt as canViewCredential, s as heartbeatManagedDeploy, st as managedServicesActions, t as withProjectScope, tt as canReadProject, u as renewManagedDeployUpload, ut as projectListScope, v as mapDraftCommitError, w as mapProjectSourceError, x as assertAvailable, y as ensureProjectRepositoryReady, z as requireProjectMembership } from "./with-project-scope-DpiIxlik.mjs";
4
4
  import "./chunk-BZUGFHVS-B2NchobP.mjs";
5
5
  import { n as d$4, t as _$1 } from "./chunk-TN7HHBQW-B8PYcKz5.mjs";
6
6
  import { getCachedPublicModelIds, loadPublicModelIds } from "./lib/public-models.mjs";
@@ -23042,43 +23042,43 @@ var tt = [
23042
23042
  },
23043
23043
  {
23044
23044
  name: "cat",
23045
- load: async () => (await import("./cat-TSFMZVYS-pOt--woU.mjs")).catCommand
23045
+ load: async () => (await import("./cat-TSFMZVYS-CJ6mQfvI.mjs")).catCommand
23046
23046
  },
23047
23047
  {
23048
23048
  name: "printf",
23049
- load: async () => (await import("./printf-TWGXF445-Cku6hGej.mjs")).printfCommand
23049
+ load: async () => (await import("./printf-TWGXF445-Bmuv2_VM.mjs")).printfCommand
23050
23050
  },
23051
23051
  {
23052
23052
  name: "ls",
23053
- load: async () => (await import("./ls-ZJGQER7M-C3KTKhlL.mjs")).lsCommand
23053
+ load: async () => (await import("./ls-ZJGQER7M-BIbwj43R.mjs")).lsCommand
23054
23054
  },
23055
23055
  {
23056
23056
  name: "mkdir",
23057
- load: async () => (await import("./mkdir-MEPGZOB6-Dz0ilrHF.mjs")).mkdirCommand
23057
+ load: async () => (await import("./mkdir-MEPGZOB6-B1i3E32f.mjs")).mkdirCommand
23058
23058
  },
23059
23059
  {
23060
23060
  name: "rmdir",
23061
- load: async () => (await import("./rmdir-OC4ZLPYA-DhpPwVcw.mjs")).rmdirCommand
23061
+ load: async () => (await import("./rmdir-OC4ZLPYA-xWQ-tIg9.mjs")).rmdirCommand
23062
23062
  },
23063
23063
  {
23064
23064
  name: "touch",
23065
- load: async () => (await import("./touch-UA33VN3N-Dr7gGPKc.mjs")).touchCommand
23065
+ load: async () => (await import("./touch-UA33VN3N-CTkCho8K.mjs")).touchCommand
23066
23066
  },
23067
23067
  {
23068
23068
  name: "rm",
23069
- load: async () => (await import("./rm-SSGETQVQ-SVr6JZrX.mjs")).rmCommand
23069
+ load: async () => (await import("./rm-SSGETQVQ-DYztIM5O.mjs")).rmCommand
23070
23070
  },
23071
23071
  {
23072
23072
  name: "cp",
23073
- load: async () => (await import("./cp-BISAAS7A-B8FLyvxG.mjs")).cpCommand
23073
+ load: async () => (await import("./cp-BISAAS7A-CJkhs863.mjs")).cpCommand
23074
23074
  },
23075
23075
  {
23076
23076
  name: "mv",
23077
- load: async () => (await import("./mv-W5BIQ646-BYWL1wkh.mjs")).mvCommand
23077
+ load: async () => (await import("./mv-W5BIQ646-nkURfvBY.mjs")).mvCommand
23078
23078
  },
23079
23079
  {
23080
23080
  name: "ln",
23081
- load: async () => (await import("./ln-4LGSXXGD-aZgyO6BG.mjs")).lnCommand
23081
+ load: async () => (await import("./ln-4LGSXXGD-DbgzmDmw.mjs")).lnCommand
23082
23082
  },
23083
23083
  {
23084
23084
  name: "chmod",
@@ -23094,15 +23094,15 @@ var tt = [
23094
23094
  },
23095
23095
  {
23096
23096
  name: "head",
23097
- load: async () => (await import("./head-442HYESI-_V6c_Y8y.mjs")).headCommand
23097
+ load: async () => (await import("./head-442HYESI-DW-UZKJE.mjs")).headCommand
23098
23098
  },
23099
23099
  {
23100
23100
  name: "tail",
23101
- load: async () => (await import("./tail-R4PCA2C4-C0ugHzL2.mjs")).tailCommand
23101
+ load: async () => (await import("./tail-R4PCA2C4-tgyT7wGC.mjs")).tailCommand
23102
23102
  },
23103
23103
  {
23104
23104
  name: "wc",
23105
- load: async () => (await import("./wc-LF7NU4LA-B5iKJ_sK.mjs")).wcCommand
23105
+ load: async () => (await import("./wc-LF7NU4LA-I7kgqxq0.mjs")).wcCommand
23106
23106
  },
23107
23107
  {
23108
23108
  name: "stat",
@@ -23110,95 +23110,95 @@ var tt = [
23110
23110
  },
23111
23111
  {
23112
23112
  name: "grep",
23113
- load: async () => (await import("./grep-V3LQVMRQ-Cds5pG3P.mjs")).grepCommand
23113
+ load: async () => (await import("./grep-V3LQVMRQ-CCkpNQq2.mjs")).grepCommand
23114
23114
  },
23115
23115
  {
23116
23116
  name: "fgrep",
23117
- load: async () => (await import("./grep-V3LQVMRQ-Cds5pG3P.mjs")).fgrepCommand
23117
+ load: async () => (await import("./grep-V3LQVMRQ-CCkpNQq2.mjs")).fgrepCommand
23118
23118
  },
23119
23119
  {
23120
23120
  name: "egrep",
23121
- load: async () => (await import("./grep-V3LQVMRQ-Cds5pG3P.mjs")).egrepCommand
23121
+ load: async () => (await import("./grep-V3LQVMRQ-CCkpNQq2.mjs")).egrepCommand
23122
23122
  },
23123
23123
  {
23124
23124
  name: "rg",
23125
- load: async () => (await import("./rg-S4FXYXWB-C5rIiKqa.mjs")).rgCommand
23125
+ load: async () => (await import("./rg-S4FXYXWB-DCoDd-co.mjs")).rgCommand
23126
23126
  },
23127
23127
  {
23128
23128
  name: "sed",
23129
- load: async () => (await import("./sed-S5UIK574-CwkMwpF4.mjs")).sedCommand
23129
+ load: async () => (await import("./sed-S5UIK574-bm0JFNZc.mjs")).sedCommand
23130
23130
  },
23131
23131
  {
23132
23132
  name: "awk",
23133
- load: async () => (await import("./awk2-LA3USKJP-ByfczQFR.mjs")).awkCommand2
23133
+ load: async () => (await import("./awk2-LA3USKJP-BKuMVeOB.mjs")).awkCommand2
23134
23134
  },
23135
23135
  {
23136
23136
  name: "sort",
23137
- load: async () => (await import("./sort-SW2YEO5B-DHu-IjJK.mjs")).sortCommand
23137
+ load: async () => (await import("./sort-SW2YEO5B-0zTxs9YD.mjs")).sortCommand
23138
23138
  },
23139
23139
  {
23140
23140
  name: "uniq",
23141
- load: async () => (await import("./uniq-XSIZR6PB-i4UN8_wj.mjs")).uniqCommand
23141
+ load: async () => (await import("./uniq-XSIZR6PB-BMIaoH6r.mjs")).uniqCommand
23142
23142
  },
23143
23143
  {
23144
23144
  name: "comm",
23145
- load: async () => (await import("./comm-VV2LDX2J-BqGE2v_-.mjs")).commCommand
23145
+ load: async () => (await import("./comm-VV2LDX2J-DmVZ2wGn.mjs")).commCommand
23146
23146
  },
23147
23147
  {
23148
23148
  name: "cut",
23149
- load: async () => (await import("./cut-OKARJCCV-D8thql_D.mjs")).cutCommand
23149
+ load: async () => (await import("./cut-OKARJCCV-CtFH2BBH.mjs")).cutCommand
23150
23150
  },
23151
23151
  {
23152
23152
  name: "paste",
23153
- load: async () => (await import("./paste-7JC6S4DX-4f_UlCmY.mjs")).pasteCommand
23153
+ load: async () => (await import("./paste-7JC6S4DX-Bml6SXf_.mjs")).pasteCommand
23154
23154
  },
23155
23155
  {
23156
23156
  name: "tr",
23157
- load: async () => (await import("./tr-36LHWFRQ-BAzZcYrH.mjs")).trCommand
23157
+ load: async () => (await import("./tr-36LHWFRQ-DI-dtBA6.mjs")).trCommand
23158
23158
  },
23159
23159
  {
23160
23160
  name: "rev",
23161
- load: async () => (await import("./rev-5EHFX4EJ-Dmo6hsDY.mjs")).rev
23161
+ load: async () => (await import("./rev-5EHFX4EJ-D8G5f0B8.mjs")).rev
23162
23162
  },
23163
23163
  {
23164
23164
  name: "nl",
23165
- load: async () => (await import("./nl-WSDW7I4O-DWG5wZv2.mjs")).nl
23165
+ load: async () => (await import("./nl-WSDW7I4O-rSBgQURn.mjs")).nl
23166
23166
  },
23167
23167
  {
23168
23168
  name: "fold",
23169
- load: async () => (await import("./fold-4TQNYMSW-CsMYO96e.mjs")).fold
23169
+ load: async () => (await import("./fold-4TQNYMSW-CsYQfT6n.mjs")).fold
23170
23170
  },
23171
23171
  {
23172
23172
  name: "expand",
23173
- load: async () => (await import("./expand-JSPG6VOP-PLyckfMd.mjs")).expand
23173
+ load: async () => (await import("./expand-JSPG6VOP-CBZ5VTZh.mjs")).expand
23174
23174
  },
23175
23175
  {
23176
23176
  name: "unexpand",
23177
- load: async () => (await import("./unexpand-CADSA4VO-DN7WjSgJ.mjs")).unexpand
23177
+ load: async () => (await import("./unexpand-CADSA4VO-CrIzgXCI.mjs")).unexpand
23178
23178
  },
23179
23179
  {
23180
23180
  name: "strings",
23181
- load: async () => (await import("./strings-6WDHLGMX-D-8gxmaP.mjs")).strings
23181
+ load: async () => (await import("./strings-6WDHLGMX-DGdL1td6.mjs")).strings
23182
23182
  },
23183
23183
  {
23184
23184
  name: "split",
23185
- load: async () => (await import("./split-4KKZZXXE-DRFoW0C-.mjs")).split
23185
+ load: async () => (await import("./split-4KKZZXXE-3Go-xLDT.mjs")).split
23186
23186
  },
23187
23187
  {
23188
23188
  name: "column",
23189
- load: async () => (await import("./column-XT6UFXNQ-2pQbXs2k.mjs")).column
23189
+ load: async () => (await import("./column-XT6UFXNQ-CqVWzha1.mjs")).column
23190
23190
  },
23191
23191
  {
23192
23192
  name: "join",
23193
- load: async () => (await import("./join-TBRGI3LQ-A6BX1u07.mjs")).join
23193
+ load: async () => (await import("./join-TBRGI3LQ-CRFay7fz.mjs")).join
23194
23194
  },
23195
23195
  {
23196
23196
  name: "tee",
23197
- load: async () => (await import("./tee-YUZ2FKCJ-BbF6VRAs.mjs")).teeCommand
23197
+ load: async () => (await import("./tee-YUZ2FKCJ-LRZMywwS.mjs")).teeCommand
23198
23198
  },
23199
23199
  {
23200
23200
  name: "find",
23201
- load: async () => (await import("./find-INTH3OLC-DH8DXZHk.mjs")).findCommand
23201
+ load: async () => (await import("./find-INTH3OLC-DkRilJpD.mjs")).findCommand
23202
23202
  },
23203
23203
  {
23204
23204
  name: "basename",
@@ -23210,19 +23210,19 @@ var tt = [
23210
23210
  },
23211
23211
  {
23212
23212
  name: "tree",
23213
- load: async () => (await import("./tree-YLD52CNT-2CgZVKNz.mjs")).treeCommand
23213
+ load: async () => (await import("./tree-YLD52CNT-C8_F9fOy.mjs")).treeCommand
23214
23214
  },
23215
23215
  {
23216
23216
  name: "du",
23217
- load: async () => (await import("./du-572XNP42-CELJ23aS.mjs")).duCommand
23217
+ load: async () => (await import("./du-572XNP42-Cfmnvzp8.mjs")).duCommand
23218
23218
  },
23219
23219
  {
23220
23220
  name: "env",
23221
- load: async () => (await import("./env-36M5BO7M-CNN23vys.mjs")).envCommand
23221
+ load: async () => (await import("./env-36M5BO7M-DzamDw0x.mjs")).envCommand
23222
23222
  },
23223
23223
  {
23224
23224
  name: "printenv",
23225
- load: async () => (await import("./env-36M5BO7M-CNN23vys.mjs")).printenvCommand
23225
+ load: async () => (await import("./env-36M5BO7M-DzamDw0x.mjs")).printenvCommand
23226
23226
  },
23227
23227
  {
23228
23228
  name: "alias",
@@ -23238,7 +23238,7 @@ var tt = [
23238
23238
  },
23239
23239
  {
23240
23240
  name: "xargs",
23241
- load: async () => (await import("./xargs-MGZPH7AX-D85Ko7xE.mjs")).xargsCommand
23241
+ load: async () => (await import("./xargs-MGZPH7AX-oK7VOww8.mjs")).xargsCommand
23242
23242
  },
23243
23243
  {
23244
23244
  name: "true",
@@ -23254,23 +23254,23 @@ var tt = [
23254
23254
  },
23255
23255
  {
23256
23256
  name: "bash",
23257
- load: async () => (await import("./bash-YZ33HQZQ-0JXMDwY6.mjs")).bashCommand
23257
+ load: async () => (await import("./bash-YZ33HQZQ-BC6yOs7H.mjs")).bashCommand
23258
23258
  },
23259
23259
  {
23260
23260
  name: "sh",
23261
- load: async () => (await import("./bash-YZ33HQZQ-0JXMDwY6.mjs")).shCommand
23261
+ load: async () => (await import("./bash-YZ33HQZQ-BC6yOs7H.mjs")).shCommand
23262
23262
  },
23263
23263
  {
23264
23264
  name: "jq",
23265
- load: async () => (await import("./jq-4XLYLOS5-BJYQ4YMc.mjs")).jqCommand
23265
+ load: async () => (await import("./jq-4XLYLOS5-DfZRPbAf.mjs")).jqCommand
23266
23266
  },
23267
23267
  {
23268
23268
  name: "base64",
23269
- load: async () => (await import("./base64-C2AIWVNC-DhLdSVMT.mjs")).base64Command
23269
+ load: async () => (await import("./base64-C2AIWVNC-DJcPDkRK.mjs")).base64Command
23270
23270
  },
23271
23271
  {
23272
23272
  name: "diff",
23273
- load: async () => (await import("./diff-MWJFIG7X-Drqts0Ou.mjs")).diffCommand
23273
+ load: async () => (await import("./diff-MWJFIG7X-CCt8XQbx.mjs")).diffCommand
23274
23274
  },
23275
23275
  {
23276
23276
  name: "date",
@@ -23278,15 +23278,15 @@ var tt = [
23278
23278
  },
23279
23279
  {
23280
23280
  name: "sleep",
23281
- load: async () => (await import("./sleep-X22JJINO-SSB0_xkn.mjs")).sleepCommand
23281
+ load: async () => (await import("./sleep-X22JJINO-CLwFdFCo.mjs")).sleepCommand
23282
23282
  },
23283
23283
  {
23284
23284
  name: "timeout",
23285
- load: async () => (await import("./timeout-YDCRSLPQ-C4E3RCT1.mjs")).timeoutCommand
23285
+ load: async () => (await import("./timeout-YDCRSLPQ-auteC3Gb.mjs")).timeoutCommand
23286
23286
  },
23287
23287
  {
23288
23288
  name: "time",
23289
- load: async () => (await import("./time-D4LNBSWX-BG4ZXuon.mjs")).timeCommand
23289
+ load: async () => (await import("./time-D4LNBSWX-RRPjvylO.mjs")).timeCommand
23290
23290
  },
23291
23291
  {
23292
23292
  name: "seq",
@@ -23294,19 +23294,19 @@ var tt = [
23294
23294
  },
23295
23295
  {
23296
23296
  name: "expr",
23297
- load: async () => (await import("./expr-5JAACS4X-BqIxQcAx.mjs")).exprCommand
23297
+ load: async () => (await import("./expr-5JAACS4X-C-EnCCF2.mjs")).exprCommand
23298
23298
  },
23299
23299
  {
23300
23300
  name: "md5sum",
23301
- load: async () => (await import("./md5sum-SPU24VSG-CmI2Hsa_.mjs")).md5sumCommand
23301
+ load: async () => (await import("./md5sum-SPU24VSG-BiWtAKaM.mjs")).md5sumCommand
23302
23302
  },
23303
23303
  {
23304
23304
  name: "sha1sum",
23305
- load: async () => (await import("./sha1sum-2PTOAFR6-Cad6_7os.mjs")).sha1sumCommand
23305
+ load: async () => (await import("./sha1sum-2PTOAFR6-C5l_CLHS.mjs")).sha1sumCommand
23306
23306
  },
23307
23307
  {
23308
23308
  name: "sha256sum",
23309
- load: async () => (await import("./sha256sum-NS7D3IXX-QeeptGn3.mjs")).sha256sumCommand
23309
+ load: async () => (await import("./sha256sum-NS7D3IXX-BZcZdhxE.mjs")).sha256sumCommand
23310
23310
  },
23311
23311
  {
23312
23312
  name: "file",
@@ -23314,11 +23314,11 @@ var tt = [
23314
23314
  },
23315
23315
  {
23316
23316
  name: "html-to-markdown",
23317
- load: async () => (await import("./html-to-markdown-JW4MSQZO-CAcZBrRZ.mjs")).htmlToMarkdownCommand
23317
+ load: async () => (await import("./html-to-markdown-JW4MSQZO-CKrnTTGV.mjs")).htmlToMarkdownCommand
23318
23318
  },
23319
23319
  {
23320
23320
  name: "help",
23321
- load: async () => (await import("./help-HZ6M2CKN-BqaLEgp2.mjs")).helpCommand
23321
+ load: async () => (await import("./help-HZ6M2CKN-Qo4lB8OP.mjs")).helpCommand
23322
23322
  },
23323
23323
  {
23324
23324
  name: "which",
@@ -23326,7 +23326,7 @@ var tt = [
23326
23326
  },
23327
23327
  {
23328
23328
  name: "tac",
23329
- load: async () => (await import("./tac-2STMMJYW-BXvN_CFk.mjs")).tac
23329
+ load: async () => (await import("./tac-2STMMJYW-u_39KuCC.mjs")).tac
23330
23330
  },
23331
23331
  {
23332
23332
  name: "hostname",
@@ -23338,49 +23338,49 @@ var tt = [
23338
23338
  },
23339
23339
  {
23340
23340
  name: "od",
23341
- load: async () => (await import("./od-WOKFDJTP-C0KKUEqR.mjs")).od
23341
+ load: async () => (await import("./od-WOKFDJTP-CJFl9Ohq.mjs")).od
23342
23342
  },
23343
23343
  {
23344
23344
  name: "gzip",
23345
- load: async () => (await import("./gzip-O5ASJAFY-BUdYCD74.mjs")).gzipCommand
23345
+ load: async () => (await import("./gzip-O5ASJAFY-DgV2lPtN.mjs")).gzipCommand
23346
23346
  },
23347
23347
  {
23348
23348
  name: "gunzip",
23349
- load: async () => (await import("./gzip-O5ASJAFY-BUdYCD74.mjs")).gunzipCommand
23349
+ load: async () => (await import("./gzip-O5ASJAFY-DgV2lPtN.mjs")).gunzipCommand
23350
23350
  },
23351
23351
  {
23352
23352
  name: "zcat",
23353
- load: async () => (await import("./gzip-O5ASJAFY-BUdYCD74.mjs")).zcatCommand
23353
+ load: async () => (await import("./gzip-O5ASJAFY-DgV2lPtN.mjs")).zcatCommand
23354
23354
  }
23355
23355
  ];
23356
23356
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (tt.push({
23357
23357
  name: "tar",
23358
- load: async () => (await import("./tar-STHHZTZ6-BsgloKrW.mjs")).tarCommand
23358
+ load: async () => (await import("./tar-STHHZTZ6-0gdvsCju.mjs")).tarCommand
23359
23359
  }), tt.push({
23360
23360
  name: "yq",
23361
- load: async () => (await import("./yq-4QJW3EQG-BcuExFs8.mjs")).yqCommand
23361
+ load: async () => (await import("./yq-4QJW3EQG-BclNWUX9.mjs")).yqCommand
23362
23362
  }), tt.push({
23363
23363
  name: "xan",
23364
- load: async () => (await import("./xan-Y6WF3IRG-B5YnpCBT.mjs")).xanCommand
23364
+ load: async () => (await import("./xan-Y6WF3IRG-rkkOjnpn.mjs")).xanCommand
23365
23365
  }), tt.push({
23366
23366
  name: "sqlite3",
23367
- load: async () => (await import("./sqlite3-CGOEFJAO-CF1nf3bu.mjs")).sqlite3Command
23367
+ load: async () => (await import("./sqlite3-CGOEFJAO-rN_cPAaW.mjs")).sqlite3Command
23368
23368
  }));
23369
23369
  var Yt = [];
23370
23370
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (Yt.push({
23371
23371
  name: "python3",
23372
- load: async () => (await import("./python3-POMOR4OA-BcBrl1X2.mjs")).python3Command
23372
+ load: async () => (await import("./python3-POMOR4OA-SOzmJUy_.mjs")).python3Command
23373
23373
  }), Yt.push({
23374
23374
  name: "python",
23375
- load: async () => (await import("./python3-POMOR4OA-BcBrl1X2.mjs")).pythonCommand
23375
+ load: async () => (await import("./python3-POMOR4OA-SOzmJUy_.mjs")).pythonCommand
23376
23376
  }));
23377
23377
  var Qt = [];
23378
23378
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (Qt.push({
23379
23379
  name: "js-exec",
23380
- load: async () => (await import("./js-exec-N5KEZBH7-QGZXHyY0.mjs")).jsExecCommand
23380
+ load: async () => (await import("./js-exec-N5KEZBH7-DLlRvb2Z.mjs")).jsExecCommand
23381
23381
  }), Qt.push({
23382
23382
  name: "node",
23383
- load: async () => (await import("./js-exec-N5KEZBH7-QGZXHyY0.mjs")).nodeStubCommand
23383
+ load: async () => (await import("./js-exec-N5KEZBH7-DLlRvb2Z.mjs")).nodeStubCommand
23384
23384
  }));
23385
23385
  new TextEncoder();
23386
23386
  Object.freeze({
@@ -23795,6 +23795,146 @@ Object.freeze({
23795
23795
  option is given.`]]
23796
23796
  ]).keys()].sort();
23797
23797
  new TextDecoder("utf-8", { fatal: !0 });
23798
+ z.enum(["local", "browseruse"]);
23799
+ const BROWSER_USE_API = "https://api.browser-use.com/api/v4";
23800
+ async function browserUseFetch(apiKey, path, init) {
23801
+ return fetch(`${BROWSER_USE_API}${path}`, {
23802
+ ...init,
23803
+ headers: {
23804
+ "X-Browser-Use-API-Key": apiKey,
23805
+ "Content-Type": "application/json",
23806
+ ...init?.headers ?? {}
23807
+ }
23808
+ });
23809
+ }
23810
+ /** Create a Browser Use cloud browser (for CLI open / live view). */
23811
+ async function createBrowserUseSession(options) {
23812
+ const body = {};
23813
+ if (options.timeout !== void 0) body.timeout = options.timeout;
23814
+ if (options.profileId) body.profileId = options.profileId;
23815
+ if (options.record) body.browserSettings = { record: true };
23816
+ if (options.proxyCountryCode) body.proxyCountryCode = options.proxyCountryCode;
23817
+ const res = await browserUseFetch(options.apiKey, "/browsers", {
23818
+ method: "POST",
23819
+ body: JSON.stringify(body)
23820
+ });
23821
+ if (!res.ok) {
23822
+ const text = await res.text();
23823
+ throw new Error(`Browser Use create failed (${res.status}): ${text}`);
23824
+ }
23825
+ return await res.json();
23826
+ }
23827
+ /** Navigate a cloud browser without leaving a persistent agent-browser daemon attached. */
23828
+ async function navigateBrowserUseSession(cdpUrl, url) {
23829
+ const socket = new WebSocket(cdpUrl.replace(/^http:/, "ws:").replace(/^https:/, "wss:"));
23830
+ let nextId = 1;
23831
+ let pageSessionId;
23832
+ const pending = /* @__PURE__ */ new Map();
23833
+ await new Promise((resolve, reject) => {
23834
+ socket.addEventListener("open", () => resolve(), { once: true });
23835
+ socket.addEventListener("error", () => reject(/* @__PURE__ */ new Error("Browser Use CDP connection failed")), { once: true });
23836
+ });
23837
+ socket.addEventListener("message", (event) => {
23838
+ const message = JSON.parse(String(event.data));
23839
+ if (!message.id) return;
23840
+ const request = pending.get(message.id);
23841
+ if (!request) return;
23842
+ pending.delete(message.id);
23843
+ if (message.error) request.reject(new Error(message.error.message ?? "Browser Use CDP request failed"));
23844
+ else request.resolve(message);
23845
+ });
23846
+ const send = (method, params, sessionId) => {
23847
+ const id = nextId++;
23848
+ return new Promise((resolve, reject) => {
23849
+ pending.set(id, {
23850
+ resolve,
23851
+ reject
23852
+ });
23853
+ socket.send(JSON.stringify({
23854
+ id,
23855
+ method,
23856
+ ...params ? { params } : {},
23857
+ ...sessionId ? { sessionId } : {}
23858
+ }));
23859
+ });
23860
+ };
23861
+ try {
23862
+ const page = ((await send("Target.getTargets")).result?.targetInfos ?? []).find((target) => target.type === "page");
23863
+ if (!page) throw new Error("Browser Use page target not found");
23864
+ pageSessionId = (await send("Target.attachToTarget", {
23865
+ targetId: page.targetId,
23866
+ flatten: true
23867
+ })).result?.sessionId;
23868
+ if (!pageSessionId) throw new Error("Browser Use page attachment failed");
23869
+ await send("Page.navigate", { url }, pageSessionId);
23870
+ } finally {
23871
+ for (const request of pending.values()) request.reject(/* @__PURE__ */ new Error("Browser Use CDP connection closed"));
23872
+ pending.clear();
23873
+ socket.close();
23874
+ }
23875
+ }
23876
+ async function getBrowserUseSession(options) {
23877
+ const res = await browserUseFetch(options.apiKey, `/browsers/${options.sessionId}`);
23878
+ if (!res.ok) {
23879
+ const text = await res.text();
23880
+ throw new Error(`Browser Use get failed (${res.status}): ${text}`);
23881
+ }
23882
+ return await res.json();
23883
+ }
23884
+ /** Create or update a Browser Use profile for an agent (returns id). */
23885
+ async function ensureBrowserUseProfile(options) {
23886
+ for (const userId of [options.userId ?? options.name, options.legacyUserId].filter((value, index, all) => Boolean(value) && all.indexOf(value) === index)) {
23887
+ const list = await browserUseFetch(options.apiKey, `/profiles?userId=${encodeURIComponent(userId)}`);
23888
+ if (list.ok) {
23889
+ const data = await list.json();
23890
+ const existing = (data.items ?? (Array.isArray(data) ? data : [])).find((profile) => profile.name === options.name);
23891
+ if (existing?.id) return existing.id;
23892
+ }
23893
+ }
23894
+ const res = await browserUseFetch(options.apiKey, "/profiles", {
23895
+ method: "POST",
23896
+ body: JSON.stringify({
23897
+ name: options.name,
23898
+ userId: options.userId ?? options.name
23899
+ })
23900
+ });
23901
+ if (!res.ok) {
23902
+ const text = await res.text();
23903
+ throw new Error(`Browser Use profile create failed (${res.status}): ${text}`);
23904
+ }
23905
+ return (await res.json()).id;
23906
+ }
23907
+ /**
23908
+ * Open a Browser Use live session on the durable profile for an agent slug.
23909
+ * Used by platform `browser/open` and by the CLI when a local API key is set.
23910
+ */
23911
+ async function openCloudBrowserLogin(options) {
23912
+ const url = options.url ?? "about:blank";
23913
+ const cloudProfileId = options.cloudProfileId ?? await ensureBrowserUseProfile({
23914
+ apiKey: options.apiKey,
23915
+ name: `keystroke-agent-${options.agentSlug}`,
23916
+ userId: options.profileOwnerId ?? options.agentSlug,
23917
+ ...options.profileOwnerId ? { legacyUserId: options.agentSlug } : {}
23918
+ });
23919
+ const session = await createBrowserUseSession({
23920
+ apiKey: options.apiKey,
23921
+ profileId: cloudProfileId,
23922
+ timeout: options.timeout ?? 15,
23923
+ ...options.record ? { record: true } : {}
23924
+ });
23925
+ const sessionId = options.sessionId ?? `cli-${Date.now()}`;
23926
+ if (url !== "about:blank" && session.cdpUrl) await navigateBrowserUseSession(session.cdpUrl, url);
23927
+ return {
23928
+ sessionId,
23929
+ browserUseSessionId: session.id,
23930
+ cloudProfileId,
23931
+ url,
23932
+ ...session.liveUrl ? { liveUrl: session.liveUrl } : {},
23933
+ ...session.cdpUrl ? { cdpUrl: session.cdpUrl } : {},
23934
+ ...session.startedAt ? { startedAt: session.startedAt } : {},
23935
+ ...session.timeoutAt ? { timeoutAt: session.timeoutAt } : {}
23936
+ };
23937
+ }
23798
23938
  z.object({
23799
23939
  clone: z.object({
23800
23940
  repository: z.string().trim().min(1),
@@ -25158,7 +25298,7 @@ function withOrganizationProjectDatabase() {
25158
25298
  trace.getTracer("keystroke.http");
25159
25299
  //#endregion
25160
25300
  //#region src/routes/account/users/me/avatar/GET.ts
25161
- const handler$115 = async (c) => {
25301
+ const handler$116 = async (c) => {
25162
25302
  const dbUser = await selectUserById(c.get("user").id);
25163
25303
  if (!dbUser) return c.json(ErrorResponseSchema.parse({ error: "User not found" }), 404);
25164
25304
  return c.json(UserAvatarSchema.parse({ url: dbUser.image ?? null }));
@@ -25177,7 +25317,7 @@ function avatarExtensionForContentType(contentType) {
25177
25317
  }
25178
25318
  //#endregion
25179
25319
  //#region src/routes/account/users/me/avatar/presign/POST.ts
25180
- const handler$114 = async (c) => {
25320
+ const handler$115 = async (c) => {
25181
25321
  const parsed = PresignUserAvatarRequestSchema.safeParse(await c.req.json().catch(() => null));
25182
25322
  if (!parsed.success) return c.json(ErrorResponseSchema.parse({ error: "Invalid avatar upload request" }), 400);
25183
25323
  const extension = avatarExtensionForContentType(parsed.data.contentType);
@@ -25217,7 +25357,7 @@ async function deleteStoredImageIfOwned(input) {
25217
25357
  }
25218
25358
  //#endregion
25219
25359
  //#region src/routes/account/users/me/avatar/PATCH.ts
25220
- const handler$113 = async (c) => {
25360
+ const handler$114 = async (c) => {
25221
25361
  const parsed = UserAvatarPatchSchema.safeParse(await c.req.json().catch(() => null));
25222
25362
  if (!parsed.success) return c.json(ErrorResponseSchema.parse({ error: "Invalid avatar update" }), 400);
25223
25363
  const user = c.get("user");
@@ -25259,14 +25399,14 @@ const handler$113 = async (c) => {
25259
25399
  };
25260
25400
  //#endregion
25261
25401
  //#region src/routes/account/users/me/preferences/GET.ts
25262
- const handler$112 = async (c) => {
25402
+ const handler$113 = async (c) => {
25263
25403
  const dbUser = await selectUserById(c.get("user").id);
25264
25404
  if (!dbUser) return c.json(ErrorResponseSchema.parse({ error: "User not found" }), 404);
25265
25405
  return c.json(UserPreferencesSchema.parse(normalizeUserPreferences(dbUser.preferences)));
25266
25406
  };
25267
25407
  //#endregion
25268
25408
  //#region src/routes/account/users/me/preferences/PATCH.ts
25269
- const handler$111 = async (c) => {
25409
+ const handler$112 = async (c) => {
25270
25410
  const parsed = UserPreferencesPatchSchema.safeParse(await c.req.json().catch(() => null));
25271
25411
  if (!parsed.success) return c.json(ErrorResponseSchema.parse({ error: "Invalid preferences update" }), 400);
25272
25412
  const user = c.get("user");
@@ -25281,7 +25421,7 @@ const handler$111 = async (c) => {
25281
25421
  };
25282
25422
  //#endregion
25283
25423
  //#region src/routes/account/organizations/GET.ts
25284
- const handler$110 = async (c) => {
25424
+ const handler$111 = async (c) => {
25285
25425
  const memberships = await selectUserOrganizations(c.get("user").id);
25286
25426
  return c.json(ListOrganizationsResponseSchema.parse(memberships.map(mapUserOrganization)));
25287
25427
  };
@@ -25391,7 +25531,7 @@ function createOrganizationHandler(deps) {
25391
25531
  }
25392
25532
  //#endregion
25393
25533
  //#region src/routes/account/organizations/slug-available/GET.ts
25394
- const handler$109 = async (c) => {
25534
+ const handler$110 = async (c) => {
25395
25535
  const parsed = SlugAvailabilityQuerySchema.safeParse({
25396
25536
  slug: c.req.query("slug"),
25397
25537
  excludeOrganizationId: c.req.query("excludeOrganizationId")
@@ -25402,7 +25542,7 @@ const handler$109 = async (c) => {
25402
25542
  };
25403
25543
  //#endregion
25404
25544
  //#region src/routes/account/organizations/[organizationId]/GET.ts
25405
- const handler$108 = async (c) => {
25545
+ const handler$109 = async (c) => {
25406
25546
  const { organizationId } = c.get("organization");
25407
25547
  const membership = await selectUserOrganizationMembership(c.get("user").id, organizationId);
25408
25548
  if (!membership) throw new Error(`Organization membership missing after param guard: ${organizationId}`);
@@ -25410,7 +25550,7 @@ const handler$108 = async (c) => {
25410
25550
  };
25411
25551
  //#endregion
25412
25552
  //#region src/routes/account/organizations/[organizationId]/PATCH.ts
25413
- const handler$107 = async (c) => {
25553
+ const handler$108 = async (c) => {
25414
25554
  const organization = c.get("organization");
25415
25555
  const body = await c.req.json().catch(() => null);
25416
25556
  const parsed = UpdateOrganizationRequestSchema.safeParse(body);
@@ -25435,7 +25575,7 @@ const handler$107 = async (c) => {
25435
25575
  };
25436
25576
  //#endregion
25437
25577
  //#region src/routes/account/organizations/[organizationId]/branding/GET.ts
25438
- const handler$106 = async (c) => {
25578
+ const handler$107 = async (c) => {
25439
25579
  const { organizationId } = c.get("organization");
25440
25580
  const organization = await selectOrganizationById(organizationId);
25441
25581
  if (!organization) return c.json(ErrorResponseSchema.parse({ error: "Organization not found" }), 404);
@@ -25484,7 +25624,7 @@ async function finalizeOrgLogoVariant(input) {
25484
25624
  publicUrl: finalized.publicUrl
25485
25625
  };
25486
25626
  }
25487
- const handler$105 = async (c) => {
25627
+ const handler$106 = async (c) => {
25488
25628
  const parsed = OrganizationSidebarBrandingPatchSchema.safeParse(await c.req.json().catch(() => null));
25489
25629
  if (!parsed.success) return c.json(ErrorResponseSchema.parse({ error: "Invalid branding update" }), 400);
25490
25630
  const { organizationId } = c.get("organization");
@@ -25512,7 +25652,7 @@ const handler$105 = async (c) => {
25512
25652
  };
25513
25653
  //#endregion
25514
25654
  //#region src/routes/account/organizations/[organizationId]/branding/logo/presign/POST.ts
25515
- const handler$104 = async (c) => {
25655
+ const handler$105 = async (c) => {
25516
25656
  const parsed = PresignOrgLogoRequestSchema.safeParse(await c.req.json().catch(() => null));
25517
25657
  if (!parsed.success) return c.json(ErrorResponseSchema.parse({ error: "Invalid logo upload request" }), 400);
25518
25658
  const extension = avatarExtensionForContentType(parsed.data.contentType);
@@ -25722,7 +25862,7 @@ function buildPlatformHistoryUsage(events, durationMs) {
25722
25862
  }
25723
25863
  //#endregion
25724
25864
  //#region src/routes/account/history/GET.ts
25725
- const handler$103 = async (c) => {
25865
+ const handler$104 = async (c) => {
25726
25866
  const organization = c.get("organization");
25727
25867
  const ctx = accessContext(c);
25728
25868
  const query = HistoryRunListQuerySchema.parse({
@@ -25747,7 +25887,7 @@ const handler$103 = async (c) => {
25747
25887
  };
25748
25888
  //#endregion
25749
25889
  //#region src/routes/account/history/[runId]/GET.ts
25750
- const handler$102 = async (c) => {
25890
+ const handler$103 = async (c) => {
25751
25891
  const runId = c.req.param("runId") ?? "";
25752
25892
  if (!runId) return c.json(null, 404);
25753
25893
  const core = await findHistoryRunCore(runId);
@@ -25807,7 +25947,7 @@ function toAgentSummary(row, options) {
25807
25947
  }
25808
25948
  //#endregion
25809
25949
  //#region src/routes/account/agents/GET.ts
25810
- const handler$101 = async (c) => {
25950
+ const handler$102 = async (c) => {
25811
25951
  const filter = await resolveListProjectIds(c, listScope(c, agentListScope(accessContext(c))), c.req.query("projectId"));
25812
25952
  if (filter === "empty") return c.json(AgentSummaryListResponseSchema.parse([]));
25813
25953
  const rows = await listActiveAgents(filter);
@@ -25838,7 +25978,13 @@ z.object({
25838
25978
  * Maximum tool-loop steps per prompt. When omitted, Keystroke uses
25839
25979
  * {@link DEFAULT_MAX_STEPS}.
25840
25980
  */
25841
- maxSteps: z.number().int().positive().optional()
25981
+ maxSteps: z.number().int().positive().optional(),
25982
+ /**
25983
+ * Brain references attached to this agent: base slugs or qualified
25984
+ * `{brain}:{filter}` references. Runtime normalization deduplicates in
25985
+ * declaration order.
25986
+ */
25987
+ brains: z.array(BrainReferenceSchema).min(1).max(16).optional()
25842
25988
  });
25843
25989
  new AsyncLocalStorage();
25844
25990
  //#endregion
@@ -26119,7 +26265,7 @@ function touchResourceActivityBestEffort(options) {
26119
26265
  }
26120
26266
  //#endregion
26121
26267
  //#region src/routes/account/agents/[agentId]/GET.ts
26122
- const handler$100 = async (c) => {
26268
+ const handler$101 = async (c) => {
26123
26269
  const agentId = c.req.param("agentId") ?? "";
26124
26270
  const row = agentId ? await selectActiveAgentById(agentId) : void 0;
26125
26271
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessAgent)) return c.json(AgentSummaryDetailResponseSchema.parse(null));
@@ -26142,7 +26288,7 @@ const handler$100 = async (c) => {
26142
26288
  function relativePathsFromStorageKeys(prefix, keys) {
26143
26289
  return keys.filter((key) => key.startsWith(prefix) && key.endsWith(".md")).map((key) => key.slice(prefix.length)).filter((path) => !path.startsWith(".") && !path.includes("/."));
26144
26290
  }
26145
- const handler$99 = async (c) => {
26291
+ const handler$100 = async (c) => {
26146
26292
  const agentId = c.req.param("agentId") ?? "";
26147
26293
  const row = agentId ? await selectActiveAgentById(agentId) : void 0;
26148
26294
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessAgent)) return c.json(ListAgentMemoryFilesResponseSchema.parse({ files: [] }), 404);
@@ -26167,7 +26313,7 @@ function isStorageNotFoundError(error) {
26167
26313
  const status = typeof record.$metadata === "object" && record.$metadata !== null ? record.$metadata.httpStatusCode : void 0;
26168
26314
  return name === "NoSuchKey" || code === "NoSuchKey" || code === "NotFound" || status === 404;
26169
26315
  }
26170
- const handler$98 = async (c) => {
26316
+ const handler$99 = async (c) => {
26171
26317
  const agentId = c.req.param("agentId") ?? "";
26172
26318
  const path = c.req.query("path");
26173
26319
  if (!path) return c.json(ErrorResponseSchema.parse({ error: "File path is required" }), 400);
@@ -26389,7 +26535,7 @@ async function cancelHistoryRun(c, kind, cancel) {
26389
26535
  }
26390
26536
  //#endregion
26391
26537
  //#region src/routes/account/agents/sessions/[sessionId]/cancel/POST.ts
26392
- const handler$95 = (c) => cancelHistoryRun(c, "agent", cancelAgentSession);
26538
+ const handler$96 = (c) => cancelHistoryRun(c, "agent", cancelAgentSession);
26393
26539
  //#endregion
26394
26540
  //#region src/routes/account/resources/workflows.ts
26395
26541
  function toWorkflowSummary(row, options) {
@@ -26406,7 +26552,7 @@ function toWorkflowSummary(row, options) {
26406
26552
  }
26407
26553
  //#endregion
26408
26554
  //#region src/routes/account/workflows/GET.ts
26409
- const handler$94 = async (c) => {
26555
+ const handler$95 = async (c) => {
26410
26556
  const filter = await resolveListProjectIds(c, listScope(c, workflowListScope(accessContext(c))), c.req.query("projectId"));
26411
26557
  if (filter === "empty") return c.json(WorkflowSummaryListResponseSchema.parse([]));
26412
26558
  const rows = await listActiveWorkflows(filter);
@@ -26420,7 +26566,7 @@ function buildPublicFormUrl(token) {
26420
26566
  }
26421
26567
  //#endregion
26422
26568
  //#region src/routes/account/workflows/forms/GET.ts
26423
- const handler$93 = async (c) => {
26569
+ const handler$94 = async (c) => {
26424
26570
  const { organizationId } = c.get("organization");
26425
26571
  const filter = await resolveListProjectIds(c, listScope(c, workflowListScope(accessContext(c))), c.req.query("projectId"));
26426
26572
  if (filter === "empty") return c.json(PublishedFormListResponseSchema.parse([]));
@@ -26440,7 +26586,7 @@ const handler$93 = async (c) => {
26440
26586
  };
26441
26587
  //#endregion
26442
26588
  //#region src/routes/account/workflows/[workflowId]/GET.ts
26443
- const handler$92 = async (c) => {
26589
+ const handler$93 = async (c) => {
26444
26590
  const workflowId = c.req.param("workflowId") ?? "";
26445
26591
  const row = workflowId ? await selectActiveWorkflowById(workflowId) : void 0;
26446
26592
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessWorkflow)) return c.json(WorkflowSummaryDetailResponseSchema.parse(null));
@@ -26988,7 +27134,7 @@ function buildWorkflowCanvas(input) {
26988
27134
  //#region src/routes/account/workflows/[workflowId]/canvas/GET.ts
26989
27135
  /** Bumped when the annotation prompt/model changes, so cached annotations invalidate. */
26990
27136
  const ANNOTATIONS_GENERATOR_VERSION = "wf-canvas-annotations-v1";
26991
- const handler$91 = async (c) => {
27137
+ const handler$92 = async (c) => {
26992
27138
  const organization = c.get("organization");
26993
27139
  const workflowId = c.req.param("workflowId") ?? "";
26994
27140
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
@@ -27162,7 +27308,7 @@ function toBinding(key, description) {
27162
27308
  * each of its requirements currently binds to (read-only, no decryption). Not
27163
27309
  * content-hash cached — credential state changes without a redeploy.
27164
27310
  */
27165
- const handler$90 = async (c) => {
27311
+ const handler$91 = async (c) => {
27166
27312
  const workflowId = c.req.param("workflowId") ?? "";
27167
27313
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
27168
27314
  const resolved = await resolveWorkflow(c, workflowId);
@@ -27321,7 +27467,7 @@ function toCanvasRunStatus(status) {
27321
27467
  if (status === "canceled") return "canceled";
27322
27468
  return "running";
27323
27469
  }
27324
- const handler$89 = async (c) => {
27470
+ const handler$90 = async (c) => {
27325
27471
  const workflowId = c.req.param("workflowId") ?? "";
27326
27472
  const runId = c.req.param("runId") ?? "";
27327
27473
  if (!workflowId.trim() || !runId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow or run id" }), 400);
@@ -27491,7 +27637,7 @@ function createGetWorkflowOverviewHandler(createSource) {
27491
27637
  }
27492
27638
  //#endregion
27493
27639
  //#region src/routes/account/workflows/[workflowId]/run-inputs/GET.ts
27494
- const handler$88 = async (c) => {
27640
+ const handler$89 = async (c) => {
27495
27641
  const workflowId = c.req.param("workflowId") ?? "";
27496
27642
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
27497
27643
  const resolved = await resolveWorkflow(c, workflowId);
@@ -27506,7 +27652,7 @@ const handler$88 = async (c) => {
27506
27652
  };
27507
27653
  //#endregion
27508
27654
  //#region src/routes/account/workflows/[workflowId]/run-inputs/PUT.ts
27509
- const handler$87 = async (c) => {
27655
+ const handler$88 = async (c) => {
27510
27656
  const workflowId = c.req.param("workflowId") ?? "";
27511
27657
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
27512
27658
  const resolved = await resolveWorkflow(c, workflowId);
@@ -27537,7 +27683,7 @@ function parseRunInput$1(requestSchema, input) {
27537
27683
  * the workflow row's request schema, creates a pending run, and enqueues it on
27538
27684
  * the project's queue (drained by the project runtime worker). Returns the run id.
27539
27685
  */
27540
- const handler$86 = async (c) => {
27686
+ const handler$87 = async (c) => {
27541
27687
  const { organizationId } = c.get("organization");
27542
27688
  const workflowId = c.req.param("workflowId") ?? "";
27543
27689
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
@@ -27611,7 +27757,7 @@ async function resolvePublishableInputSchema(projectId, row) {
27611
27757
  }
27612
27758
  //#endregion
27613
27759
  //#region src/routes/account/workflows/[workflowId]/form/GET.ts
27614
- const handler$85 = async (c) => {
27760
+ const handler$86 = async (c) => {
27615
27761
  const resolved = await resolveFormWorkflow(c);
27616
27762
  if (resolved instanceof Response) return resolved;
27617
27763
  const { organizationId } = c.get("organization");
@@ -27620,7 +27766,7 @@ const handler$85 = async (c) => {
27620
27766
  };
27621
27767
  //#endregion
27622
27768
  //#region src/routes/account/workflows/[workflowId]/form/PUT.ts
27623
- const handler$84 = async (c) => {
27769
+ const handler$85 = async (c) => {
27624
27770
  const resolved = await resolveFormWorkflow(c, { requireManageAccess: true });
27625
27771
  if (resolved instanceof Response) return resolved;
27626
27772
  const body = WorkflowFormUpsertBodySchema.safeParse(await c.req.json().catch(() => null));
@@ -27649,7 +27795,7 @@ const handler$84 = async (c) => {
27649
27795
  };
27650
27796
  //#endregion
27651
27797
  //#region src/routes/account/workflows/[workflowId]/form/DELETE.ts
27652
- const handler$83 = async (c) => {
27798
+ const handler$84 = async (c) => {
27653
27799
  const resolved = await resolveFormWorkflow(c, { requireManageAccess: true });
27654
27800
  if (resolved instanceof Response) return resolved;
27655
27801
  const { organizationId } = c.get("organization");
@@ -27659,7 +27805,7 @@ const handler$83 = async (c) => {
27659
27805
  };
27660
27806
  //#endregion
27661
27807
  //#region src/routes/account/workflows/[workflowId]/form/rotate/POST.ts
27662
- const handler$82 = async (c) => {
27808
+ const handler$83 = async (c) => {
27663
27809
  const resolved = await resolveFormWorkflow(c, { requireManageAccess: true });
27664
27810
  if (resolved instanceof Response) return resolved;
27665
27811
  const { organizationId } = c.get("organization");
@@ -27681,7 +27827,7 @@ function extensionFromUpload$1(contentType, filename) {
27681
27827
  * hydration reads by project id + storage key, so runs read the file the same
27682
27828
  * way `storeFile` output does.
27683
27829
  */
27684
- const handler$81 = async (c) => {
27830
+ const handler$82 = async (c) => {
27685
27831
  const { organizationId } = c.get("organization");
27686
27832
  const workflowId = c.req.param("workflowId") ?? "";
27687
27833
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
@@ -27706,7 +27852,7 @@ const handler$81 = async (c) => {
27706
27852
  };
27707
27853
  //#endregion
27708
27854
  //#region src/routes/account/workflows/[workflowId]/runs/GET.ts
27709
- const handler$80 = async (c) => {
27855
+ const handler$81 = async (c) => {
27710
27856
  const workflowId = c.req.param("workflowId") ?? "";
27711
27857
  if (!workflowId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
27712
27858
  const resolved = await resolveWorkflow(c, workflowId);
@@ -27729,7 +27875,7 @@ const handler$80 = async (c) => {
27729
27875
  };
27730
27876
  //#endregion
27731
27877
  //#region src/routes/account/workflows/runs/[runId]/cancel/POST.ts
27732
- const handler$79 = (c) => cancelHistoryRun(c, "workflow", cancelWorkflowRun);
27878
+ const handler$80 = (c) => cancelHistoryRun(c, "workflow", cancelWorkflowRun);
27733
27879
  //#endregion
27734
27880
  //#region src/routes/account/resources/skills.ts
27735
27881
  function toSkillSummary(row) {
@@ -27746,7 +27892,7 @@ function toSkillSummary(row) {
27746
27892
  }
27747
27893
  //#endregion
27748
27894
  //#region src/routes/account/skills/GET.ts
27749
- const handler$78 = async (c) => {
27895
+ const handler$79 = async (c) => {
27750
27896
  const filter = await resolveListProjectIds(c, listScope(c, skillListScope(accessContext(c))), c.req.query("projectId"));
27751
27897
  if (filter === "empty") return c.json(SkillSummaryListResponseSchema.parse([]));
27752
27898
  const rows = await listActiveSkills(filter);
@@ -27754,7 +27900,7 @@ const handler$78 = async (c) => {
27754
27900
  };
27755
27901
  //#endregion
27756
27902
  //#region src/routes/account/skills/[skillId]/GET.ts
27757
- const handler$77 = async (c) => {
27903
+ const handler$78 = async (c) => {
27758
27904
  const skillId = c.req.param("skillId") ?? "";
27759
27905
  const row = skillId ? await selectActiveSkillById(skillId) : void 0;
27760
27906
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessSkill)) return c.json(SkillSummaryDetailResponseSchema.parse(null));
@@ -27863,7 +28009,7 @@ function toWorkspaceTriggerRunSummary(item, assignments) {
27863
28009
  }
27864
28010
  //#endregion
27865
28011
  //#region src/routes/account/triggers/GET.ts
27866
- const handler$76 = async (c) => {
28012
+ const handler$77 = async (c) => {
27867
28013
  const organization = c.get("organization");
27868
28014
  const scope = listScope(c, projectListScope(accessContext(c)));
27869
28015
  const filter = await resolveListProjectIds(c, scope, c.req.query("projectId"));
@@ -27875,7 +28021,7 @@ const handler$76 = async (c) => {
27875
28021
  };
27876
28022
  //#endregion
27877
28023
  //#region src/routes/account/triggers/[triggerId]/GET.ts
27878
- const handler$75 = async (c) => {
28024
+ const handler$76 = async (c) => {
27879
28025
  const organization = c.get("organization");
27880
28026
  const triggerId = c.req.param("triggerId") ?? "";
27881
28027
  if (!triggerId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -27891,7 +28037,7 @@ const handler$75 = async (c) => {
27891
28037
  };
27892
28038
  //#endregion
27893
28039
  //#region src/routes/account/triggers/[triggerId]/runs/GET.ts
27894
- const handler$74 = async (c) => {
28040
+ const handler$75 = async (c) => {
27895
28041
  const triggerId = c.req.param("triggerId") ?? "";
27896
28042
  if (!triggerId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
27897
28043
  const filter = await resolveListProjectIds(c, listScope(c, projectListScope(accessContext(c))));
@@ -28053,7 +28199,7 @@ async function syncNativeTriggerSchedule(organization, trigger) {
28053
28199
  }
28054
28200
  await scheduler.removeTriggerSchedule?.(trigger.slug, trigger.projectId);
28055
28201
  }
28056
- const handler$73 = async (c) => {
28202
+ const handler$74 = async (c) => {
28057
28203
  const organization = c.get("organization");
28058
28204
  const triggerId = c.req.param("triggerId") ?? "";
28059
28205
  const attachmentId = c.req.param("attachmentId") ?? "";
@@ -28125,7 +28271,7 @@ var InvokeHttpError = class extends Error {
28125
28271
  * Manually invoke a trigger from the dashboard or CLI. Validates webhook input against
28126
28272
  * stored attachment schemas, then enqueues a trigger job on the project's queue.
28127
28273
  */
28128
- const handler$72 = async (c) => {
28274
+ const handler$73 = async (c) => {
28129
28275
  const { organizationId } = c.get("organization");
28130
28276
  const triggerId = c.req.param("triggerId") ?? "";
28131
28277
  if (!triggerId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -28207,7 +28353,7 @@ const handler$72 = async (c) => {
28207
28353
  * Form metadata for the dashboard invoke popover: webhook request schemas and
28208
28354
  * cron's read-only static payload.
28209
28355
  */
28210
- const handler$71 = async (c) => {
28356
+ const handler$72 = async (c) => {
28211
28357
  const triggerId = c.req.param("triggerId") ?? "";
28212
28358
  if (!triggerId.trim()) return c.json(ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
28213
28359
  const filter = await resolveListProjectIds(c, listScope(c, projectListScope(accessContext(c))));
@@ -28273,7 +28419,7 @@ function latestRecentInteractionAt(recent) {
28273
28419
  //#endregion
28274
28420
  //#region src/routes/account/recents/GET.ts
28275
28421
  const RECENTS_LIMIT = 50;
28276
- const handler$70 = async (c) => {
28422
+ const handler$71 = async (c) => {
28277
28423
  const userId = c.get("user").id;
28278
28424
  const organization = c.get("organization");
28279
28425
  const grantedProjectIdsList = await grantedProjectIds(c, { kind: "member-only" });
@@ -28299,7 +28445,7 @@ const handler$70 = async (c) => {
28299
28445
  };
28300
28446
  //#endregion
28301
28447
  //#region src/routes/account/projects/GET.ts
28302
- const handler$69 = async (c) => {
28448
+ const handler$70 = async (c) => {
28303
28449
  const organization = c.get("organization");
28304
28450
  const grantedProjectIdsList = await grantedProjectIds(c, listScope(c, projectListScope(accessContext(c))));
28305
28451
  const projects = await selectProjectsByOrganizationId(organization.organizationId, { grantedProjectIds: grantedProjectIdsList });
@@ -28325,7 +28471,7 @@ function mergeProjectListMetrics(input) {
28325
28471
  }
28326
28472
  //#endregion
28327
28473
  //#region src/routes/account/projects/metrics/GET.ts
28328
- const handler$68 = async (c) => {
28474
+ const handler$69 = async (c) => {
28329
28475
  const organization = c.get("organization");
28330
28476
  const grantedProjectIdsList = await grantedProjectIds(c, listScope(c, projectListScope(accessContext(c))));
28331
28477
  const [resourceCounts, lastDeploymentAtByProject] = await Promise.all([selectProjectResourceCounts(grantedProjectIdsList !== void 0 ? { projectIds: grantedProjectIdsList } : void 0), selectLastDeploymentAtByProject(organization.organizationId)]);
@@ -28383,7 +28529,7 @@ function createCreateProjectHandler(options = {}) {
28383
28529
  }
28384
28530
  //#endregion
28385
28531
  //#region src/routes/account/projects/slug-available/GET.ts
28386
- const handler$66 = async (c) => {
28532
+ const handler$67 = async (c) => {
28387
28533
  const organization = c.get("organization");
28388
28534
  const parsed = ProjectSlugAvailabilityQuerySchema.safeParse({
28389
28535
  slug: c.req.query("slug"),
@@ -28395,12 +28541,12 @@ const handler$66 = async (c) => {
28395
28541
  };
28396
28542
  //#endregion
28397
28543
  //#region src/routes/account/projects/[projectId]/GET.ts
28398
- const handler$65 = async (c) => {
28544
+ const handler$66 = async (c) => {
28399
28545
  return c.json(ProjectResponseSchema.parse(routeProject(c.get("project"))));
28400
28546
  };
28401
28547
  //#endregion
28402
28548
  //#region src/routes/account/projects/[projectId]/PATCH.ts
28403
- const handler$64 = async (c) => {
28549
+ const handler$65 = async (c) => {
28404
28550
  const organization = c.get("organization");
28405
28551
  const project = c.get("project");
28406
28552
  const body = await c.req.json().catch(() => null);
@@ -28432,7 +28578,7 @@ function createDeleteProjectHandler(projectGit) {
28432
28578
  }
28433
28579
  //#endregion
28434
28580
  //#region src/routes/account/projects/[projectId]/deployments/GET.ts
28435
- const handler$62 = async (c) => {
28581
+ const handler$63 = async (c) => {
28436
28582
  const rows = await selectProjectDeployments(c.get("project").id);
28437
28583
  return c.json(ListProjectDeploymentsResponseSchema.parse(rows.map(mapProjectDeployment)));
28438
28584
  };
@@ -28440,7 +28586,7 @@ const handler$62 = async (c) => {
28440
28586
  //#region src/routes/account/projects/[projectId]/artifacts/POST.ts
28441
28587
  const DEFAULT_PRESIGN_TTL_SECONDS$1 = 900;
28442
28588
  const ARTIFACT_CONTENT_TYPE = "application/gzip";
28443
- const handler$61 = async (c) => {
28589
+ const handler$62 = async (c) => {
28444
28590
  const project = c.get("project");
28445
28591
  const { organizationId } = c.get("organization");
28446
28592
  const organization = await selectOrganizationById(organizationId);
@@ -28483,7 +28629,7 @@ const handler$61 = async (c) => {
28483
28629
  //#endregion
28484
28630
  //#region src/routes/account/projects/[projectId]/artifacts/active/download/GET.ts
28485
28631
  const DEFAULT_PRESIGN_TTL_SECONDS = 900;
28486
- const handler$60 = async (c) => {
28632
+ const handler$61 = async (c) => {
28487
28633
  const project = c.get("project");
28488
28634
  const { organizationId } = c.get("organization");
28489
28635
  const organization = await selectOrganizationById(organizationId);
@@ -28677,7 +28823,7 @@ function createCompleteProjectArtifactHandler(_projectGit) {
28677
28823
  //#endregion
28678
28824
  //#region src/routes/account/projects/[projectId]/artifacts/[artifactId]/source/presign/POST.ts
28679
28825
  const SOURCE_BLOB_CONTENT_TYPE = "text/plain; charset=utf-8";
28680
- const handler$58 = async (c) => {
28826
+ const handler$59 = async (c) => {
28681
28827
  const project = c.get("project");
28682
28828
  const artifactId = c.req.param("artifactId");
28683
28829
  if (!artifactId) return c.json(ErrorResponseSchema.parse({ error: "Artifact id is required" }), 400);
@@ -28705,7 +28851,7 @@ const handler$58 = async (c) => {
28705
28851
  };
28706
28852
  //#endregion
28707
28853
  //#region src/routes/account/projects/[projectId]/artifacts/[artifactId]/source/manifest/POST.ts
28708
- const handler$57 = async (c) => {
28854
+ const handler$58 = async (c) => {
28709
28855
  const project = c.get("project");
28710
28856
  const artifactId = c.req.param("artifactId");
28711
28857
  if (!artifactId) return c.json(ErrorResponseSchema.parse({ error: "Artifact id is required" }), 400);
@@ -28742,7 +28888,7 @@ function extensionFromUpload(contentType, filename) {
28742
28888
  if (fromName && /^[a-z0-9]+$/.test(fromName)) return fromName;
28743
28889
  return chatAttachmentExtension(contentType) ?? "bin";
28744
28890
  }
28745
- const handler$56 = async (c) => {
28891
+ const handler$57 = async (c) => {
28746
28892
  const project = c.get("project");
28747
28893
  const slug = c.req.param("slug");
28748
28894
  if (!slug) return c.json(ErrorResponseSchema.parse({ error: "Agent slug is required" }), 400);
@@ -28767,7 +28913,7 @@ const handler$56 = async (c) => {
28767
28913
  };
28768
28914
  //#endregion
28769
28915
  //#region src/routes/account/projects/[projectId]/agents/[slug]/attachments/[...key]/GET.ts
28770
- const handler$55 = async (c) => {
28916
+ const handler$56 = async (c) => {
28771
28917
  const project = c.get("project");
28772
28918
  const slug = c.req.param("slug");
28773
28919
  const keyParam = c.req.param("key");
@@ -28783,6 +28929,233 @@ const handler$55 = async (c) => {
28783
28929
  return c.redirect(url, 302);
28784
28930
  };
28785
28931
  //#endregion
28932
+ //#region src/routes/account/projects/[projectId]/agents/[slug]/browser/sessions/[sessionId]/GET.ts
28933
+ const BrowserSessionMetaResponseSchema = z.object({
28934
+ agentSlug: z.string(),
28935
+ sessionId: z.string(),
28936
+ provider: z.enum(["local", "browseruse"]),
28937
+ liveUrl: z.string().optional(),
28938
+ browserUseSessionId: z.string().optional(),
28939
+ browserStartedAt: z.string().optional(),
28940
+ browserUsageSettledAt: z.string().optional(),
28941
+ cloudProfileId: z.string().optional(),
28942
+ timeoutAt: z.string().optional(),
28943
+ recordingStorageKey: z.string().optional(),
28944
+ screenshotStorageKeys: z.array(z.string()).optional(),
28945
+ resumeState: BrowserResumeStateSchema.optional(),
28946
+ updatedAt: z.string()
28947
+ });
28948
+ function createHandler$2(settleBrowserUsage) {
28949
+ return async (c) => {
28950
+ const project = c.get("project");
28951
+ const slug = c.req.param("slug");
28952
+ const sessionId = c.req.param("sessionId");
28953
+ if (!slug || !sessionId) return c.json(ErrorResponseSchema.parse({ error: "slug and sessionId are required" }), 400);
28954
+ const agent = await runWithProjectScope(project.id, () => selectAgentBySlug(slug));
28955
+ if (!agent || agent.projectId !== project.id) return c.json(ErrorResponseSchema.parse({ error: "Agent not found" }), 404);
28956
+ const { organizationId } = c.get("organization");
28957
+ const organization = await selectOrganizationById(organizationId);
28958
+ if (!organization) return c.json(ErrorResponseSchema.parse({ error: "Organization not found" }), 404);
28959
+ const storage = createOrgStorageClient(organization);
28960
+ let meta = await getBrowserSessionMeta(storage, {
28961
+ projectId: project.id,
28962
+ agentId: agent.id,
28963
+ sessionId
28964
+ });
28965
+ if (!meta) return c.json(ErrorResponseSchema.parse({ error: "Browser session not found" }), 404);
28966
+ if (settleBrowserUsage && meta.browserUseSessionId && meta.browserStartedAt && !meta.browserUsageSettledAt && meta.timeoutAt && Date.parse(meta.timeoutAt) <= Date.now()) {
28967
+ const apiKey = process.env.BROWSER_USE_API_KEY?.trim();
28968
+ const browser = apiKey ? await getBrowserUseSession({
28969
+ apiKey,
28970
+ sessionId: meta.browserUseSessionId
28971
+ }).catch(() => null) : null;
28972
+ if (browser && browser.status !== "active") {
28973
+ const browserUsageSettledAt = (/* @__PURE__ */ new Date()).toISOString();
28974
+ await settleBrowserUsage({
28975
+ organizationId,
28976
+ projectId: project.id,
28977
+ agentId: agent.id,
28978
+ sessionId,
28979
+ browserUseSessionId: meta.browserUseSessionId,
28980
+ startedAt: browser.startedAt ?? meta.browserStartedAt,
28981
+ finishedAt: browser.finishedAt ?? void 0
28982
+ });
28983
+ meta = {
28984
+ ...meta,
28985
+ browserUsageSettledAt,
28986
+ liveUrl: void 0
28987
+ };
28988
+ await putBrowserSessionMeta(storage, {
28989
+ projectId: project.id,
28990
+ agentId: agent.id,
28991
+ sessionId,
28992
+ meta
28993
+ });
28994
+ }
28995
+ }
28996
+ return c.json(BrowserSessionMetaResponseSchema.parse(meta));
28997
+ };
28998
+ }
28999
+ //#endregion
29000
+ //#region src/routes/account/projects/[projectId]/agents/[slug]/browser/open/POST.ts
29001
+ const OpenBodySchema = z.object({
29002
+ url: z.string().optional(),
29003
+ sessionId: z.string().optional()
29004
+ });
29005
+ const OpenResponseSchema = z.object({
29006
+ agentSlug: z.string(),
29007
+ sessionId: z.string(),
29008
+ provider: z.literal("browseruse"),
29009
+ liveUrl: z.string().optional(),
29010
+ browserUseSessionId: z.string(),
29011
+ cloudProfileId: z.string(),
29012
+ url: z.string(),
29013
+ updatedAt: z.string(),
29014
+ hint: z.string()
29015
+ });
29016
+ function createHandler$1(settleBrowserUsage) {
29017
+ return async (c) => {
29018
+ const apiKey = process.env.BROWSER_USE_API_KEY?.trim();
29019
+ if (!apiKey) return c.json(ErrorResponseSchema.parse({ error: "Browser Use is not configured on the platform (set BROWSER_USE_API_KEY). Local Playwright is not used for project-linked open." }), 503);
29020
+ const project = c.get("project");
29021
+ const slug = c.req.param("slug");
29022
+ if (!slug) return c.json(ErrorResponseSchema.parse({ error: "slug is required" }), 400);
29023
+ const parsed = OpenBodySchema.safeParse(await c.req.json().catch(() => ({})));
29024
+ if (!parsed.success) return c.json(ErrorResponseSchema.parse({ error: "Invalid body" }), 400);
29025
+ const agent = await runWithProjectScope(project.id, () => selectAgentBySlug(slug));
29026
+ if (!agent || agent.projectId !== project.id) return c.json(ErrorResponseSchema.parse({ error: "Agent not found" }), 404);
29027
+ const { organizationId } = c.get("organization");
29028
+ const organization = await selectOrganizationById(organizationId);
29029
+ if (!organization) return c.json(ErrorResponseSchema.parse({ error: "Organization not found" }), 404);
29030
+ const storage = createOrgStorageClient(organization);
29031
+ const profile = await getBrowserProfileMeta(storage, {
29032
+ projectId: project.id,
29033
+ agentId: agent.id
29034
+ });
29035
+ const existing = parsed.data.sessionId ? await getBrowserSessionMeta(storage, {
29036
+ projectId: project.id,
29037
+ agentId: agent.id,
29038
+ sessionId: parsed.data.sessionId
29039
+ }) : null;
29040
+ const resumeUrl = existing?.resumeState?.tabs.find((tab) => tab.active)?.url;
29041
+ const requestedUrl = parsed.data.url ?? resumeUrl;
29042
+ const active = existing?.browserUseSessionId ? await getBrowserUseSession({
29043
+ apiKey,
29044
+ sessionId: existing.browserUseSessionId
29045
+ }).catch(() => null) : null;
29046
+ if (active?.status === "active" && active.cdpUrl && parsed.data.url) {
29047
+ await navigateBrowserUseSession(active.cdpUrl, parsed.data.url);
29048
+ const updatedAt = (/* @__PURE__ */ new Date()).toISOString();
29049
+ await putBrowserSessionMeta(storage, {
29050
+ projectId: project.id,
29051
+ agentId: agent.id,
29052
+ sessionId: existing.sessionId,
29053
+ meta: {
29054
+ ...existing,
29055
+ updatedAt
29056
+ }
29057
+ });
29058
+ return c.json(OpenResponseSchema.parse({
29059
+ ...existing,
29060
+ liveUrl: active.liveUrl ?? existing?.liveUrl,
29061
+ browserUseSessionId: active.id,
29062
+ cloudProfileId: profile?.cloudProfileId ?? existing?.cloudProfileId,
29063
+ url: parsed.data.url,
29064
+ updatedAt,
29065
+ hint: "Continue in the existing live browser."
29066
+ }));
29067
+ }
29068
+ if (settleBrowserUsage && existing?.browserUseSessionId && !existing.browserUsageSettledAt && existing.browserStartedAt) {
29069
+ const prior = await getBrowserUseSession({
29070
+ apiKey,
29071
+ sessionId: existing.browserUseSessionId
29072
+ }).catch(() => null);
29073
+ if (prior && prior.status !== "active") {
29074
+ const browserUsageSettledAt = (/* @__PURE__ */ new Date()).toISOString();
29075
+ await settleBrowserUsage({
29076
+ organizationId,
29077
+ projectId: project.id,
29078
+ agentId: agent.id,
29079
+ sessionId: existing.sessionId,
29080
+ browserUseSessionId: existing.browserUseSessionId,
29081
+ startedAt: prior.startedAt ?? existing.browserStartedAt,
29082
+ finishedAt: prior.finishedAt ?? void 0
29083
+ });
29084
+ await putBrowserSessionMeta(storage, {
29085
+ projectId: project.id,
29086
+ agentId: agent.id,
29087
+ sessionId: existing.sessionId,
29088
+ meta: {
29089
+ ...existing,
29090
+ browserUsageSettledAt
29091
+ }
29092
+ });
29093
+ }
29094
+ }
29095
+ const opened = await openCloudBrowserLogin({
29096
+ apiKey,
29097
+ agentSlug: slug,
29098
+ profileOwnerId: agent.id,
29099
+ ...parsed.data.sessionId ? {
29100
+ sessionId: parsed.data.sessionId,
29101
+ timeout: 5
29102
+ } : {},
29103
+ ...requestedUrl ? { url: requestedUrl } : {},
29104
+ ...profile?.cloudProfileId ? { cloudProfileId: profile.cloudProfileId } : {},
29105
+ record: process.env.AGENT_BROWSER_RECORD === "true"
29106
+ });
29107
+ await putBrowserProfileMeta(storage, {
29108
+ projectId: project.id,
29109
+ agentId: agent.id,
29110
+ cloudProfileId: opened.cloudProfileId
29111
+ });
29112
+ const updatedAt = (/* @__PURE__ */ new Date()).toISOString();
29113
+ const meta = {
29114
+ agentSlug: slug,
29115
+ sessionId: opened.sessionId,
29116
+ provider: "browseruse",
29117
+ browserUseSessionId: opened.browserUseSessionId,
29118
+ updatedAt,
29119
+ ...opened.liveUrl ? { liveUrl: opened.liveUrl } : {},
29120
+ browserStartedAt: opened.startedAt ?? (/* @__PURE__ */ new Date()).toISOString(),
29121
+ ...opened.timeoutAt ? { timeoutAt: opened.timeoutAt } : {},
29122
+ ...existing?.recordingStorageKey ? { recordingStorageKey: existing.recordingStorageKey } : {},
29123
+ ...existing?.screenshotStorageKeys ? { screenshotStorageKeys: existing.screenshotStorageKeys } : {},
29124
+ ...existing?.resumeState ? { resumeState: existing.resumeState } : {}
29125
+ };
29126
+ await putBrowserSessionMeta(storage, {
29127
+ projectId: project.id,
29128
+ agentId: agent.id,
29129
+ sessionId: opened.sessionId,
29130
+ meta
29131
+ });
29132
+ return c.json(OpenResponseSchema.parse({
29133
+ ...meta,
29134
+ cloudProfileId: opened.cloudProfileId,
29135
+ url: opened.url,
29136
+ hint: "Sign in in the live view, then close when done. Profile cookies persist for this agent."
29137
+ }));
29138
+ };
29139
+ }
29140
+ //#endregion
29141
+ //#region src/routes/account/projects/[projectId]/agents/[slug]/browser/media/[...key]/GET.ts
29142
+ /** Presign/redirect for a browser-media object under this agent. */
29143
+ const handler$55 = async (c) => {
29144
+ const project = c.get("project");
29145
+ const slug = c.req.param("slug");
29146
+ const keyParam = c.req.param("key");
29147
+ if (!slug || !keyParam) return c.json(ErrorResponseSchema.parse({ error: "Media key is required" }), 400);
29148
+ const storageKey = keyParam.split("/").map((segment) => decodeURIComponent(segment)).join("/");
29149
+ const agent = await runWithProjectScope(project.id, () => selectAgentBySlug(slug));
29150
+ if (!agent || agent.projectId !== project.id) return c.json(ErrorResponseSchema.parse({ error: "Agent not found" }), 404);
29151
+ if (!isBrowserMediaStorageKey(storageKey, project.id, agent.id)) return c.json(ErrorResponseSchema.parse({ error: "Media not found" }), 404);
29152
+ const { organizationId } = c.get("organization");
29153
+ const organization = await selectOrganizationById(organizationId);
29154
+ if (!organization) return c.json(ErrorResponseSchema.parse({ error: "Organization not found" }), 404);
29155
+ const url = await createOrgStorageClient(organization).presignGet({ key: storageKey });
29156
+ return c.redirect(url, 302);
29157
+ };
29158
+ //#endregion
28786
29159
  //#region src/routes/account/projects/[projectId]/files/GET.ts
28787
29160
  /**
28788
29161
  * Resolve registry moduleFile values to paths in the deploy source snapshot.
@@ -32271,6 +32644,8 @@ function mountAccountRoutes(options) {
32271
32644
  const listAgentWorkspaceFiles = createListAgentWorkspaceFilesHandler(options.agentWorkspaceFiles);
32272
32645
  const getAgentWorkspaceFileContent = createGetAgentWorkspaceFileContentHandler(options.agentWorkspaceFiles);
32273
32646
  const snapshotAgentEnvImage = createSnapshotAgentEnvImageHandler(options.snapshotAgentEnvImage);
32647
+ const openBrowserSession = createHandler$1(options.settleBrowserUsage);
32648
+ const getBrowserSession = createHandler$2(options.settleBrowserUsage);
32274
32649
  const downloadActiveProjectSource = createDownloadActiveProjectSourceHandler(createProjectSource);
32275
32650
  const getActiveProjectSourceRevision = createGetActiveProjectSourceRevisionHandler(createProjectSource);
32276
32651
  const getTriggerFile = createGetTriggerFileHandler(createProjectSource);
@@ -32304,22 +32679,22 @@ function mountAccountRoutes(options) {
32304
32679
  const requireProjectManageMembers = authorize(projectActions.manageMembers);
32305
32680
  const requireInvitableProjectRole = authorizePayload(InviteProjectMembersRequestSchema, ({ c, ctx, body }) => canInviteToProject(ctx, { invitePermission: getProjectInvitePermission(c) }, body.role));
32306
32681
  const requireOrgParam = requireOrganizationParam();
32307
- account.get("/organizations", handler$110);
32308
- account.get("/organizations/slug-available", handler$109);
32682
+ account.get("/organizations", handler$111);
32683
+ account.get("/organizations/slug-available", handler$110);
32309
32684
  account.post("/organizations", createOrganizationHandler(options));
32310
- account.get("/organizations/:organizationId", requireOrgParam, handler$108);
32311
- account.patch("/organizations/:organizationId", requireOrgParam, requireOrgUpdate, handler$107);
32312
- account.get("/organizations/:organizationId/branding", requireOrgParam, handler$106);
32313
- account.patch("/organizations/:organizationId/branding", requireOrgParam, requireOrgUpdate, handler$105);
32314
- account.post("/organizations/:organizationId/branding/logo/presign", requireOrgParam, requireOrgUpdate, handler$104);
32685
+ account.get("/organizations/:organizationId", requireOrgParam, handler$109);
32686
+ account.patch("/organizations/:organizationId", requireOrgParam, requireOrgUpdate, handler$108);
32687
+ account.get("/organizations/:organizationId/branding", requireOrgParam, handler$107);
32688
+ account.patch("/organizations/:organizationId/branding", requireOrgParam, requireOrgUpdate, handler$106);
32689
+ account.post("/organizations/:organizationId/branding/logo/presign", requireOrgParam, requireOrgUpdate, handler$105);
32315
32690
  account.get("/invitations", handler$35);
32316
32691
  account.post("/invitations/:invitationId/accept", handler$34);
32317
32692
  account.post("/invitations/:invitationId/decline", handler$33);
32318
- account.get("/users/me/avatar", handler$115);
32319
- account.post("/users/me/avatar/presign", handler$114);
32320
- account.patch("/users/me/avatar", handler$113);
32321
- account.get("/users/me/preferences", handler$112);
32322
- account.patch("/users/me/preferences", handler$111);
32693
+ account.get("/users/me/avatar", handler$116);
32694
+ account.post("/users/me/avatar/presign", handler$115);
32695
+ account.patch("/users/me/avatar", handler$114);
32696
+ account.get("/users/me/preferences", handler$113);
32697
+ account.patch("/users/me/preferences", handler$112);
32323
32698
  const withOrgDb = withOrganizationProjectDatabase();
32324
32699
  orgScoped.get(keystrokeSlackOAuthProvider.routes.start, requireOrgUpdate, withOrgDb, startKeystrokeSlackInstall);
32325
32700
  orgScoped.get(keystrokeSlackOAuthProvider.routes.authorizeUrl, requireOrgUpdate, withOrgDb, getKeystrokeSlackAuthorizeUrl);
@@ -32358,58 +32733,58 @@ function mountAccountRoutes(options) {
32358
32733
  orgScoped.post("/managed-service-credentials", requireManagedServicesManage, handler$8);
32359
32734
  orgScoped.patch("/managed-service-credentials/:id", requireManagedServicesManage, handler$7);
32360
32735
  orgScoped.delete("/managed-service-credentials/:id", requireManagedServicesManage, handler$6);
32361
- orgScoped.get("/agents", withOrgDb, handler$101);
32362
- orgScoped.get("/agents/:agentId", withOrgDb, handler$100);
32363
- orgScoped.get("/agents/:agentId/memory/files", withOrgDb, handler$99);
32364
- orgScoped.get("/agents/:agentId/memory/files/content", withOrgDb, handler$98);
32736
+ orgScoped.get("/agents", withOrgDb, handler$102);
32737
+ orgScoped.get("/agents/:agentId", withOrgDb, handler$101);
32738
+ orgScoped.get("/agents/:agentId/memory/files", withOrgDb, handler$100);
32739
+ orgScoped.get("/agents/:agentId/memory/files/content", withOrgDb, handler$99);
32365
32740
  orgScoped.get("/agents/:agentId/workspace/files", withOrgDb, listAgentWorkspaceFiles);
32366
32741
  orgScoped.get("/agents/:agentId/workspace/files/content", withOrgDb, getAgentWorkspaceFileContent);
32367
- orgScoped.get("/workflows", withOrgDb, handler$94);
32368
- orgScoped.get("/workflows/forms", handler$93);
32369
- orgScoped.get("/workflows/:workflowId", withOrgDb, handler$92);
32370
- orgScoped.get("/workflows/:workflowId/canvas", withOrgDb, handler$91);
32371
- orgScoped.get("/workflows/:workflowId/canvas/credentials", withOrgDb, handler$90);
32372
- orgScoped.get("/workflows/:workflowId/canvas/runs/:runId", withOrgDb, handler$89);
32742
+ orgScoped.get("/workflows", withOrgDb, handler$95);
32743
+ orgScoped.get("/workflows/forms", handler$94);
32744
+ orgScoped.get("/workflows/:workflowId", withOrgDb, handler$93);
32745
+ orgScoped.get("/workflows/:workflowId/canvas", withOrgDb, handler$92);
32746
+ orgScoped.get("/workflows/:workflowId/canvas/credentials", withOrgDb, handler$91);
32747
+ orgScoped.get("/workflows/:workflowId/canvas/runs/:runId", withOrgDb, handler$90);
32373
32748
  orgScoped.get("/workflows/:workflowId/overview", withOrgDb, getWorkflowOverview);
32374
- orgScoped.get("/workflows/:workflowId/runs", withOrgDb, handler$80);
32375
- orgScoped.get("/workflows/:workflowId/run-inputs", withOrgDb, handler$88);
32376
- orgScoped.put("/workflows/:workflowId/run-inputs", withOrgDb, handler$87);
32377
- orgScoped.post("/workflows/:workflowId/run", withOrgDb, handler$86);
32378
- orgScoped.get("/workflows/:workflowId/form", withOrgDb, handler$85);
32379
- orgScoped.put("/workflows/:workflowId/form", withOrgDb, handler$84);
32380
- orgScoped.delete("/workflows/:workflowId/form", withOrgDb, handler$83);
32381
- orgScoped.post("/workflows/:workflowId/form/rotate", withOrgDb, handler$82);
32382
- orgScoped.post("/workflows/:workflowId/attachments/presign", withOrgDb, handler$81);
32383
- orgScoped.get("/skills", withOrgDb, handler$78);
32384
- orgScoped.get("/skills/:skillId", withOrgDb, handler$77);
32385
- orgScoped.get("/triggers", withOrgDb, handler$76);
32386
- orgScoped.get("/triggers/:triggerId", withOrgDb, handler$75);
32387
- orgScoped.get("/triggers/:triggerId/runs", withOrgDb, handler$74);
32749
+ orgScoped.get("/workflows/:workflowId/runs", withOrgDb, handler$81);
32750
+ orgScoped.get("/workflows/:workflowId/run-inputs", withOrgDb, handler$89);
32751
+ orgScoped.put("/workflows/:workflowId/run-inputs", withOrgDb, handler$88);
32752
+ orgScoped.post("/workflows/:workflowId/run", withOrgDb, handler$87);
32753
+ orgScoped.get("/workflows/:workflowId/form", withOrgDb, handler$86);
32754
+ orgScoped.put("/workflows/:workflowId/form", withOrgDb, handler$85);
32755
+ orgScoped.delete("/workflows/:workflowId/form", withOrgDb, handler$84);
32756
+ orgScoped.post("/workflows/:workflowId/form/rotate", withOrgDb, handler$83);
32757
+ orgScoped.post("/workflows/:workflowId/attachments/presign", withOrgDb, handler$82);
32758
+ orgScoped.get("/skills", withOrgDb, handler$79);
32759
+ orgScoped.get("/skills/:skillId", withOrgDb, handler$78);
32760
+ orgScoped.get("/triggers", withOrgDb, handler$77);
32761
+ orgScoped.get("/triggers/:triggerId", withOrgDb, handler$76);
32762
+ orgScoped.get("/triggers/:triggerId/runs", withOrgDb, handler$75);
32388
32763
  orgScoped.get("/triggers/:triggerId/file", withOrgDb, getTriggerFile);
32389
32764
  orgScoped.get("/triggers/:triggerId/overview", withOrgDb, getTriggerOverview);
32390
- orgScoped.get("/triggers/:triggerId/invoke-inputs", withOrgDb, handler$71);
32391
- orgScoped.post("/triggers/:triggerId/invoke", withOrgDb, handler$72);
32392
- orgScoped.patch("/triggers/:triggerId/attachments/:attachmentId", withOrgDb, handler$73);
32393
- orgScoped.get("/recents", withOrgDb, handler$70);
32394
- orgScoped.get("/history", withOrgDb, handler$103);
32395
- orgScoped.get("/history/:runId", withOrgDb, handler$102);
32396
- orgScoped.post("/workflows/runs/:runId/cancel", withOrgDb, handler$79);
32397
- orgScoped.post("/agents/sessions/:sessionId/cancel", withOrgDb, handler$95);
32765
+ orgScoped.get("/triggers/:triggerId/invoke-inputs", withOrgDb, handler$72);
32766
+ orgScoped.post("/triggers/:triggerId/invoke", withOrgDb, handler$73);
32767
+ orgScoped.patch("/triggers/:triggerId/attachments/:attachmentId", withOrgDb, handler$74);
32768
+ orgScoped.get("/recents", withOrgDb, handler$71);
32769
+ orgScoped.get("/history", withOrgDb, handler$104);
32770
+ orgScoped.get("/history/:runId", withOrgDb, handler$103);
32771
+ orgScoped.post("/workflows/runs/:runId/cancel", withOrgDb, handler$80);
32772
+ orgScoped.post("/agents/sessions/:sessionId/cancel", withOrgDb, handler$96);
32398
32773
  orgScoped.get("/credentials", withOrgDb, handler$44);
32399
32774
  orgScoped.post("/credentials", withOrgDb, handler$43);
32400
32775
  orgScoped.get("/credentials/:credentialId", withOrgDb, (c, next) => c.req.param("credentialId") === "instances" ? next() : handler$42(c, next));
32401
32776
  orgScoped.patch("/credentials/:credentialId", withOrgDb, handler$41);
32402
32777
  orgScoped.post("/credentials/:credentialId/duplicate", withOrgDb, handler$40);
32403
32778
  orgScoped.delete("/credentials/:credentialId", withOrgDb, deleteCredential);
32404
- orgScoped.get("/projects", handler$69);
32405
- orgScoped.get("/projects/slug-available", handler$66);
32406
- orgScoped.get("/projects/metrics", withOrgDb, handler$68);
32779
+ orgScoped.get("/projects", handler$70);
32780
+ orgScoped.get("/projects/slug-available", handler$67);
32781
+ orgScoped.get("/projects/metrics", withOrgDb, handler$69);
32407
32782
  orgScoped.post("/projects", createCreateProjectHandler({
32408
32783
  projectQuotaGate: options.projectQuotaGate,
32409
32784
  projectGit: options.projectGit
32410
32785
  }));
32411
- projectScoped.get("/:projectId", requireProject(), requireProjectMember, handler$65);
32412
- projectScoped.patch("/:projectId", requireProject(), requireProjectMember, requireProjectUpdate, handler$64);
32786
+ projectScoped.get("/:projectId", requireProject(), requireProjectMember, handler$66);
32787
+ projectScoped.patch("/:projectId", requireProject(), requireProjectMember, requireProjectUpdate, handler$65);
32413
32788
  projectScoped.delete("/:projectId", requireProject(), requireProjectMember, requireProjectDelete, createDeleteProjectHandler(options.projectGit));
32414
32789
  projectScoped.get("/:projectId/settings", requireProject(), requireProjectMember, handler$49);
32415
32790
  projectScoped.get("/:projectId/git", requireProject(), requireProjectMember, handler$47);
@@ -32434,19 +32809,23 @@ function mountAccountRoutes(options) {
32434
32809
  projectScoped.get("/:projectId/draft/events", requireProject(), requireProjectMember, getDraftEvents);
32435
32810
  projectScoped.post("/:projectId/draft/commits", requireProject(), requireProjectMember, requireProjectDeploy, commitDraft);
32436
32811
  projectScoped.post("/:projectId/draft/commits/from-diff", requireProject(), requireProjectMember, requireProjectDeploy, commitDraftFromDiff);
32437
- projectScoped.post("/:projectId/agents/:slug/attachments/presign", requireProject(), requireProjectMember, withOrgDb, handler$56);
32812
+ projectScoped.post("/:projectId/agents/:slug/attachments/presign", requireProject(), requireProjectMember, withOrgDb, handler$57);
32438
32813
  projectScoped.post("/:projectId/agents/:slug/env-image", requireProject(), requireProjectMember, withOrgDb, snapshotAgentEnvImage);
32439
- projectScoped.get("/:projectId/agents/:slug/attachments/:key{.+}", requireProject(), requireProjectMember, withOrgDb, handler$55);
32814
+ projectScoped.get("/:projectId/agents/:slug/attachments/:key{.+}", requireProject(), requireProjectMember, withOrgDb, handler$56);
32815
+ projectScoped.get("/:projectId/agents/:slug/browser/sessions/:sessionId", requireProject(), requireProjectMember, withOrgDb, getBrowserSession);
32816
+ projectScoped.post("/:projectId/agents/:slug/browser/open", requireProject(), requireProjectMember, withOrgDb, openBrowserSession);
32817
+ projectScoped.get("/:projectId/agents/:slug/browser/media/:key{.+}", requireProject(), requireProjectMember, withOrgDb, handler$55);
32440
32818
  projectScoped.get("/:projectId/artifacts/:artifactId/files/content", requireProject(), requireProjectMember, getProjectFileContent);
32441
- projectScoped.get("/:projectId/deployments", requireProject(), requireProjectMember, handler$62);
32442
- projectScoped.get("/:projectId/artifacts/active/download", requireProject(), requireProjectMember, requireProjectDeploy, handler$60);
32819
+ projectScoped.get("/:projectId/deployments", requireProject(), requireProjectMember, handler$63);
32820
+ projectScoped.get("/:projectId/artifacts/active/download", requireProject(), requireProjectMember, requireProjectDeploy, handler$61);
32443
32821
  projectScoped.get("/:projectId/artifacts/active/source", requireProject(), requireProjectMember, withOrgDb, downloadActiveProjectSource);
32444
32822
  projectScoped.get("/:projectId/artifacts/active/source/revision", requireProject(), requireProjectMember, getActiveProjectSourceRevision);
32445
- projectScoped.post("/:projectId/artifacts", requireProject(), requireProjectMember, requireProjectDeploy, handler$61);
32823
+ projectScoped.post("/:projectId/artifacts", requireProject(), requireProjectMember, requireProjectDeploy, handler$62);
32446
32824
  projectScoped.post("/:projectId/artifacts/:artifactId/complete", requireProject(), requireProjectMember, requireProjectDeploy, completeProjectArtifact);
32447
- projectScoped.post("/:projectId/artifacts/:artifactId/source/presign", requireProject(), requireProjectMember, requireProjectDeploy, handler$58);
32448
- projectScoped.post("/:projectId/artifacts/:artifactId/source/manifest", requireProject(), requireProjectMember, requireProjectDeploy, handler$57);
32825
+ projectScoped.post("/:projectId/artifacts/:artifactId/source/presign", requireProject(), requireProjectMember, requireProjectDeploy, handler$59);
32826
+ projectScoped.post("/:projectId/artifacts/:artifactId/source/manifest", requireProject(), requireProjectMember, requireProjectDeploy, handler$58);
32449
32827
  options.platformAgent?.mountOrgRoutes(orgScoped);
32828
+ options.brain?.mountAccountRoutes(orgScoped);
32450
32829
  orgScoped.route("/projects", projectScoped);
32451
32830
  account.route("/", orgScoped);
32452
32831
  return account;
@@ -32578,7 +32957,7 @@ async function runOrgDatabaseQuery(options, query) {
32578
32957
  releaseProjectDatabasePool(options);
32579
32958
  }
32580
32959
  }
32581
- function mountInternalRoutes(workerToken, tokenRefresh, llmProxy, mcp) {
32960
+ function mountInternalRoutes(workerToken, tokenRefresh, llmProxy, mcp, brain) {
32582
32961
  const internal = new Hono();
32583
32962
  const protect = requireWorkerToken(workerToken);
32584
32963
  const materialize = createCredentialMaterializeHandler(tokenRefresh, { resolveSandboxAccessToken: mcp ? (connectionId) => mcp.resolveSandboxAccessToken(connectionId) : void 0 });
@@ -32645,6 +33024,14 @@ function mountInternalRoutes(workerToken, tokenRefresh, llmProxy, mcp) {
32645
33024
  if (early) return early;
32646
33025
  await next();
32647
33026
  });
33027
+ internal.use("/organizations/:organizationId/*", async (c, next) => {
33028
+ const verified = verifyOrgWorkerToken(workerToken, readWorkerTokenFromRequest(c));
33029
+ if (verified && verified.organizationId !== c.req.param("organizationId")) return c.json({
33030
+ error: "unauthorized",
33031
+ message: "Token org mismatch."
33032
+ }, 401);
33033
+ await next();
33034
+ });
32648
33035
  internal.use("/projects/:projectId/*", async (c, next) => {
32649
33036
  const verified = verifyOrgWorkerToken(workerToken, readWorkerTokenFromRequest(c));
32650
33037
  if (verified) {
@@ -32664,6 +33051,7 @@ function mountInternalRoutes(workerToken, tokenRefresh, llmProxy, mcp) {
32664
33051
  return c.json({ orgSlug: organization.slug });
32665
33052
  });
32666
33053
  mcp?.mountInternalRoutes?.(internal, { withProjectScope });
33054
+ brain?.mountInternalRoutes(internal);
32667
33055
  internal.post("/projects/:projectId/credentials/materialize", async (c) => {
32668
33056
  const response = await withProjectScope(c.req.param("projectId"), async () => materialize(c));
32669
33057
  if (response === void 0) return c.json({ error: "Project not found" }, 404);
@@ -33026,12 +33414,14 @@ async function createApp$1(auth, options) {
33026
33414
  projectGit: options.projectGit,
33027
33415
  draftNotifier,
33028
33416
  platformAgent: options.platformAgent,
33417
+ brain: options.brain,
33029
33418
  agentWorkspaceFiles: options.agentWorkspaceFiles,
33419
+ settleBrowserUsage: options.settleBrowserUsage,
33030
33420
  snapshotAgentEnvImage: options.snapshotAgentEnvImage
33031
33421
  }));
33032
33422
  },
33033
33423
  mountInternal: (app, { tokenRefresh }) => {
33034
- app.route("/internal", mountInternalRoutes(options.hosting.workerRuntime.workerToken, tokenRefresh, options.llmProxy, options.mcp));
33424
+ app.route("/internal", mountInternalRoutes(options.hosting.workerRuntime.workerToken, tokenRefresh, options.llmProxy, options.mcp, options.brain));
33035
33425
  }
33036
33426
  });
33037
33427
  }
@@ -33192,6 +33582,7 @@ async function startPlatformServer(platformConfig, hooks = {}) {
33192
33582
  artifactId
33193
33583
  });
33194
33584
  } : void 0,
33585
+ validateProjectDeployManifest: platformConfig.validateProjectDeployManifest,
33195
33586
  afterPromoteProjectDeploy: platformConfig.afterPromoteProjectDeploy,
33196
33587
  afterProjectDeployHealthFailure: platformConfig.projectGit ? async ({ projectId, artifactId }) => {
33197
33588
  await cleanupManagedGitAfterHealthFailure({
@@ -33278,9 +33669,11 @@ async function startPlatformServer(platformConfig, hooks = {}) {
33278
33669
  draftCommandRunner: platformConfig.draftCommandRunner,
33279
33670
  draftNotifier: platformConfig.draftNotifier,
33280
33671
  agentWorkspaceFiles: platformConfig.agentWorkspaceFiles,
33672
+ settleBrowserUsage: platformConfig.settleBrowserUsage,
33281
33673
  snapshotAgentEnvImage: platformConfig.snapshotAgentEnvImage,
33282
33674
  orgRateLimit: platformConfig.orgRateLimit,
33283
- platformAgent: platformConfig.platformAgent
33675
+ platformAgent: platformConfig.platformAgent,
33676
+ brain: platformConfig.brain
33284
33677
  });
33285
33678
  await hooks.afterCreateApp?.(app, auth);
33286
33679
  const port = resolvePlatformListenPort();
@@ -33294,4 +33687,4 @@ async function startPlatformServer(platformConfig, hooks = {}) {
33294
33687
  //#endregion
33295
33688
  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 };
33296
33689
 
33297
- //# sourceMappingURL=start-BBW9vi1A.mjs.map
33690
+ //# sourceMappingURL=start-t_pBPQsU.mjs.map