@keystrokehq/platform 0.1.70 → 0.1.72

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 (292) hide show
  1. package/README.md +10 -0
  2. package/dist/{awk2-LA3USKJP-CYGnVzHS.mjs → awk2-LA3USKJP-BVDeDi7o.mjs} +2 -2
  3. package/dist/{awk2-LA3USKJP-CYGnVzHS.mjs.map → awk2-LA3USKJP-BVDeDi7o.mjs.map} +1 -1
  4. package/dist/{awk2-LA3USKJP-DtRr1PDg.cjs → awk2-LA3USKJP-CI5xqcdQ.cjs} +2 -2
  5. package/dist/{awk2-LA3USKJP-DtRr1PDg.cjs.map → awk2-LA3USKJP-CI5xqcdQ.cjs.map} +1 -1
  6. package/dist/{base64-C2AIWVNC-1BAUbcBO.cjs → base64-C2AIWVNC-Bd-zVJ86.cjs} +2 -2
  7. package/dist/{base64-C2AIWVNC-1BAUbcBO.cjs.map → base64-C2AIWVNC-Bd-zVJ86.cjs.map} +1 -1
  8. package/dist/{base64-C2AIWVNC-BSuPrrQH.mjs → base64-C2AIWVNC-DDcKt2o7.mjs} +2 -2
  9. package/dist/{base64-C2AIWVNC-BSuPrrQH.mjs.map → base64-C2AIWVNC-DDcKt2o7.mjs.map} +1 -1
  10. package/dist/{bash-YZ33HQZQ-Bse50H80.cjs → bash-YZ33HQZQ-CMONN1xz.cjs} +2 -2
  11. package/dist/{bash-YZ33HQZQ-Bse50H80.cjs.map → bash-YZ33HQZQ-CMONN1xz.cjs.map} +1 -1
  12. package/dist/{bash-YZ33HQZQ-BaWz2i9y.mjs → bash-YZ33HQZQ-DsD6AV_B.mjs} +2 -2
  13. package/dist/{bash-YZ33HQZQ-BaWz2i9y.mjs.map → bash-YZ33HQZQ-DsD6AV_B.mjs.map} +1 -1
  14. package/dist/{cat-TSFMZVYS-DpvCD5jL.mjs → cat-TSFMZVYS-BthzUlhY.mjs} +3 -3
  15. package/dist/{cat-TSFMZVYS-DpvCD5jL.mjs.map → cat-TSFMZVYS-BthzUlhY.mjs.map} +1 -1
  16. package/dist/{cat-TSFMZVYS-BJKzDI_y.cjs → cat-TSFMZVYS-CRpxd6kq.cjs} +3 -3
  17. package/dist/{cat-TSFMZVYS-BJKzDI_y.cjs.map → cat-TSFMZVYS-CRpxd6kq.cjs.map} +1 -1
  18. package/dist/{chunk-5H5SCKJM-B_3vrkXp.cjs → chunk-5H5SCKJM-BaE_UxtC.cjs} +2 -2
  19. package/dist/{chunk-5H5SCKJM-B_3vrkXp.cjs.map → chunk-5H5SCKJM-BaE_UxtC.cjs.map} +1 -1
  20. package/dist/{chunk-5H5SCKJM-BWqzsjxV.mjs → chunk-5H5SCKJM-DoFIrXFG.mjs} +2 -2
  21. package/dist/{chunk-5H5SCKJM-BWqzsjxV.mjs.map → chunk-5H5SCKJM-DoFIrXFG.mjs.map} +1 -1
  22. package/dist/{chunk-AQ6FYS2X-BOO7PjVQ.cjs → chunk-AQ6FYS2X-BwrckpZm.cjs} +2 -2
  23. package/dist/{chunk-AQ6FYS2X-BOO7PjVQ.cjs.map → chunk-AQ6FYS2X-BwrckpZm.cjs.map} +1 -1
  24. package/dist/{chunk-AQ6FYS2X-XzV_cJBU.mjs → chunk-AQ6FYS2X-CfS-kJ22.mjs} +2 -2
  25. package/dist/{chunk-AQ6FYS2X-XzV_cJBU.mjs.map → chunk-AQ6FYS2X-CfS-kJ22.mjs.map} +1 -1
  26. package/dist/{chunk-CHFEPBH4-B2uwyuSg.mjs → chunk-CHFEPBH4-BWxE5X46.mjs} +2 -2
  27. package/dist/{chunk-CHFEPBH4-B2uwyuSg.mjs.map → chunk-CHFEPBH4-BWxE5X46.mjs.map} +1 -1
  28. package/dist/{chunk-CHFEPBH4-CVZKhizO.cjs → chunk-CHFEPBH4-DtlCJfZT.cjs} +2 -2
  29. package/dist/{chunk-CHFEPBH4-CVZKhizO.cjs.map → chunk-CHFEPBH4-DtlCJfZT.cjs.map} +1 -1
  30. package/dist/{chunk-EBAPSGAO-p8hGT3kh.cjs → chunk-EBAPSGAO-BdeDQkRw.cjs} +2 -2
  31. package/dist/{chunk-EBAPSGAO-p8hGT3kh.cjs.map → chunk-EBAPSGAO-BdeDQkRw.cjs.map} +1 -1
  32. package/dist/{chunk-EBAPSGAO-ZP_v_Key.mjs → chunk-EBAPSGAO-C88RlV2J.mjs} +2 -2
  33. package/dist/{chunk-EBAPSGAO-ZP_v_Key.mjs.map → chunk-EBAPSGAO-C88RlV2J.mjs.map} +1 -1
  34. package/dist/{chunk-LEKBROJD-COZVmVkv.cjs → chunk-LEKBROJD-BdyzUIRQ.cjs} +2 -2
  35. package/dist/{chunk-LEKBROJD-COZVmVkv.cjs.map → chunk-LEKBROJD-BdyzUIRQ.cjs.map} +1 -1
  36. package/dist/{chunk-LEKBROJD-Du_6eJ6K.mjs → chunk-LEKBROJD-CMcCrYLG.mjs} +2 -2
  37. package/dist/{chunk-LEKBROJD-Du_6eJ6K.mjs.map → chunk-LEKBROJD-CMcCrYLG.mjs.map} +1 -1
  38. package/dist/{chunk-VPADYNBD-DrbrTFA4.mjs → chunk-VPADYNBD-BmFghlRR.mjs} +2 -2
  39. package/dist/{chunk-VPADYNBD-DrbrTFA4.mjs.map → chunk-VPADYNBD-BmFghlRR.mjs.map} +1 -1
  40. package/dist/{chunk-VPADYNBD-CUfBAbxe.cjs → chunk-VPADYNBD-iDyIQ4I2.cjs} +2 -2
  41. package/dist/{chunk-VPADYNBD-CUfBAbxe.cjs.map → chunk-VPADYNBD-iDyIQ4I2.cjs.map} +1 -1
  42. package/dist/{chunk-YCLFEX4T-DwEVPpyn.mjs → chunk-YCLFEX4T-D0-dhU30.mjs} +2 -2
  43. package/dist/{chunk-YCLFEX4T-DwEVPpyn.mjs.map → chunk-YCLFEX4T-D0-dhU30.mjs.map} +1 -1
  44. package/dist/{chunk-YCLFEX4T-D2qgbuER.cjs → chunk-YCLFEX4T-d3TDuMoh.cjs} +2 -2
  45. package/dist/{chunk-YCLFEX4T-D2qgbuER.cjs.map → chunk-YCLFEX4T-d3TDuMoh.cjs.map} +1 -1
  46. package/dist/{column-XT6UFXNQ--y-3PCOI.mjs → column-XT6UFXNQ-3gRhWmLI.mjs} +2 -2
  47. package/dist/{column-XT6UFXNQ--y-3PCOI.mjs.map → column-XT6UFXNQ-3gRhWmLI.mjs.map} +1 -1
  48. package/dist/{column-XT6UFXNQ-BH82ugGm.cjs → column-XT6UFXNQ-UTF6J8Ho.cjs} +2 -2
  49. package/dist/{column-XT6UFXNQ-BH82ugGm.cjs.map → column-XT6UFXNQ-UTF6J8Ho.cjs.map} +1 -1
  50. package/dist/{comm-VV2LDX2J-D14qk5bn.cjs → comm-VV2LDX2J-BNilYtp_.cjs} +2 -2
  51. package/dist/{comm-VV2LDX2J-D14qk5bn.cjs.map → comm-VV2LDX2J-BNilYtp_.cjs.map} +1 -1
  52. package/dist/{comm-VV2LDX2J-Bm8Lscgf.mjs → comm-VV2LDX2J-Bf4rjWWh.mjs} +2 -2
  53. package/dist/{comm-VV2LDX2J-Bm8Lscgf.mjs.map → comm-VV2LDX2J-Bf4rjWWh.mjs.map} +1 -1
  54. package/dist/config.cjs +1 -1
  55. package/dist/config.mjs +1 -1
  56. package/dist/{cp-BISAAS7A-DmEKO6zv.mjs → cp-BISAAS7A-D7pKL5XA.mjs} +2 -2
  57. package/dist/{cp-BISAAS7A-DmEKO6zv.mjs.map → cp-BISAAS7A-D7pKL5XA.mjs.map} +1 -1
  58. package/dist/{cp-BISAAS7A-CmqNkMsq.cjs → cp-BISAAS7A-rvZbJYPg.cjs} +2 -2
  59. package/dist/{cp-BISAAS7A-CmqNkMsq.cjs.map → cp-BISAAS7A-rvZbJYPg.cjs.map} +1 -1
  60. package/dist/{cut-OKARJCCV-CPqT4x-h.cjs → cut-OKARJCCV-C2HCVYHm.cjs} +3 -3
  61. package/dist/{cut-OKARJCCV-CPqT4x-h.cjs.map → cut-OKARJCCV-C2HCVYHm.cjs.map} +1 -1
  62. package/dist/{cut-OKARJCCV-DwT7mbWx.mjs → cut-OKARJCCV-CB1fVYpF.mjs} +3 -3
  63. package/dist/{cut-OKARJCCV-DwT7mbWx.mjs.map → cut-OKARJCCV-CB1fVYpF.mjs.map} +1 -1
  64. package/dist/{diff-MWJFIG7X-B2Z_UNbE.mjs → diff-MWJFIG7X-42h76h6P.mjs} +2 -2
  65. package/dist/{diff-MWJFIG7X-B2Z_UNbE.mjs.map → diff-MWJFIG7X-42h76h6P.mjs.map} +1 -1
  66. package/dist/{diff-MWJFIG7X-C3eKSj5u.cjs → diff-MWJFIG7X-BoTkfPVo.cjs} +2 -2
  67. package/dist/{diff-MWJFIG7X-C3eKSj5u.cjs.map → diff-MWJFIG7X-BoTkfPVo.cjs.map} +1 -1
  68. package/dist/{dist-mun4LPn0.cjs → dist-CoxD9bPI.cjs} +34 -10
  69. package/dist/{dist-mun4LPn0.cjs.map → dist-CoxD9bPI.cjs.map} +1 -1
  70. package/dist/{dist-Bz7umCNr.mjs → dist-vqdQgBVK.mjs} +34 -10
  71. package/dist/{dist-Bz7umCNr.mjs.map → dist-vqdQgBVK.mjs.map} +1 -1
  72. package/dist/{du-572XNP42-CBfyOZrK.cjs → du-572XNP42-C350FTWw.cjs} +2 -2
  73. package/dist/{du-572XNP42-CBfyOZrK.cjs.map → du-572XNP42-C350FTWw.cjs.map} +1 -1
  74. package/dist/{du-572XNP42-DSegCJB_.mjs → du-572XNP42-CUd1XKLY.mjs} +2 -2
  75. package/dist/{du-572XNP42-DSegCJB_.mjs.map → du-572XNP42-CUd1XKLY.mjs.map} +1 -1
  76. package/dist/{env-36M5BO7M-C6fswd3z.mjs → env-36M5BO7M-BrAOsQEV.mjs} +2 -2
  77. package/dist/{env-36M5BO7M-C6fswd3z.mjs.map → env-36M5BO7M-BrAOsQEV.mjs.map} +1 -1
  78. package/dist/{env-36M5BO7M-BYN8GT-U.cjs → env-36M5BO7M-DPNeQf-M.cjs} +2 -2
  79. package/dist/{env-36M5BO7M-BYN8GT-U.cjs.map → env-36M5BO7M-DPNeQf-M.cjs.map} +1 -1
  80. package/dist/{expand-JSPG6VOP-B1w-Ycns.cjs → expand-JSPG6VOP-BRQo18bb.cjs} +2 -2
  81. package/dist/{expand-JSPG6VOP-B1w-Ycns.cjs.map → expand-JSPG6VOP-BRQo18bb.cjs.map} +1 -1
  82. package/dist/{expand-JSPG6VOP-CUCKYi5P.mjs → expand-JSPG6VOP-C_86st90.mjs} +2 -2
  83. package/dist/{expand-JSPG6VOP-CUCKYi5P.mjs.map → expand-JSPG6VOP-C_86st90.mjs.map} +1 -1
  84. package/dist/{expr-5JAACS4X-DmPznQe2.mjs → expr-5JAACS4X-CIfzomse.mjs} +2 -2
  85. package/dist/{expr-5JAACS4X-DmPznQe2.mjs.map → expr-5JAACS4X-CIfzomse.mjs.map} +1 -1
  86. package/dist/{expr-5JAACS4X-Ds8fKLaw.cjs → expr-5JAACS4X-CkT1nlHf.cjs} +2 -2
  87. package/dist/{expr-5JAACS4X-Ds8fKLaw.cjs.map → expr-5JAACS4X-CkT1nlHf.cjs.map} +1 -1
  88. package/dist/{find-INTH3OLC-0EV8fNtG.cjs → find-INTH3OLC-B0MbFhsv.cjs} +3 -3
  89. package/dist/{find-INTH3OLC-0EV8fNtG.cjs.map → find-INTH3OLC-B0MbFhsv.cjs.map} +1 -1
  90. package/dist/{find-INTH3OLC-BId86hIF.mjs → find-INTH3OLC-COWqruIv.mjs} +3 -3
  91. package/dist/{find-INTH3OLC-BId86hIF.mjs.map → find-INTH3OLC-COWqruIv.mjs.map} +1 -1
  92. package/dist/{fold-4TQNYMSW-DrKK7VEv.cjs → fold-4TQNYMSW-DuAxeOHg.cjs} +2 -2
  93. package/dist/{fold-4TQNYMSW-DrKK7VEv.cjs.map → fold-4TQNYMSW-DuAxeOHg.cjs.map} +1 -1
  94. package/dist/{fold-4TQNYMSW-DLyPOCGB.mjs → fold-4TQNYMSW-ziL3L6Jj.mjs} +2 -2
  95. package/dist/{fold-4TQNYMSW-DLyPOCGB.mjs.map → fold-4TQNYMSW-ziL3L6Jj.mjs.map} +1 -1
  96. package/dist/{grep-V3LQVMRQ-CNGCZY0I.mjs → grep-V3LQVMRQ-D_WdHf4R.mjs} +4 -4
  97. package/dist/{grep-V3LQVMRQ-CNGCZY0I.mjs.map → grep-V3LQVMRQ-D_WdHf4R.mjs.map} +1 -1
  98. package/dist/{grep-V3LQVMRQ-CkKkQiWt.cjs → grep-V3LQVMRQ-Di59N_V9.cjs} +4 -4
  99. package/dist/{grep-V3LQVMRQ-CkKkQiWt.cjs.map → grep-V3LQVMRQ-Di59N_V9.cjs.map} +1 -1
  100. package/dist/{gzip-O5ASJAFY-BfmVZFp9.mjs → gzip-O5ASJAFY-CFOuL6wJ.mjs} +2 -2
  101. package/dist/{gzip-O5ASJAFY-BfmVZFp9.mjs.map → gzip-O5ASJAFY-CFOuL6wJ.mjs.map} +1 -1
  102. package/dist/{gzip-O5ASJAFY-B-qsQpSl.cjs → gzip-O5ASJAFY-Dr_-4xrH.cjs} +2 -2
  103. package/dist/{gzip-O5ASJAFY-B-qsQpSl.cjs.map → gzip-O5ASJAFY-Dr_-4xrH.cjs.map} +1 -1
  104. package/dist/{head-442HYESI-CFsbsnlG.cjs → head-442HYESI-BgbyLh10.cjs} +2 -2
  105. package/dist/{head-442HYESI-CFsbsnlG.cjs.map → head-442HYESI-BgbyLh10.cjs.map} +1 -1
  106. package/dist/{head-442HYESI-Ddx-O96Z.mjs → head-442HYESI-Drtu6BR1.mjs} +2 -2
  107. package/dist/{head-442HYESI-Ddx-O96Z.mjs.map → head-442HYESI-Drtu6BR1.mjs.map} +1 -1
  108. package/dist/{help-HZ6M2CKN-9wUzdqWF.mjs → help-HZ6M2CKN-Bt16EAsg.mjs} +2 -2
  109. package/dist/{help-HZ6M2CKN-9wUzdqWF.mjs.map → help-HZ6M2CKN-Bt16EAsg.mjs.map} +1 -1
  110. package/dist/{help-HZ6M2CKN-D2v9VG-2.cjs → help-HZ6M2CKN-mOQjl5dI.cjs} +2 -2
  111. package/dist/{help-HZ6M2CKN-D2v9VG-2.cjs.map → help-HZ6M2CKN-mOQjl5dI.cjs.map} +1 -1
  112. package/dist/{html-to-markdown-JW4MSQZO-Cmbal3wt.mjs → html-to-markdown-JW4MSQZO-CJXUXm6e.mjs} +3 -3
  113. package/dist/{html-to-markdown-JW4MSQZO-Cmbal3wt.mjs.map → html-to-markdown-JW4MSQZO-CJXUXm6e.mjs.map} +1 -1
  114. package/dist/{html-to-markdown-JW4MSQZO-CbMPgL_a.cjs → html-to-markdown-JW4MSQZO-oGv6STSH.cjs} +2 -2
  115. package/dist/{html-to-markdown-JW4MSQZO-CbMPgL_a.cjs.map → html-to-markdown-JW4MSQZO-oGv6STSH.cjs.map} +1 -1
  116. package/dist/{join-TBRGI3LQ-CU6AbI0V.cjs → join-TBRGI3LQ-BTs6JVKp.cjs} +2 -2
  117. package/dist/{join-TBRGI3LQ-CU6AbI0V.cjs.map → join-TBRGI3LQ-BTs6JVKp.cjs.map} +1 -1
  118. package/dist/{join-TBRGI3LQ-DGAasNBV.mjs → join-TBRGI3LQ-M75dE-Zz.mjs} +2 -2
  119. package/dist/{join-TBRGI3LQ-DGAasNBV.mjs.map → join-TBRGI3LQ-M75dE-Zz.mjs.map} +1 -1
  120. package/dist/{jq-4XLYLOS5-DLFrEwta.mjs → jq-4XLYLOS5-78BOpS6Q.mjs} +4 -4
  121. package/dist/{jq-4XLYLOS5-DLFrEwta.mjs.map → jq-4XLYLOS5-78BOpS6Q.mjs.map} +1 -1
  122. package/dist/{jq-4XLYLOS5-DPCvSvFT.cjs → jq-4XLYLOS5-Cq5eXKVE.cjs} +4 -4
  123. package/dist/{jq-4XLYLOS5-DPCvSvFT.cjs.map → jq-4XLYLOS5-Cq5eXKVE.cjs.map} +1 -1
  124. package/dist/{js-exec-N5KEZBH7-Bk6zF-fy.mjs → js-exec-N5KEZBH7-BV27RcUK.mjs} +3 -3
  125. package/dist/{js-exec-N5KEZBH7-Bk6zF-fy.mjs.map → js-exec-N5KEZBH7-BV27RcUK.mjs.map} +1 -1
  126. package/dist/{js-exec-N5KEZBH7-DWBOd5gs.cjs → js-exec-N5KEZBH7-qFZ5Q08K.cjs} +3 -3
  127. package/dist/{js-exec-N5KEZBH7-DWBOd5gs.cjs.map → js-exec-N5KEZBH7-qFZ5Q08K.cjs.map} +1 -1
  128. package/dist/{lib-CnCPFGET.mjs → lib-C6fnVjW1.mjs} +2 -2
  129. package/dist/{lib-CnCPFGET.mjs.map → lib-C6fnVjW1.mjs.map} +1 -1
  130. package/dist/{ln-4LGSXXGD-CW3iJzBT.cjs → ln-4LGSXXGD-0yk1E4KW.cjs} +2 -2
  131. package/dist/{ln-4LGSXXGD-CW3iJzBT.cjs.map → ln-4LGSXXGD-0yk1E4KW.cjs.map} +1 -1
  132. package/dist/{ln-4LGSXXGD-B7CS9Efo.mjs → ln-4LGSXXGD-CcC8oAay.mjs} +2 -2
  133. package/dist/{ln-4LGSXXGD-B7CS9Efo.mjs.map → ln-4LGSXXGD-CcC8oAay.mjs.map} +1 -1
  134. package/dist/{ls-ZJGQER7M-CxeUdJy-.mjs → ls-ZJGQER7M-CBKKNxe5.mjs} +2 -2
  135. package/dist/{ls-ZJGQER7M-CxeUdJy-.mjs.map → ls-ZJGQER7M-CBKKNxe5.mjs.map} +1 -1
  136. package/dist/{ls-ZJGQER7M-Ai-m-sbQ.cjs → ls-ZJGQER7M-CVHVXCMt.cjs} +2 -2
  137. package/dist/{ls-ZJGQER7M-Ai-m-sbQ.cjs.map → ls-ZJGQER7M-CVHVXCMt.cjs.map} +1 -1
  138. package/dist/{md5sum-SPU24VSG-DqtA2NqT.mjs → md5sum-SPU24VSG-6tBiopTd.mjs} +3 -3
  139. package/dist/{md5sum-SPU24VSG-DqtA2NqT.mjs.map → md5sum-SPU24VSG-6tBiopTd.mjs.map} +1 -1
  140. package/dist/{md5sum-SPU24VSG-CRUuutpM.cjs → md5sum-SPU24VSG-CSOkNc40.cjs} +3 -3
  141. package/dist/{md5sum-SPU24VSG-CRUuutpM.cjs.map → md5sum-SPU24VSG-CSOkNc40.cjs.map} +1 -1
  142. package/dist/{mkdir-MEPGZOB6-LjFjTRB_.mjs → mkdir-MEPGZOB6-BFsBDpoC.mjs} +2 -2
  143. package/dist/{mkdir-MEPGZOB6-LjFjTRB_.mjs.map → mkdir-MEPGZOB6-BFsBDpoC.mjs.map} +1 -1
  144. package/dist/{mkdir-MEPGZOB6-D4pKzHpK.cjs → mkdir-MEPGZOB6-BYjEoahl.cjs} +2 -2
  145. package/dist/{mkdir-MEPGZOB6-D4pKzHpK.cjs.map → mkdir-MEPGZOB6-BYjEoahl.cjs.map} +1 -1
  146. package/dist/{mv-W5BIQ646-oRY_Dp2Q.cjs → mv-W5BIQ646-CXaYSKMT.cjs} +2 -2
  147. package/dist/{mv-W5BIQ646-oRY_Dp2Q.cjs.map → mv-W5BIQ646-CXaYSKMT.cjs.map} +1 -1
  148. package/dist/{mv-W5BIQ646-N2f4g3X1.mjs → mv-W5BIQ646-DrNLqf6E.mjs} +2 -2
  149. package/dist/{mv-W5BIQ646-N2f4g3X1.mjs.map → mv-W5BIQ646-DrNLqf6E.mjs.map} +1 -1
  150. package/dist/{nl-WSDW7I4O-D88uEPPQ.mjs → nl-WSDW7I4O-BJB_kuMK.mjs} +2 -2
  151. package/dist/{nl-WSDW7I4O-D88uEPPQ.mjs.map → nl-WSDW7I4O-BJB_kuMK.mjs.map} +1 -1
  152. package/dist/{nl-WSDW7I4O-4Z8mreEA.cjs → nl-WSDW7I4O-CUKe8Hna.cjs} +2 -2
  153. package/dist/{nl-WSDW7I4O-4Z8mreEA.cjs.map → nl-WSDW7I4O-CUKe8Hna.cjs.map} +1 -1
  154. package/dist/{od-WOKFDJTP-CrIY0wbF.cjs → od-WOKFDJTP-BUxrFzxk.cjs} +2 -2
  155. package/dist/{od-WOKFDJTP-CrIY0wbF.cjs.map → od-WOKFDJTP-BUxrFzxk.cjs.map} +1 -1
  156. package/dist/{od-WOKFDJTP-ByyLZy-E.mjs → od-WOKFDJTP-CYiv7a5T.mjs} +2 -2
  157. package/dist/{od-WOKFDJTP-ByyLZy-E.mjs.map → od-WOKFDJTP-CYiv7a5T.mjs.map} +1 -1
  158. package/dist/{paste-7JC6S4DX-YPlvjW1p.mjs → paste-7JC6S4DX-BwpjdFdY.mjs} +2 -2
  159. package/dist/{paste-7JC6S4DX-YPlvjW1p.mjs.map → paste-7JC6S4DX-BwpjdFdY.mjs.map} +1 -1
  160. package/dist/{paste-7JC6S4DX-CadKOagY.cjs → paste-7JC6S4DX-DOvdu0nN.cjs} +2 -2
  161. package/dist/{paste-7JC6S4DX-CadKOagY.cjs.map → paste-7JC6S4DX-DOvdu0nN.cjs.map} +1 -1
  162. package/dist/{printf-TWGXF445-CR0z570w.cjs → printf-TWGXF445-BC-VpNTT.cjs} +2 -2
  163. package/dist/{printf-TWGXF445-CR0z570w.cjs.map → printf-TWGXF445-BC-VpNTT.cjs.map} +1 -1
  164. package/dist/{printf-TWGXF445-TI4R6l6o.mjs → printf-TWGXF445-CTCWw8v-.mjs} +3 -3
  165. package/dist/{printf-TWGXF445-TI4R6l6o.mjs.map → printf-TWGXF445-CTCWw8v-.mjs.map} +1 -1
  166. package/dist/{python3-POMOR4OA-C6cWgxga.cjs → python3-POMOR4OA-CZVib7aD.cjs} +3 -3
  167. package/dist/{python3-POMOR4OA-C6cWgxga.cjs.map → python3-POMOR4OA-CZVib7aD.cjs.map} +1 -1
  168. package/dist/{python3-POMOR4OA-YXaSuZll.mjs → python3-POMOR4OA-MjTQXwRV.mjs} +3 -3
  169. package/dist/{python3-POMOR4OA-YXaSuZll.mjs.map → python3-POMOR4OA-MjTQXwRV.mjs.map} +1 -1
  170. package/dist/{rev-5EHFX4EJ-CyPoCenM.mjs → rev-5EHFX4EJ-BajjlHWQ.mjs} +2 -2
  171. package/dist/{rev-5EHFX4EJ-CyPoCenM.mjs.map → rev-5EHFX4EJ-BajjlHWQ.mjs.map} +1 -1
  172. package/dist/{rev-5EHFX4EJ-CPMvj_DM.cjs → rev-5EHFX4EJ-CVHfVAWI.cjs} +2 -2
  173. package/dist/{rev-5EHFX4EJ-CPMvj_DM.cjs.map → rev-5EHFX4EJ-CVHfVAWI.cjs.map} +1 -1
  174. package/dist/{rg-S4FXYXWB-CKxdtZPO.cjs → rg-S4FXYXWB-CNAoZRMd.cjs} +3 -3
  175. package/dist/{rg-S4FXYXWB-CKxdtZPO.cjs.map → rg-S4FXYXWB-CNAoZRMd.cjs.map} +1 -1
  176. package/dist/{rg-S4FXYXWB-Db2lsnmX.mjs → rg-S4FXYXWB-fElsZtNI.mjs} +3 -3
  177. package/dist/{rg-S4FXYXWB-Db2lsnmX.mjs.map → rg-S4FXYXWB-fElsZtNI.mjs.map} +1 -1
  178. package/dist/{rm-SSGETQVQ-CTK8UVOw.cjs → rm-SSGETQVQ-BqliK4OQ.cjs} +2 -2
  179. package/dist/{rm-SSGETQVQ-CTK8UVOw.cjs.map → rm-SSGETQVQ-BqliK4OQ.cjs.map} +1 -1
  180. package/dist/{rm-SSGETQVQ-DW1lkC4X.mjs → rm-SSGETQVQ-I2m6Alra.mjs} +2 -2
  181. package/dist/{rm-SSGETQVQ-DW1lkC4X.mjs.map → rm-SSGETQVQ-I2m6Alra.mjs.map} +1 -1
  182. package/dist/{rmdir-OC4ZLPYA-DfkcVved.cjs → rmdir-OC4ZLPYA-DgnydYjF.cjs} +2 -2
  183. package/dist/{rmdir-OC4ZLPYA-DfkcVved.cjs.map → rmdir-OC4ZLPYA-DgnydYjF.cjs.map} +1 -1
  184. package/dist/{rmdir-OC4ZLPYA-C3MQypHr.mjs → rmdir-OC4ZLPYA-F2lgNOB-.mjs} +2 -2
  185. package/dist/{rmdir-OC4ZLPYA-C3MQypHr.mjs.map → rmdir-OC4ZLPYA-F2lgNOB-.mjs.map} +1 -1
  186. package/dist/run.cjs +1 -1
  187. package/dist/run.mjs +1 -1
  188. package/dist/{sed-S5UIK574-DGD-7AVa.cjs → sed-S5UIK574-Drh8JH3-.cjs} +2 -2
  189. package/dist/{sed-S5UIK574-DGD-7AVa.cjs.map → sed-S5UIK574-Drh8JH3-.cjs.map} +1 -1
  190. package/dist/{sed-S5UIK574-BYNG3C6h.mjs → sed-S5UIK574-pAnVKoY_.mjs} +2 -2
  191. package/dist/{sed-S5UIK574-BYNG3C6h.mjs.map → sed-S5UIK574-pAnVKoY_.mjs.map} +1 -1
  192. package/dist/{sha1sum-2PTOAFR6-BmToFgVm.mjs → sha1sum-2PTOAFR6-CPmlbBAZ.mjs} +3 -3
  193. package/dist/{sha1sum-2PTOAFR6-BmToFgVm.mjs.map → sha1sum-2PTOAFR6-CPmlbBAZ.mjs.map} +1 -1
  194. package/dist/{sha1sum-2PTOAFR6-GTxhYECh.cjs → sha1sum-2PTOAFR6-DQLmB80f.cjs} +3 -3
  195. package/dist/{sha1sum-2PTOAFR6-GTxhYECh.cjs.map → sha1sum-2PTOAFR6-DQLmB80f.cjs.map} +1 -1
  196. package/dist/{sha256sum-NS7D3IXX-CMiTETKW.cjs → sha256sum-NS7D3IXX-BB3FHOTy.cjs} +3 -3
  197. package/dist/{sha256sum-NS7D3IXX-CMiTETKW.cjs.map → sha256sum-NS7D3IXX-BB3FHOTy.cjs.map} +1 -1
  198. package/dist/{sha256sum-NS7D3IXX-Cev990cR.mjs → sha256sum-NS7D3IXX-BpnpORhl.mjs} +3 -3
  199. package/dist/{sha256sum-NS7D3IXX-Cev990cR.mjs.map → sha256sum-NS7D3IXX-BpnpORhl.mjs.map} +1 -1
  200. package/dist/{sleep-X22JJINO-BFO_nhWp.cjs → sleep-X22JJINO-Cn66G4tY.cjs} +2 -2
  201. package/dist/{sleep-X22JJINO-BFO_nhWp.cjs.map → sleep-X22JJINO-Cn66G4tY.cjs.map} +1 -1
  202. package/dist/{sleep-X22JJINO-DWb-qljV.mjs → sleep-X22JJINO-DHO33uGs.mjs} +2 -2
  203. package/dist/{sleep-X22JJINO-DWb-qljV.mjs.map → sleep-X22JJINO-DHO33uGs.mjs.map} +1 -1
  204. package/dist/{sort-SW2YEO5B-DFy1oQJ5.cjs → sort-SW2YEO5B-CZkcZtWt.cjs} +3 -3
  205. package/dist/{sort-SW2YEO5B-DFy1oQJ5.cjs.map → sort-SW2YEO5B-CZkcZtWt.cjs.map} +1 -1
  206. package/dist/{sort-SW2YEO5B-DoWC_Y1l.mjs → sort-SW2YEO5B-Cu3qxG8w.mjs} +3 -3
  207. package/dist/{sort-SW2YEO5B-DoWC_Y1l.mjs.map → sort-SW2YEO5B-Cu3qxG8w.mjs.map} +1 -1
  208. package/dist/{split-4KKZZXXE-l_yqOyFe.cjs → split-4KKZZXXE-CZ6jr8-b.cjs} +2 -2
  209. package/dist/{split-4KKZZXXE-l_yqOyFe.cjs.map → split-4KKZZXXE-CZ6jr8-b.cjs.map} +1 -1
  210. package/dist/{split-4KKZZXXE-DNT_bInL.mjs → split-4KKZZXXE-OnKKzW7i.mjs} +2 -2
  211. package/dist/{split-4KKZZXXE-DNT_bInL.mjs.map → split-4KKZZXXE-OnKKzW7i.mjs.map} +1 -1
  212. package/dist/{sqlite3-CGOEFJAO-BhnZGPAy.mjs → sqlite3-CGOEFJAO-BKK0KJ8v.mjs} +3 -3
  213. package/dist/{sqlite3-CGOEFJAO-BhnZGPAy.mjs.map → sqlite3-CGOEFJAO-BKK0KJ8v.mjs.map} +1 -1
  214. package/dist/{sqlite3-CGOEFJAO-7sbzUgg9.cjs → sqlite3-CGOEFJAO-C0ZMpD0J.cjs} +2 -2
  215. package/dist/{sqlite3-CGOEFJAO-7sbzUgg9.cjs.map → sqlite3-CGOEFJAO-C0ZMpD0J.cjs.map} +1 -1
  216. package/dist/{start-oiYa_7Ho.cjs → start-BA8SAE2h.cjs} +354 -273
  217. package/dist/start-BA8SAE2h.cjs.map +1 -0
  218. package/dist/{start-anmOyXx4.mjs → start-BBwx09TY.mjs} +355 -274
  219. package/dist/start-BBwx09TY.mjs.map +1 -0
  220. package/dist/start.cjs +1 -1
  221. package/dist/start.mjs +1 -1
  222. package/dist/{strings-6WDHLGMX-BdbnmPgr.cjs → strings-6WDHLGMX-Cg983GOM.cjs} +2 -2
  223. package/dist/{strings-6WDHLGMX-BdbnmPgr.cjs.map → strings-6WDHLGMX-Cg983GOM.cjs.map} +1 -1
  224. package/dist/{strings-6WDHLGMX-cF75DNPd.mjs → strings-6WDHLGMX-Co4JzXuN.mjs} +2 -2
  225. package/dist/{strings-6WDHLGMX-cF75DNPd.mjs.map → strings-6WDHLGMX-Co4JzXuN.mjs.map} +1 -1
  226. package/dist/{tac-2STMMJYW-CsBU9hOa.cjs → tac-2STMMJYW-UAnl7bNm.cjs} +2 -2
  227. package/dist/{tac-2STMMJYW-CsBU9hOa.cjs.map → tac-2STMMJYW-UAnl7bNm.cjs.map} +1 -1
  228. package/dist/{tac-2STMMJYW-DSi1FNzA.mjs → tac-2STMMJYW-kd437kTC.mjs} +2 -2
  229. package/dist/{tac-2STMMJYW-DSi1FNzA.mjs.map → tac-2STMMJYW-kd437kTC.mjs.map} +1 -1
  230. package/dist/{tail-R4PCA2C4-B_B07YTM.cjs → tail-R4PCA2C4-Dz0A6cWe.cjs} +2 -2
  231. package/dist/{tail-R4PCA2C4-B_B07YTM.cjs.map → tail-R4PCA2C4-Dz0A6cWe.cjs.map} +1 -1
  232. package/dist/{tail-R4PCA2C4-Cspbla5y.mjs → tail-R4PCA2C4-tMWQyXPx.mjs} +2 -2
  233. package/dist/{tail-R4PCA2C4-Cspbla5y.mjs.map → tail-R4PCA2C4-tMWQyXPx.mjs.map} +1 -1
  234. package/dist/{tar-STHHZTZ6-C7uxt82q.mjs → tar-STHHZTZ6-DVbObmOU.mjs} +4 -4
  235. package/dist/{tar-STHHZTZ6-C7uxt82q.mjs.map → tar-STHHZTZ6-DVbObmOU.mjs.map} +1 -1
  236. package/dist/{tar-STHHZTZ6-CtBhzksb.cjs → tar-STHHZTZ6-DvA3ojMk.cjs} +2 -2
  237. package/dist/{tar-STHHZTZ6-CtBhzksb.cjs.map → tar-STHHZTZ6-DvA3ojMk.cjs.map} +1 -1
  238. package/dist/{tee-YUZ2FKCJ-DgvVMzjK.cjs → tee-YUZ2FKCJ-COdh8ZzP.cjs} +2 -2
  239. package/dist/{tee-YUZ2FKCJ-DgvVMzjK.cjs.map → tee-YUZ2FKCJ-COdh8ZzP.cjs.map} +1 -1
  240. package/dist/{tee-YUZ2FKCJ-Cg2u7mIi.mjs → tee-YUZ2FKCJ-VDnX2t7r.mjs} +2 -2
  241. package/dist/{tee-YUZ2FKCJ-Cg2u7mIi.mjs.map → tee-YUZ2FKCJ-VDnX2t7r.mjs.map} +1 -1
  242. package/dist/{time-D4LNBSWX-CmLQhlYa.mjs → time-D4LNBSWX-CTn1Sh6I.mjs} +2 -2
  243. package/dist/{time-D4LNBSWX-CmLQhlYa.mjs.map → time-D4LNBSWX-CTn1Sh6I.mjs.map} +1 -1
  244. package/dist/{time-D4LNBSWX-DO_aydVu.cjs → time-D4LNBSWX-CVnwzEEX.cjs} +2 -2
  245. package/dist/{time-D4LNBSWX-DO_aydVu.cjs.map → time-D4LNBSWX-CVnwzEEX.cjs.map} +1 -1
  246. package/dist/{timeout-YDCRSLPQ-C55BRBNu.cjs → timeout-YDCRSLPQ-C1pHFK-_.cjs} +2 -2
  247. package/dist/{timeout-YDCRSLPQ-C55BRBNu.cjs.map → timeout-YDCRSLPQ-C1pHFK-_.cjs.map} +1 -1
  248. package/dist/{timeout-YDCRSLPQ-Mr8A8nY1.mjs → timeout-YDCRSLPQ-DmkRXEdq.mjs} +2 -2
  249. package/dist/{timeout-YDCRSLPQ-Mr8A8nY1.mjs.map → timeout-YDCRSLPQ-DmkRXEdq.mjs.map} +1 -1
  250. package/dist/{touch-UA33VN3N-ClQ5ZWdr.mjs → touch-UA33VN3N-Bc4NVi4v.mjs} +2 -2
  251. package/dist/{touch-UA33VN3N-ClQ5ZWdr.mjs.map → touch-UA33VN3N-Bc4NVi4v.mjs.map} +1 -1
  252. package/dist/{touch-UA33VN3N-B27WntNN.cjs → touch-UA33VN3N-DT9rnPwY.cjs} +2 -2
  253. package/dist/{touch-UA33VN3N-B27WntNN.cjs.map → touch-UA33VN3N-DT9rnPwY.cjs.map} +1 -1
  254. package/dist/{tr-36LHWFRQ-Dj0l2XuW.mjs → tr-36LHWFRQ-Cmpv8tkZ.mjs} +2 -2
  255. package/dist/{tr-36LHWFRQ-Dj0l2XuW.mjs.map → tr-36LHWFRQ-Cmpv8tkZ.mjs.map} +1 -1
  256. package/dist/{tr-36LHWFRQ-BQP3Hu4B.cjs → tr-36LHWFRQ-DrO99DwG.cjs} +2 -2
  257. package/dist/{tr-36LHWFRQ-BQP3Hu4B.cjs.map → tr-36LHWFRQ-DrO99DwG.cjs.map} +1 -1
  258. package/dist/{tree-YLD52CNT-C-hnq6JB.mjs → tree-YLD52CNT-B63OXTS2.mjs} +2 -2
  259. package/dist/{tree-YLD52CNT-C-hnq6JB.mjs.map → tree-YLD52CNT-B63OXTS2.mjs.map} +1 -1
  260. package/dist/{tree-YLD52CNT-5N1kNwoQ.cjs → tree-YLD52CNT-BCEt4L9-.cjs} +2 -2
  261. package/dist/{tree-YLD52CNT-5N1kNwoQ.cjs.map → tree-YLD52CNT-BCEt4L9-.cjs.map} +1 -1
  262. package/dist/{unexpand-CADSA4VO-BR-GlrvU.mjs → unexpand-CADSA4VO-C6MkGw7D.mjs} +2 -2
  263. package/dist/{unexpand-CADSA4VO-BR-GlrvU.mjs.map → unexpand-CADSA4VO-C6MkGw7D.mjs.map} +1 -1
  264. package/dist/{unexpand-CADSA4VO-z55VaF8C.cjs → unexpand-CADSA4VO-CB70cMyK.cjs} +2 -2
  265. package/dist/{unexpand-CADSA4VO-z55VaF8C.cjs.map → unexpand-CADSA4VO-CB70cMyK.cjs.map} +1 -1
  266. package/dist/{uniq-XSIZR6PB-COe3fQcb.mjs → uniq-XSIZR6PB-DNLw03Vi.mjs} +3 -3
  267. package/dist/{uniq-XSIZR6PB-COe3fQcb.mjs.map → uniq-XSIZR6PB-DNLw03Vi.mjs.map} +1 -1
  268. package/dist/{uniq-XSIZR6PB-DnVrMKBl.cjs → uniq-XSIZR6PB-eUmymLHm.cjs} +3 -3
  269. package/dist/{uniq-XSIZR6PB-DnVrMKBl.cjs.map → uniq-XSIZR6PB-eUmymLHm.cjs.map} +1 -1
  270. package/dist/{wc-LF7NU4LA-B24oySis.mjs → wc-LF7NU4LA-BIUrjovr.mjs} +3 -3
  271. package/dist/{wc-LF7NU4LA-B24oySis.mjs.map → wc-LF7NU4LA-BIUrjovr.mjs.map} +1 -1
  272. package/dist/{wc-LF7NU4LA-Aw9qrruu.cjs → wc-LF7NU4LA-mg271QDD.cjs} +3 -3
  273. package/dist/{wc-LF7NU4LA-Aw9qrruu.cjs.map → wc-LF7NU4LA-mg271QDD.cjs.map} +1 -1
  274. package/dist/{xan-Y6WF3IRG-DePeZoBR.mjs → xan-Y6WF3IRG-BEY47Usy.mjs} +6 -6
  275. package/dist/{xan-Y6WF3IRG-DePeZoBR.mjs.map → xan-Y6WF3IRG-BEY47Usy.mjs.map} +1 -1
  276. package/dist/{xan-Y6WF3IRG-D-KhnzXo.cjs → xan-Y6WF3IRG-CPJ2FD8e.cjs} +6 -6
  277. package/dist/{xan-Y6WF3IRG-D-KhnzXo.cjs.map → xan-Y6WF3IRG-CPJ2FD8e.cjs.map} +1 -1
  278. package/dist/{xan-view-HDVKHFC2-D6WN3766.mjs → xan-view-HDVKHFC2-CkHxWyyz.mjs} +3 -3
  279. package/dist/{xan-view-HDVKHFC2-D6WN3766.mjs.map → xan-view-HDVKHFC2-CkHxWyyz.mjs.map} +1 -1
  280. package/dist/{xan-view-HDVKHFC2-75c9_lCk.cjs → xan-view-HDVKHFC2-uK93OcAV.cjs} +3 -3
  281. package/dist/{xan-view-HDVKHFC2-75c9_lCk.cjs.map → xan-view-HDVKHFC2-uK93OcAV.cjs.map} +1 -1
  282. package/dist/{xargs-MGZPH7AX-DF9TPELl.mjs → xargs-MGZPH7AX-B7TPRZ7i.mjs} +2 -2
  283. package/dist/{xargs-MGZPH7AX-DF9TPELl.mjs.map → xargs-MGZPH7AX-B7TPRZ7i.mjs.map} +1 -1
  284. package/dist/{xargs-MGZPH7AX-BNmV_Fx0.cjs → xargs-MGZPH7AX-DiU-uOKw.cjs} +2 -2
  285. package/dist/{xargs-MGZPH7AX-BNmV_Fx0.cjs.map → xargs-MGZPH7AX-DiU-uOKw.cjs.map} +1 -1
  286. package/dist/{yq-4QJW3EQG-DVkU6qDv.mjs → yq-4QJW3EQG-Bdyt9wte.mjs} +3 -3
  287. package/dist/{yq-4QJW3EQG-DVkU6qDv.mjs.map → yq-4QJW3EQG-Bdyt9wte.mjs.map} +1 -1
  288. package/dist/{yq-4QJW3EQG-NMVL_Lgc.cjs → yq-4QJW3EQG-gL4SlSp8.cjs} +3 -3
  289. package/dist/{yq-4QJW3EQG-NMVL_Lgc.cjs.map → yq-4QJW3EQG-gL4SlSp8.cjs.map} +1 -1
  290. package/package.json +3 -3
  291. package/dist/start-anmOyXx4.mjs.map +0 -1
  292. package/dist/start-oiYa_7Ho.cjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  const require_dist = require("./dist-Bb4VhrAh.cjs");
2
- const require_dist$1 = require("./dist-mun4LPn0.cjs");
2
+ const require_dist$1 = require("./dist-CoxD9bPI.cjs");
3
3
  require("./chunk-BZUGFHVS-7RRM7Jpb.cjs");
4
4
  const require_chunk_TN7HHBQW = require("./chunk-TN7HHBQW-D_SK6w5n.cjs");
5
5
  const require_with_project_scope = require("./with-project-scope-DB6ahbkQ.cjs");
@@ -22874,43 +22874,43 @@ var tt = [
22874
22874
  },
22875
22875
  {
22876
22876
  name: "cat",
22877
- load: async () => (await Promise.resolve().then(() => require("./cat-TSFMZVYS-BJKzDI_y.cjs"))).catCommand
22877
+ load: async () => (await Promise.resolve().then(() => require("./cat-TSFMZVYS-CRpxd6kq.cjs"))).catCommand
22878
22878
  },
22879
22879
  {
22880
22880
  name: "printf",
22881
- load: async () => (await Promise.resolve().then(() => require("./printf-TWGXF445-CR0z570w.cjs"))).printfCommand
22881
+ load: async () => (await Promise.resolve().then(() => require("./printf-TWGXF445-BC-VpNTT.cjs"))).printfCommand
22882
22882
  },
22883
22883
  {
22884
22884
  name: "ls",
22885
- load: async () => (await Promise.resolve().then(() => require("./ls-ZJGQER7M-Ai-m-sbQ.cjs"))).lsCommand
22885
+ load: async () => (await Promise.resolve().then(() => require("./ls-ZJGQER7M-CVHVXCMt.cjs"))).lsCommand
22886
22886
  },
22887
22887
  {
22888
22888
  name: "mkdir",
22889
- load: async () => (await Promise.resolve().then(() => require("./mkdir-MEPGZOB6-D4pKzHpK.cjs"))).mkdirCommand
22889
+ load: async () => (await Promise.resolve().then(() => require("./mkdir-MEPGZOB6-BYjEoahl.cjs"))).mkdirCommand
22890
22890
  },
22891
22891
  {
22892
22892
  name: "rmdir",
22893
- load: async () => (await Promise.resolve().then(() => require("./rmdir-OC4ZLPYA-DfkcVved.cjs"))).rmdirCommand
22893
+ load: async () => (await Promise.resolve().then(() => require("./rmdir-OC4ZLPYA-DgnydYjF.cjs"))).rmdirCommand
22894
22894
  },
22895
22895
  {
22896
22896
  name: "touch",
22897
- load: async () => (await Promise.resolve().then(() => require("./touch-UA33VN3N-B27WntNN.cjs"))).touchCommand
22897
+ load: async () => (await Promise.resolve().then(() => require("./touch-UA33VN3N-DT9rnPwY.cjs"))).touchCommand
22898
22898
  },
22899
22899
  {
22900
22900
  name: "rm",
22901
- load: async () => (await Promise.resolve().then(() => require("./rm-SSGETQVQ-CTK8UVOw.cjs"))).rmCommand
22901
+ load: async () => (await Promise.resolve().then(() => require("./rm-SSGETQVQ-BqliK4OQ.cjs"))).rmCommand
22902
22902
  },
22903
22903
  {
22904
22904
  name: "cp",
22905
- load: async () => (await Promise.resolve().then(() => require("./cp-BISAAS7A-CmqNkMsq.cjs"))).cpCommand
22905
+ load: async () => (await Promise.resolve().then(() => require("./cp-BISAAS7A-rvZbJYPg.cjs"))).cpCommand
22906
22906
  },
22907
22907
  {
22908
22908
  name: "mv",
22909
- load: async () => (await Promise.resolve().then(() => require("./mv-W5BIQ646-oRY_Dp2Q.cjs"))).mvCommand
22909
+ load: async () => (await Promise.resolve().then(() => require("./mv-W5BIQ646-CXaYSKMT.cjs"))).mvCommand
22910
22910
  },
22911
22911
  {
22912
22912
  name: "ln",
22913
- load: async () => (await Promise.resolve().then(() => require("./ln-4LGSXXGD-CW3iJzBT.cjs"))).lnCommand
22913
+ load: async () => (await Promise.resolve().then(() => require("./ln-4LGSXXGD-0yk1E4KW.cjs"))).lnCommand
22914
22914
  },
22915
22915
  {
22916
22916
  name: "chmod",
@@ -22926,15 +22926,15 @@ var tt = [
22926
22926
  },
22927
22927
  {
22928
22928
  name: "head",
22929
- load: async () => (await Promise.resolve().then(() => require("./head-442HYESI-CFsbsnlG.cjs"))).headCommand
22929
+ load: async () => (await Promise.resolve().then(() => require("./head-442HYESI-BgbyLh10.cjs"))).headCommand
22930
22930
  },
22931
22931
  {
22932
22932
  name: "tail",
22933
- load: async () => (await Promise.resolve().then(() => require("./tail-R4PCA2C4-B_B07YTM.cjs"))).tailCommand
22933
+ load: async () => (await Promise.resolve().then(() => require("./tail-R4PCA2C4-Dz0A6cWe.cjs"))).tailCommand
22934
22934
  },
22935
22935
  {
22936
22936
  name: "wc",
22937
- load: async () => (await Promise.resolve().then(() => require("./wc-LF7NU4LA-Aw9qrruu.cjs"))).wcCommand
22937
+ load: async () => (await Promise.resolve().then(() => require("./wc-LF7NU4LA-mg271QDD.cjs"))).wcCommand
22938
22938
  },
22939
22939
  {
22940
22940
  name: "stat",
@@ -22942,95 +22942,95 @@ var tt = [
22942
22942
  },
22943
22943
  {
22944
22944
  name: "grep",
22945
- load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-CkKkQiWt.cjs"))).grepCommand
22945
+ load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-Di59N_V9.cjs"))).grepCommand
22946
22946
  },
22947
22947
  {
22948
22948
  name: "fgrep",
22949
- load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-CkKkQiWt.cjs"))).fgrepCommand
22949
+ load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-Di59N_V9.cjs"))).fgrepCommand
22950
22950
  },
22951
22951
  {
22952
22952
  name: "egrep",
22953
- load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-CkKkQiWt.cjs"))).egrepCommand
22953
+ load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-Di59N_V9.cjs"))).egrepCommand
22954
22954
  },
22955
22955
  {
22956
22956
  name: "rg",
22957
- load: async () => (await Promise.resolve().then(() => require("./rg-S4FXYXWB-CKxdtZPO.cjs"))).rgCommand
22957
+ load: async () => (await Promise.resolve().then(() => require("./rg-S4FXYXWB-CNAoZRMd.cjs"))).rgCommand
22958
22958
  },
22959
22959
  {
22960
22960
  name: "sed",
22961
- load: async () => (await Promise.resolve().then(() => require("./sed-S5UIK574-DGD-7AVa.cjs"))).sedCommand
22961
+ load: async () => (await Promise.resolve().then(() => require("./sed-S5UIK574-Drh8JH3-.cjs"))).sedCommand
22962
22962
  },
22963
22963
  {
22964
22964
  name: "awk",
22965
- load: async () => (await Promise.resolve().then(() => require("./awk2-LA3USKJP-DtRr1PDg.cjs"))).awkCommand2
22965
+ load: async () => (await Promise.resolve().then(() => require("./awk2-LA3USKJP-CI5xqcdQ.cjs"))).awkCommand2
22966
22966
  },
22967
22967
  {
22968
22968
  name: "sort",
22969
- load: async () => (await Promise.resolve().then(() => require("./sort-SW2YEO5B-DFy1oQJ5.cjs"))).sortCommand
22969
+ load: async () => (await Promise.resolve().then(() => require("./sort-SW2YEO5B-CZkcZtWt.cjs"))).sortCommand
22970
22970
  },
22971
22971
  {
22972
22972
  name: "uniq",
22973
- load: async () => (await Promise.resolve().then(() => require("./uniq-XSIZR6PB-DnVrMKBl.cjs"))).uniqCommand
22973
+ load: async () => (await Promise.resolve().then(() => require("./uniq-XSIZR6PB-eUmymLHm.cjs"))).uniqCommand
22974
22974
  },
22975
22975
  {
22976
22976
  name: "comm",
22977
- load: async () => (await Promise.resolve().then(() => require("./comm-VV2LDX2J-D14qk5bn.cjs"))).commCommand
22977
+ load: async () => (await Promise.resolve().then(() => require("./comm-VV2LDX2J-BNilYtp_.cjs"))).commCommand
22978
22978
  },
22979
22979
  {
22980
22980
  name: "cut",
22981
- load: async () => (await Promise.resolve().then(() => require("./cut-OKARJCCV-CPqT4x-h.cjs"))).cutCommand
22981
+ load: async () => (await Promise.resolve().then(() => require("./cut-OKARJCCV-C2HCVYHm.cjs"))).cutCommand
22982
22982
  },
22983
22983
  {
22984
22984
  name: "paste",
22985
- load: async () => (await Promise.resolve().then(() => require("./paste-7JC6S4DX-CadKOagY.cjs"))).pasteCommand
22985
+ load: async () => (await Promise.resolve().then(() => require("./paste-7JC6S4DX-DOvdu0nN.cjs"))).pasteCommand
22986
22986
  },
22987
22987
  {
22988
22988
  name: "tr",
22989
- load: async () => (await Promise.resolve().then(() => require("./tr-36LHWFRQ-BQP3Hu4B.cjs"))).trCommand
22989
+ load: async () => (await Promise.resolve().then(() => require("./tr-36LHWFRQ-DrO99DwG.cjs"))).trCommand
22990
22990
  },
22991
22991
  {
22992
22992
  name: "rev",
22993
- load: async () => (await Promise.resolve().then(() => require("./rev-5EHFX4EJ-CPMvj_DM.cjs"))).rev
22993
+ load: async () => (await Promise.resolve().then(() => require("./rev-5EHFX4EJ-CVHfVAWI.cjs"))).rev
22994
22994
  },
22995
22995
  {
22996
22996
  name: "nl",
22997
- load: async () => (await Promise.resolve().then(() => require("./nl-WSDW7I4O-4Z8mreEA.cjs"))).nl
22997
+ load: async () => (await Promise.resolve().then(() => require("./nl-WSDW7I4O-CUKe8Hna.cjs"))).nl
22998
22998
  },
22999
22999
  {
23000
23000
  name: "fold",
23001
- load: async () => (await Promise.resolve().then(() => require("./fold-4TQNYMSW-DrKK7VEv.cjs"))).fold
23001
+ load: async () => (await Promise.resolve().then(() => require("./fold-4TQNYMSW-DuAxeOHg.cjs"))).fold
23002
23002
  },
23003
23003
  {
23004
23004
  name: "expand",
23005
- load: async () => (await Promise.resolve().then(() => require("./expand-JSPG6VOP-B1w-Ycns.cjs"))).expand
23005
+ load: async () => (await Promise.resolve().then(() => require("./expand-JSPG6VOP-BRQo18bb.cjs"))).expand
23006
23006
  },
23007
23007
  {
23008
23008
  name: "unexpand",
23009
- load: async () => (await Promise.resolve().then(() => require("./unexpand-CADSA4VO-z55VaF8C.cjs"))).unexpand
23009
+ load: async () => (await Promise.resolve().then(() => require("./unexpand-CADSA4VO-CB70cMyK.cjs"))).unexpand
23010
23010
  },
23011
23011
  {
23012
23012
  name: "strings",
23013
- load: async () => (await Promise.resolve().then(() => require("./strings-6WDHLGMX-BdbnmPgr.cjs"))).strings
23013
+ load: async () => (await Promise.resolve().then(() => require("./strings-6WDHLGMX-Cg983GOM.cjs"))).strings
23014
23014
  },
23015
23015
  {
23016
23016
  name: "split",
23017
- load: async () => (await Promise.resolve().then(() => require("./split-4KKZZXXE-l_yqOyFe.cjs"))).split
23017
+ load: async () => (await Promise.resolve().then(() => require("./split-4KKZZXXE-CZ6jr8-b.cjs"))).split
23018
23018
  },
23019
23019
  {
23020
23020
  name: "column",
23021
- load: async () => (await Promise.resolve().then(() => require("./column-XT6UFXNQ-BH82ugGm.cjs"))).column
23021
+ load: async () => (await Promise.resolve().then(() => require("./column-XT6UFXNQ-UTF6J8Ho.cjs"))).column
23022
23022
  },
23023
23023
  {
23024
23024
  name: "join",
23025
- load: async () => (await Promise.resolve().then(() => require("./join-TBRGI3LQ-CU6AbI0V.cjs"))).join
23025
+ load: async () => (await Promise.resolve().then(() => require("./join-TBRGI3LQ-BTs6JVKp.cjs"))).join
23026
23026
  },
23027
23027
  {
23028
23028
  name: "tee",
23029
- load: async () => (await Promise.resolve().then(() => require("./tee-YUZ2FKCJ-DgvVMzjK.cjs"))).teeCommand
23029
+ load: async () => (await Promise.resolve().then(() => require("./tee-YUZ2FKCJ-COdh8ZzP.cjs"))).teeCommand
23030
23030
  },
23031
23031
  {
23032
23032
  name: "find",
23033
- load: async () => (await Promise.resolve().then(() => require("./find-INTH3OLC-0EV8fNtG.cjs"))).findCommand
23033
+ load: async () => (await Promise.resolve().then(() => require("./find-INTH3OLC-B0MbFhsv.cjs"))).findCommand
23034
23034
  },
23035
23035
  {
23036
23036
  name: "basename",
@@ -23042,19 +23042,19 @@ var tt = [
23042
23042
  },
23043
23043
  {
23044
23044
  name: "tree",
23045
- load: async () => (await Promise.resolve().then(() => require("./tree-YLD52CNT-5N1kNwoQ.cjs"))).treeCommand
23045
+ load: async () => (await Promise.resolve().then(() => require("./tree-YLD52CNT-BCEt4L9-.cjs"))).treeCommand
23046
23046
  },
23047
23047
  {
23048
23048
  name: "du",
23049
- load: async () => (await Promise.resolve().then(() => require("./du-572XNP42-CBfyOZrK.cjs"))).duCommand
23049
+ load: async () => (await Promise.resolve().then(() => require("./du-572XNP42-C350FTWw.cjs"))).duCommand
23050
23050
  },
23051
23051
  {
23052
23052
  name: "env",
23053
- load: async () => (await Promise.resolve().then(() => require("./env-36M5BO7M-BYN8GT-U.cjs"))).envCommand
23053
+ load: async () => (await Promise.resolve().then(() => require("./env-36M5BO7M-DPNeQf-M.cjs"))).envCommand
23054
23054
  },
23055
23055
  {
23056
23056
  name: "printenv",
23057
- load: async () => (await Promise.resolve().then(() => require("./env-36M5BO7M-BYN8GT-U.cjs"))).printenvCommand
23057
+ load: async () => (await Promise.resolve().then(() => require("./env-36M5BO7M-DPNeQf-M.cjs"))).printenvCommand
23058
23058
  },
23059
23059
  {
23060
23060
  name: "alias",
@@ -23070,7 +23070,7 @@ var tt = [
23070
23070
  },
23071
23071
  {
23072
23072
  name: "xargs",
23073
- load: async () => (await Promise.resolve().then(() => require("./xargs-MGZPH7AX-BNmV_Fx0.cjs"))).xargsCommand
23073
+ load: async () => (await Promise.resolve().then(() => require("./xargs-MGZPH7AX-DiU-uOKw.cjs"))).xargsCommand
23074
23074
  },
23075
23075
  {
23076
23076
  name: "true",
@@ -23086,23 +23086,23 @@ var tt = [
23086
23086
  },
23087
23087
  {
23088
23088
  name: "bash",
23089
- load: async () => (await Promise.resolve().then(() => require("./bash-YZ33HQZQ-Bse50H80.cjs"))).bashCommand
23089
+ load: async () => (await Promise.resolve().then(() => require("./bash-YZ33HQZQ-CMONN1xz.cjs"))).bashCommand
23090
23090
  },
23091
23091
  {
23092
23092
  name: "sh",
23093
- load: async () => (await Promise.resolve().then(() => require("./bash-YZ33HQZQ-Bse50H80.cjs"))).shCommand
23093
+ load: async () => (await Promise.resolve().then(() => require("./bash-YZ33HQZQ-CMONN1xz.cjs"))).shCommand
23094
23094
  },
23095
23095
  {
23096
23096
  name: "jq",
23097
- load: async () => (await Promise.resolve().then(() => require("./jq-4XLYLOS5-DPCvSvFT.cjs"))).jqCommand
23097
+ load: async () => (await Promise.resolve().then(() => require("./jq-4XLYLOS5-Cq5eXKVE.cjs"))).jqCommand
23098
23098
  },
23099
23099
  {
23100
23100
  name: "base64",
23101
- load: async () => (await Promise.resolve().then(() => require("./base64-C2AIWVNC-1BAUbcBO.cjs"))).base64Command
23101
+ load: async () => (await Promise.resolve().then(() => require("./base64-C2AIWVNC-Bd-zVJ86.cjs"))).base64Command
23102
23102
  },
23103
23103
  {
23104
23104
  name: "diff",
23105
- load: async () => (await Promise.resolve().then(() => require("./diff-MWJFIG7X-C3eKSj5u.cjs"))).diffCommand
23105
+ load: async () => (await Promise.resolve().then(() => require("./diff-MWJFIG7X-BoTkfPVo.cjs"))).diffCommand
23106
23106
  },
23107
23107
  {
23108
23108
  name: "date",
@@ -23110,15 +23110,15 @@ var tt = [
23110
23110
  },
23111
23111
  {
23112
23112
  name: "sleep",
23113
- load: async () => (await Promise.resolve().then(() => require("./sleep-X22JJINO-BFO_nhWp.cjs"))).sleepCommand
23113
+ load: async () => (await Promise.resolve().then(() => require("./sleep-X22JJINO-Cn66G4tY.cjs"))).sleepCommand
23114
23114
  },
23115
23115
  {
23116
23116
  name: "timeout",
23117
- load: async () => (await Promise.resolve().then(() => require("./timeout-YDCRSLPQ-C55BRBNu.cjs"))).timeoutCommand
23117
+ load: async () => (await Promise.resolve().then(() => require("./timeout-YDCRSLPQ-C1pHFK-_.cjs"))).timeoutCommand
23118
23118
  },
23119
23119
  {
23120
23120
  name: "time",
23121
- load: async () => (await Promise.resolve().then(() => require("./time-D4LNBSWX-DO_aydVu.cjs"))).timeCommand
23121
+ load: async () => (await Promise.resolve().then(() => require("./time-D4LNBSWX-CVnwzEEX.cjs"))).timeCommand
23122
23122
  },
23123
23123
  {
23124
23124
  name: "seq",
@@ -23126,19 +23126,19 @@ var tt = [
23126
23126
  },
23127
23127
  {
23128
23128
  name: "expr",
23129
- load: async () => (await Promise.resolve().then(() => require("./expr-5JAACS4X-Ds8fKLaw.cjs"))).exprCommand
23129
+ load: async () => (await Promise.resolve().then(() => require("./expr-5JAACS4X-CkT1nlHf.cjs"))).exprCommand
23130
23130
  },
23131
23131
  {
23132
23132
  name: "md5sum",
23133
- load: async () => (await Promise.resolve().then(() => require("./md5sum-SPU24VSG-CRUuutpM.cjs"))).md5sumCommand
23133
+ load: async () => (await Promise.resolve().then(() => require("./md5sum-SPU24VSG-CSOkNc40.cjs"))).md5sumCommand
23134
23134
  },
23135
23135
  {
23136
23136
  name: "sha1sum",
23137
- load: async () => (await Promise.resolve().then(() => require("./sha1sum-2PTOAFR6-GTxhYECh.cjs"))).sha1sumCommand
23137
+ load: async () => (await Promise.resolve().then(() => require("./sha1sum-2PTOAFR6-DQLmB80f.cjs"))).sha1sumCommand
23138
23138
  },
23139
23139
  {
23140
23140
  name: "sha256sum",
23141
- load: async () => (await Promise.resolve().then(() => require("./sha256sum-NS7D3IXX-CMiTETKW.cjs"))).sha256sumCommand
23141
+ load: async () => (await Promise.resolve().then(() => require("./sha256sum-NS7D3IXX-BB3FHOTy.cjs"))).sha256sumCommand
23142
23142
  },
23143
23143
  {
23144
23144
  name: "file",
@@ -23146,11 +23146,11 @@ var tt = [
23146
23146
  },
23147
23147
  {
23148
23148
  name: "html-to-markdown",
23149
- load: async () => (await Promise.resolve().then(() => require("./html-to-markdown-JW4MSQZO-CbMPgL_a.cjs"))).htmlToMarkdownCommand
23149
+ load: async () => (await Promise.resolve().then(() => require("./html-to-markdown-JW4MSQZO-oGv6STSH.cjs"))).htmlToMarkdownCommand
23150
23150
  },
23151
23151
  {
23152
23152
  name: "help",
23153
- load: async () => (await Promise.resolve().then(() => require("./help-HZ6M2CKN-D2v9VG-2.cjs"))).helpCommand
23153
+ load: async () => (await Promise.resolve().then(() => require("./help-HZ6M2CKN-mOQjl5dI.cjs"))).helpCommand
23154
23154
  },
23155
23155
  {
23156
23156
  name: "which",
@@ -23158,7 +23158,7 @@ var tt = [
23158
23158
  },
23159
23159
  {
23160
23160
  name: "tac",
23161
- load: async () => (await Promise.resolve().then(() => require("./tac-2STMMJYW-CsBU9hOa.cjs"))).tac
23161
+ load: async () => (await Promise.resolve().then(() => require("./tac-2STMMJYW-UAnl7bNm.cjs"))).tac
23162
23162
  },
23163
23163
  {
23164
23164
  name: "hostname",
@@ -23170,49 +23170,49 @@ var tt = [
23170
23170
  },
23171
23171
  {
23172
23172
  name: "od",
23173
- load: async () => (await Promise.resolve().then(() => require("./od-WOKFDJTP-CrIY0wbF.cjs"))).od
23173
+ load: async () => (await Promise.resolve().then(() => require("./od-WOKFDJTP-BUxrFzxk.cjs"))).od
23174
23174
  },
23175
23175
  {
23176
23176
  name: "gzip",
23177
- load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-B-qsQpSl.cjs"))).gzipCommand
23177
+ load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-Dr_-4xrH.cjs"))).gzipCommand
23178
23178
  },
23179
23179
  {
23180
23180
  name: "gunzip",
23181
- load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-B-qsQpSl.cjs"))).gunzipCommand
23181
+ load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-Dr_-4xrH.cjs"))).gunzipCommand
23182
23182
  },
23183
23183
  {
23184
23184
  name: "zcat",
23185
- load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-B-qsQpSl.cjs"))).zcatCommand
23185
+ load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-Dr_-4xrH.cjs"))).zcatCommand
23186
23186
  }
23187
23187
  ];
23188
23188
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (tt.push({
23189
23189
  name: "tar",
23190
- load: async () => (await Promise.resolve().then(() => require("./tar-STHHZTZ6-CtBhzksb.cjs"))).tarCommand
23190
+ load: async () => (await Promise.resolve().then(() => require("./tar-STHHZTZ6-DvA3ojMk.cjs"))).tarCommand
23191
23191
  }), tt.push({
23192
23192
  name: "yq",
23193
- load: async () => (await Promise.resolve().then(() => require("./yq-4QJW3EQG-NMVL_Lgc.cjs"))).yqCommand
23193
+ load: async () => (await Promise.resolve().then(() => require("./yq-4QJW3EQG-gL4SlSp8.cjs"))).yqCommand
23194
23194
  }), tt.push({
23195
23195
  name: "xan",
23196
- load: async () => (await Promise.resolve().then(() => require("./xan-Y6WF3IRG-D-KhnzXo.cjs"))).xanCommand
23196
+ load: async () => (await Promise.resolve().then(() => require("./xan-Y6WF3IRG-CPJ2FD8e.cjs"))).xanCommand
23197
23197
  }), tt.push({
23198
23198
  name: "sqlite3",
23199
- load: async () => (await Promise.resolve().then(() => require("./sqlite3-CGOEFJAO-7sbzUgg9.cjs"))).sqlite3Command
23199
+ load: async () => (await Promise.resolve().then(() => require("./sqlite3-CGOEFJAO-C0ZMpD0J.cjs"))).sqlite3Command
23200
23200
  }));
23201
23201
  var Yt = [];
23202
23202
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (Yt.push({
23203
23203
  name: "python3",
23204
- load: async () => (await Promise.resolve().then(() => require("./python3-POMOR4OA-C6cWgxga.cjs"))).python3Command
23204
+ load: async () => (await Promise.resolve().then(() => require("./python3-POMOR4OA-CZVib7aD.cjs"))).python3Command
23205
23205
  }), Yt.push({
23206
23206
  name: "python",
23207
- load: async () => (await Promise.resolve().then(() => require("./python3-POMOR4OA-C6cWgxga.cjs"))).pythonCommand
23207
+ load: async () => (await Promise.resolve().then(() => require("./python3-POMOR4OA-CZVib7aD.cjs"))).pythonCommand
23208
23208
  }));
23209
23209
  var Qt = [];
23210
23210
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (Qt.push({
23211
23211
  name: "js-exec",
23212
- load: async () => (await Promise.resolve().then(() => require("./js-exec-N5KEZBH7-DWBOd5gs.cjs"))).jsExecCommand
23212
+ load: async () => (await Promise.resolve().then(() => require("./js-exec-N5KEZBH7-qFZ5Q08K.cjs"))).jsExecCommand
23213
23213
  }), Qt.push({
23214
23214
  name: "node",
23215
- load: async () => (await Promise.resolve().then(() => require("./js-exec-N5KEZBH7-DWBOd5gs.cjs"))).nodeStubCommand
23215
+ load: async () => (await Promise.resolve().then(() => require("./js-exec-N5KEZBH7-qFZ5Q08K.cjs"))).nodeStubCommand
23216
23216
  }));
23217
23217
  new TextEncoder();
23218
23218
  Object.freeze({
@@ -24589,6 +24589,35 @@ function mountAuth(app, auth) {
24589
24589
  app.on(["POST", "GET"], _keystrokehq_auth.AUTH_API_PATH, (c) => (0, _keystrokehq_auth.handleAuthRequest)(auth, c.req.raw));
24590
24590
  }
24591
24591
  //#endregion
24592
+ //#region src/oauth-client-metadata.ts
24593
+ /** Canonical path for Keystroke's outbound MCP OAuth Client ID Metadata Document. */
24594
+ const OAUTH_CLIENT_METADATA_PATH = "/.well-known/oauth-client-metadata";
24595
+ /** Outbound MCP OAuth callback path (must stay in sync with account mount). */
24596
+ const MCP_OAUTH_CALLBACK_PATH = "/api/mcp/oauth/callback";
24597
+ /** HTTPS URL of the CIMD document for the current external platform origin. */
24598
+ function resolveOAuthClientMetadataUrl(env = process.env) {
24599
+ const origin = require_dist$1.resolveExternalPlatformOrigin(env)?.replace(/\/+$/, "");
24600
+ if (!origin) return;
24601
+ return `${origin}${OAUTH_CLIENT_METADATA_PATH}`;
24602
+ }
24603
+ /** HTTPS redirect URI used for outbound MCP OAuth connects. */
24604
+ function resolveMcpOAuthCallbackUrl(env = process.env) {
24605
+ const origin = require_dist$1.resolveExternalPlatformOrigin(env)?.replace(/\/+$/, "");
24606
+ if (!origin) return;
24607
+ return `${origin}${MCP_OAUTH_CALLBACK_PATH}`;
24608
+ }
24609
+ /** Build the CIMD JSON body. `client_id` must exactly match the document URL. */
24610
+ function buildOAuthClientMetadataDocument(clientMetadataUrl, redirectUri) {
24611
+ return {
24612
+ client_id: clientMetadataUrl,
24613
+ client_name: "Keystroke",
24614
+ redirect_uris: [redirectUri],
24615
+ grant_types: ["authorization_code", "refresh_token"],
24616
+ response_types: ["code"],
24617
+ token_endpoint_auth_method: "none"
24618
+ };
24619
+ }
24620
+ //#endregion
24592
24621
  //#region ../../packages/access-control/dist/index.mjs
24593
24622
  const apiKeysActions = {
24594
24623
  read: "apiKeys:read",
@@ -24968,7 +24997,7 @@ function withOrganizationProjectDatabase() {
24968
24997
  }
24969
24998
  //#endregion
24970
24999
  //#region src/routes/account/users/me/avatar/GET.ts
24971
- const handler$99 = async (c) => {
25000
+ const handler$100 = async (c) => {
24972
25001
  const dbUser = await (0, _keystrokehq_platform_database.selectUserById)(c.get("user").id);
24973
25002
  if (!dbUser) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "User not found" }), 404);
24974
25003
  return c.json(require_dist$1.UserAvatarSchema.parse({ url: dbUser.image ?? null }));
@@ -24987,7 +25016,7 @@ function avatarExtensionForContentType(contentType) {
24987
25016
  }
24988
25017
  //#endregion
24989
25018
  //#region src/routes/account/users/me/avatar/presign/POST.ts
24990
- const handler$98 = async (c) => {
25019
+ const handler$99 = async (c) => {
24991
25020
  const parsed = require_dist$1.PresignUserAvatarRequestSchema.safeParse(await c.req.json().catch(() => null));
24992
25021
  if (!parsed.success) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid avatar upload request" }), 400);
24993
25022
  const extension = avatarExtensionForContentType(parsed.data.contentType);
@@ -25027,7 +25056,7 @@ async function deleteStoredImageIfOwned(input) {
25027
25056
  }
25028
25057
  //#endregion
25029
25058
  //#region src/routes/account/users/me/avatar/PATCH.ts
25030
- const handler$97 = async (c) => {
25059
+ const handler$98 = async (c) => {
25031
25060
  const parsed = require_dist$1.UserAvatarPatchSchema.safeParse(await c.req.json().catch(() => null));
25032
25061
  if (!parsed.success) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid avatar update" }), 400);
25033
25062
  const user = c.get("user");
@@ -25069,14 +25098,14 @@ const handler$97 = async (c) => {
25069
25098
  };
25070
25099
  //#endregion
25071
25100
  //#region src/routes/account/users/me/preferences/GET.ts
25072
- const handler$96 = async (c) => {
25101
+ const handler$97 = async (c) => {
25073
25102
  const dbUser = await (0, _keystrokehq_platform_database.selectUserById)(c.get("user").id);
25074
25103
  if (!dbUser) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "User not found" }), 404);
25075
25104
  return c.json(require_dist$1.UserPreferencesSchema.parse(require_dist$1.normalizeUserPreferences(dbUser.preferences)));
25076
25105
  };
25077
25106
  //#endregion
25078
25107
  //#region src/routes/account/users/me/preferences/PATCH.ts
25079
- const handler$95 = async (c) => {
25108
+ const handler$96 = async (c) => {
25080
25109
  const parsed = require_dist$1.UserPreferencesPatchSchema.safeParse(await c.req.json().catch(() => null));
25081
25110
  if (!parsed.success) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid preferences update" }), 400);
25082
25111
  const user = c.get("user");
@@ -25091,7 +25120,7 @@ const handler$95 = async (c) => {
25091
25120
  };
25092
25121
  //#endregion
25093
25122
  //#region src/routes/account/organizations/GET.ts
25094
- const handler$94 = async (c) => {
25123
+ const handler$95 = async (c) => {
25095
25124
  const memberships = await (0, _keystrokehq_platform_database.selectUserOrganizations)(c.get("user").id);
25096
25125
  return c.json(require_dist$1.ListOrganizationsResponseSchema.parse(memberships.map(require_dist$1.mapUserOrganization)));
25097
25126
  };
@@ -25137,6 +25166,32 @@ async function createOrganizationWithHosting(deps, userId, name, preferredSlug)
25137
25166
  }
25138
25167
  }
25139
25168
  //#endregion
25169
+ //#region src/lib/signup-slack.ts
25170
+ /**
25171
+ * Escape the three characters Slack treats as control sequences in `mrkdwn`
25172
+ * text. Signup fields are user-controlled and must not inject links or mentions.
25173
+ *
25174
+ * @see https://api.slack.com/reference/surfaces/formatting#escaping
25175
+ */
25176
+ function escapeSlackText$1(value) {
25177
+ return value.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
25178
+ }
25179
+ function buildSignupSlackText(input) {
25180
+ const name = escapeSlackText$1(input.user.name.trim());
25181
+ const email = escapeSlackText$1(input.user.email.trim());
25182
+ const orgName = escapeSlackText$1(input.org.name.trim());
25183
+ const slug = escapeSlackText$1(input.org.slug.trim());
25184
+ return [
25185
+ "*New Website Sign Up* :boom:",
25186
+ `*Name:* ${name}`,
25187
+ `*Email:* ${email}`,
25188
+ `*Org:* ${orgName} (\`${slug}\`)`
25189
+ ].join("\n");
25190
+ }
25191
+ async function postSignupToSlack(input) {
25192
+ await (0, _keystrokehq_http.postPipelineSlackWebhook)({ text: buildSignupSlackText(input) });
25193
+ }
25194
+ //#endregion
25140
25195
  //#region src/routes/account/organizations/slug-errors.ts
25141
25196
  function organizationSlugErrorBody(error) {
25142
25197
  if (error instanceof _keystrokehq_platform_database.OrganizationSlugTakenError) return {
@@ -25158,7 +25213,20 @@ function createOrganizationHandler(deps) {
25158
25213
  const parsed = require_dist$1.CreateOrganizationRequestSchema.safeParse(body);
25159
25214
  if (!parsed.success) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid organization request" }), 400);
25160
25215
  try {
25216
+ const hadOrganizations = (await (0, _keystrokehq_platform_database.selectUserOrganizations)(user.id)).length > 0;
25161
25217
  const membership = await createOrganizationWithHosting(deps, user.id, parsed.data.name, parsed.data.slug);
25218
+ if (!hadOrganizations) postSignupToSlack({
25219
+ user: {
25220
+ name: user.name,
25221
+ email: user.email
25222
+ },
25223
+ org: {
25224
+ name: membership.organization.name,
25225
+ slug: membership.organization.slug
25226
+ }
25227
+ }).catch((error) => {
25228
+ console.error("Failed to deliver signup notification to Slack", error);
25229
+ });
25162
25230
  return c.json(require_dist$1.CreateOrganizationResponseSchema.parse(require_dist$1.mapUserOrganization(membership)), 201);
25163
25231
  } catch (error) {
25164
25232
  if (error instanceof _keystrokehq_platform_database.OrganizationSlugTakenError) return c.json(require_dist$1.ErrorResponseSchema.parse(organizationSlugErrorBody(error)), 409);
@@ -25169,7 +25237,7 @@ function createOrganizationHandler(deps) {
25169
25237
  }
25170
25238
  //#endregion
25171
25239
  //#region src/routes/account/organizations/slug-available/GET.ts
25172
- const handler$93 = async (c) => {
25240
+ const handler$94 = async (c) => {
25173
25241
  const parsed = require_dist$1.SlugAvailabilityQuerySchema.safeParse({
25174
25242
  slug: c.req.query("slug"),
25175
25243
  excludeOrganizationId: c.req.query("excludeOrganizationId")
@@ -25180,7 +25248,7 @@ const handler$93 = async (c) => {
25180
25248
  };
25181
25249
  //#endregion
25182
25250
  //#region src/routes/account/organizations/[organizationId]/GET.ts
25183
- const handler$92 = async (c) => {
25251
+ const handler$93 = async (c) => {
25184
25252
  const { organizationId } = c.get("organization");
25185
25253
  const membership = await (0, _keystrokehq_platform_database.selectUserOrganizationMembership)(c.get("user").id, organizationId);
25186
25254
  if (!membership) throw new Error(`Organization membership missing after param guard: ${organizationId}`);
@@ -25188,7 +25256,7 @@ const handler$92 = async (c) => {
25188
25256
  };
25189
25257
  //#endregion
25190
25258
  //#region src/routes/account/organizations/[organizationId]/PATCH.ts
25191
- const handler$91 = async (c) => {
25259
+ const handler$92 = async (c) => {
25192
25260
  const organization = c.get("organization");
25193
25261
  const body = await c.req.json().catch(() => null);
25194
25262
  const parsed = require_dist$1.UpdateOrganizationRequestSchema.safeParse(body);
@@ -25213,7 +25281,7 @@ const handler$91 = async (c) => {
25213
25281
  };
25214
25282
  //#endregion
25215
25283
  //#region src/routes/account/organizations/[organizationId]/branding/GET.ts
25216
- const handler$90 = async (c) => {
25284
+ const handler$91 = async (c) => {
25217
25285
  const { organizationId } = c.get("organization");
25218
25286
  const organization = await (0, _keystrokehq_platform_database.selectOrganizationById)(organizationId);
25219
25287
  if (!organization) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Organization not found" }), 404);
@@ -25262,7 +25330,7 @@ async function finalizeOrgLogoVariant(input) {
25262
25330
  publicUrl: finalized.publicUrl
25263
25331
  };
25264
25332
  }
25265
- const handler$89 = async (c) => {
25333
+ const handler$90 = async (c) => {
25266
25334
  const parsed = require_dist$1.OrganizationSidebarBrandingPatchSchema.safeParse(await c.req.json().catch(() => null));
25267
25335
  if (!parsed.success) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid branding update" }), 400);
25268
25336
  const { organizationId } = c.get("organization");
@@ -25290,7 +25358,7 @@ const handler$89 = async (c) => {
25290
25358
  };
25291
25359
  //#endregion
25292
25360
  //#region src/routes/account/organizations/[organizationId]/branding/logo/presign/POST.ts
25293
- const handler$88 = async (c) => {
25361
+ const handler$89 = async (c) => {
25294
25362
  const parsed = require_dist$1.PresignOrgLogoRequestSchema.safeParse(await c.req.json().catch(() => null));
25295
25363
  if (!parsed.success) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid logo upload request" }), 400);
25296
25364
  const extension = avatarExtensionForContentType(parsed.data.contentType);
@@ -25395,7 +25463,7 @@ async function attachRanAsToDetail(detail, ranByUserId) {
25395
25463
  }
25396
25464
  //#endregion
25397
25465
  //#region src/routes/account/history/GET.ts
25398
- const handler$87 = async (c) => {
25466
+ const handler$88 = async (c) => {
25399
25467
  const organization = c.get("organization");
25400
25468
  const ctx = accessContext(c);
25401
25469
  const query = require_dist$1.HistoryRunListQuerySchema.parse({
@@ -25420,7 +25488,7 @@ const handler$87 = async (c) => {
25420
25488
  };
25421
25489
  //#endregion
25422
25490
  //#region src/routes/account/history/[runId]/GET.ts
25423
- const handler$86 = async (c) => {
25491
+ const handler$87 = async (c) => {
25424
25492
  const runId = c.req.param("runId") ?? "";
25425
25493
  if (!runId) return c.json(null, 404);
25426
25494
  const core = await (0, _keystrokehq_database.findHistoryRunCore)(runId);
@@ -25478,7 +25546,7 @@ function toAgentSummary(row, options) {
25478
25546
  }
25479
25547
  //#endregion
25480
25548
  //#region src/routes/account/agents/GET.ts
25481
- const handler$85 = async (c) => {
25549
+ const handler$86 = async (c) => {
25482
25550
  const filter = await resolveListProjectIds(c, listScope(c, agentListScope(accessContext(c))), c.req.query("projectId"));
25483
25551
  if (filter === "empty") return c.json(require_dist$1.AgentSummaryListResponseSchema.parse([]));
25484
25552
  const rows = await (0, _keystrokehq_database.listActiveAgents)(filter);
@@ -25492,7 +25560,7 @@ function touchResourceActivityBestEffort(options) {
25492
25560
  }
25493
25561
  //#endregion
25494
25562
  //#region src/routes/account/agents/[agentId]/GET.ts
25495
- const handler$84 = async (c) => {
25563
+ const handler$85 = async (c) => {
25496
25564
  const agentId = c.req.param("agentId") ?? "";
25497
25565
  const row = agentId ? await (0, _keystrokehq_database.selectActiveAgentById)(agentId) : void 0;
25498
25566
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessAgent)) return c.json(require_dist$1.AgentSummaryDetailResponseSchema.parse(null));
@@ -25515,7 +25583,7 @@ const handler$84 = async (c) => {
25515
25583
  function relativePathsFromStorageKeys(prefix, keys) {
25516
25584
  return keys.filter((key) => key.startsWith(prefix) && key.endsWith(".md")).map((key) => key.slice(prefix.length)).filter((path) => !path.startsWith(".") && !path.includes("/."));
25517
25585
  }
25518
- const handler$83 = async (c) => {
25586
+ const handler$84 = async (c) => {
25519
25587
  const agentId = c.req.param("agentId") ?? "";
25520
25588
  const row = agentId ? await (0, _keystrokehq_database.selectActiveAgentById)(agentId) : void 0;
25521
25589
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessAgent)) return c.json(require_dist$1.ListAgentMemoryFilesResponseSchema.parse({ files: [] }), 404);
@@ -25540,7 +25608,7 @@ function isStorageNotFoundError(error) {
25540
25608
  const status = typeof record.$metadata === "object" && record.$metadata !== null ? record.$metadata.httpStatusCode : void 0;
25541
25609
  return name === "NoSuchKey" || code === "NoSuchKey" || code === "NotFound" || status === 404;
25542
25610
  }
25543
- const handler$82 = async (c) => {
25611
+ const handler$83 = async (c) => {
25544
25612
  const agentId = c.req.param("agentId") ?? "";
25545
25613
  const path = c.req.query("path");
25546
25614
  if (!path) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "File path is required" }), 400);
@@ -25594,7 +25662,7 @@ function workspaceRelativePathsFromStorageKeys(keys) {
25594
25662
  }
25595
25663
  //#endregion
25596
25664
  //#region src/routes/account/agents/[agentId]/workspace/files/GET.ts
25597
- const handler$81 = async (c) => {
25665
+ const handler$82 = async (c) => {
25598
25666
  const agentId = c.req.param("agentId") ?? "";
25599
25667
  const row = agentId ? await (0, _keystrokehq_database.selectActiveAgentById)(agentId) : void 0;
25600
25668
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessAgent)) return c.json(require_dist$1.ListAgentWorkspaceFilesResponseSchema.parse({ files: [] }), 404);
@@ -25617,7 +25685,7 @@ const handler$81 = async (c) => {
25617
25685
  };
25618
25686
  //#endregion
25619
25687
  //#region src/routes/account/agents/[agentId]/workspace/files/content/GET.ts
25620
- const handler$80 = async (c) => {
25688
+ const handler$81 = async (c) => {
25621
25689
  const agentId = c.req.param("agentId") ?? "";
25622
25690
  const path = c.req.query("path");
25623
25691
  if (!path) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "File path is required" }), 400);
@@ -25666,7 +25734,7 @@ async function cancelHistoryRun(c, kind, cancel) {
25666
25734
  }
25667
25735
  //#endregion
25668
25736
  //#region src/routes/account/agents/sessions/[sessionId]/cancel/POST.ts
25669
- const handler$79 = (c) => cancelHistoryRun(c, "agent", _keystrokehq_database.cancelAgentSession);
25737
+ const handler$80 = (c) => cancelHistoryRun(c, "agent", _keystrokehq_database.cancelAgentSession);
25670
25738
  //#endregion
25671
25739
  //#region src/routes/account/resources/workflows.ts
25672
25740
  function toWorkflowSummary(row, options) {
@@ -25683,7 +25751,7 @@ function toWorkflowSummary(row, options) {
25683
25751
  }
25684
25752
  //#endregion
25685
25753
  //#region src/routes/account/workflows/GET.ts
25686
- const handler$78 = async (c) => {
25754
+ const handler$79 = async (c) => {
25687
25755
  const filter = await resolveListProjectIds(c, listScope(c, workflowListScope(accessContext(c))), c.req.query("projectId"));
25688
25756
  if (filter === "empty") return c.json(require_dist$1.WorkflowSummaryListResponseSchema.parse([]));
25689
25757
  const rows = await (0, _keystrokehq_database.listActiveWorkflows)(filter);
@@ -25692,7 +25760,7 @@ const handler$78 = async (c) => {
25692
25760
  };
25693
25761
  //#endregion
25694
25762
  //#region src/routes/account/workflows/[workflowId]/GET.ts
25695
- const handler$77 = async (c) => {
25763
+ const handler$78 = async (c) => {
25696
25764
  const workflowId = c.req.param("workflowId") ?? "";
25697
25765
  const row = workflowId ? await (0, _keystrokehq_database.selectActiveWorkflowById)(workflowId) : void 0;
25698
25766
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessWorkflow)) return c.json(require_dist$1.WorkflowSummaryDetailResponseSchema.parse(null));
@@ -26132,7 +26200,7 @@ function buildWorkflowCanvas(input) {
26132
26200
  //#region src/routes/account/workflows/[workflowId]/canvas/GET.ts
26133
26201
  /** Bumped when the annotation prompt/model changes, so cached annotations invalidate. */
26134
26202
  const ANNOTATIONS_GENERATOR_VERSION = "wf-canvas-annotations-v1";
26135
- const handler$76 = async (c) => {
26203
+ const handler$77 = async (c) => {
26136
26204
  const organization = c.get("organization");
26137
26205
  const workflowId = c.req.param("workflowId") ?? "";
26138
26206
  if (!workflowId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
@@ -26305,7 +26373,7 @@ function toBinding(key, description) {
26305
26373
  * each of its requirements currently binds to (read-only, no decryption). Not
26306
26374
  * content-hash cached — credential state changes without a redeploy.
26307
26375
  */
26308
- const handler$75 = async (c) => {
26376
+ const handler$76 = async (c) => {
26309
26377
  const workflowId = c.req.param("workflowId") ?? "";
26310
26378
  if (!workflowId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
26311
26379
  const resolved = await resolveWorkflow(c, workflowId);
@@ -26464,7 +26532,7 @@ function toCanvasRunStatus(status) {
26464
26532
  if (status === "canceled") return "canceled";
26465
26533
  return "running";
26466
26534
  }
26467
- const handler$74 = async (c) => {
26535
+ const handler$75 = async (c) => {
26468
26536
  const workflowId = c.req.param("workflowId") ?? "";
26469
26537
  const runId = c.req.param("runId") ?? "";
26470
26538
  if (!workflowId.trim() || !runId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid workflow or run id" }), 400);
@@ -26519,7 +26587,7 @@ async function loadWorkflowSource(organization, projectId, sourcePath) {
26519
26587
  return null;
26520
26588
  }
26521
26589
  }
26522
- const handler$73 = async (c) => {
26590
+ const handler$74 = async (c) => {
26523
26591
  const organization = c.get("organization");
26524
26592
  const workflowId = c.req.param("workflowId") ?? "";
26525
26593
  if (!workflowId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
@@ -26620,7 +26688,7 @@ const handler$73 = async (c) => {
26620
26688
  };
26621
26689
  //#endregion
26622
26690
  //#region src/routes/account/workflows/[workflowId]/run-inputs/GET.ts
26623
- const handler$72 = async (c) => {
26691
+ const handler$73 = async (c) => {
26624
26692
  const workflowId = c.req.param("workflowId") ?? "";
26625
26693
  if (!workflowId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
26626
26694
  const resolved = await resolveWorkflow(c, workflowId);
@@ -26635,7 +26703,7 @@ const handler$72 = async (c) => {
26635
26703
  };
26636
26704
  //#endregion
26637
26705
  //#region src/routes/account/workflows/[workflowId]/run-inputs/PUT.ts
26638
- const handler$71 = async (c) => {
26706
+ const handler$72 = async (c) => {
26639
26707
  const workflowId = c.req.param("workflowId") ?? "";
26640
26708
  if (!workflowId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
26641
26709
  const resolved = await resolveWorkflow(c, workflowId);
@@ -26667,7 +26735,7 @@ function parseRunInput(requestSchema, input) {
26667
26735
  * the active deploy's request schema, creates a pending run, and enqueues it on
26668
26736
  * the project's queue (drained by the project runtime worker). Returns the run id.
26669
26737
  */
26670
- const handler$70 = async (c) => {
26738
+ const handler$71 = async (c) => {
26671
26739
  const { organizationId } = c.get("organization");
26672
26740
  const workflowId = c.req.param("workflowId") ?? "";
26673
26741
  if (!workflowId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
@@ -26704,7 +26772,7 @@ const handler$70 = async (c) => {
26704
26772
  };
26705
26773
  //#endregion
26706
26774
  //#region src/routes/account/workflows/[workflowId]/runs/GET.ts
26707
- const handler$69 = async (c) => {
26775
+ const handler$70 = async (c) => {
26708
26776
  const workflowId = c.req.param("workflowId") ?? "";
26709
26777
  if (!workflowId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
26710
26778
  const resolved = await resolveWorkflow(c, workflowId);
@@ -26727,7 +26795,7 @@ const handler$69 = async (c) => {
26727
26795
  };
26728
26796
  //#endregion
26729
26797
  //#region src/routes/account/workflows/runs/[runId]/cancel/POST.ts
26730
- const handler$68 = (c) => cancelHistoryRun(c, "workflow", _keystrokehq_database.cancelWorkflowRun);
26798
+ const handler$69 = (c) => cancelHistoryRun(c, "workflow", _keystrokehq_database.cancelWorkflowRun);
26731
26799
  //#endregion
26732
26800
  //#region src/routes/account/resources/skills.ts
26733
26801
  function toSkillSummary(row) {
@@ -26744,7 +26812,7 @@ function toSkillSummary(row) {
26744
26812
  }
26745
26813
  //#endregion
26746
26814
  //#region src/routes/account/skills/GET.ts
26747
- const handler$67 = async (c) => {
26815
+ const handler$68 = async (c) => {
26748
26816
  const filter = await resolveListProjectIds(c, listScope(c, skillListScope(accessContext(c))), c.req.query("projectId"));
26749
26817
  if (filter === "empty") return c.json(require_dist$1.SkillSummaryListResponseSchema.parse([]));
26750
26818
  const rows = await (0, _keystrokehq_database.listActiveSkills)(filter);
@@ -26752,7 +26820,7 @@ const handler$67 = async (c) => {
26752
26820
  };
26753
26821
  //#endregion
26754
26822
  //#region src/routes/account/skills/[skillId]/GET.ts
26755
- const handler$66 = async (c) => {
26823
+ const handler$67 = async (c) => {
26756
26824
  const skillId = c.req.param("skillId") ?? "";
26757
26825
  const row = skillId ? await (0, _keystrokehq_database.selectActiveSkillById)(skillId) : void 0;
26758
26826
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessSkill)) return c.json(require_dist$1.SkillSummaryDetailResponseSchema.parse(null));
@@ -26861,7 +26929,7 @@ function toWorkspaceTriggerRunSummary(item, assignments) {
26861
26929
  }
26862
26930
  //#endregion
26863
26931
  //#region src/routes/account/triggers/GET.ts
26864
- const handler$65 = async (c) => {
26932
+ const handler$66 = async (c) => {
26865
26933
  const organization = c.get("organization");
26866
26934
  const scope = listScope(c, projectListScope(accessContext(c)));
26867
26935
  const filter = await resolveListProjectIds(c, scope, c.req.query("projectId"));
@@ -26873,7 +26941,7 @@ const handler$65 = async (c) => {
26873
26941
  };
26874
26942
  //#endregion
26875
26943
  //#region src/routes/account/triggers/[triggerId]/GET.ts
26876
- const handler$64 = async (c) => {
26944
+ const handler$65 = async (c) => {
26877
26945
  const organization = c.get("organization");
26878
26946
  const triggerId = c.req.param("triggerId") ?? "";
26879
26947
  if (!triggerId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -26889,7 +26957,7 @@ const handler$64 = async (c) => {
26889
26957
  };
26890
26958
  //#endregion
26891
26959
  //#region src/routes/account/triggers/[triggerId]/runs/GET.ts
26892
- const handler$63 = async (c) => {
26960
+ const handler$64 = async (c) => {
26893
26961
  const triggerId = c.req.param("triggerId") ?? "";
26894
26962
  if (!triggerId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
26895
26963
  const filter = await resolveListProjectIds(c, listScope(c, projectListScope(accessContext(c))));
@@ -26918,7 +26986,7 @@ const handler$63 = async (c) => {
26918
26986
  };
26919
26987
  //#endregion
26920
26988
  //#region src/routes/account/triggers/[triggerId]/file/GET.ts
26921
- const handler$62 = async (c) => {
26989
+ const handler$63 = async (c) => {
26922
26990
  const { organizationId } = c.get("organization");
26923
26991
  const triggerId = c.req.param("triggerId") ?? "";
26924
26992
  if (!triggerId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -26955,7 +27023,7 @@ function envelope(row, status, hash) {
26955
27023
  model: row.overviewModel ?? "deepseek/deepseek-v4-flash"
26956
27024
  });
26957
27025
  }
26958
- const handler$61 = async (c) => {
27026
+ const handler$62 = async (c) => {
26959
27027
  const { organizationId } = c.get("organization");
26960
27028
  const triggerId = c.req.param("triggerId") ?? "";
26961
27029
  if (!triggerId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -27015,7 +27083,7 @@ const handler$61 = async (c) => {
27015
27083
  };
27016
27084
  //#endregion
27017
27085
  //#region src/routes/account/triggers/[triggerId]/attachments/[attachmentId]/PATCH.ts
27018
- const handler$60 = async (c) => {
27086
+ const handler$61 = async (c) => {
27019
27087
  const organization = c.get("organization");
27020
27088
  const triggerId = c.req.param("triggerId") ?? "";
27021
27089
  const attachmentId = c.req.param("attachmentId") ?? "";
@@ -27085,7 +27153,7 @@ var InvokeHttpError = class extends Error {
27085
27153
  * Manually invoke a trigger from the dashboard or CLI. Validates webhook input against
27086
27154
  * stored attachment schemas, then enqueues a trigger job on the project's queue.
27087
27155
  */
27088
- const handler$59 = async (c) => {
27156
+ const handler$60 = async (c) => {
27089
27157
  const { organizationId } = c.get("organization");
27090
27158
  const triggerId = c.req.param("triggerId") ?? "";
27091
27159
  if (!triggerId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -27158,7 +27226,7 @@ const handler$59 = async (c) => {
27158
27226
  * Form metadata for the dashboard invoke popover: webhook request schemas and
27159
27227
  * cron's read-only static payload.
27160
27228
  */
27161
- const handler$58 = async (c) => {
27229
+ const handler$59 = async (c) => {
27162
27230
  const triggerId = c.req.param("triggerId") ?? "";
27163
27231
  if (!triggerId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
27164
27232
  const filter = await resolveListProjectIds(c, listScope(c, projectListScope(accessContext(c))));
@@ -27224,7 +27292,7 @@ function latestRecentInteractionAt(recent) {
27224
27292
  //#endregion
27225
27293
  //#region src/routes/account/recents/GET.ts
27226
27294
  const RECENTS_LIMIT = 50;
27227
- const handler$57 = async (c) => {
27295
+ const handler$58 = async (c) => {
27228
27296
  const userId = c.get("user").id;
27229
27297
  const organization = c.get("organization");
27230
27298
  const grantedProjectIdsList = await grantedProjectIds(c, { kind: "member-only" });
@@ -27250,7 +27318,7 @@ const handler$57 = async (c) => {
27250
27318
  };
27251
27319
  //#endregion
27252
27320
  //#region src/routes/account/projects/GET.ts
27253
- const handler$56 = async (c) => {
27321
+ const handler$57 = async (c) => {
27254
27322
  const organization = c.get("organization");
27255
27323
  const grantedProjectIdsList = await grantedProjectIds(c, listScope(c, projectListScope(accessContext(c))));
27256
27324
  const projects = await (0, _keystrokehq_platform_database.selectProjectsByOrganizationId)(organization.organizationId, { grantedProjectIds: grantedProjectIdsList });
@@ -27276,7 +27344,7 @@ function mergeProjectListMetrics(input) {
27276
27344
  }
27277
27345
  //#endregion
27278
27346
  //#region src/routes/account/projects/metrics/GET.ts
27279
- const handler$55 = async (c) => {
27347
+ const handler$56 = async (c) => {
27280
27348
  const organization = c.get("organization");
27281
27349
  const grantedProjectIdsList = await grantedProjectIds(c, listScope(c, projectListScope(accessContext(c))));
27282
27350
  const [resourceCounts, lastDeploymentAtByProject] = await Promise.all([(0, _keystrokehq_database.selectProjectResourceCounts)(grantedProjectIdsList !== void 0 ? { projectIds: grantedProjectIdsList } : void 0), (0, _keystrokehq_platform_database.selectLastDeploymentAtByProject)(organization.organizationId)]);
@@ -27292,7 +27360,7 @@ const handler$55 = async (c) => {
27292
27360
  };
27293
27361
  //#endregion
27294
27362
  //#region src/routes/account/projects/POST.ts
27295
- const handler$54 = async (c) => {
27363
+ const handler$55 = async (c) => {
27296
27364
  const organization = c.get("organization");
27297
27365
  const user = c.get("user");
27298
27366
  const body = await c.req.json().catch(() => null);
@@ -27303,7 +27371,7 @@ const handler$54 = async (c) => {
27303
27371
  };
27304
27372
  //#endregion
27305
27373
  //#region src/routes/account/projects/slug-available/GET.ts
27306
- const handler$53 = async (c) => {
27374
+ const handler$54 = async (c) => {
27307
27375
  const organization = c.get("organization");
27308
27376
  const parsed = require_dist$1.ProjectSlugAvailabilityQuerySchema.safeParse({
27309
27377
  slug: c.req.query("slug"),
@@ -27315,12 +27383,12 @@ const handler$53 = async (c) => {
27315
27383
  };
27316
27384
  //#endregion
27317
27385
  //#region src/routes/account/projects/[projectId]/GET.ts
27318
- const handler$52 = async (c) => {
27386
+ const handler$53 = async (c) => {
27319
27387
  return c.json(require_dist$1.ProjectResponseSchema.parse(routeProject(c.get("project"))));
27320
27388
  };
27321
27389
  //#endregion
27322
27390
  //#region src/routes/account/projects/[projectId]/PATCH.ts
27323
- const handler$51 = async (c) => {
27391
+ const handler$52 = async (c) => {
27324
27392
  const organization = c.get("organization");
27325
27393
  const project = c.get("project");
27326
27394
  const body = await c.req.json().catch(() => null);
@@ -27338,7 +27406,7 @@ const handler$51 = async (c) => {
27338
27406
  };
27339
27407
  //#endregion
27340
27408
  //#region src/routes/account/projects/[projectId]/DELETE.ts
27341
- const handler$50 = async (c) => {
27409
+ const handler$51 = async (c) => {
27342
27410
  const organization = c.get("organization");
27343
27411
  const project = c.get("project");
27344
27412
  if (!await (0, _keystrokehq_platform_database.deleteProjectForOrganization)(organization.organizationId, project.id)) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Project not found" }), 404);
@@ -27346,7 +27414,7 @@ const handler$50 = async (c) => {
27346
27414
  };
27347
27415
  //#endregion
27348
27416
  //#region src/routes/account/projects/[projectId]/deployments/GET.ts
27349
- const handler$49 = async (c) => {
27417
+ const handler$50 = async (c) => {
27350
27418
  const rows = await (0, _keystrokehq_platform_database.selectProjectDeployments)(c.get("project").id);
27351
27419
  return c.json(require_dist$1.ListProjectDeploymentsResponseSchema.parse(rows.map(require_dist$1.mapProjectDeployment)));
27352
27420
  };
@@ -27354,7 +27422,7 @@ const handler$49 = async (c) => {
27354
27422
  //#region src/routes/account/projects/[projectId]/artifacts/POST.ts
27355
27423
  const DEFAULT_PRESIGN_TTL_SECONDS$1 = 900;
27356
27424
  const ARTIFACT_CONTENT_TYPE = "application/gzip";
27357
- const handler$48 = async (c) => {
27425
+ const handler$49 = async (c) => {
27358
27426
  const project = c.get("project");
27359
27427
  const { organizationId } = c.get("organization");
27360
27428
  const organization = await (0, _keystrokehq_platform_database.selectOrganizationById)(organizationId);
@@ -27382,7 +27450,7 @@ const handler$48 = async (c) => {
27382
27450
  //#endregion
27383
27451
  //#region src/routes/account/projects/[projectId]/artifacts/active/download/GET.ts
27384
27452
  const DEFAULT_PRESIGN_TTL_SECONDS = 900;
27385
- const handler$47 = async (c) => {
27453
+ const handler$48 = async (c) => {
27386
27454
  const project = c.get("project");
27387
27455
  const { organizationId } = c.get("organization");
27388
27456
  const organization = await (0, _keystrokehq_platform_database.selectOrganizationById)(organizationId);
@@ -27401,7 +27469,7 @@ const handler$47 = async (c) => {
27401
27469
  };
27402
27470
  //#endregion
27403
27471
  //#region src/routes/account/projects/[projectId]/artifacts/active/source/GET.ts
27404
- const handler$46 = async (c) => {
27472
+ const handler$47 = async (c) => {
27405
27473
  const project = c.get("project");
27406
27474
  const active = await (0, _keystrokehq_platform_database.selectActiveArtifactSourceManifestForProject)(project.id);
27407
27475
  if (!active?.sourceManifestJson) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "No active source for project" }), 404);
@@ -27424,7 +27492,7 @@ const handler$46 = async (c) => {
27424
27492
  };
27425
27493
  //#endregion
27426
27494
  //#region src/routes/account/projects/[projectId]/artifacts/[artifactId]/complete/POST.ts
27427
- const handler$45 = async (c) => {
27495
+ const handler$46 = async (c) => {
27428
27496
  const project = c.get("project");
27429
27497
  const artifactId = c.req.param("artifactId");
27430
27498
  if (!artifactId) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Artifact id is required" }), 400);
@@ -27464,7 +27532,7 @@ const handler$45 = async (c) => {
27464
27532
  //#endregion
27465
27533
  //#region src/routes/account/projects/[projectId]/artifacts/[artifactId]/source/presign/POST.ts
27466
27534
  const SOURCE_BLOB_CONTENT_TYPE = "text/plain; charset=utf-8";
27467
- const handler$44 = async (c) => {
27535
+ const handler$45 = async (c) => {
27468
27536
  const project = c.get("project");
27469
27537
  const artifactId = c.req.param("artifactId");
27470
27538
  if (!artifactId) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Artifact id is required" }), 400);
@@ -27492,7 +27560,7 @@ const handler$44 = async (c) => {
27492
27560
  };
27493
27561
  //#endregion
27494
27562
  //#region src/routes/account/projects/[projectId]/artifacts/[artifactId]/source/manifest/POST.ts
27495
- const handler$43 = async (c) => {
27563
+ const handler$44 = async (c) => {
27496
27564
  const project = c.get("project");
27497
27565
  const artifactId = c.req.param("artifactId");
27498
27566
  if (!artifactId) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Artifact id is required" }), 400);
@@ -27524,7 +27592,7 @@ function extensionFromUpload(contentType, filename) {
27524
27592
  if (fromName && /^[a-z0-9]+$/.test(fromName)) return fromName;
27525
27593
  return require_dist$1.chatAttachmentExtension(contentType) ?? "bin";
27526
27594
  }
27527
- const handler$42 = async (c) => {
27595
+ const handler$43 = async (c) => {
27528
27596
  const project = c.get("project");
27529
27597
  const slug = c.req.param("slug");
27530
27598
  if (!slug) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Agent slug is required" }), 400);
@@ -27549,7 +27617,7 @@ const handler$42 = async (c) => {
27549
27617
  };
27550
27618
  //#endregion
27551
27619
  //#region src/routes/account/projects/[projectId]/agents/[slug]/attachments/[...key]/GET.ts
27552
- const handler$41 = async (c) => {
27620
+ const handler$42 = async (c) => {
27553
27621
  const project = c.get("project");
27554
27622
  const slug = c.req.param("slug");
27555
27623
  const keyParam = c.req.param("key");
@@ -27595,7 +27663,7 @@ function resolveSourcePaths(rows, kindDir, filePaths) {
27595
27663
  }] : [];
27596
27664
  });
27597
27665
  }
27598
- const handler$40 = async (c) => {
27666
+ const handler$41 = async (c) => {
27599
27667
  const project = c.get("project");
27600
27668
  const active = await (0, _keystrokehq_platform_database.selectActiveArtifactSourceManifestForProject)(project.id);
27601
27669
  if (!active || !active.sourceManifestJson) return c.json(require_dist$1.ListProjectFilesResponseSchema.parse({
@@ -27640,7 +27708,7 @@ function ifNoneMatchMatches(ifNoneMatch, etag) {
27640
27708
  }
27641
27709
  //#endregion
27642
27710
  //#region src/routes/account/projects/[projectId]/artifacts/[artifactId]/files/content/GET.ts
27643
- const handler$39 = async (c) => {
27711
+ const handler$40 = async (c) => {
27644
27712
  const project = c.get("project");
27645
27713
  const artifactId = c.req.param("artifactId");
27646
27714
  if (!artifactId) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Artifact id is required" }), 400);
@@ -27686,7 +27754,7 @@ function createProjectReachabilityHandler(hosting) {
27686
27754
  }
27687
27755
  //#endregion
27688
27756
  //#region src/routes/account/projects/[projectId]/members/GET.ts
27689
- const handler$38 = async (c) => {
27757
+ const handler$39 = async (c) => {
27690
27758
  const project = c.get("project");
27691
27759
  const currentUserId = c.get("user").id;
27692
27760
  const members = await (0, _keystrokehq_platform_database.selectProjectMembers)(project.id);
@@ -27694,7 +27762,7 @@ const handler$38 = async (c) => {
27694
27762
  };
27695
27763
  //#endregion
27696
27764
  //#region src/routes/account/projects/[projectId]/members/POST.ts
27697
- const handler$37 = async (c) => {
27765
+ const handler$38 = async (c) => {
27698
27766
  const organization = c.get("organization");
27699
27767
  const project = c.get("project");
27700
27768
  const body = await c.req.json().catch(() => null);
@@ -27710,7 +27778,7 @@ const handler$37 = async (c) => {
27710
27778
  };
27711
27779
  //#endregion
27712
27780
  //#region src/routes/account/projects/[projectId]/members/[userId]/PATCH.ts
27713
- const handler$36 = async (c) => {
27781
+ const handler$37 = async (c) => {
27714
27782
  const project = c.get("project");
27715
27783
  const userId = c.req.param("userId");
27716
27784
  const body = await c.req.json().catch(() => null);
@@ -27727,7 +27795,7 @@ const handler$36 = async (c) => {
27727
27795
  };
27728
27796
  //#endregion
27729
27797
  //#region src/routes/account/projects/[projectId]/members/[userId]/DELETE.ts
27730
- const handler$35 = async (c) => {
27798
+ const handler$36 = async (c) => {
27731
27799
  const project = c.get("project");
27732
27800
  const userId = c.req.param("userId");
27733
27801
  if (!userId) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "User id is required" }), 400);
@@ -27741,7 +27809,7 @@ const handler$35 = async (c) => {
27741
27809
  };
27742
27810
  //#endregion
27743
27811
  //#region src/routes/account/projects/[projectId]/members/me/DELETE.ts
27744
- const handler$34 = async (c) => {
27812
+ const handler$35 = async (c) => {
27745
27813
  const project = c.get("project");
27746
27814
  const userId = c.get("user").id;
27747
27815
  try {
@@ -27754,13 +27822,13 @@ const handler$34 = async (c) => {
27754
27822
  };
27755
27823
  //#endregion
27756
27824
  //#region src/routes/account/projects/[projectId]/settings/GET.ts
27757
- const handler$33 = async (c) => {
27825
+ const handler$34 = async (c) => {
27758
27826
  const project = c.get("project");
27759
27827
  return c.json(require_dist$1.ProjectSettingsResponseSchema.parse(require_dist$1.mapProjectSettings(project)));
27760
27828
  };
27761
27829
  //#endregion
27762
27830
  //#region src/routes/account/projects/[projectId]/settings/PATCH.ts
27763
- const handler$32 = async (c) => {
27831
+ const handler$33 = async (c) => {
27764
27832
  const organization = c.get("organization");
27765
27833
  const project = c.get("project");
27766
27834
  const body = await c.req.json().catch(() => null);
@@ -27882,7 +27950,7 @@ async function enrichCredentialInstances(rows, organizationId) {
27882
27950
  }
27883
27951
  //#endregion
27884
27952
  //#region src/routes/account/credentials/GET.ts
27885
- const handler$31 = async (c) => {
27953
+ const handler$32 = async (c) => {
27886
27954
  const organization = c.get("organization");
27887
27955
  const user = c.get("user");
27888
27956
  const query = require_dist$1.ListCredentialsPageQuerySchema.parse({
@@ -27911,7 +27979,7 @@ function withTargetScope(target, fn) {
27911
27979
  if (target.projectScope) return (0, _keystrokehq_database.runWithProjectScope)(target.projectScope, fn);
27912
27980
  return fn();
27913
27981
  }
27914
- const handler$30 = async (c) => {
27982
+ const handler$31 = async (c) => {
27915
27983
  const organization = c.get("organization");
27916
27984
  const user = c.get("user");
27917
27985
  const parsed = require_dist$1.CreateCredentialsRequestSchema.safeParse(await c.req.json().catch(() => null));
@@ -27992,7 +28060,7 @@ const handler$30 = async (c) => {
27992
28060
  };
27993
28061
  //#endregion
27994
28062
  //#region src/routes/account/credentials/[credentialId]/GET.ts
27995
- const handler$29 = async (c) => {
28063
+ const handler$30 = async (c) => {
27996
28064
  const organization = c.get("organization");
27997
28065
  const credentialId = c.req.param("credentialId") ?? "";
27998
28066
  const row = credentialId ? await (0, _keystrokehq_database.selectCredentialInstanceById)(credentialId) : void 0;
@@ -28002,7 +28070,7 @@ const handler$29 = async (c) => {
28002
28070
  };
28003
28071
  //#endregion
28004
28072
  //#region src/routes/account/credentials/[credentialId]/PATCH.ts
28005
- const handler$28 = async (c) => {
28073
+ const handler$29 = async (c) => {
28006
28074
  const organization = c.get("organization");
28007
28075
  const user = c.get("user");
28008
28076
  const credentialId = c.req.param("credentialId") ?? "";
@@ -28100,7 +28168,7 @@ function createDeleteCredentialHandler(options = {}) {
28100
28168
  }
28101
28169
  //#endregion
28102
28170
  //#region src/routes/account/members/GET.ts
28103
- const handler$27 = async (c) => {
28171
+ const handler$28 = async (c) => {
28104
28172
  const { organizationId } = c.get("organization");
28105
28173
  const query = require_dist$1.ListOrganizationMembersPageQuerySchema.parse({
28106
28174
  limit: c.req.query("limit") || void 0,
@@ -28158,7 +28226,7 @@ async function sendOrganizationInviteEmail(payload, resend$1) {
28158
28226
  }
28159
28227
  //#endregion
28160
28228
  //#region src/routes/account/members/invitations/POST.ts
28161
- const handler$26 = async (c) => {
28229
+ const handler$27 = async (c) => {
28162
28230
  const user = c.get("user");
28163
28231
  const organization = c.get("organization");
28164
28232
  const body = await c.req.json().catch(() => null);
@@ -28184,7 +28252,7 @@ const handler$26 = async (c) => {
28184
28252
  };
28185
28253
  //#endregion
28186
28254
  //#region src/routes/account/members/[userId]/PATCH.ts
28187
- const handler$25 = async (c) => {
28255
+ const handler$26 = async (c) => {
28188
28256
  const { organizationId } = c.get("organization");
28189
28257
  const userId = c.req.param("userId");
28190
28258
  const body = await c.req.json().catch(() => null);
@@ -28201,7 +28269,7 @@ const handler$25 = async (c) => {
28201
28269
  };
28202
28270
  //#endregion
28203
28271
  //#region src/routes/account/members/[userId]/DELETE.ts
28204
- const handler$24 = async (c) => {
28272
+ const handler$25 = async (c) => {
28205
28273
  const { organizationId } = c.get("organization");
28206
28274
  const userId = c.req.param("userId");
28207
28275
  if (!userId) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "User id is required" }), 400);
@@ -28215,13 +28283,13 @@ const handler$24 = async (c) => {
28215
28283
  };
28216
28284
  //#endregion
28217
28285
  //#region src/routes/account/invitations/GET.ts
28218
- const handler$23 = async (c) => {
28286
+ const handler$24 = async (c) => {
28219
28287
  const invitations = await (0, _keystrokehq_platform_database.selectPendingInvitationsForUser)(c.get("user").id);
28220
28288
  return c.json(require_dist$1.ListOrganizationInvitationsResponseSchema.parse(invitations.map(require_dist$1.mapOrganizationInvitation)));
28221
28289
  };
28222
28290
  //#endregion
28223
28291
  //#region src/routes/account/invitations/[invitationId]/accept/POST.ts
28224
- const handler$22 = async (c) => {
28292
+ const handler$23 = async (c) => {
28225
28293
  const user = c.get("user");
28226
28294
  const invitationId = c.req.param("invitationId");
28227
28295
  if (!invitationId) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invitation id is required" }), 400);
@@ -28237,7 +28305,7 @@ const handler$22 = async (c) => {
28237
28305
  };
28238
28306
  //#endregion
28239
28307
  //#region src/routes/account/invitations/[invitationId]/decline/POST.ts
28240
- const handler$21 = async (c) => {
28308
+ const handler$22 = async (c) => {
28241
28309
  const user = c.get("user");
28242
28310
  const invitationId = c.req.param("invitationId");
28243
28311
  if (!invitationId) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invitation id is required" }), 400);
@@ -28323,13 +28391,13 @@ function appRowToCustomAppDetail(row) {
28323
28391
  }
28324
28392
  //#endregion
28325
28393
  //#region src/routes/account/apps/GET.ts
28326
- const handler$20 = async (c) => {
28394
+ const handler$21 = async (c) => {
28327
28395
  const apps = (await (0, _keystrokehq_platform_database.listAppsForOrganization)(c.get("organization").organizationId)).map(appRowToCatalogSummary);
28328
28396
  return c.json(require_dist$1.ListAppsResponseSchema.parse(apps));
28329
28397
  };
28330
28398
  //#endregion
28331
28399
  //#region src/routes/account/apps/POST.ts
28332
- const handler$19 = async (c) => {
28400
+ const handler$20 = async (c) => {
28333
28401
  const organization = c.get("organization");
28334
28402
  const parsed = require_dist$1.CreateCustomAppRequestSchema.safeParse(await c.req.json().catch(() => null));
28335
28403
  if (!parsed.success) {
@@ -28362,7 +28430,7 @@ const handler$19 = async (c) => {
28362
28430
  };
28363
28431
  //#endregion
28364
28432
  //#region src/routes/account/apps/discover/POST.ts
28365
- const handler$18 = async (c) => {
28433
+ const handler$19 = async (c) => {
28366
28434
  const parsed = require_dist$1.McpDiscoverRequestSchema.safeParse(await c.req.json().catch(() => null));
28367
28435
  if (!parsed.success) return c.json({ error: "Invalid request body" }, 400);
28368
28436
  try {
@@ -28376,7 +28444,7 @@ const handler$18 = async (c) => {
28376
28444
  };
28377
28445
  //#endregion
28378
28446
  //#region src/routes/account/apps/discover-openapi/POST.ts
28379
- const handler$17 = async (c) => {
28447
+ const handler$18 = async (c) => {
28380
28448
  const parsed = require_dist$1.OpenApiDiscoverRequestSchema.safeParse(await c.req.json().catch(() => null));
28381
28449
  if (!parsed.success) return c.json({ error: "Invalid request body" }, 400);
28382
28450
  try {
@@ -28389,7 +28457,7 @@ const handler$17 = async (c) => {
28389
28457
  };
28390
28458
  //#endregion
28391
28459
  //#region src/routes/account/apps/discover-graphql/POST.ts
28392
- const handler$16 = async (c) => {
28460
+ const handler$17 = async (c) => {
28393
28461
  const parsed = require_dist$1.GraphqlDiscoverRequestSchema.safeParse(await c.req.json().catch(() => null));
28394
28462
  if (!parsed.success) return c.json({ error: "Invalid request body" }, 400);
28395
28463
  try {
@@ -28402,7 +28470,7 @@ const handler$16 = async (c) => {
28402
28470
  };
28403
28471
  //#endregion
28404
28472
  //#region src/routes/account/apps/[slug]/mcp/oauth/connections/POST.ts
28405
- const handler$15 = async (c) => {
28473
+ const handler$16 = async (c) => {
28406
28474
  const organization = c.get("organization");
28407
28475
  const user = c.get("user");
28408
28476
  const appSlug = c.req.param("slug")?.trim();
@@ -28414,8 +28482,9 @@ const handler$15 = async (c) => {
28414
28482
  if (!parsed.success) return c.json({ error: "Invalid request body" }, 400);
28415
28483
  const app = await (0, _keystrokehq_platform_database.selectAppForOrganization)(organization.organizationId, appSlug);
28416
28484
  if (!app || app.source !== "mcp" || app.authKind !== "oauth") return c.json({ error: "App not found" }, 404);
28417
- const platformOrigin = (0, _keystrokehq_http.externalPlatformOrigin)();
28418
- if (!platformOrigin) return c.json({ error: "PUBLIC_PLATFORM_URL is not configured" }, 500);
28485
+ const redirectUri = resolveMcpOAuthCallbackUrl();
28486
+ const clientMetadataUrl = resolveOAuthClientMetadataUrl();
28487
+ if (!redirectUri) return c.json({ error: "PUBLIC_PLATFORM_URL is not configured" }, 500);
28419
28488
  const projectIds = [];
28420
28489
  const projectNamesById = {};
28421
28490
  for (const slug of parsed.data.projects ?? []) {
@@ -28430,7 +28499,8 @@ const handler$15 = async (c) => {
28430
28499
  input: parsed.data,
28431
28500
  organizationId: organization.organizationId,
28432
28501
  userId: user.id,
28433
- redirectUri: `${platformOrigin.replace(/\/+$/, "")}/api/mcp/oauth/callback`,
28502
+ redirectUri,
28503
+ clientMetadataUrl,
28434
28504
  scopeTargets: {
28435
28505
  projectIds,
28436
28506
  projectNamesById,
@@ -28460,7 +28530,7 @@ function buildOAuthWebLandingUrl(webOrigin, params) {
28460
28530
  }
28461
28531
  //#endregion
28462
28532
  //#region src/routes/account/mcp/oauth/callback/GET.ts
28463
- const handler$14 = async (c) => {
28533
+ const handler$15 = async (c) => {
28464
28534
  const code = c.req.query("code")?.trim();
28465
28535
  const state = c.req.query("state")?.trim();
28466
28536
  const oauthError = c.req.query("error")?.trim();
@@ -28508,7 +28578,7 @@ const handler$14 = async (c) => {
28508
28578
  };
28509
28579
  //#endregion
28510
28580
  //#region src/routes/account/apps/slug-available/GET.ts
28511
- const handler$13 = async (c) => {
28581
+ const handler$14 = async (c) => {
28512
28582
  const organization = c.get("organization");
28513
28583
  const parsed = require_dist$1.AppSlugAvailabilityQuerySchema.safeParse({ slug: c.req.query("slug") });
28514
28584
  if (!parsed.success) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid slug query" }), 400);
@@ -28519,7 +28589,7 @@ const handler$13 = async (c) => {
28519
28589
  };
28520
28590
  //#endregion
28521
28591
  //#region src/routes/account/apps/[slug]/GET.ts
28522
- const handler$12 = async (c) => {
28592
+ const handler$13 = async (c) => {
28523
28593
  const organization = c.get("organization");
28524
28594
  const slug = c.req.param("slug") ?? "";
28525
28595
  if (!slug) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "App not found" }), 404);
@@ -28534,7 +28604,7 @@ const handler$12 = async (c) => {
28534
28604
  //#endregion
28535
28605
  //#region src/routes/account/apps/[slug]/catalog/GET.ts
28536
28606
  /** Full catalog entry (scopes + credential template) for connect UI. */
28537
- const handler$11 = async (c) => {
28607
+ const handler$12 = async (c) => {
28538
28608
  const organization = c.get("organization");
28539
28609
  const slug = c.req.param("slug") ?? "";
28540
28610
  if (!slug) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "App not found" }), 404);
@@ -28567,14 +28637,14 @@ function projectChannelPlatform(row) {
28567
28637
  });
28568
28638
  }
28569
28639
  /** Gateway platforms only — avoids downloading the full apps catalog. */
28570
- const handler$10 = async (c) => {
28640
+ const handler$11 = async (c) => {
28571
28641
  const organization = c.get("organization");
28572
28642
  const platforms = (await Promise.all(Object.keys(GATEWAY_BY_APP_SLUG).map((slug) => (0, _keystrokehq_platform_database.selectAppForOrganization)(organization.organizationId, slug)))).flatMap((row) => row ? [projectChannelPlatform(row)] : []);
28573
28643
  return c.json(require_dist$1.ListChannelPlatformsResponseSchema.parse(platforms));
28574
28644
  };
28575
28645
  //#endregion
28576
28646
  //#region src/routes/account/api-keys/GET.ts
28577
- const handler$9 = async (c) => {
28647
+ const handler$10 = async (c) => {
28578
28648
  const { organizationId } = c.get("organization");
28579
28649
  const user = c.get("user");
28580
28650
  const records = apiKeyListScope(accessContext(c)).kind === "all" ? await (0, _keystrokehq_platform_database.listOrgPlatformApiKeysForOrganization)(organizationId) : await (0, _keystrokehq_platform_database.listOrgPlatformApiKeysForUser)(organizationId, user.id);
@@ -28591,7 +28661,7 @@ const handler$9 = async (c) => {
28591
28661
  };
28592
28662
  //#endregion
28593
28663
  //#region src/routes/account/api-keys/POST.ts
28594
- const handler$8 = async (c) => {
28664
+ const handler$9 = async (c) => {
28595
28665
  const { organizationId } = c.get("organization");
28596
28666
  const user = c.get("user");
28597
28667
  const body = require_dist$1.CreateApiKeyRequestSchema.parse(await c.req.json());
@@ -28614,7 +28684,7 @@ const handler$8 = async (c) => {
28614
28684
  };
28615
28685
  //#endregion
28616
28686
  //#region src/routes/account/api-keys/[apiKeyId]/DELETE.ts
28617
- const handler$7 = async (c) => {
28687
+ const handler$8 = async (c) => {
28618
28688
  const { organizationId } = c.get("organization");
28619
28689
  const user = c.get("user");
28620
28690
  const apiKeyId = c.req.param("apiKeyId");
@@ -28639,7 +28709,7 @@ const handler$7 = async (c) => {
28639
28709
  };
28640
28710
  //#endregion
28641
28711
  //#region src/routes/account/managed-service-credentials/GET.ts
28642
- const handler$6 = async (c) => {
28712
+ const handler$7 = async (c) => {
28643
28713
  const { organizationId } = c.get("organization");
28644
28714
  const user = c.get("user");
28645
28715
  const kindParam = c.req.query("kind");
@@ -28659,7 +28729,7 @@ const handler$6 = async (c) => {
28659
28729
  };
28660
28730
  //#endregion
28661
28731
  //#region src/routes/account/managed-service-credentials/POST.ts
28662
- const handler$5 = async (c) => {
28732
+ const handler$6 = async (c) => {
28663
28733
  const { organizationId } = c.get("organization");
28664
28734
  const user = c.get("user");
28665
28735
  const body = require_dist$1.ConnectManagedServiceCredentialRequestSchema.parse(await c.req.json());
@@ -28688,7 +28758,7 @@ const handler$5 = async (c) => {
28688
28758
  };
28689
28759
  //#endregion
28690
28760
  //#region src/routes/account/managed-service-credentials/[id]/PATCH.ts
28691
- const handler$4 = async (c) => {
28761
+ const handler$5 = async (c) => {
28692
28762
  const { organizationId } = c.get("organization");
28693
28763
  const user = c.get("user");
28694
28764
  const credentialId = c.req.param("id");
@@ -28719,7 +28789,7 @@ const handler$4 = async (c) => {
28719
28789
  };
28720
28790
  //#endregion
28721
28791
  //#region src/routes/account/managed-service-credentials/[id]/DELETE.ts
28722
- const handler$3 = async (c) => {
28792
+ const handler$4 = async (c) => {
28723
28793
  const { organizationId } = c.get("organization");
28724
28794
  const credentialId = c.req.param("id");
28725
28795
  if (!credentialId) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Credential id is required" }), 400);
@@ -28788,7 +28858,7 @@ async function postTeamRequestToSlack(input) {
28788
28858
  }
28789
28859
  //#endregion
28790
28860
  //#region src/routes/account/team-requests/POST.ts
28791
- const handler$2 = async (c) => {
28861
+ const handler$3 = async (c) => {
28792
28862
  const user = c.get("user");
28793
28863
  const organizationContext = c.get("organization");
28794
28864
  const parsed = require_dist$1.SubmitTeamRequestRequestSchema.safeParse(await c.req.json().catch(() => null));
@@ -28827,7 +28897,7 @@ function mountAccountRoutes(options) {
28827
28897
  const projectScoped = new hono.Hono();
28828
28898
  const protect = requireSession((0, _keystrokehq_auth.createDefaultAuthJwtVerifier)());
28829
28899
  const deleteCredential = createDeleteCredentialHandler({ mcp: options.mcp });
28830
- account.get("/mcp/oauth/callback", handler$14);
28900
+ account.get("/mcp/oauth/callback", handler$15);
28831
28901
  account.use("/*", protect);
28832
28902
  orgScoped.use("/*", protect);
28833
28903
  orgScoped.use("/*", requireOrganization());
@@ -28849,107 +28919,107 @@ function mountAccountRoutes(options) {
28849
28919
  const requireProjectManageMembers = authorize(projectActions.manageMembers);
28850
28920
  const requireInvitableProjectRole = authorizePayload(require_dist$1.InviteProjectMembersRequestSchema, ({ c, ctx, body }) => canInviteToProject(ctx, { invitePermission: getProjectInvitePermission(c) }, body.role));
28851
28921
  const requireOrgParam = requireOrganizationParam();
28852
- account.get("/organizations", handler$94);
28853
- account.get("/organizations/slug-available", handler$93);
28922
+ account.get("/organizations", handler$95);
28923
+ account.get("/organizations/slug-available", handler$94);
28854
28924
  account.post("/organizations", createOrganizationHandler(options));
28855
- account.get("/organizations/:organizationId", requireOrgParam, handler$92);
28856
- account.patch("/organizations/:organizationId", requireOrgParam, requireOrgUpdate, handler$91);
28857
- account.get("/organizations/:organizationId/branding", requireOrgParam, handler$90);
28858
- account.patch("/organizations/:organizationId/branding", requireOrgParam, requireOrgUpdate, handler$89);
28859
- account.post("/organizations/:organizationId/branding/logo/presign", requireOrgParam, requireOrgUpdate, handler$88);
28860
- account.get("/invitations", handler$23);
28861
- account.post("/invitations/:invitationId/accept", handler$22);
28862
- account.post("/invitations/:invitationId/decline", handler$21);
28863
- account.get("/users/me/avatar", handler$99);
28864
- account.post("/users/me/avatar/presign", handler$98);
28865
- account.patch("/users/me/avatar", handler$97);
28866
- account.get("/users/me/preferences", handler$96);
28867
- account.patch("/users/me/preferences", handler$95);
28925
+ account.get("/organizations/:organizationId", requireOrgParam, handler$93);
28926
+ account.patch("/organizations/:organizationId", requireOrgParam, requireOrgUpdate, handler$92);
28927
+ account.get("/organizations/:organizationId/branding", requireOrgParam, handler$91);
28928
+ account.patch("/organizations/:organizationId/branding", requireOrgParam, requireOrgUpdate, handler$90);
28929
+ account.post("/organizations/:organizationId/branding/logo/presign", requireOrgParam, requireOrgUpdate, handler$89);
28930
+ account.get("/invitations", handler$24);
28931
+ account.post("/invitations/:invitationId/accept", handler$23);
28932
+ account.post("/invitations/:invitationId/decline", handler$22);
28933
+ account.get("/users/me/avatar", handler$100);
28934
+ account.post("/users/me/avatar/presign", handler$99);
28935
+ account.patch("/users/me/avatar", handler$98);
28936
+ account.get("/users/me/preferences", handler$97);
28937
+ account.patch("/users/me/preferences", handler$96);
28868
28938
  const withOrgDb = withOrganizationProjectDatabase();
28869
- orgScoped.get("/apps", handler$20);
28870
- orgScoped.get("/apps/slug-available", handler$13);
28871
- orgScoped.get("/channel-platforms", handler$10);
28872
- orgScoped.post("/apps/discover", requireOrgUpdate, handler$18);
28873
- orgScoped.post("/apps/discover-openapi", requireOrgUpdate, handler$17);
28874
- orgScoped.post("/apps/discover-graphql", requireOrgUpdate, handler$16);
28875
- orgScoped.post("/apps", requireOrgUpdate, handler$19);
28876
- orgScoped.post("/apps/:slug/mcp/oauth/connections", requireOrgUpdate, withOrgDb, handler$15);
28877
- orgScoped.get("/apps/:slug/catalog", handler$11);
28878
- orgScoped.get("/apps/:slug", handler$12);
28879
- account.post("/team-requests", requireOrganization(), handler$2);
28880
- orgScoped.get("/members", handler$27);
28881
- orgScoped.post("/members/invitations", requireUserInvite, requireInvitableRole, handler$26);
28882
- orgScoped.patch("/members/:userId", requireUserManage, handler$25);
28883
- orgScoped.delete("/members/:userId", requireUserManage, handler$24);
28884
- orgScoped.get("/api-keys", handler$9);
28885
- orgScoped.post("/api-keys", requireApiKeyCreate, handler$8);
28886
- orgScoped.delete("/api-keys/:apiKeyId", handler$7);
28887
- orgScoped.get("/managed-service-credentials", requireManagedServicesRead, handler$6);
28888
- orgScoped.post("/managed-service-credentials", requireManagedServicesManage, handler$5);
28889
- orgScoped.patch("/managed-service-credentials/:id", requireManagedServicesManage, handler$4);
28890
- orgScoped.delete("/managed-service-credentials/:id", requireManagedServicesManage, handler$3);
28891
- orgScoped.get("/agents", withOrgDb, handler$85);
28892
- orgScoped.get("/agents/:agentId", withOrgDb, handler$84);
28893
- orgScoped.get("/agents/:agentId/memory/files", withOrgDb, handler$83);
28894
- orgScoped.get("/agents/:agentId/memory/files/content", withOrgDb, handler$82);
28895
- orgScoped.get("/agents/:agentId/workspace/files", withOrgDb, handler$81);
28896
- orgScoped.get("/agents/:agentId/workspace/files/content", withOrgDb, handler$80);
28897
- orgScoped.get("/workflows", withOrgDb, handler$78);
28898
- orgScoped.get("/workflows/:workflowId", withOrgDb, handler$77);
28899
- orgScoped.get("/workflows/:workflowId/canvas", withOrgDb, handler$76);
28900
- orgScoped.get("/workflows/:workflowId/canvas/credentials", withOrgDb, handler$75);
28901
- orgScoped.get("/workflows/:workflowId/canvas/runs/:runId", withOrgDb, handler$74);
28902
- orgScoped.get("/workflows/:workflowId/overview", withOrgDb, handler$73);
28903
- orgScoped.get("/workflows/:workflowId/runs", withOrgDb, handler$69);
28904
- orgScoped.get("/workflows/:workflowId/run-inputs", withOrgDb, handler$72);
28905
- orgScoped.put("/workflows/:workflowId/run-inputs", withOrgDb, handler$71);
28906
- orgScoped.post("/workflows/:workflowId/run", withOrgDb, handler$70);
28907
- orgScoped.get("/skills", withOrgDb, handler$67);
28908
- orgScoped.get("/skills/:skillId", withOrgDb, handler$66);
28909
- orgScoped.get("/triggers", withOrgDb, handler$65);
28910
- orgScoped.get("/triggers/:triggerId", withOrgDb, handler$64);
28911
- orgScoped.get("/triggers/:triggerId/runs", withOrgDb, handler$63);
28912
- orgScoped.get("/triggers/:triggerId/file", withOrgDb, handler$62);
28913
- orgScoped.get("/triggers/:triggerId/overview", withOrgDb, handler$61);
28914
- orgScoped.get("/triggers/:triggerId/invoke-inputs", withOrgDb, handler$58);
28915
- orgScoped.post("/triggers/:triggerId/invoke", withOrgDb, handler$59);
28916
- orgScoped.patch("/triggers/:triggerId/attachments/:attachmentId", withOrgDb, handler$60);
28917
- orgScoped.get("/recents", withOrgDb, handler$57);
28918
- orgScoped.get("/history", withOrgDb, handler$87);
28919
- orgScoped.get("/history/:runId", withOrgDb, handler$86);
28920
- orgScoped.post("/workflows/runs/:runId/cancel", withOrgDb, handler$68);
28921
- orgScoped.post("/agents/sessions/:sessionId/cancel", withOrgDb, handler$79);
28922
- orgScoped.get("/credentials", withOrgDb, handler$31);
28923
- orgScoped.post("/credentials", withOrgDb, handler$30);
28924
- orgScoped.get("/credentials/:credentialId", withOrgDb, (c, next) => c.req.param("credentialId") === "instances" ? next() : handler$29(c, next));
28925
- orgScoped.patch("/credentials/:credentialId", withOrgDb, handler$28);
28939
+ orgScoped.get("/apps", handler$21);
28940
+ orgScoped.get("/apps/slug-available", handler$14);
28941
+ orgScoped.get("/channel-platforms", handler$11);
28942
+ orgScoped.post("/apps/discover", requireOrgUpdate, handler$19);
28943
+ orgScoped.post("/apps/discover-openapi", requireOrgUpdate, handler$18);
28944
+ orgScoped.post("/apps/discover-graphql", requireOrgUpdate, handler$17);
28945
+ orgScoped.post("/apps", requireOrgUpdate, handler$20);
28946
+ orgScoped.post("/apps/:slug/mcp/oauth/connections", requireOrgUpdate, withOrgDb, handler$16);
28947
+ orgScoped.get("/apps/:slug/catalog", handler$12);
28948
+ orgScoped.get("/apps/:slug", handler$13);
28949
+ account.post("/team-requests", requireOrganization(), handler$3);
28950
+ orgScoped.get("/members", handler$28);
28951
+ orgScoped.post("/members/invitations", requireUserInvite, requireInvitableRole, handler$27);
28952
+ orgScoped.patch("/members/:userId", requireUserManage, handler$26);
28953
+ orgScoped.delete("/members/:userId", requireUserManage, handler$25);
28954
+ orgScoped.get("/api-keys", handler$10);
28955
+ orgScoped.post("/api-keys", requireApiKeyCreate, handler$9);
28956
+ orgScoped.delete("/api-keys/:apiKeyId", handler$8);
28957
+ orgScoped.get("/managed-service-credentials", requireManagedServicesRead, handler$7);
28958
+ orgScoped.post("/managed-service-credentials", requireManagedServicesManage, handler$6);
28959
+ orgScoped.patch("/managed-service-credentials/:id", requireManagedServicesManage, handler$5);
28960
+ orgScoped.delete("/managed-service-credentials/:id", requireManagedServicesManage, handler$4);
28961
+ orgScoped.get("/agents", withOrgDb, handler$86);
28962
+ orgScoped.get("/agents/:agentId", withOrgDb, handler$85);
28963
+ orgScoped.get("/agents/:agentId/memory/files", withOrgDb, handler$84);
28964
+ orgScoped.get("/agents/:agentId/memory/files/content", withOrgDb, handler$83);
28965
+ orgScoped.get("/agents/:agentId/workspace/files", withOrgDb, handler$82);
28966
+ orgScoped.get("/agents/:agentId/workspace/files/content", withOrgDb, handler$81);
28967
+ orgScoped.get("/workflows", withOrgDb, handler$79);
28968
+ orgScoped.get("/workflows/:workflowId", withOrgDb, handler$78);
28969
+ orgScoped.get("/workflows/:workflowId/canvas", withOrgDb, handler$77);
28970
+ orgScoped.get("/workflows/:workflowId/canvas/credentials", withOrgDb, handler$76);
28971
+ orgScoped.get("/workflows/:workflowId/canvas/runs/:runId", withOrgDb, handler$75);
28972
+ orgScoped.get("/workflows/:workflowId/overview", withOrgDb, handler$74);
28973
+ orgScoped.get("/workflows/:workflowId/runs", withOrgDb, handler$70);
28974
+ orgScoped.get("/workflows/:workflowId/run-inputs", withOrgDb, handler$73);
28975
+ orgScoped.put("/workflows/:workflowId/run-inputs", withOrgDb, handler$72);
28976
+ orgScoped.post("/workflows/:workflowId/run", withOrgDb, handler$71);
28977
+ orgScoped.get("/skills", withOrgDb, handler$68);
28978
+ orgScoped.get("/skills/:skillId", withOrgDb, handler$67);
28979
+ orgScoped.get("/triggers", withOrgDb, handler$66);
28980
+ orgScoped.get("/triggers/:triggerId", withOrgDb, handler$65);
28981
+ orgScoped.get("/triggers/:triggerId/runs", withOrgDb, handler$64);
28982
+ orgScoped.get("/triggers/:triggerId/file", withOrgDb, handler$63);
28983
+ orgScoped.get("/triggers/:triggerId/overview", withOrgDb, handler$62);
28984
+ orgScoped.get("/triggers/:triggerId/invoke-inputs", withOrgDb, handler$59);
28985
+ orgScoped.post("/triggers/:triggerId/invoke", withOrgDb, handler$60);
28986
+ orgScoped.patch("/triggers/:triggerId/attachments/:attachmentId", withOrgDb, handler$61);
28987
+ orgScoped.get("/recents", withOrgDb, handler$58);
28988
+ orgScoped.get("/history", withOrgDb, handler$88);
28989
+ orgScoped.get("/history/:runId", withOrgDb, handler$87);
28990
+ orgScoped.post("/workflows/runs/:runId/cancel", withOrgDb, handler$69);
28991
+ orgScoped.post("/agents/sessions/:sessionId/cancel", withOrgDb, handler$80);
28992
+ orgScoped.get("/credentials", withOrgDb, handler$32);
28993
+ orgScoped.post("/credentials", withOrgDb, handler$31);
28994
+ orgScoped.get("/credentials/:credentialId", withOrgDb, (c, next) => c.req.param("credentialId") === "instances" ? next() : handler$30(c, next));
28995
+ orgScoped.patch("/credentials/:credentialId", withOrgDb, handler$29);
28926
28996
  orgScoped.delete("/credentials/:credentialId", withOrgDb, deleteCredential);
28927
- orgScoped.get("/projects", handler$56);
28928
- orgScoped.get("/projects/slug-available", handler$53);
28929
- orgScoped.get("/projects/metrics", withOrgDb, handler$55);
28930
- orgScoped.post("/projects", handler$54);
28931
- projectScoped.get("/:projectId", requireProject(), requireProjectMember, handler$52);
28932
- projectScoped.patch("/:projectId", requireProject(), requireProjectMember, requireProjectUpdate, handler$51);
28933
- projectScoped.delete("/:projectId", requireProject(), requireProjectMember, requireProjectDelete, handler$50);
28934
- projectScoped.get("/:projectId/settings", requireProject(), requireProjectMember, handler$33);
28935
- projectScoped.patch("/:projectId/settings", requireProject(), requireProjectMember, requireProjectUpdate, handler$32);
28936
- projectScoped.get("/:projectId/members", requireProject(), requireProjectMember, handler$38);
28937
- projectScoped.post("/:projectId/members", requireProject(), requireProjectMember, requireInvitableProjectRole, handler$37);
28938
- projectScoped.patch("/:projectId/members/:userId", requireProject(), requireProjectMember, requireProjectManageMembers, handler$36);
28939
- projectScoped.delete("/:projectId/members/:userId", requireProject(), requireProjectMember, requireProjectManageMembers, handler$35);
28940
- projectScoped.delete("/:projectId/members/me", requireProject(), requireProjectMember, handler$34);
28997
+ orgScoped.get("/projects", handler$57);
28998
+ orgScoped.get("/projects/slug-available", handler$54);
28999
+ orgScoped.get("/projects/metrics", withOrgDb, handler$56);
29000
+ orgScoped.post("/projects", handler$55);
29001
+ projectScoped.get("/:projectId", requireProject(), requireProjectMember, handler$53);
29002
+ projectScoped.patch("/:projectId", requireProject(), requireProjectMember, requireProjectUpdate, handler$52);
29003
+ projectScoped.delete("/:projectId", requireProject(), requireProjectMember, requireProjectDelete, handler$51);
29004
+ projectScoped.get("/:projectId/settings", requireProject(), requireProjectMember, handler$34);
29005
+ projectScoped.patch("/:projectId/settings", requireProject(), requireProjectMember, requireProjectUpdate, handler$33);
29006
+ projectScoped.get("/:projectId/members", requireProject(), requireProjectMember, handler$39);
29007
+ projectScoped.post("/:projectId/members", requireProject(), requireProjectMember, requireInvitableProjectRole, handler$38);
29008
+ projectScoped.patch("/:projectId/members/:userId", requireProject(), requireProjectMember, requireProjectManageMembers, handler$37);
29009
+ projectScoped.delete("/:projectId/members/:userId", requireProject(), requireProjectMember, requireProjectManageMembers, handler$36);
29010
+ projectScoped.delete("/:projectId/members/me", requireProject(), requireProjectMember, handler$35);
28941
29011
  projectScoped.get("/:projectId/reachability", requireProject(), requireProjectMember, createProjectReachabilityHandler(options.hosting));
28942
- projectScoped.get("/:projectId/files", requireProject(), requireProjectMember, withOrgDb, handler$40);
28943
- projectScoped.post("/:projectId/agents/:slug/attachments/presign", requireProject(), requireProjectMember, withOrgDb, handler$42);
28944
- projectScoped.get("/:projectId/agents/:slug/attachments/:key{.+}", requireProject(), requireProjectMember, withOrgDb, handler$41);
28945
- projectScoped.get("/:projectId/artifacts/:artifactId/files/content", requireProject(), requireProjectMember, handler$39);
28946
- projectScoped.get("/:projectId/deployments", requireProject(), requireProjectMember, handler$49);
28947
- projectScoped.get("/:projectId/artifacts/active/download", requireProject(), requireProjectMember, requireProjectDeploy, handler$47);
28948
- projectScoped.get("/:projectId/artifacts/active/source", requireProject(), requireProjectMember, withOrgDb, handler$46);
28949
- projectScoped.post("/:projectId/artifacts", requireProject(), requireProjectMember, requireProjectDeploy, handler$48);
28950
- projectScoped.post("/:projectId/artifacts/:artifactId/complete", requireProject(), requireProjectMember, requireProjectDeploy, handler$45);
28951
- projectScoped.post("/:projectId/artifacts/:artifactId/source/presign", requireProject(), requireProjectMember, requireProjectDeploy, handler$44);
28952
- projectScoped.post("/:projectId/artifacts/:artifactId/source/manifest", requireProject(), requireProjectMember, requireProjectDeploy, handler$43);
29012
+ projectScoped.get("/:projectId/files", requireProject(), requireProjectMember, withOrgDb, handler$41);
29013
+ projectScoped.post("/:projectId/agents/:slug/attachments/presign", requireProject(), requireProjectMember, withOrgDb, handler$43);
29014
+ projectScoped.get("/:projectId/agents/:slug/attachments/:key{.+}", requireProject(), requireProjectMember, withOrgDb, handler$42);
29015
+ projectScoped.get("/:projectId/artifacts/:artifactId/files/content", requireProject(), requireProjectMember, handler$40);
29016
+ projectScoped.get("/:projectId/deployments", requireProject(), requireProjectMember, handler$50);
29017
+ projectScoped.get("/:projectId/artifacts/active/download", requireProject(), requireProjectMember, requireProjectDeploy, handler$48);
29018
+ projectScoped.get("/:projectId/artifacts/active/source", requireProject(), requireProjectMember, withOrgDb, handler$47);
29019
+ projectScoped.post("/:projectId/artifacts", requireProject(), requireProjectMember, requireProjectDeploy, handler$49);
29020
+ projectScoped.post("/:projectId/artifacts/:artifactId/complete", requireProject(), requireProjectMember, requireProjectDeploy, handler$46);
29021
+ projectScoped.post("/:projectId/artifacts/:artifactId/source/presign", requireProject(), requireProjectMember, requireProjectDeploy, handler$45);
29022
+ projectScoped.post("/:projectId/artifacts/:artifactId/source/manifest", requireProject(), requireProjectMember, requireProjectDeploy, handler$44);
28953
29023
  orgScoped.route("/projects", projectScoped);
28954
29024
  account.route("/", orgScoped);
28955
29025
  return account;
@@ -29215,7 +29285,7 @@ async function loadModelIds() {
29215
29285
  })();
29216
29286
  return pendingFetch;
29217
29287
  }
29218
- async function handler$1(c) {
29288
+ async function handler$2(c) {
29219
29289
  try {
29220
29290
  const models = await loadModelIds();
29221
29291
  return c.json(require_dist$1.PublicModelsResponseSchema.parse({ models }));
@@ -29318,7 +29388,7 @@ function clientIp(c) {
29318
29388
  return "unknown";
29319
29389
  }
29320
29390
  }
29321
- async function handler(c) {
29391
+ async function handler$1(c) {
29322
29392
  if (!consumeContactRateLimit(clientIp(c))) return c.json({ error: "Too many requests" }, 429);
29323
29393
  const parsed = require_dist$1.SubmitMarketingContactRequestSchema.safeParse(await c.req.json().catch(() => null));
29324
29394
  if (!parsed.success) {
@@ -29340,6 +29410,16 @@ async function handler(c) {
29340
29410
  return c.json(require_dist$1.SubmitMarketingContactResponseSchema.parse({ ok: true }), 200);
29341
29411
  }
29342
29412
  //#endregion
29413
+ //#region src/routes/well-known/oauth-client-metadata/GET.ts
29414
+ /** Public CIMD document for outbound MCP OAuth (no session required). */
29415
+ async function handler(c) {
29416
+ const clientMetadataUrl = resolveOAuthClientMetadataUrl();
29417
+ const redirectUri = resolveMcpOAuthCallbackUrl();
29418
+ if (!clientMetadataUrl || !redirectUri) return c.json({ error: "PUBLIC_PLATFORM_URL is not configured" }, 500);
29419
+ const document = buildOAuthClientMetadataDocument(clientMetadataUrl, redirectUri);
29420
+ return c.json(document, 200, { "Cache-Control": "public, max-age=3600" });
29421
+ }
29422
+ //#endregion
29343
29423
  //#region src/app.ts
29344
29424
  async function createApp(auth, options) {
29345
29425
  return (0, _keystrokehq_http.createApp)({
@@ -29355,8 +29435,9 @@ async function createApp(auth, options) {
29355
29435
  mountAuth(app, authInstance);
29356
29436
  },
29357
29437
  mountAccount: async (app) => {
29358
- app.post("/api/public/contact", handler);
29359
- app.get("/api/public/models", handler$1);
29438
+ app.get(OAUTH_CLIENT_METADATA_PATH, handler);
29439
+ app.post("/api/public/contact", handler$1);
29440
+ app.get("/api/public/models", handler$2);
29360
29441
  app.route("/api", mountAccountRoutes({
29361
29442
  hosting: options.hosting,
29362
29443
  storage: options.storage,
@@ -29592,4 +29673,4 @@ Object.defineProperty(exports, "x$1", {
29592
29673
  }
29593
29674
  });
29594
29675
 
29595
- //# sourceMappingURL=start-oiYa_7Ho.cjs.map
29676
+ //# sourceMappingURL=start-BA8SAE2h.cjs.map