@keystrokehq/platform 0.1.69 → 0.1.71

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 (300) hide show
  1. package/README.md +6 -0
  2. package/dist/{awk2-LA3USKJP-Yg3Zvp46.cjs → awk2-LA3USKJP-CX2aQzBB.cjs} +2 -2
  3. package/dist/{awk2-LA3USKJP-Yg3Zvp46.cjs.map → awk2-LA3USKJP-CX2aQzBB.cjs.map} +1 -1
  4. package/dist/{awk2-LA3USKJP-C6HIBlk-.mjs → awk2-LA3USKJP-DrEf3Uun.mjs} +2 -2
  5. package/dist/{awk2-LA3USKJP-C6HIBlk-.mjs.map → awk2-LA3USKJP-DrEf3Uun.mjs.map} +1 -1
  6. package/dist/{base64-C2AIWVNC-BcpzVCOR.cjs → base64-C2AIWVNC-Zw6VdY06.cjs} +2 -2
  7. package/dist/{base64-C2AIWVNC-BcpzVCOR.cjs.map → base64-C2AIWVNC-Zw6VdY06.cjs.map} +1 -1
  8. package/dist/{base64-C2AIWVNC-BJfU207x.mjs → base64-C2AIWVNC-djynB-LN.mjs} +2 -2
  9. package/dist/{base64-C2AIWVNC-BJfU207x.mjs.map → base64-C2AIWVNC-djynB-LN.mjs.map} +1 -1
  10. package/dist/{bash-YZ33HQZQ-ZJEj5Hrc.cjs → bash-YZ33HQZQ-CA0lcNTu.cjs} +2 -2
  11. package/dist/{bash-YZ33HQZQ-ZJEj5Hrc.cjs.map → bash-YZ33HQZQ-CA0lcNTu.cjs.map} +1 -1
  12. package/dist/{bash-YZ33HQZQ-D4zVFDnn.mjs → bash-YZ33HQZQ-CqTY_Msm.mjs} +2 -2
  13. package/dist/{bash-YZ33HQZQ-D4zVFDnn.mjs.map → bash-YZ33HQZQ-CqTY_Msm.mjs.map} +1 -1
  14. package/dist/{cat-TSFMZVYS-BezX7Mwj.mjs → cat-TSFMZVYS-B_3nwH77.mjs} +3 -3
  15. package/dist/{cat-TSFMZVYS-BezX7Mwj.mjs.map → cat-TSFMZVYS-B_3nwH77.mjs.map} +1 -1
  16. package/dist/{cat-TSFMZVYS-BqB7ymkq.cjs → cat-TSFMZVYS-CZmWAaG_.cjs} +3 -3
  17. package/dist/{cat-TSFMZVYS-BqB7ymkq.cjs.map → cat-TSFMZVYS-CZmWAaG_.cjs.map} +1 -1
  18. package/dist/{chunk-5H5SCKJM-CFHpam5X.mjs → chunk-5H5SCKJM-CwhSuP9B.mjs} +2 -2
  19. package/dist/{chunk-5H5SCKJM-CFHpam5X.mjs.map → chunk-5H5SCKJM-CwhSuP9B.mjs.map} +1 -1
  20. package/dist/{chunk-5H5SCKJM-BoX4BAbl.cjs → chunk-5H5SCKJM-DXHmX0GB.cjs} +2 -2
  21. package/dist/{chunk-5H5SCKJM-BoX4BAbl.cjs.map → chunk-5H5SCKJM-DXHmX0GB.cjs.map} +1 -1
  22. package/dist/{chunk-AQ6FYS2X-iATXgw3O.cjs → chunk-AQ6FYS2X-CgnThQed.cjs} +2 -2
  23. package/dist/{chunk-AQ6FYS2X-iATXgw3O.cjs.map → chunk-AQ6FYS2X-CgnThQed.cjs.map} +1 -1
  24. package/dist/{chunk-AQ6FYS2X-Mfy24SVa.mjs → chunk-AQ6FYS2X-DXj-ezRf.mjs} +2 -2
  25. package/dist/{chunk-AQ6FYS2X-Mfy24SVa.mjs.map → chunk-AQ6FYS2X-DXj-ezRf.mjs.map} +1 -1
  26. package/dist/{chunk-CHFEPBH4-COAGnzcN.cjs → chunk-CHFEPBH4-Cjs__IZ3.cjs} +2 -2
  27. package/dist/{chunk-CHFEPBH4-COAGnzcN.cjs.map → chunk-CHFEPBH4-Cjs__IZ3.cjs.map} +1 -1
  28. package/dist/{chunk-CHFEPBH4-BRHkewLb.mjs → chunk-CHFEPBH4-JnaeANK0.mjs} +2 -2
  29. package/dist/{chunk-CHFEPBH4-BRHkewLb.mjs.map → chunk-CHFEPBH4-JnaeANK0.mjs.map} +1 -1
  30. package/dist/{chunk-EBAPSGAO-BvY4IuHa.mjs → chunk-EBAPSGAO-BImY0-B8.mjs} +2 -2
  31. package/dist/{chunk-EBAPSGAO-BvY4IuHa.mjs.map → chunk-EBAPSGAO-BImY0-B8.mjs.map} +1 -1
  32. package/dist/{chunk-EBAPSGAO-BCq2-uhF.cjs → chunk-EBAPSGAO-BWpfV9BQ.cjs} +2 -2
  33. package/dist/{chunk-EBAPSGAO-BCq2-uhF.cjs.map → chunk-EBAPSGAO-BWpfV9BQ.cjs.map} +1 -1
  34. package/dist/{chunk-LEKBROJD-BwJ4B908.cjs → chunk-LEKBROJD-325fLqWW.cjs} +2 -2
  35. package/dist/{chunk-LEKBROJD-BwJ4B908.cjs.map → chunk-LEKBROJD-325fLqWW.cjs.map} +1 -1
  36. package/dist/{chunk-LEKBROJD-Cl8D2A_m.mjs → chunk-LEKBROJD-UsBeJwv9.mjs} +2 -2
  37. package/dist/{chunk-LEKBROJD-Cl8D2A_m.mjs.map → chunk-LEKBROJD-UsBeJwv9.mjs.map} +1 -1
  38. package/dist/{chunk-VPADYNBD-CpXxyJ18.cjs → chunk-VPADYNBD-Di1oamRY.cjs} +2 -2
  39. package/dist/{chunk-VPADYNBD-CpXxyJ18.cjs.map → chunk-VPADYNBD-Di1oamRY.cjs.map} +1 -1
  40. package/dist/{chunk-VPADYNBD-D6r_n9Rj.mjs → chunk-VPADYNBD-OB0Y4Az0.mjs} +2 -2
  41. package/dist/{chunk-VPADYNBD-D6r_n9Rj.mjs.map → chunk-VPADYNBD-OB0Y4Az0.mjs.map} +1 -1
  42. package/dist/{chunk-YCLFEX4T-DcpWdVLF.mjs → chunk-YCLFEX4T-C-mCH3zY.mjs} +2 -2
  43. package/dist/{chunk-YCLFEX4T-DcpWdVLF.mjs.map → chunk-YCLFEX4T-C-mCH3zY.mjs.map} +1 -1
  44. package/dist/{chunk-YCLFEX4T-I2Nz2UX3.cjs → chunk-YCLFEX4T-CoU8Enra.cjs} +2 -2
  45. package/dist/{chunk-YCLFEX4T-I2Nz2UX3.cjs.map → chunk-YCLFEX4T-CoU8Enra.cjs.map} +1 -1
  46. package/dist/{column-XT6UFXNQ-DwwCXU9M.mjs → column-XT6UFXNQ-CZo7OrD_.mjs} +2 -2
  47. package/dist/{column-XT6UFXNQ-DwwCXU9M.mjs.map → column-XT6UFXNQ-CZo7OrD_.mjs.map} +1 -1
  48. package/dist/{column-XT6UFXNQ-FKTGTVAy.cjs → column-XT6UFXNQ-D4-HTS_l.cjs} +2 -2
  49. package/dist/{column-XT6UFXNQ-FKTGTVAy.cjs.map → column-XT6UFXNQ-D4-HTS_l.cjs.map} +1 -1
  50. package/dist/{comm-VV2LDX2J-Dq_zFNG7.cjs → comm-VV2LDX2J-0IlA7Uzn.cjs} +2 -2
  51. package/dist/{comm-VV2LDX2J-Dq_zFNG7.cjs.map → comm-VV2LDX2J-0IlA7Uzn.cjs.map} +1 -1
  52. package/dist/{comm-VV2LDX2J-Cmjo1RL1.mjs → comm-VV2LDX2J-Cr3fn9ep.mjs} +2 -2
  53. package/dist/{comm-VV2LDX2J-Cmjo1RL1.mjs.map → comm-VV2LDX2J-Cr3fn9ep.mjs.map} +1 -1
  54. package/dist/{config-DUP9VbSy.d.mts → config-CPh-Y6Qa.d.mts} +4 -3
  55. package/dist/{config-D0P7vutz.d.cts → config-WrJCGKCr.d.cts} +4 -3
  56. package/dist/config.cjs +1 -1
  57. package/dist/config.d.cts +1 -1
  58. package/dist/config.d.mts +1 -1
  59. package/dist/config.mjs +1 -1
  60. package/dist/{cp-BISAAS7A-CLfTlwFa.mjs → cp-BISAAS7A-CD0l2j6S.mjs} +2 -2
  61. package/dist/{cp-BISAAS7A-CLfTlwFa.mjs.map → cp-BISAAS7A-CD0l2j6S.mjs.map} +1 -1
  62. package/dist/{cp-BISAAS7A-CbFxGxoU.cjs → cp-BISAAS7A-Dc9whLMv.cjs} +2 -2
  63. package/dist/{cp-BISAAS7A-CbFxGxoU.cjs.map → cp-BISAAS7A-Dc9whLMv.cjs.map} +1 -1
  64. package/dist/{cut-OKARJCCV-o4z6JrbJ.cjs → cut-OKARJCCV-Dhnh9kfl.cjs} +3 -3
  65. package/dist/{cut-OKARJCCV-o4z6JrbJ.cjs.map → cut-OKARJCCV-Dhnh9kfl.cjs.map} +1 -1
  66. package/dist/{cut-OKARJCCV-DLdBhCrb.mjs → cut-OKARJCCV-pPeOI4pV.mjs} +3 -3
  67. package/dist/{cut-OKARJCCV-DLdBhCrb.mjs.map → cut-OKARJCCV-pPeOI4pV.mjs.map} +1 -1
  68. package/dist/{diff-MWJFIG7X-BJZi0LcF.mjs → diff-MWJFIG7X-DkYjYoZo.mjs} +2 -2
  69. package/dist/{diff-MWJFIG7X-BJZi0LcF.mjs.map → diff-MWJFIG7X-DkYjYoZo.mjs.map} +1 -1
  70. package/dist/{diff-MWJFIG7X-BMUXeO5n.cjs → diff-MWJFIG7X-esd7amDS.cjs} +2 -2
  71. package/dist/{diff-MWJFIG7X-BMUXeO5n.cjs.map → diff-MWJFIG7X-esd7amDS.cjs.map} +1 -1
  72. package/dist/{dist-DKsRyzQA.cjs → dist-CoxD9bPI.cjs} +72 -23
  73. package/dist/dist-CoxD9bPI.cjs.map +1 -0
  74. package/dist/{dist-QdAztAh3.mjs → dist-vqdQgBVK.mjs} +73 -24
  75. package/dist/dist-vqdQgBVK.mjs.map +1 -0
  76. package/dist/{du-572XNP42-BVuECs5Z.cjs → du-572XNP42-BKaF_45E.cjs} +2 -2
  77. package/dist/{du-572XNP42-BVuECs5Z.cjs.map → du-572XNP42-BKaF_45E.cjs.map} +1 -1
  78. package/dist/{du-572XNP42-wIRE2035.mjs → du-572XNP42-Bi0-KMxE.mjs} +2 -2
  79. package/dist/{du-572XNP42-wIRE2035.mjs.map → du-572XNP42-Bi0-KMxE.mjs.map} +1 -1
  80. package/dist/{env-36M5BO7M-DmFdLlHV.mjs → env-36M5BO7M-B2ZQBR_W.mjs} +2 -2
  81. package/dist/{env-36M5BO7M-DmFdLlHV.mjs.map → env-36M5BO7M-B2ZQBR_W.mjs.map} +1 -1
  82. package/dist/{env-36M5BO7M-B1DWAPfB.cjs → env-36M5BO7M-Bt56CvR3.cjs} +2 -2
  83. package/dist/{env-36M5BO7M-B1DWAPfB.cjs.map → env-36M5BO7M-Bt56CvR3.cjs.map} +1 -1
  84. package/dist/{expand-JSPG6VOP-Bz2Hk0FC.cjs → expand-JSPG6VOP-CZQOBzE4.cjs} +2 -2
  85. package/dist/{expand-JSPG6VOP-Bz2Hk0FC.cjs.map → expand-JSPG6VOP-CZQOBzE4.cjs.map} +1 -1
  86. package/dist/{expand-JSPG6VOP-BEqbNeLw.mjs → expand-JSPG6VOP-DJYQaAxG.mjs} +2 -2
  87. package/dist/{expand-JSPG6VOP-BEqbNeLw.mjs.map → expand-JSPG6VOP-DJYQaAxG.mjs.map} +1 -1
  88. package/dist/{expr-5JAACS4X-Cv41uJFe.cjs → expr-5JAACS4X-D-6tjQKP.cjs} +2 -2
  89. package/dist/{expr-5JAACS4X-Cv41uJFe.cjs.map → expr-5JAACS4X-D-6tjQKP.cjs.map} +1 -1
  90. package/dist/{expr-5JAACS4X-zlr35KoS.mjs → expr-5JAACS4X-DFoRd5UC.mjs} +2 -2
  91. package/dist/{expr-5JAACS4X-zlr35KoS.mjs.map → expr-5JAACS4X-DFoRd5UC.mjs.map} +1 -1
  92. package/dist/{find-INTH3OLC-wHgM1Gv3.cjs → find-INTH3OLC-Bg-_OL9N.cjs} +3 -3
  93. package/dist/{find-INTH3OLC-wHgM1Gv3.cjs.map → find-INTH3OLC-Bg-_OL9N.cjs.map} +1 -1
  94. package/dist/{find-INTH3OLC-DfimE54H.mjs → find-INTH3OLC-ClF5kwZG.mjs} +3 -3
  95. package/dist/{find-INTH3OLC-DfimE54H.mjs.map → find-INTH3OLC-ClF5kwZG.mjs.map} +1 -1
  96. package/dist/{fold-4TQNYMSW-B7n-qKjE.mjs → fold-4TQNYMSW-DjysK6jz.mjs} +2 -2
  97. package/dist/{fold-4TQNYMSW-B7n-qKjE.mjs.map → fold-4TQNYMSW-DjysK6jz.mjs.map} +1 -1
  98. package/dist/{fold-4TQNYMSW-BNDizuO0.cjs → fold-4TQNYMSW-RuvTSqsK.cjs} +2 -2
  99. package/dist/{fold-4TQNYMSW-BNDizuO0.cjs.map → fold-4TQNYMSW-RuvTSqsK.cjs.map} +1 -1
  100. package/dist/{grep-V3LQVMRQ-BlIw8pn3.mjs → grep-V3LQVMRQ-CRGhl-hH.mjs} +4 -4
  101. package/dist/{grep-V3LQVMRQ-BlIw8pn3.mjs.map → grep-V3LQVMRQ-CRGhl-hH.mjs.map} +1 -1
  102. package/dist/{grep-V3LQVMRQ-B3FyXAXJ.cjs → grep-V3LQVMRQ-E2h_lJyr.cjs} +4 -4
  103. package/dist/{grep-V3LQVMRQ-B3FyXAXJ.cjs.map → grep-V3LQVMRQ-E2h_lJyr.cjs.map} +1 -1
  104. package/dist/{gzip-O5ASJAFY-B-zRyf0Y.cjs → gzip-O5ASJAFY-B6Wdf-B7.cjs} +2 -2
  105. package/dist/{gzip-O5ASJAFY-B-zRyf0Y.cjs.map → gzip-O5ASJAFY-B6Wdf-B7.cjs.map} +1 -1
  106. package/dist/{gzip-O5ASJAFY-DiFV1_eJ.mjs → gzip-O5ASJAFY-BCEAveca.mjs} +2 -2
  107. package/dist/{gzip-O5ASJAFY-DiFV1_eJ.mjs.map → gzip-O5ASJAFY-BCEAveca.mjs.map} +1 -1
  108. package/dist/{head-442HYESI-HUEMaJpH.mjs → head-442HYESI-D2K4P2Rx.mjs} +2 -2
  109. package/dist/{head-442HYESI-HUEMaJpH.mjs.map → head-442HYESI-D2K4P2Rx.mjs.map} +1 -1
  110. package/dist/{head-442HYESI-Depd2eI6.cjs → head-442HYESI-wNbSgWsb.cjs} +2 -2
  111. package/dist/{head-442HYESI-Depd2eI6.cjs.map → head-442HYESI-wNbSgWsb.cjs.map} +1 -1
  112. package/dist/{help-HZ6M2CKN-ta7W7sqn.cjs → help-HZ6M2CKN-Bg1VYYA5.cjs} +2 -2
  113. package/dist/{help-HZ6M2CKN-ta7W7sqn.cjs.map → help-HZ6M2CKN-Bg1VYYA5.cjs.map} +1 -1
  114. package/dist/{help-HZ6M2CKN-MwncrItu.mjs → help-HZ6M2CKN-BigqAuYz.mjs} +2 -2
  115. package/dist/{help-HZ6M2CKN-MwncrItu.mjs.map → help-HZ6M2CKN-BigqAuYz.mjs.map} +1 -1
  116. package/dist/{html-to-markdown-JW4MSQZO-CSSsIVOj.mjs → html-to-markdown-JW4MSQZO-4_Loe9rX.mjs} +3 -3
  117. package/dist/{html-to-markdown-JW4MSQZO-CSSsIVOj.mjs.map → html-to-markdown-JW4MSQZO-4_Loe9rX.mjs.map} +1 -1
  118. package/dist/{html-to-markdown-JW4MSQZO-BMJ_NEfU.cjs → html-to-markdown-JW4MSQZO-CfmN2ZcI.cjs} +2 -2
  119. package/dist/{html-to-markdown-JW4MSQZO-BMJ_NEfU.cjs.map → html-to-markdown-JW4MSQZO-CfmN2ZcI.cjs.map} +1 -1
  120. package/dist/{join-TBRGI3LQ-D_vDqxAh.cjs → join-TBRGI3LQ-0CR8WyHb.cjs} +2 -2
  121. package/dist/{join-TBRGI3LQ-D_vDqxAh.cjs.map → join-TBRGI3LQ-0CR8WyHb.cjs.map} +1 -1
  122. package/dist/{join-TBRGI3LQ-CgYYmoZ7.mjs → join-TBRGI3LQ-DIrfY00Z.mjs} +2 -2
  123. package/dist/{join-TBRGI3LQ-CgYYmoZ7.mjs.map → join-TBRGI3LQ-DIrfY00Z.mjs.map} +1 -1
  124. package/dist/{jq-4XLYLOS5-BKdEKWwN.mjs → jq-4XLYLOS5-CJSJUTCm.mjs} +4 -4
  125. package/dist/{jq-4XLYLOS5-BKdEKWwN.mjs.map → jq-4XLYLOS5-CJSJUTCm.mjs.map} +1 -1
  126. package/dist/{jq-4XLYLOS5-BxuyXoU0.cjs → jq-4XLYLOS5-QZ5ZMYR8.cjs} +4 -4
  127. package/dist/{jq-4XLYLOS5-BxuyXoU0.cjs.map → jq-4XLYLOS5-QZ5ZMYR8.cjs.map} +1 -1
  128. package/dist/{js-exec-N5KEZBH7-DsbvwJLy.mjs → js-exec-N5KEZBH7-px0wOLlZ.mjs} +3 -3
  129. package/dist/{js-exec-N5KEZBH7-DsbvwJLy.mjs.map → js-exec-N5KEZBH7-px0wOLlZ.mjs.map} +1 -1
  130. package/dist/{js-exec-N5KEZBH7-GNzc3pR4.cjs → js-exec-N5KEZBH7-xGqtmrB-.cjs} +3 -3
  131. package/dist/{js-exec-N5KEZBH7-GNzc3pR4.cjs.map → js-exec-N5KEZBH7-xGqtmrB-.cjs.map} +1 -1
  132. package/dist/{lib--JIjoD2c.mjs → lib-C6fnVjW1.mjs} +2 -2
  133. package/dist/{lib--JIjoD2c.mjs.map → lib-C6fnVjW1.mjs.map} +1 -1
  134. package/dist/{ln-4LGSXXGD-DDlOhia8.cjs → ln-4LGSXXGD-C_5lbRYs.cjs} +2 -2
  135. package/dist/{ln-4LGSXXGD-DDlOhia8.cjs.map → ln-4LGSXXGD-C_5lbRYs.cjs.map} +1 -1
  136. package/dist/{ln-4LGSXXGD-CdILNQs4.mjs → ln-4LGSXXGD-ClNNg1Cy.mjs} +2 -2
  137. package/dist/{ln-4LGSXXGD-CdILNQs4.mjs.map → ln-4LGSXXGD-ClNNg1Cy.mjs.map} +1 -1
  138. package/dist/{ls-ZJGQER7M-CPrpYxax.cjs → ls-ZJGQER7M-BY54B-oP.cjs} +2 -2
  139. package/dist/{ls-ZJGQER7M-CPrpYxax.cjs.map → ls-ZJGQER7M-BY54B-oP.cjs.map} +1 -1
  140. package/dist/{ls-ZJGQER7M-CpY4DGd-.mjs → ls-ZJGQER7M-D1zUcdlb.mjs} +2 -2
  141. package/dist/{ls-ZJGQER7M-CpY4DGd-.mjs.map → ls-ZJGQER7M-D1zUcdlb.mjs.map} +1 -1
  142. package/dist/{md5sum-SPU24VSG-3klTAyVB.cjs → md5sum-SPU24VSG-DhGi9GoH.cjs} +3 -3
  143. package/dist/{md5sum-SPU24VSG-3klTAyVB.cjs.map → md5sum-SPU24VSG-DhGi9GoH.cjs.map} +1 -1
  144. package/dist/{md5sum-SPU24VSG-CPOnkctA.mjs → md5sum-SPU24VSG-Vo4Y6Bwo.mjs} +3 -3
  145. package/dist/{md5sum-SPU24VSG-CPOnkctA.mjs.map → md5sum-SPU24VSG-Vo4Y6Bwo.mjs.map} +1 -1
  146. package/dist/{mkdir-MEPGZOB6-CvBF5IIk.mjs → mkdir-MEPGZOB6-BMixoESF.mjs} +2 -2
  147. package/dist/{mkdir-MEPGZOB6-CvBF5IIk.mjs.map → mkdir-MEPGZOB6-BMixoESF.mjs.map} +1 -1
  148. package/dist/{mkdir-MEPGZOB6-6QxPyXDQ.cjs → mkdir-MEPGZOB6-CgawHcnX.cjs} +2 -2
  149. package/dist/{mkdir-MEPGZOB6-6QxPyXDQ.cjs.map → mkdir-MEPGZOB6-CgawHcnX.cjs.map} +1 -1
  150. package/dist/{mv-W5BIQ646-CW4EMAzI.cjs → mv-W5BIQ646-BzW_Etdb.cjs} +2 -2
  151. package/dist/{mv-W5BIQ646-CW4EMAzI.cjs.map → mv-W5BIQ646-BzW_Etdb.cjs.map} +1 -1
  152. package/dist/{mv-W5BIQ646--kJXpA8G.mjs → mv-W5BIQ646-CkHOGc9Q.mjs} +2 -2
  153. package/dist/{mv-W5BIQ646--kJXpA8G.mjs.map → mv-W5BIQ646-CkHOGc9Q.mjs.map} +1 -1
  154. package/dist/{nl-WSDW7I4O-DXe6Rx98.cjs → nl-WSDW7I4O-D61T3lkX.cjs} +2 -2
  155. package/dist/{nl-WSDW7I4O-DXe6Rx98.cjs.map → nl-WSDW7I4O-D61T3lkX.cjs.map} +1 -1
  156. package/dist/{nl-WSDW7I4O-CyJaPb-s.mjs → nl-WSDW7I4O-DcnQr_YU.mjs} +2 -2
  157. package/dist/{nl-WSDW7I4O-CyJaPb-s.mjs.map → nl-WSDW7I4O-DcnQr_YU.mjs.map} +1 -1
  158. package/dist/{od-WOKFDJTP-bwPu9c1J.mjs → od-WOKFDJTP-7LuMpI2U.mjs} +2 -2
  159. package/dist/{od-WOKFDJTP-bwPu9c1J.mjs.map → od-WOKFDJTP-7LuMpI2U.mjs.map} +1 -1
  160. package/dist/{od-WOKFDJTP-87SklrFR.cjs → od-WOKFDJTP-TzLiCg7j.cjs} +2 -2
  161. package/dist/{od-WOKFDJTP-87SklrFR.cjs.map → od-WOKFDJTP-TzLiCg7j.cjs.map} +1 -1
  162. package/dist/{paste-7JC6S4DX-LPlOlD3J.mjs → paste-7JC6S4DX-Dceo81cs.mjs} +2 -2
  163. package/dist/{paste-7JC6S4DX-LPlOlD3J.mjs.map → paste-7JC6S4DX-Dceo81cs.mjs.map} +1 -1
  164. package/dist/{paste-7JC6S4DX-CaYT5dNr.cjs → paste-7JC6S4DX-Ddjdun-G.cjs} +2 -2
  165. package/dist/{paste-7JC6S4DX-CaYT5dNr.cjs.map → paste-7JC6S4DX-Ddjdun-G.cjs.map} +1 -1
  166. package/dist/{printf-TWGXF445-CRtReDPZ.cjs → printf-TWGXF445-Bf3r9_T4.cjs} +2 -2
  167. package/dist/{printf-TWGXF445-CRtReDPZ.cjs.map → printf-TWGXF445-Bf3r9_T4.cjs.map} +1 -1
  168. package/dist/{printf-TWGXF445-BJU0e5mY.mjs → printf-TWGXF445-OCiLSp8d.mjs} +3 -3
  169. package/dist/{printf-TWGXF445-BJU0e5mY.mjs.map → printf-TWGXF445-OCiLSp8d.mjs.map} +1 -1
  170. package/dist/{python3-POMOR4OA-B6u9M_5d.mjs → python3-POMOR4OA-BI70uHzz.mjs} +3 -3
  171. package/dist/{python3-POMOR4OA-B6u9M_5d.mjs.map → python3-POMOR4OA-BI70uHzz.mjs.map} +1 -1
  172. package/dist/{python3-POMOR4OA-CUDeVW49.cjs → python3-POMOR4OA-Bt7oVFz_.cjs} +3 -3
  173. package/dist/{python3-POMOR4OA-CUDeVW49.cjs.map → python3-POMOR4OA-Bt7oVFz_.cjs.map} +1 -1
  174. package/dist/{rev-5EHFX4EJ-3tbo28Bs.cjs → rev-5EHFX4EJ-B3oieIwC.cjs} +2 -2
  175. package/dist/{rev-5EHFX4EJ-3tbo28Bs.cjs.map → rev-5EHFX4EJ-B3oieIwC.cjs.map} +1 -1
  176. package/dist/{rev-5EHFX4EJ-BHYKR3tK.mjs → rev-5EHFX4EJ-DBKj178x.mjs} +2 -2
  177. package/dist/{rev-5EHFX4EJ-BHYKR3tK.mjs.map → rev-5EHFX4EJ-DBKj178x.mjs.map} +1 -1
  178. package/dist/{rg-S4FXYXWB-CU1P6jks.mjs → rg-S4FXYXWB-CfbJks82.mjs} +3 -3
  179. package/dist/{rg-S4FXYXWB-CU1P6jks.mjs.map → rg-S4FXYXWB-CfbJks82.mjs.map} +1 -1
  180. package/dist/{rg-S4FXYXWB-Dqy8US3o.cjs → rg-S4FXYXWB-DR1FKvWK.cjs} +3 -3
  181. package/dist/{rg-S4FXYXWB-Dqy8US3o.cjs.map → rg-S4FXYXWB-DR1FKvWK.cjs.map} +1 -1
  182. package/dist/{rm-SSGETQVQ-Bgjvax0-.mjs → rm-SSGETQVQ-BdPUbcSA.mjs} +2 -2
  183. package/dist/{rm-SSGETQVQ-Bgjvax0-.mjs.map → rm-SSGETQVQ-BdPUbcSA.mjs.map} +1 -1
  184. package/dist/{rm-SSGETQVQ-CuMHTlTU.cjs → rm-SSGETQVQ-D64rnY-K.cjs} +2 -2
  185. package/dist/{rm-SSGETQVQ-CuMHTlTU.cjs.map → rm-SSGETQVQ-D64rnY-K.cjs.map} +1 -1
  186. package/dist/{rmdir-OC4ZLPYA-OA0pg8Pi.mjs → rmdir-OC4ZLPYA-7qEpm3ch.mjs} +2 -2
  187. package/dist/{rmdir-OC4ZLPYA-OA0pg8Pi.mjs.map → rmdir-OC4ZLPYA-7qEpm3ch.mjs.map} +1 -1
  188. package/dist/{rmdir-OC4ZLPYA-DzU560AU.cjs → rmdir-OC4ZLPYA-C8WL7BGv.cjs} +2 -2
  189. package/dist/{rmdir-OC4ZLPYA-DzU560AU.cjs.map → rmdir-OC4ZLPYA-C8WL7BGv.cjs.map} +1 -1
  190. package/dist/run.cjs +1 -1
  191. package/dist/run.mjs +1 -1
  192. package/dist/{sed-S5UIK574-BACmd2ys.mjs → sed-S5UIK574-B8qqEqN7.mjs} +2 -2
  193. package/dist/{sed-S5UIK574-BACmd2ys.mjs.map → sed-S5UIK574-B8qqEqN7.mjs.map} +1 -1
  194. package/dist/{sed-S5UIK574-BnUtp9JK.cjs → sed-S5UIK574-c9rwlnGs.cjs} +2 -2
  195. package/dist/{sed-S5UIK574-BnUtp9JK.cjs.map → sed-S5UIK574-c9rwlnGs.cjs.map} +1 -1
  196. package/dist/{sha1sum-2PTOAFR6-Dt2ferYj.mjs → sha1sum-2PTOAFR6-B5XVCpai.mjs} +3 -3
  197. package/dist/{sha1sum-2PTOAFR6-Dt2ferYj.mjs.map → sha1sum-2PTOAFR6-B5XVCpai.mjs.map} +1 -1
  198. package/dist/{sha1sum-2PTOAFR6-_ObXRVHy.cjs → sha1sum-2PTOAFR6-B5n0RfqG.cjs} +3 -3
  199. package/dist/{sha1sum-2PTOAFR6-_ObXRVHy.cjs.map → sha1sum-2PTOAFR6-B5n0RfqG.cjs.map} +1 -1
  200. package/dist/{sha256sum-NS7D3IXX-Bne4YcBK.cjs → sha256sum-NS7D3IXX-BvgHDSGB.cjs} +3 -3
  201. package/dist/{sha256sum-NS7D3IXX-Bne4YcBK.cjs.map → sha256sum-NS7D3IXX-BvgHDSGB.cjs.map} +1 -1
  202. package/dist/{sha256sum-NS7D3IXX-DhQAHPG8.mjs → sha256sum-NS7D3IXX-y38zZDmN.mjs} +3 -3
  203. package/dist/{sha256sum-NS7D3IXX-DhQAHPG8.mjs.map → sha256sum-NS7D3IXX-y38zZDmN.mjs.map} +1 -1
  204. package/dist/{sleep-X22JJINO-tiYx6zFh.mjs → sleep-X22JJINO-BgZpdeut.mjs} +2 -2
  205. package/dist/{sleep-X22JJINO-tiYx6zFh.mjs.map → sleep-X22JJINO-BgZpdeut.mjs.map} +1 -1
  206. package/dist/{sleep-X22JJINO-Cl4fTz2p.cjs → sleep-X22JJINO-D-PQh_Ov.cjs} +2 -2
  207. package/dist/{sleep-X22JJINO-Cl4fTz2p.cjs.map → sleep-X22JJINO-D-PQh_Ov.cjs.map} +1 -1
  208. package/dist/{sort-SW2YEO5B-RjtSyqtZ.mjs → sort-SW2YEO5B-BasURn2M.mjs} +3 -3
  209. package/dist/{sort-SW2YEO5B-RjtSyqtZ.mjs.map → sort-SW2YEO5B-BasURn2M.mjs.map} +1 -1
  210. package/dist/{sort-SW2YEO5B-CJqRZpAc.cjs → sort-SW2YEO5B-CdBBvg3D.cjs} +3 -3
  211. package/dist/{sort-SW2YEO5B-CJqRZpAc.cjs.map → sort-SW2YEO5B-CdBBvg3D.cjs.map} +1 -1
  212. package/dist/{split-4KKZZXXE-DgH9dx0k.cjs → split-4KKZZXXE-D4hc4NEG.cjs} +2 -2
  213. package/dist/{split-4KKZZXXE-DgH9dx0k.cjs.map → split-4KKZZXXE-D4hc4NEG.cjs.map} +1 -1
  214. package/dist/{split-4KKZZXXE-Cr9lEZfk.mjs → split-4KKZZXXE-LDm7N7LX.mjs} +2 -2
  215. package/dist/{split-4KKZZXXE-Cr9lEZfk.mjs.map → split-4KKZZXXE-LDm7N7LX.mjs.map} +1 -1
  216. package/dist/{sqlite3-CGOEFJAO-Dz72skxn.cjs → sqlite3-CGOEFJAO-BWSdC_vX.cjs} +2 -2
  217. package/dist/{sqlite3-CGOEFJAO-Dz72skxn.cjs.map → sqlite3-CGOEFJAO-BWSdC_vX.cjs.map} +1 -1
  218. package/dist/{sqlite3-CGOEFJAO-CPFVM5IE.mjs → sqlite3-CGOEFJAO-Do3UIKvD.mjs} +3 -3
  219. package/dist/{sqlite3-CGOEFJAO-CPFVM5IE.mjs.map → sqlite3-CGOEFJAO-Do3UIKvD.mjs.map} +1 -1
  220. package/dist/{start-DU1co0_c.mjs → start-WFCqn6n8.mjs} +315 -273
  221. package/dist/start-WFCqn6n8.mjs.map +1 -0
  222. package/dist/{start-6OJAnUTb.cjs → start-zuq8pptN.cjs} +315 -273
  223. package/dist/start-zuq8pptN.cjs.map +1 -0
  224. package/dist/start.cjs +1 -1
  225. package/dist/start.d.cts +1 -1
  226. package/dist/start.d.mts +1 -1
  227. package/dist/start.mjs +1 -1
  228. package/dist/{strings-6WDHLGMX-0R9eLtuz.mjs → strings-6WDHLGMX-D0LcXDFx.mjs} +2 -2
  229. package/dist/{strings-6WDHLGMX-0R9eLtuz.mjs.map → strings-6WDHLGMX-D0LcXDFx.mjs.map} +1 -1
  230. package/dist/{strings-6WDHLGMX-t7krqer3.cjs → strings-6WDHLGMX-bq8ynPi3.cjs} +2 -2
  231. package/dist/{strings-6WDHLGMX-t7krqer3.cjs.map → strings-6WDHLGMX-bq8ynPi3.cjs.map} +1 -1
  232. package/dist/{tac-2STMMJYW-PE_pqA_-.mjs → tac-2STMMJYW-BDGG9txz.mjs} +2 -2
  233. package/dist/{tac-2STMMJYW-PE_pqA_-.mjs.map → tac-2STMMJYW-BDGG9txz.mjs.map} +1 -1
  234. package/dist/{tac-2STMMJYW-DBoubysm.cjs → tac-2STMMJYW-BQ75aOdN.cjs} +2 -2
  235. package/dist/{tac-2STMMJYW-DBoubysm.cjs.map → tac-2STMMJYW-BQ75aOdN.cjs.map} +1 -1
  236. package/dist/{tail-R4PCA2C4-lVA_-Cnv.cjs → tail-R4PCA2C4-BtvHaGAr.cjs} +2 -2
  237. package/dist/{tail-R4PCA2C4-lVA_-Cnv.cjs.map → tail-R4PCA2C4-BtvHaGAr.cjs.map} +1 -1
  238. package/dist/{tail-R4PCA2C4-DeLD76KI.mjs → tail-R4PCA2C4-C0m4gWVg.mjs} +2 -2
  239. package/dist/{tail-R4PCA2C4-DeLD76KI.mjs.map → tail-R4PCA2C4-C0m4gWVg.mjs.map} +1 -1
  240. package/dist/{tar-STHHZTZ6-BlENu9nk.cjs → tar-STHHZTZ6-BTrSjL4q.cjs} +2 -2
  241. package/dist/{tar-STHHZTZ6-BlENu9nk.cjs.map → tar-STHHZTZ6-BTrSjL4q.cjs.map} +1 -1
  242. package/dist/{tar-STHHZTZ6-C5JPJ0Ba.mjs → tar-STHHZTZ6-CBG0MLK3.mjs} +4 -4
  243. package/dist/{tar-STHHZTZ6-C5JPJ0Ba.mjs.map → tar-STHHZTZ6-CBG0MLK3.mjs.map} +1 -1
  244. package/dist/{tee-YUZ2FKCJ-CX2gaBik.mjs → tee-YUZ2FKCJ-BGkM9X-8.mjs} +2 -2
  245. package/dist/{tee-YUZ2FKCJ-CX2gaBik.mjs.map → tee-YUZ2FKCJ-BGkM9X-8.mjs.map} +1 -1
  246. package/dist/{tee-YUZ2FKCJ-DqtVXyXz.cjs → tee-YUZ2FKCJ-C7XnMke0.cjs} +2 -2
  247. package/dist/{tee-YUZ2FKCJ-DqtVXyXz.cjs.map → tee-YUZ2FKCJ-C7XnMke0.cjs.map} +1 -1
  248. package/dist/{time-D4LNBSWX-Dc-tvcL8.mjs → time-D4LNBSWX-C4SnR475.mjs} +2 -2
  249. package/dist/{time-D4LNBSWX-Dc-tvcL8.mjs.map → time-D4LNBSWX-C4SnR475.mjs.map} +1 -1
  250. package/dist/{time-D4LNBSWX-Dsgl8AGx.cjs → time-D4LNBSWX-Dk9LRHuK.cjs} +2 -2
  251. package/dist/{time-D4LNBSWX-Dsgl8AGx.cjs.map → time-D4LNBSWX-Dk9LRHuK.cjs.map} +1 -1
  252. package/dist/{timeout-YDCRSLPQ-DvjMtqH0.mjs → timeout-YDCRSLPQ-DhohmXQo.mjs} +2 -2
  253. package/dist/{timeout-YDCRSLPQ-DvjMtqH0.mjs.map → timeout-YDCRSLPQ-DhohmXQo.mjs.map} +1 -1
  254. package/dist/{timeout-YDCRSLPQ-9Tnz48PX.cjs → timeout-YDCRSLPQ-IIodimLQ.cjs} +2 -2
  255. package/dist/{timeout-YDCRSLPQ-9Tnz48PX.cjs.map → timeout-YDCRSLPQ-IIodimLQ.cjs.map} +1 -1
  256. package/dist/{touch-UA33VN3N-CubQGA77.cjs → touch-UA33VN3N-BH94tj0o.cjs} +2 -2
  257. package/dist/{touch-UA33VN3N-CubQGA77.cjs.map → touch-UA33VN3N-BH94tj0o.cjs.map} +1 -1
  258. package/dist/{touch-UA33VN3N-hKEAagsK.mjs → touch-UA33VN3N-CYYNGsxX.mjs} +2 -2
  259. package/dist/{touch-UA33VN3N-hKEAagsK.mjs.map → touch-UA33VN3N-CYYNGsxX.mjs.map} +1 -1
  260. package/dist/{tr-36LHWFRQ-EDP3yDQs.mjs → tr-36LHWFRQ-BZLwuNdf.mjs} +2 -2
  261. package/dist/{tr-36LHWFRQ-EDP3yDQs.mjs.map → tr-36LHWFRQ-BZLwuNdf.mjs.map} +1 -1
  262. package/dist/{tr-36LHWFRQ-Bf59q14F.cjs → tr-36LHWFRQ-CK-95bfG.cjs} +2 -2
  263. package/dist/{tr-36LHWFRQ-Bf59q14F.cjs.map → tr-36LHWFRQ-CK-95bfG.cjs.map} +1 -1
  264. package/dist/{tree-YLD52CNT-CvzCOxjG.mjs → tree-YLD52CNT-CGsTtWjg.mjs} +2 -2
  265. package/dist/{tree-YLD52CNT-CvzCOxjG.mjs.map → tree-YLD52CNT-CGsTtWjg.mjs.map} +1 -1
  266. package/dist/{tree-YLD52CNT-POfTcitp.cjs → tree-YLD52CNT-Cww3aQfk.cjs} +2 -2
  267. package/dist/{tree-YLD52CNT-POfTcitp.cjs.map → tree-YLD52CNT-Cww3aQfk.cjs.map} +1 -1
  268. package/dist/{unexpand-CADSA4VO-DSbRhGaL.cjs → unexpand-CADSA4VO-Bs0nXKlg.cjs} +2 -2
  269. package/dist/{unexpand-CADSA4VO-DSbRhGaL.cjs.map → unexpand-CADSA4VO-Bs0nXKlg.cjs.map} +1 -1
  270. package/dist/{unexpand-CADSA4VO-DEw7srRA.mjs → unexpand-CADSA4VO-DUthCz4d.mjs} +2 -2
  271. package/dist/{unexpand-CADSA4VO-DEw7srRA.mjs.map → unexpand-CADSA4VO-DUthCz4d.mjs.map} +1 -1
  272. package/dist/{uniq-XSIZR6PB-DkQFNX83.mjs → uniq-XSIZR6PB-BwYAICy3.mjs} +3 -3
  273. package/dist/{uniq-XSIZR6PB-DkQFNX83.mjs.map → uniq-XSIZR6PB-BwYAICy3.mjs.map} +1 -1
  274. package/dist/{uniq-XSIZR6PB-B0L65FHN.cjs → uniq-XSIZR6PB-CGY2MF60.cjs} +3 -3
  275. package/dist/{uniq-XSIZR6PB-B0L65FHN.cjs.map → uniq-XSIZR6PB-CGY2MF60.cjs.map} +1 -1
  276. package/dist/{wc-LF7NU4LA-BCCZMPfi.mjs → wc-LF7NU4LA-CLSla1j9.mjs} +3 -3
  277. package/dist/{wc-LF7NU4LA-BCCZMPfi.mjs.map → wc-LF7NU4LA-CLSla1j9.mjs.map} +1 -1
  278. package/dist/{wc-LF7NU4LA-BLmIvVNh.cjs → wc-LF7NU4LA-DMssR8j_.cjs} +3 -3
  279. package/dist/{wc-LF7NU4LA-BLmIvVNh.cjs.map → wc-LF7NU4LA-DMssR8j_.cjs.map} +1 -1
  280. package/dist/{xan-Y6WF3IRG-ByJau1wF.mjs → xan-Y6WF3IRG-CXzjrrLb.mjs} +6 -6
  281. package/dist/{xan-Y6WF3IRG-ByJau1wF.mjs.map → xan-Y6WF3IRG-CXzjrrLb.mjs.map} +1 -1
  282. package/dist/{xan-Y6WF3IRG-VKVMsXxG.cjs → xan-Y6WF3IRG-zdAljm88.cjs} +6 -6
  283. package/dist/{xan-Y6WF3IRG-VKVMsXxG.cjs.map → xan-Y6WF3IRG-zdAljm88.cjs.map} +1 -1
  284. package/dist/{xan-view-HDVKHFC2-BgdLBNl9.cjs → xan-view-HDVKHFC2-CUdxhKHs.cjs} +3 -3
  285. package/dist/{xan-view-HDVKHFC2-BgdLBNl9.cjs.map → xan-view-HDVKHFC2-CUdxhKHs.cjs.map} +1 -1
  286. package/dist/{xan-view-HDVKHFC2-BpPgpBOu.mjs → xan-view-HDVKHFC2-F8rBAZss.mjs} +3 -3
  287. package/dist/{xan-view-HDVKHFC2-BpPgpBOu.mjs.map → xan-view-HDVKHFC2-F8rBAZss.mjs.map} +1 -1
  288. package/dist/{xargs-MGZPH7AX-CVnKuCwr.mjs → xargs-MGZPH7AX-Bwjic2g0.mjs} +2 -2
  289. package/dist/{xargs-MGZPH7AX-CVnKuCwr.mjs.map → xargs-MGZPH7AX-Bwjic2g0.mjs.map} +1 -1
  290. package/dist/{xargs-MGZPH7AX-sob18DeS.cjs → xargs-MGZPH7AX-CMFzO3Um.cjs} +2 -2
  291. package/dist/{xargs-MGZPH7AX-sob18DeS.cjs.map → xargs-MGZPH7AX-CMFzO3Um.cjs.map} +1 -1
  292. package/dist/{yq-4QJW3EQG-DgdNypAA.cjs → yq-4QJW3EQG-FBEG5OEQ.cjs} +3 -3
  293. package/dist/{yq-4QJW3EQG-DgdNypAA.cjs.map → yq-4QJW3EQG-FBEG5OEQ.cjs.map} +1 -1
  294. package/dist/{yq-4QJW3EQG-DD0YMd1O.mjs → yq-4QJW3EQG-kSAxPXo0.mjs} +3 -3
  295. package/dist/{yq-4QJW3EQG-DD0YMd1O.mjs.map → yq-4QJW3EQG-kSAxPXo0.mjs.map} +1 -1
  296. package/package.json +2 -2
  297. package/dist/dist-DKsRyzQA.cjs.map +0 -1
  298. package/dist/dist-QdAztAh3.mjs.map +0 -1
  299. package/dist/start-6OJAnUTb.cjs.map +0 -1
  300. package/dist/start-DU1co0_c.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  const require_dist = require("./dist-Bb4VhrAh.cjs");
2
- const require_dist$1 = require("./dist-DKsRyzQA.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-BqB7ymkq.cjs"))).catCommand
22877
+ load: async () => (await Promise.resolve().then(() => require("./cat-TSFMZVYS-CZmWAaG_.cjs"))).catCommand
22878
22878
  },
22879
22879
  {
22880
22880
  name: "printf",
22881
- load: async () => (await Promise.resolve().then(() => require("./printf-TWGXF445-CRtReDPZ.cjs"))).printfCommand
22881
+ load: async () => (await Promise.resolve().then(() => require("./printf-TWGXF445-Bf3r9_T4.cjs"))).printfCommand
22882
22882
  },
22883
22883
  {
22884
22884
  name: "ls",
22885
- load: async () => (await Promise.resolve().then(() => require("./ls-ZJGQER7M-CPrpYxax.cjs"))).lsCommand
22885
+ load: async () => (await Promise.resolve().then(() => require("./ls-ZJGQER7M-BY54B-oP.cjs"))).lsCommand
22886
22886
  },
22887
22887
  {
22888
22888
  name: "mkdir",
22889
- load: async () => (await Promise.resolve().then(() => require("./mkdir-MEPGZOB6-6QxPyXDQ.cjs"))).mkdirCommand
22889
+ load: async () => (await Promise.resolve().then(() => require("./mkdir-MEPGZOB6-CgawHcnX.cjs"))).mkdirCommand
22890
22890
  },
22891
22891
  {
22892
22892
  name: "rmdir",
22893
- load: async () => (await Promise.resolve().then(() => require("./rmdir-OC4ZLPYA-DzU560AU.cjs"))).rmdirCommand
22893
+ load: async () => (await Promise.resolve().then(() => require("./rmdir-OC4ZLPYA-C8WL7BGv.cjs"))).rmdirCommand
22894
22894
  },
22895
22895
  {
22896
22896
  name: "touch",
22897
- load: async () => (await Promise.resolve().then(() => require("./touch-UA33VN3N-CubQGA77.cjs"))).touchCommand
22897
+ load: async () => (await Promise.resolve().then(() => require("./touch-UA33VN3N-BH94tj0o.cjs"))).touchCommand
22898
22898
  },
22899
22899
  {
22900
22900
  name: "rm",
22901
- load: async () => (await Promise.resolve().then(() => require("./rm-SSGETQVQ-CuMHTlTU.cjs"))).rmCommand
22901
+ load: async () => (await Promise.resolve().then(() => require("./rm-SSGETQVQ-D64rnY-K.cjs"))).rmCommand
22902
22902
  },
22903
22903
  {
22904
22904
  name: "cp",
22905
- load: async () => (await Promise.resolve().then(() => require("./cp-BISAAS7A-CbFxGxoU.cjs"))).cpCommand
22905
+ load: async () => (await Promise.resolve().then(() => require("./cp-BISAAS7A-Dc9whLMv.cjs"))).cpCommand
22906
22906
  },
22907
22907
  {
22908
22908
  name: "mv",
22909
- load: async () => (await Promise.resolve().then(() => require("./mv-W5BIQ646-CW4EMAzI.cjs"))).mvCommand
22909
+ load: async () => (await Promise.resolve().then(() => require("./mv-W5BIQ646-BzW_Etdb.cjs"))).mvCommand
22910
22910
  },
22911
22911
  {
22912
22912
  name: "ln",
22913
- load: async () => (await Promise.resolve().then(() => require("./ln-4LGSXXGD-DDlOhia8.cjs"))).lnCommand
22913
+ load: async () => (await Promise.resolve().then(() => require("./ln-4LGSXXGD-C_5lbRYs.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-Depd2eI6.cjs"))).headCommand
22929
+ load: async () => (await Promise.resolve().then(() => require("./head-442HYESI-wNbSgWsb.cjs"))).headCommand
22930
22930
  },
22931
22931
  {
22932
22932
  name: "tail",
22933
- load: async () => (await Promise.resolve().then(() => require("./tail-R4PCA2C4-lVA_-Cnv.cjs"))).tailCommand
22933
+ load: async () => (await Promise.resolve().then(() => require("./tail-R4PCA2C4-BtvHaGAr.cjs"))).tailCommand
22934
22934
  },
22935
22935
  {
22936
22936
  name: "wc",
22937
- load: async () => (await Promise.resolve().then(() => require("./wc-LF7NU4LA-BLmIvVNh.cjs"))).wcCommand
22937
+ load: async () => (await Promise.resolve().then(() => require("./wc-LF7NU4LA-DMssR8j_.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-B3FyXAXJ.cjs"))).grepCommand
22945
+ load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-E2h_lJyr.cjs"))).grepCommand
22946
22946
  },
22947
22947
  {
22948
22948
  name: "fgrep",
22949
- load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-B3FyXAXJ.cjs"))).fgrepCommand
22949
+ load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-E2h_lJyr.cjs"))).fgrepCommand
22950
22950
  },
22951
22951
  {
22952
22952
  name: "egrep",
22953
- load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-B3FyXAXJ.cjs"))).egrepCommand
22953
+ load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-E2h_lJyr.cjs"))).egrepCommand
22954
22954
  },
22955
22955
  {
22956
22956
  name: "rg",
22957
- load: async () => (await Promise.resolve().then(() => require("./rg-S4FXYXWB-Dqy8US3o.cjs"))).rgCommand
22957
+ load: async () => (await Promise.resolve().then(() => require("./rg-S4FXYXWB-DR1FKvWK.cjs"))).rgCommand
22958
22958
  },
22959
22959
  {
22960
22960
  name: "sed",
22961
- load: async () => (await Promise.resolve().then(() => require("./sed-S5UIK574-BnUtp9JK.cjs"))).sedCommand
22961
+ load: async () => (await Promise.resolve().then(() => require("./sed-S5UIK574-c9rwlnGs.cjs"))).sedCommand
22962
22962
  },
22963
22963
  {
22964
22964
  name: "awk",
22965
- load: async () => (await Promise.resolve().then(() => require("./awk2-LA3USKJP-Yg3Zvp46.cjs"))).awkCommand2
22965
+ load: async () => (await Promise.resolve().then(() => require("./awk2-LA3USKJP-CX2aQzBB.cjs"))).awkCommand2
22966
22966
  },
22967
22967
  {
22968
22968
  name: "sort",
22969
- load: async () => (await Promise.resolve().then(() => require("./sort-SW2YEO5B-CJqRZpAc.cjs"))).sortCommand
22969
+ load: async () => (await Promise.resolve().then(() => require("./sort-SW2YEO5B-CdBBvg3D.cjs"))).sortCommand
22970
22970
  },
22971
22971
  {
22972
22972
  name: "uniq",
22973
- load: async () => (await Promise.resolve().then(() => require("./uniq-XSIZR6PB-B0L65FHN.cjs"))).uniqCommand
22973
+ load: async () => (await Promise.resolve().then(() => require("./uniq-XSIZR6PB-CGY2MF60.cjs"))).uniqCommand
22974
22974
  },
22975
22975
  {
22976
22976
  name: "comm",
22977
- load: async () => (await Promise.resolve().then(() => require("./comm-VV2LDX2J-Dq_zFNG7.cjs"))).commCommand
22977
+ load: async () => (await Promise.resolve().then(() => require("./comm-VV2LDX2J-0IlA7Uzn.cjs"))).commCommand
22978
22978
  },
22979
22979
  {
22980
22980
  name: "cut",
22981
- load: async () => (await Promise.resolve().then(() => require("./cut-OKARJCCV-o4z6JrbJ.cjs"))).cutCommand
22981
+ load: async () => (await Promise.resolve().then(() => require("./cut-OKARJCCV-Dhnh9kfl.cjs"))).cutCommand
22982
22982
  },
22983
22983
  {
22984
22984
  name: "paste",
22985
- load: async () => (await Promise.resolve().then(() => require("./paste-7JC6S4DX-CaYT5dNr.cjs"))).pasteCommand
22985
+ load: async () => (await Promise.resolve().then(() => require("./paste-7JC6S4DX-Ddjdun-G.cjs"))).pasteCommand
22986
22986
  },
22987
22987
  {
22988
22988
  name: "tr",
22989
- load: async () => (await Promise.resolve().then(() => require("./tr-36LHWFRQ-Bf59q14F.cjs"))).trCommand
22989
+ load: async () => (await Promise.resolve().then(() => require("./tr-36LHWFRQ-CK-95bfG.cjs"))).trCommand
22990
22990
  },
22991
22991
  {
22992
22992
  name: "rev",
22993
- load: async () => (await Promise.resolve().then(() => require("./rev-5EHFX4EJ-3tbo28Bs.cjs"))).rev
22993
+ load: async () => (await Promise.resolve().then(() => require("./rev-5EHFX4EJ-B3oieIwC.cjs"))).rev
22994
22994
  },
22995
22995
  {
22996
22996
  name: "nl",
22997
- load: async () => (await Promise.resolve().then(() => require("./nl-WSDW7I4O-DXe6Rx98.cjs"))).nl
22997
+ load: async () => (await Promise.resolve().then(() => require("./nl-WSDW7I4O-D61T3lkX.cjs"))).nl
22998
22998
  },
22999
22999
  {
23000
23000
  name: "fold",
23001
- load: async () => (await Promise.resolve().then(() => require("./fold-4TQNYMSW-BNDizuO0.cjs"))).fold
23001
+ load: async () => (await Promise.resolve().then(() => require("./fold-4TQNYMSW-RuvTSqsK.cjs"))).fold
23002
23002
  },
23003
23003
  {
23004
23004
  name: "expand",
23005
- load: async () => (await Promise.resolve().then(() => require("./expand-JSPG6VOP-Bz2Hk0FC.cjs"))).expand
23005
+ load: async () => (await Promise.resolve().then(() => require("./expand-JSPG6VOP-CZQOBzE4.cjs"))).expand
23006
23006
  },
23007
23007
  {
23008
23008
  name: "unexpand",
23009
- load: async () => (await Promise.resolve().then(() => require("./unexpand-CADSA4VO-DSbRhGaL.cjs"))).unexpand
23009
+ load: async () => (await Promise.resolve().then(() => require("./unexpand-CADSA4VO-Bs0nXKlg.cjs"))).unexpand
23010
23010
  },
23011
23011
  {
23012
23012
  name: "strings",
23013
- load: async () => (await Promise.resolve().then(() => require("./strings-6WDHLGMX-t7krqer3.cjs"))).strings
23013
+ load: async () => (await Promise.resolve().then(() => require("./strings-6WDHLGMX-bq8ynPi3.cjs"))).strings
23014
23014
  },
23015
23015
  {
23016
23016
  name: "split",
23017
- load: async () => (await Promise.resolve().then(() => require("./split-4KKZZXXE-DgH9dx0k.cjs"))).split
23017
+ load: async () => (await Promise.resolve().then(() => require("./split-4KKZZXXE-D4hc4NEG.cjs"))).split
23018
23018
  },
23019
23019
  {
23020
23020
  name: "column",
23021
- load: async () => (await Promise.resolve().then(() => require("./column-XT6UFXNQ-FKTGTVAy.cjs"))).column
23021
+ load: async () => (await Promise.resolve().then(() => require("./column-XT6UFXNQ-D4-HTS_l.cjs"))).column
23022
23022
  },
23023
23023
  {
23024
23024
  name: "join",
23025
- load: async () => (await Promise.resolve().then(() => require("./join-TBRGI3LQ-D_vDqxAh.cjs"))).join
23025
+ load: async () => (await Promise.resolve().then(() => require("./join-TBRGI3LQ-0CR8WyHb.cjs"))).join
23026
23026
  },
23027
23027
  {
23028
23028
  name: "tee",
23029
- load: async () => (await Promise.resolve().then(() => require("./tee-YUZ2FKCJ-DqtVXyXz.cjs"))).teeCommand
23029
+ load: async () => (await Promise.resolve().then(() => require("./tee-YUZ2FKCJ-C7XnMke0.cjs"))).teeCommand
23030
23030
  },
23031
23031
  {
23032
23032
  name: "find",
23033
- load: async () => (await Promise.resolve().then(() => require("./find-INTH3OLC-wHgM1Gv3.cjs"))).findCommand
23033
+ load: async () => (await Promise.resolve().then(() => require("./find-INTH3OLC-Bg-_OL9N.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-POfTcitp.cjs"))).treeCommand
23045
+ load: async () => (await Promise.resolve().then(() => require("./tree-YLD52CNT-Cww3aQfk.cjs"))).treeCommand
23046
23046
  },
23047
23047
  {
23048
23048
  name: "du",
23049
- load: async () => (await Promise.resolve().then(() => require("./du-572XNP42-BVuECs5Z.cjs"))).duCommand
23049
+ load: async () => (await Promise.resolve().then(() => require("./du-572XNP42-BKaF_45E.cjs"))).duCommand
23050
23050
  },
23051
23051
  {
23052
23052
  name: "env",
23053
- load: async () => (await Promise.resolve().then(() => require("./env-36M5BO7M-B1DWAPfB.cjs"))).envCommand
23053
+ load: async () => (await Promise.resolve().then(() => require("./env-36M5BO7M-Bt56CvR3.cjs"))).envCommand
23054
23054
  },
23055
23055
  {
23056
23056
  name: "printenv",
23057
- load: async () => (await Promise.resolve().then(() => require("./env-36M5BO7M-B1DWAPfB.cjs"))).printenvCommand
23057
+ load: async () => (await Promise.resolve().then(() => require("./env-36M5BO7M-Bt56CvR3.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-sob18DeS.cjs"))).xargsCommand
23073
+ load: async () => (await Promise.resolve().then(() => require("./xargs-MGZPH7AX-CMFzO3Um.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-ZJEj5Hrc.cjs"))).bashCommand
23089
+ load: async () => (await Promise.resolve().then(() => require("./bash-YZ33HQZQ-CA0lcNTu.cjs"))).bashCommand
23090
23090
  },
23091
23091
  {
23092
23092
  name: "sh",
23093
- load: async () => (await Promise.resolve().then(() => require("./bash-YZ33HQZQ-ZJEj5Hrc.cjs"))).shCommand
23093
+ load: async () => (await Promise.resolve().then(() => require("./bash-YZ33HQZQ-CA0lcNTu.cjs"))).shCommand
23094
23094
  },
23095
23095
  {
23096
23096
  name: "jq",
23097
- load: async () => (await Promise.resolve().then(() => require("./jq-4XLYLOS5-BxuyXoU0.cjs"))).jqCommand
23097
+ load: async () => (await Promise.resolve().then(() => require("./jq-4XLYLOS5-QZ5ZMYR8.cjs"))).jqCommand
23098
23098
  },
23099
23099
  {
23100
23100
  name: "base64",
23101
- load: async () => (await Promise.resolve().then(() => require("./base64-C2AIWVNC-BcpzVCOR.cjs"))).base64Command
23101
+ load: async () => (await Promise.resolve().then(() => require("./base64-C2AIWVNC-Zw6VdY06.cjs"))).base64Command
23102
23102
  },
23103
23103
  {
23104
23104
  name: "diff",
23105
- load: async () => (await Promise.resolve().then(() => require("./diff-MWJFIG7X-BMUXeO5n.cjs"))).diffCommand
23105
+ load: async () => (await Promise.resolve().then(() => require("./diff-MWJFIG7X-esd7amDS.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-Cl4fTz2p.cjs"))).sleepCommand
23113
+ load: async () => (await Promise.resolve().then(() => require("./sleep-X22JJINO-D-PQh_Ov.cjs"))).sleepCommand
23114
23114
  },
23115
23115
  {
23116
23116
  name: "timeout",
23117
- load: async () => (await Promise.resolve().then(() => require("./timeout-YDCRSLPQ-9Tnz48PX.cjs"))).timeoutCommand
23117
+ load: async () => (await Promise.resolve().then(() => require("./timeout-YDCRSLPQ-IIodimLQ.cjs"))).timeoutCommand
23118
23118
  },
23119
23119
  {
23120
23120
  name: "time",
23121
- load: async () => (await Promise.resolve().then(() => require("./time-D4LNBSWX-Dsgl8AGx.cjs"))).timeCommand
23121
+ load: async () => (await Promise.resolve().then(() => require("./time-D4LNBSWX-Dk9LRHuK.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-Cv41uJFe.cjs"))).exprCommand
23129
+ load: async () => (await Promise.resolve().then(() => require("./expr-5JAACS4X-D-6tjQKP.cjs"))).exprCommand
23130
23130
  },
23131
23131
  {
23132
23132
  name: "md5sum",
23133
- load: async () => (await Promise.resolve().then(() => require("./md5sum-SPU24VSG-3klTAyVB.cjs"))).md5sumCommand
23133
+ load: async () => (await Promise.resolve().then(() => require("./md5sum-SPU24VSG-DhGi9GoH.cjs"))).md5sumCommand
23134
23134
  },
23135
23135
  {
23136
23136
  name: "sha1sum",
23137
- load: async () => (await Promise.resolve().then(() => require("./sha1sum-2PTOAFR6-_ObXRVHy.cjs"))).sha1sumCommand
23137
+ load: async () => (await Promise.resolve().then(() => require("./sha1sum-2PTOAFR6-B5n0RfqG.cjs"))).sha1sumCommand
23138
23138
  },
23139
23139
  {
23140
23140
  name: "sha256sum",
23141
- load: async () => (await Promise.resolve().then(() => require("./sha256sum-NS7D3IXX-Bne4YcBK.cjs"))).sha256sumCommand
23141
+ load: async () => (await Promise.resolve().then(() => require("./sha256sum-NS7D3IXX-BvgHDSGB.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-BMJ_NEfU.cjs"))).htmlToMarkdownCommand
23149
+ load: async () => (await Promise.resolve().then(() => require("./html-to-markdown-JW4MSQZO-CfmN2ZcI.cjs"))).htmlToMarkdownCommand
23150
23150
  },
23151
23151
  {
23152
23152
  name: "help",
23153
- load: async () => (await Promise.resolve().then(() => require("./help-HZ6M2CKN-ta7W7sqn.cjs"))).helpCommand
23153
+ load: async () => (await Promise.resolve().then(() => require("./help-HZ6M2CKN-Bg1VYYA5.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-DBoubysm.cjs"))).tac
23161
+ load: async () => (await Promise.resolve().then(() => require("./tac-2STMMJYW-BQ75aOdN.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-87SklrFR.cjs"))).od
23173
+ load: async () => (await Promise.resolve().then(() => require("./od-WOKFDJTP-TzLiCg7j.cjs"))).od
23174
23174
  },
23175
23175
  {
23176
23176
  name: "gzip",
23177
- load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-B-zRyf0Y.cjs"))).gzipCommand
23177
+ load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-B6Wdf-B7.cjs"))).gzipCommand
23178
23178
  },
23179
23179
  {
23180
23180
  name: "gunzip",
23181
- load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-B-zRyf0Y.cjs"))).gunzipCommand
23181
+ load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-B6Wdf-B7.cjs"))).gunzipCommand
23182
23182
  },
23183
23183
  {
23184
23184
  name: "zcat",
23185
- load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-B-zRyf0Y.cjs"))).zcatCommand
23185
+ load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-B6Wdf-B7.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-BlENu9nk.cjs"))).tarCommand
23190
+ load: async () => (await Promise.resolve().then(() => require("./tar-STHHZTZ6-BTrSjL4q.cjs"))).tarCommand
23191
23191
  }), tt.push({
23192
23192
  name: "yq",
23193
- load: async () => (await Promise.resolve().then(() => require("./yq-4QJW3EQG-DgdNypAA.cjs"))).yqCommand
23193
+ load: async () => (await Promise.resolve().then(() => require("./yq-4QJW3EQG-FBEG5OEQ.cjs"))).yqCommand
23194
23194
  }), tt.push({
23195
23195
  name: "xan",
23196
- load: async () => (await Promise.resolve().then(() => require("./xan-Y6WF3IRG-VKVMsXxG.cjs"))).xanCommand
23196
+ load: async () => (await Promise.resolve().then(() => require("./xan-Y6WF3IRG-zdAljm88.cjs"))).xanCommand
23197
23197
  }), tt.push({
23198
23198
  name: "sqlite3",
23199
- load: async () => (await Promise.resolve().then(() => require("./sqlite3-CGOEFJAO-Dz72skxn.cjs"))).sqlite3Command
23199
+ load: async () => (await Promise.resolve().then(() => require("./sqlite3-CGOEFJAO-BWSdC_vX.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-CUDeVW49.cjs"))).python3Command
23204
+ load: async () => (await Promise.resolve().then(() => require("./python3-POMOR4OA-Bt7oVFz_.cjs"))).python3Command
23205
23205
  }), Yt.push({
23206
23206
  name: "python",
23207
- load: async () => (await Promise.resolve().then(() => require("./python3-POMOR4OA-CUDeVW49.cjs"))).pythonCommand
23207
+ load: async () => (await Promise.resolve().then(() => require("./python3-POMOR4OA-Bt7oVFz_.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-GNzc3pR4.cjs"))).jsExecCommand
23212
+ load: async () => (await Promise.resolve().then(() => require("./js-exec-N5KEZBH7-xGqtmrB-.cjs"))).jsExecCommand
23213
23213
  }), Qt.push({
23214
23214
  name: "node",
23215
- load: async () => (await Promise.resolve().then(() => require("./js-exec-N5KEZBH7-GNzc3pR4.cjs"))).nodeStubCommand
23215
+ load: async () => (await Promise.resolve().then(() => require("./js-exec-N5KEZBH7-xGqtmrB-.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
  };
@@ -25169,7 +25198,7 @@ function createOrganizationHandler(deps) {
25169
25198
  }
25170
25199
  //#endregion
25171
25200
  //#region src/routes/account/organizations/slug-available/GET.ts
25172
- const handler$93 = async (c) => {
25201
+ const handler$94 = async (c) => {
25173
25202
  const parsed = require_dist$1.SlugAvailabilityQuerySchema.safeParse({
25174
25203
  slug: c.req.query("slug"),
25175
25204
  excludeOrganizationId: c.req.query("excludeOrganizationId")
@@ -25180,7 +25209,7 @@ const handler$93 = async (c) => {
25180
25209
  };
25181
25210
  //#endregion
25182
25211
  //#region src/routes/account/organizations/[organizationId]/GET.ts
25183
- const handler$92 = async (c) => {
25212
+ const handler$93 = async (c) => {
25184
25213
  const { organizationId } = c.get("organization");
25185
25214
  const membership = await (0, _keystrokehq_platform_database.selectUserOrganizationMembership)(c.get("user").id, organizationId);
25186
25215
  if (!membership) throw new Error(`Organization membership missing after param guard: ${organizationId}`);
@@ -25188,7 +25217,7 @@ const handler$92 = async (c) => {
25188
25217
  };
25189
25218
  //#endregion
25190
25219
  //#region src/routes/account/organizations/[organizationId]/PATCH.ts
25191
- const handler$91 = async (c) => {
25220
+ const handler$92 = async (c) => {
25192
25221
  const organization = c.get("organization");
25193
25222
  const body = await c.req.json().catch(() => null);
25194
25223
  const parsed = require_dist$1.UpdateOrganizationRequestSchema.safeParse(body);
@@ -25213,7 +25242,7 @@ const handler$91 = async (c) => {
25213
25242
  };
25214
25243
  //#endregion
25215
25244
  //#region src/routes/account/organizations/[organizationId]/branding/GET.ts
25216
- const handler$90 = async (c) => {
25245
+ const handler$91 = async (c) => {
25217
25246
  const { organizationId } = c.get("organization");
25218
25247
  const organization = await (0, _keystrokehq_platform_database.selectOrganizationById)(organizationId);
25219
25248
  if (!organization) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Organization not found" }), 404);
@@ -25262,7 +25291,7 @@ async function finalizeOrgLogoVariant(input) {
25262
25291
  publicUrl: finalized.publicUrl
25263
25292
  };
25264
25293
  }
25265
- const handler$89 = async (c) => {
25294
+ const handler$90 = async (c) => {
25266
25295
  const parsed = require_dist$1.OrganizationSidebarBrandingPatchSchema.safeParse(await c.req.json().catch(() => null));
25267
25296
  if (!parsed.success) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid branding update" }), 400);
25268
25297
  const { organizationId } = c.get("organization");
@@ -25290,7 +25319,7 @@ const handler$89 = async (c) => {
25290
25319
  };
25291
25320
  //#endregion
25292
25321
  //#region src/routes/account/organizations/[organizationId]/branding/logo/presign/POST.ts
25293
- const handler$88 = async (c) => {
25322
+ const handler$89 = async (c) => {
25294
25323
  const parsed = require_dist$1.PresignOrgLogoRequestSchema.safeParse(await c.req.json().catch(() => null));
25295
25324
  if (!parsed.success) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid logo upload request" }), 400);
25296
25325
  const extension = avatarExtensionForContentType(parsed.data.contentType);
@@ -25395,7 +25424,7 @@ async function attachRanAsToDetail(detail, ranByUserId) {
25395
25424
  }
25396
25425
  //#endregion
25397
25426
  //#region src/routes/account/history/GET.ts
25398
- const handler$87 = async (c) => {
25427
+ const handler$88 = async (c) => {
25399
25428
  const organization = c.get("organization");
25400
25429
  const ctx = accessContext(c);
25401
25430
  const query = require_dist$1.HistoryRunListQuerySchema.parse({
@@ -25420,7 +25449,7 @@ const handler$87 = async (c) => {
25420
25449
  };
25421
25450
  //#endregion
25422
25451
  //#region src/routes/account/history/[runId]/GET.ts
25423
- const handler$86 = async (c) => {
25452
+ const handler$87 = async (c) => {
25424
25453
  const runId = c.req.param("runId") ?? "";
25425
25454
  if (!runId) return c.json(null, 404);
25426
25455
  const core = await (0, _keystrokehq_database.findHistoryRunCore)(runId);
@@ -25478,7 +25507,7 @@ function toAgentSummary(row, options) {
25478
25507
  }
25479
25508
  //#endregion
25480
25509
  //#region src/routes/account/agents/GET.ts
25481
- const handler$85 = async (c) => {
25510
+ const handler$86 = async (c) => {
25482
25511
  const filter = await resolveListProjectIds(c, listScope(c, agentListScope(accessContext(c))), c.req.query("projectId"));
25483
25512
  if (filter === "empty") return c.json(require_dist$1.AgentSummaryListResponseSchema.parse([]));
25484
25513
  const rows = await (0, _keystrokehq_database.listActiveAgents)(filter);
@@ -25492,7 +25521,7 @@ function touchResourceActivityBestEffort(options) {
25492
25521
  }
25493
25522
  //#endregion
25494
25523
  //#region src/routes/account/agents/[agentId]/GET.ts
25495
- const handler$84 = async (c) => {
25524
+ const handler$85 = async (c) => {
25496
25525
  const agentId = c.req.param("agentId") ?? "";
25497
25526
  const row = agentId ? await (0, _keystrokehq_database.selectActiveAgentById)(agentId) : void 0;
25498
25527
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessAgent)) return c.json(require_dist$1.AgentSummaryDetailResponseSchema.parse(null));
@@ -25515,7 +25544,7 @@ const handler$84 = async (c) => {
25515
25544
  function relativePathsFromStorageKeys(prefix, keys) {
25516
25545
  return keys.filter((key) => key.startsWith(prefix) && key.endsWith(".md")).map((key) => key.slice(prefix.length)).filter((path) => !path.startsWith(".") && !path.includes("/."));
25517
25546
  }
25518
- const handler$83 = async (c) => {
25547
+ const handler$84 = async (c) => {
25519
25548
  const agentId = c.req.param("agentId") ?? "";
25520
25549
  const row = agentId ? await (0, _keystrokehq_database.selectActiveAgentById)(agentId) : void 0;
25521
25550
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessAgent)) return c.json(require_dist$1.ListAgentMemoryFilesResponseSchema.parse({ files: [] }), 404);
@@ -25540,7 +25569,7 @@ function isStorageNotFoundError(error) {
25540
25569
  const status = typeof record.$metadata === "object" && record.$metadata !== null ? record.$metadata.httpStatusCode : void 0;
25541
25570
  return name === "NoSuchKey" || code === "NoSuchKey" || code === "NotFound" || status === 404;
25542
25571
  }
25543
- const handler$82 = async (c) => {
25572
+ const handler$83 = async (c) => {
25544
25573
  const agentId = c.req.param("agentId") ?? "";
25545
25574
  const path = c.req.query("path");
25546
25575
  if (!path) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "File path is required" }), 400);
@@ -25594,7 +25623,7 @@ function workspaceRelativePathsFromStorageKeys(keys) {
25594
25623
  }
25595
25624
  //#endregion
25596
25625
  //#region src/routes/account/agents/[agentId]/workspace/files/GET.ts
25597
- const handler$81 = async (c) => {
25626
+ const handler$82 = async (c) => {
25598
25627
  const agentId = c.req.param("agentId") ?? "";
25599
25628
  const row = agentId ? await (0, _keystrokehq_database.selectActiveAgentById)(agentId) : void 0;
25600
25629
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessAgent)) return c.json(require_dist$1.ListAgentWorkspaceFilesResponseSchema.parse({ files: [] }), 404);
@@ -25617,7 +25646,7 @@ const handler$81 = async (c) => {
25617
25646
  };
25618
25647
  //#endregion
25619
25648
  //#region src/routes/account/agents/[agentId]/workspace/files/content/GET.ts
25620
- const handler$80 = async (c) => {
25649
+ const handler$81 = async (c) => {
25621
25650
  const agentId = c.req.param("agentId") ?? "";
25622
25651
  const path = c.req.query("path");
25623
25652
  if (!path) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "File path is required" }), 400);
@@ -25666,7 +25695,7 @@ async function cancelHistoryRun(c, kind, cancel) {
25666
25695
  }
25667
25696
  //#endregion
25668
25697
  //#region src/routes/account/agents/sessions/[sessionId]/cancel/POST.ts
25669
- const handler$79 = (c) => cancelHistoryRun(c, "agent", _keystrokehq_database.cancelAgentSession);
25698
+ const handler$80 = (c) => cancelHistoryRun(c, "agent", _keystrokehq_database.cancelAgentSession);
25670
25699
  //#endregion
25671
25700
  //#region src/routes/account/resources/workflows.ts
25672
25701
  function toWorkflowSummary(row, options) {
@@ -25683,7 +25712,7 @@ function toWorkflowSummary(row, options) {
25683
25712
  }
25684
25713
  //#endregion
25685
25714
  //#region src/routes/account/workflows/GET.ts
25686
- const handler$78 = async (c) => {
25715
+ const handler$79 = async (c) => {
25687
25716
  const filter = await resolveListProjectIds(c, listScope(c, workflowListScope(accessContext(c))), c.req.query("projectId"));
25688
25717
  if (filter === "empty") return c.json(require_dist$1.WorkflowSummaryListResponseSchema.parse([]));
25689
25718
  const rows = await (0, _keystrokehq_database.listActiveWorkflows)(filter);
@@ -25692,7 +25721,7 @@ const handler$78 = async (c) => {
25692
25721
  };
25693
25722
  //#endregion
25694
25723
  //#region src/routes/account/workflows/[workflowId]/GET.ts
25695
- const handler$77 = async (c) => {
25724
+ const handler$78 = async (c) => {
25696
25725
  const workflowId = c.req.param("workflowId") ?? "";
25697
25726
  const row = workflowId ? await (0, _keystrokehq_database.selectActiveWorkflowById)(workflowId) : void 0;
25698
25727
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessWorkflow)) return c.json(require_dist$1.WorkflowSummaryDetailResponseSchema.parse(null));
@@ -26132,7 +26161,7 @@ function buildWorkflowCanvas(input) {
26132
26161
  //#region src/routes/account/workflows/[workflowId]/canvas/GET.ts
26133
26162
  /** Bumped when the annotation prompt/model changes, so cached annotations invalidate. */
26134
26163
  const ANNOTATIONS_GENERATOR_VERSION = "wf-canvas-annotations-v1";
26135
- const handler$76 = async (c) => {
26164
+ const handler$77 = async (c) => {
26136
26165
  const organization = c.get("organization");
26137
26166
  const workflowId = c.req.param("workflowId") ?? "";
26138
26167
  if (!workflowId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
@@ -26305,7 +26334,7 @@ function toBinding(key, description) {
26305
26334
  * each of its requirements currently binds to (read-only, no decryption). Not
26306
26335
  * content-hash cached — credential state changes without a redeploy.
26307
26336
  */
26308
- const handler$75 = async (c) => {
26337
+ const handler$76 = async (c) => {
26309
26338
  const workflowId = c.req.param("workflowId") ?? "";
26310
26339
  if (!workflowId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
26311
26340
  const resolved = await resolveWorkflow(c, workflowId);
@@ -26464,7 +26493,7 @@ function toCanvasRunStatus(status) {
26464
26493
  if (status === "canceled") return "canceled";
26465
26494
  return "running";
26466
26495
  }
26467
- const handler$74 = async (c) => {
26496
+ const handler$75 = async (c) => {
26468
26497
  const workflowId = c.req.param("workflowId") ?? "";
26469
26498
  const runId = c.req.param("runId") ?? "";
26470
26499
  if (!workflowId.trim() || !runId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid workflow or run id" }), 400);
@@ -26519,7 +26548,7 @@ async function loadWorkflowSource(organization, projectId, sourcePath) {
26519
26548
  return null;
26520
26549
  }
26521
26550
  }
26522
- const handler$73 = async (c) => {
26551
+ const handler$74 = async (c) => {
26523
26552
  const organization = c.get("organization");
26524
26553
  const workflowId = c.req.param("workflowId") ?? "";
26525
26554
  if (!workflowId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
@@ -26620,7 +26649,7 @@ const handler$73 = async (c) => {
26620
26649
  };
26621
26650
  //#endregion
26622
26651
  //#region src/routes/account/workflows/[workflowId]/run-inputs/GET.ts
26623
- const handler$72 = async (c) => {
26652
+ const handler$73 = async (c) => {
26624
26653
  const workflowId = c.req.param("workflowId") ?? "";
26625
26654
  if (!workflowId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
26626
26655
  const resolved = await resolveWorkflow(c, workflowId);
@@ -26635,7 +26664,7 @@ const handler$72 = async (c) => {
26635
26664
  };
26636
26665
  //#endregion
26637
26666
  //#region src/routes/account/workflows/[workflowId]/run-inputs/PUT.ts
26638
- const handler$71 = async (c) => {
26667
+ const handler$72 = async (c) => {
26639
26668
  const workflowId = c.req.param("workflowId") ?? "";
26640
26669
  if (!workflowId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
26641
26670
  const resolved = await resolveWorkflow(c, workflowId);
@@ -26667,7 +26696,7 @@ function parseRunInput(requestSchema, input) {
26667
26696
  * the active deploy's request schema, creates a pending run, and enqueues it on
26668
26697
  * the project's queue (drained by the project runtime worker). Returns the run id.
26669
26698
  */
26670
- const handler$70 = async (c) => {
26699
+ const handler$71 = async (c) => {
26671
26700
  const { organizationId } = c.get("organization");
26672
26701
  const workflowId = c.req.param("workflowId") ?? "";
26673
26702
  if (!workflowId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
@@ -26704,7 +26733,7 @@ const handler$70 = async (c) => {
26704
26733
  };
26705
26734
  //#endregion
26706
26735
  //#region src/routes/account/workflows/[workflowId]/runs/GET.ts
26707
- const handler$69 = async (c) => {
26736
+ const handler$70 = async (c) => {
26708
26737
  const workflowId = c.req.param("workflowId") ?? "";
26709
26738
  if (!workflowId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid workflow id" }), 400);
26710
26739
  const resolved = await resolveWorkflow(c, workflowId);
@@ -26727,7 +26756,7 @@ const handler$69 = async (c) => {
26727
26756
  };
26728
26757
  //#endregion
26729
26758
  //#region src/routes/account/workflows/runs/[runId]/cancel/POST.ts
26730
- const handler$68 = (c) => cancelHistoryRun(c, "workflow", _keystrokehq_database.cancelWorkflowRun);
26759
+ const handler$69 = (c) => cancelHistoryRun(c, "workflow", _keystrokehq_database.cancelWorkflowRun);
26731
26760
  //#endregion
26732
26761
  //#region src/routes/account/resources/skills.ts
26733
26762
  function toSkillSummary(row) {
@@ -26744,7 +26773,7 @@ function toSkillSummary(row) {
26744
26773
  }
26745
26774
  //#endregion
26746
26775
  //#region src/routes/account/skills/GET.ts
26747
- const handler$67 = async (c) => {
26776
+ const handler$68 = async (c) => {
26748
26777
  const filter = await resolveListProjectIds(c, listScope(c, skillListScope(accessContext(c))), c.req.query("projectId"));
26749
26778
  if (filter === "empty") return c.json(require_dist$1.SkillSummaryListResponseSchema.parse([]));
26750
26779
  const rows = await (0, _keystrokehq_database.listActiveSkills)(filter);
@@ -26752,7 +26781,7 @@ const handler$67 = async (c) => {
26752
26781
  };
26753
26782
  //#endregion
26754
26783
  //#region src/routes/account/skills/[skillId]/GET.ts
26755
- const handler$66 = async (c) => {
26784
+ const handler$67 = async (c) => {
26756
26785
  const skillId = c.req.param("skillId") ?? "";
26757
26786
  const row = skillId ? await (0, _keystrokehq_database.selectActiveSkillById)(skillId) : void 0;
26758
26787
  if (!row || !await canAccessProjectId(c, row.projectId, canAccessSkill)) return c.json(require_dist$1.SkillSummaryDetailResponseSchema.parse(null));
@@ -26861,7 +26890,7 @@ function toWorkspaceTriggerRunSummary(item, assignments) {
26861
26890
  }
26862
26891
  //#endregion
26863
26892
  //#region src/routes/account/triggers/GET.ts
26864
- const handler$65 = async (c) => {
26893
+ const handler$66 = async (c) => {
26865
26894
  const organization = c.get("organization");
26866
26895
  const scope = listScope(c, projectListScope(accessContext(c)));
26867
26896
  const filter = await resolveListProjectIds(c, scope, c.req.query("projectId"));
@@ -26873,7 +26902,7 @@ const handler$65 = async (c) => {
26873
26902
  };
26874
26903
  //#endregion
26875
26904
  //#region src/routes/account/triggers/[triggerId]/GET.ts
26876
- const handler$64 = async (c) => {
26905
+ const handler$65 = async (c) => {
26877
26906
  const organization = c.get("organization");
26878
26907
  const triggerId = c.req.param("triggerId") ?? "";
26879
26908
  if (!triggerId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -26889,7 +26918,7 @@ const handler$64 = async (c) => {
26889
26918
  };
26890
26919
  //#endregion
26891
26920
  //#region src/routes/account/triggers/[triggerId]/runs/GET.ts
26892
- const handler$63 = async (c) => {
26921
+ const handler$64 = async (c) => {
26893
26922
  const triggerId = c.req.param("triggerId") ?? "";
26894
26923
  if (!triggerId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
26895
26924
  const filter = await resolveListProjectIds(c, listScope(c, projectListScope(accessContext(c))));
@@ -26918,7 +26947,7 @@ const handler$63 = async (c) => {
26918
26947
  };
26919
26948
  //#endregion
26920
26949
  //#region src/routes/account/triggers/[triggerId]/file/GET.ts
26921
- const handler$62 = async (c) => {
26950
+ const handler$63 = async (c) => {
26922
26951
  const { organizationId } = c.get("organization");
26923
26952
  const triggerId = c.req.param("triggerId") ?? "";
26924
26953
  if (!triggerId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -26955,7 +26984,7 @@ function envelope(row, status, hash) {
26955
26984
  model: row.overviewModel ?? "deepseek/deepseek-v4-flash"
26956
26985
  });
26957
26986
  }
26958
- const handler$61 = async (c) => {
26987
+ const handler$62 = async (c) => {
26959
26988
  const { organizationId } = c.get("organization");
26960
26989
  const triggerId = c.req.param("triggerId") ?? "";
26961
26990
  if (!triggerId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -27015,7 +27044,7 @@ const handler$61 = async (c) => {
27015
27044
  };
27016
27045
  //#endregion
27017
27046
  //#region src/routes/account/triggers/[triggerId]/attachments/[attachmentId]/PATCH.ts
27018
- const handler$60 = async (c) => {
27047
+ const handler$61 = async (c) => {
27019
27048
  const organization = c.get("organization");
27020
27049
  const triggerId = c.req.param("triggerId") ?? "";
27021
27050
  const attachmentId = c.req.param("attachmentId") ?? "";
@@ -27085,7 +27114,7 @@ var InvokeHttpError = class extends Error {
27085
27114
  * Manually invoke a trigger from the dashboard or CLI. Validates webhook input against
27086
27115
  * stored attachment schemas, then enqueues a trigger job on the project's queue.
27087
27116
  */
27088
- const handler$59 = async (c) => {
27117
+ const handler$60 = async (c) => {
27089
27118
  const { organizationId } = c.get("organization");
27090
27119
  const triggerId = c.req.param("triggerId") ?? "";
27091
27120
  if (!triggerId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
@@ -27158,7 +27187,7 @@ const handler$59 = async (c) => {
27158
27187
  * Form metadata for the dashboard invoke popover: webhook request schemas and
27159
27188
  * cron's read-only static payload.
27160
27189
  */
27161
- const handler$58 = async (c) => {
27190
+ const handler$59 = async (c) => {
27162
27191
  const triggerId = c.req.param("triggerId") ?? "";
27163
27192
  if (!triggerId.trim()) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid trigger id" }), 400);
27164
27193
  const filter = await resolveListProjectIds(c, listScope(c, projectListScope(accessContext(c))));
@@ -27224,7 +27253,7 @@ function latestRecentInteractionAt(recent) {
27224
27253
  //#endregion
27225
27254
  //#region src/routes/account/recents/GET.ts
27226
27255
  const RECENTS_LIMIT = 50;
27227
- const handler$57 = async (c) => {
27256
+ const handler$58 = async (c) => {
27228
27257
  const userId = c.get("user").id;
27229
27258
  const organization = c.get("organization");
27230
27259
  const grantedProjectIdsList = await grantedProjectIds(c, { kind: "member-only" });
@@ -27250,7 +27279,7 @@ const handler$57 = async (c) => {
27250
27279
  };
27251
27280
  //#endregion
27252
27281
  //#region src/routes/account/projects/GET.ts
27253
- const handler$56 = async (c) => {
27282
+ const handler$57 = async (c) => {
27254
27283
  const organization = c.get("organization");
27255
27284
  const grantedProjectIdsList = await grantedProjectIds(c, listScope(c, projectListScope(accessContext(c))));
27256
27285
  const projects = await (0, _keystrokehq_platform_database.selectProjectsByOrganizationId)(organization.organizationId, { grantedProjectIds: grantedProjectIdsList });
@@ -27276,7 +27305,7 @@ function mergeProjectListMetrics(input) {
27276
27305
  }
27277
27306
  //#endregion
27278
27307
  //#region src/routes/account/projects/metrics/GET.ts
27279
- const handler$55 = async (c) => {
27308
+ const handler$56 = async (c) => {
27280
27309
  const organization = c.get("organization");
27281
27310
  const grantedProjectIdsList = await grantedProjectIds(c, listScope(c, projectListScope(accessContext(c))));
27282
27311
  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 +27321,7 @@ const handler$55 = async (c) => {
27292
27321
  };
27293
27322
  //#endregion
27294
27323
  //#region src/routes/account/projects/POST.ts
27295
- const handler$54 = async (c) => {
27324
+ const handler$55 = async (c) => {
27296
27325
  const organization = c.get("organization");
27297
27326
  const user = c.get("user");
27298
27327
  const body = await c.req.json().catch(() => null);
@@ -27303,7 +27332,7 @@ const handler$54 = async (c) => {
27303
27332
  };
27304
27333
  //#endregion
27305
27334
  //#region src/routes/account/projects/slug-available/GET.ts
27306
- const handler$53 = async (c) => {
27335
+ const handler$54 = async (c) => {
27307
27336
  const organization = c.get("organization");
27308
27337
  const parsed = require_dist$1.ProjectSlugAvailabilityQuerySchema.safeParse({
27309
27338
  slug: c.req.query("slug"),
@@ -27315,12 +27344,12 @@ const handler$53 = async (c) => {
27315
27344
  };
27316
27345
  //#endregion
27317
27346
  //#region src/routes/account/projects/[projectId]/GET.ts
27318
- const handler$52 = async (c) => {
27347
+ const handler$53 = async (c) => {
27319
27348
  return c.json(require_dist$1.ProjectResponseSchema.parse(routeProject(c.get("project"))));
27320
27349
  };
27321
27350
  //#endregion
27322
27351
  //#region src/routes/account/projects/[projectId]/PATCH.ts
27323
- const handler$51 = async (c) => {
27352
+ const handler$52 = async (c) => {
27324
27353
  const organization = c.get("organization");
27325
27354
  const project = c.get("project");
27326
27355
  const body = await c.req.json().catch(() => null);
@@ -27338,7 +27367,7 @@ const handler$51 = async (c) => {
27338
27367
  };
27339
27368
  //#endregion
27340
27369
  //#region src/routes/account/projects/[projectId]/DELETE.ts
27341
- const handler$50 = async (c) => {
27370
+ const handler$51 = async (c) => {
27342
27371
  const organization = c.get("organization");
27343
27372
  const project = c.get("project");
27344
27373
  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 +27375,7 @@ const handler$50 = async (c) => {
27346
27375
  };
27347
27376
  //#endregion
27348
27377
  //#region src/routes/account/projects/[projectId]/deployments/GET.ts
27349
- const handler$49 = async (c) => {
27378
+ const handler$50 = async (c) => {
27350
27379
  const rows = await (0, _keystrokehq_platform_database.selectProjectDeployments)(c.get("project").id);
27351
27380
  return c.json(require_dist$1.ListProjectDeploymentsResponseSchema.parse(rows.map(require_dist$1.mapProjectDeployment)));
27352
27381
  };
@@ -27354,7 +27383,7 @@ const handler$49 = async (c) => {
27354
27383
  //#region src/routes/account/projects/[projectId]/artifacts/POST.ts
27355
27384
  const DEFAULT_PRESIGN_TTL_SECONDS$1 = 900;
27356
27385
  const ARTIFACT_CONTENT_TYPE = "application/gzip";
27357
- const handler$48 = async (c) => {
27386
+ const handler$49 = async (c) => {
27358
27387
  const project = c.get("project");
27359
27388
  const { organizationId } = c.get("organization");
27360
27389
  const organization = await (0, _keystrokehq_platform_database.selectOrganizationById)(organizationId);
@@ -27382,7 +27411,7 @@ const handler$48 = async (c) => {
27382
27411
  //#endregion
27383
27412
  //#region src/routes/account/projects/[projectId]/artifacts/active/download/GET.ts
27384
27413
  const DEFAULT_PRESIGN_TTL_SECONDS = 900;
27385
- const handler$47 = async (c) => {
27414
+ const handler$48 = async (c) => {
27386
27415
  const project = c.get("project");
27387
27416
  const { organizationId } = c.get("organization");
27388
27417
  const organization = await (0, _keystrokehq_platform_database.selectOrganizationById)(organizationId);
@@ -27401,7 +27430,7 @@ const handler$47 = async (c) => {
27401
27430
  };
27402
27431
  //#endregion
27403
27432
  //#region src/routes/account/projects/[projectId]/artifacts/active/source/GET.ts
27404
- const handler$46 = async (c) => {
27433
+ const handler$47 = async (c) => {
27405
27434
  const project = c.get("project");
27406
27435
  const active = await (0, _keystrokehq_platform_database.selectActiveArtifactSourceManifestForProject)(project.id);
27407
27436
  if (!active?.sourceManifestJson) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "No active source for project" }), 404);
@@ -27424,7 +27453,7 @@ const handler$46 = async (c) => {
27424
27453
  };
27425
27454
  //#endregion
27426
27455
  //#region src/routes/account/projects/[projectId]/artifacts/[artifactId]/complete/POST.ts
27427
- const handler$45 = async (c) => {
27456
+ const handler$46 = async (c) => {
27428
27457
  const project = c.get("project");
27429
27458
  const artifactId = c.req.param("artifactId");
27430
27459
  if (!artifactId) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Artifact id is required" }), 400);
@@ -27464,7 +27493,7 @@ const handler$45 = async (c) => {
27464
27493
  //#endregion
27465
27494
  //#region src/routes/account/projects/[projectId]/artifacts/[artifactId]/source/presign/POST.ts
27466
27495
  const SOURCE_BLOB_CONTENT_TYPE = "text/plain; charset=utf-8";
27467
- const handler$44 = async (c) => {
27496
+ const handler$45 = async (c) => {
27468
27497
  const project = c.get("project");
27469
27498
  const artifactId = c.req.param("artifactId");
27470
27499
  if (!artifactId) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Artifact id is required" }), 400);
@@ -27492,7 +27521,7 @@ const handler$44 = async (c) => {
27492
27521
  };
27493
27522
  //#endregion
27494
27523
  //#region src/routes/account/projects/[projectId]/artifacts/[artifactId]/source/manifest/POST.ts
27495
- const handler$43 = async (c) => {
27524
+ const handler$44 = async (c) => {
27496
27525
  const project = c.get("project");
27497
27526
  const artifactId = c.req.param("artifactId");
27498
27527
  if (!artifactId) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Artifact id is required" }), 400);
@@ -27524,7 +27553,7 @@ function extensionFromUpload(contentType, filename) {
27524
27553
  if (fromName && /^[a-z0-9]+$/.test(fromName)) return fromName;
27525
27554
  return require_dist$1.chatAttachmentExtension(contentType) ?? "bin";
27526
27555
  }
27527
- const handler$42 = async (c) => {
27556
+ const handler$43 = async (c) => {
27528
27557
  const project = c.get("project");
27529
27558
  const slug = c.req.param("slug");
27530
27559
  if (!slug) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Agent slug is required" }), 400);
@@ -27549,7 +27578,7 @@ const handler$42 = async (c) => {
27549
27578
  };
27550
27579
  //#endregion
27551
27580
  //#region src/routes/account/projects/[projectId]/agents/[slug]/attachments/[...key]/GET.ts
27552
- const handler$41 = async (c) => {
27581
+ const handler$42 = async (c) => {
27553
27582
  const project = c.get("project");
27554
27583
  const slug = c.req.param("slug");
27555
27584
  const keyParam = c.req.param("key");
@@ -27595,7 +27624,7 @@ function resolveSourcePaths(rows, kindDir, filePaths) {
27595
27624
  }] : [];
27596
27625
  });
27597
27626
  }
27598
- const handler$40 = async (c) => {
27627
+ const handler$41 = async (c) => {
27599
27628
  const project = c.get("project");
27600
27629
  const active = await (0, _keystrokehq_platform_database.selectActiveArtifactSourceManifestForProject)(project.id);
27601
27630
  if (!active || !active.sourceManifestJson) return c.json(require_dist$1.ListProjectFilesResponseSchema.parse({
@@ -27640,7 +27669,7 @@ function ifNoneMatchMatches(ifNoneMatch, etag) {
27640
27669
  }
27641
27670
  //#endregion
27642
27671
  //#region src/routes/account/projects/[projectId]/artifacts/[artifactId]/files/content/GET.ts
27643
- const handler$39 = async (c) => {
27672
+ const handler$40 = async (c) => {
27644
27673
  const project = c.get("project");
27645
27674
  const artifactId = c.req.param("artifactId");
27646
27675
  if (!artifactId) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Artifact id is required" }), 400);
@@ -27686,7 +27715,7 @@ function createProjectReachabilityHandler(hosting) {
27686
27715
  }
27687
27716
  //#endregion
27688
27717
  //#region src/routes/account/projects/[projectId]/members/GET.ts
27689
- const handler$38 = async (c) => {
27718
+ const handler$39 = async (c) => {
27690
27719
  const project = c.get("project");
27691
27720
  const currentUserId = c.get("user").id;
27692
27721
  const members = await (0, _keystrokehq_platform_database.selectProjectMembers)(project.id);
@@ -27694,7 +27723,7 @@ const handler$38 = async (c) => {
27694
27723
  };
27695
27724
  //#endregion
27696
27725
  //#region src/routes/account/projects/[projectId]/members/POST.ts
27697
- const handler$37 = async (c) => {
27726
+ const handler$38 = async (c) => {
27698
27727
  const organization = c.get("organization");
27699
27728
  const project = c.get("project");
27700
27729
  const body = await c.req.json().catch(() => null);
@@ -27710,7 +27739,7 @@ const handler$37 = async (c) => {
27710
27739
  };
27711
27740
  //#endregion
27712
27741
  //#region src/routes/account/projects/[projectId]/members/[userId]/PATCH.ts
27713
- const handler$36 = async (c) => {
27742
+ const handler$37 = async (c) => {
27714
27743
  const project = c.get("project");
27715
27744
  const userId = c.req.param("userId");
27716
27745
  const body = await c.req.json().catch(() => null);
@@ -27727,7 +27756,7 @@ const handler$36 = async (c) => {
27727
27756
  };
27728
27757
  //#endregion
27729
27758
  //#region src/routes/account/projects/[projectId]/members/[userId]/DELETE.ts
27730
- const handler$35 = async (c) => {
27759
+ const handler$36 = async (c) => {
27731
27760
  const project = c.get("project");
27732
27761
  const userId = c.req.param("userId");
27733
27762
  if (!userId) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "User id is required" }), 400);
@@ -27741,7 +27770,7 @@ const handler$35 = async (c) => {
27741
27770
  };
27742
27771
  //#endregion
27743
27772
  //#region src/routes/account/projects/[projectId]/members/me/DELETE.ts
27744
- const handler$34 = async (c) => {
27773
+ const handler$35 = async (c) => {
27745
27774
  const project = c.get("project");
27746
27775
  const userId = c.get("user").id;
27747
27776
  try {
@@ -27754,13 +27783,13 @@ const handler$34 = async (c) => {
27754
27783
  };
27755
27784
  //#endregion
27756
27785
  //#region src/routes/account/projects/[projectId]/settings/GET.ts
27757
- const handler$33 = async (c) => {
27786
+ const handler$34 = async (c) => {
27758
27787
  const project = c.get("project");
27759
27788
  return c.json(require_dist$1.ProjectSettingsResponseSchema.parse(require_dist$1.mapProjectSettings(project)));
27760
27789
  };
27761
27790
  //#endregion
27762
27791
  //#region src/routes/account/projects/[projectId]/settings/PATCH.ts
27763
- const handler$32 = async (c) => {
27792
+ const handler$33 = async (c) => {
27764
27793
  const organization = c.get("organization");
27765
27794
  const project = c.get("project");
27766
27795
  const body = await c.req.json().catch(() => null);
@@ -27882,7 +27911,7 @@ async function enrichCredentialInstances(rows, organizationId) {
27882
27911
  }
27883
27912
  //#endregion
27884
27913
  //#region src/routes/account/credentials/GET.ts
27885
- const handler$31 = async (c) => {
27914
+ const handler$32 = async (c) => {
27886
27915
  const organization = c.get("organization");
27887
27916
  const user = c.get("user");
27888
27917
  const query = require_dist$1.ListCredentialsPageQuerySchema.parse({
@@ -27911,7 +27940,7 @@ function withTargetScope(target, fn) {
27911
27940
  if (target.projectScope) return (0, _keystrokehq_database.runWithProjectScope)(target.projectScope, fn);
27912
27941
  return fn();
27913
27942
  }
27914
- const handler$30 = async (c) => {
27943
+ const handler$31 = async (c) => {
27915
27944
  const organization = c.get("organization");
27916
27945
  const user = c.get("user");
27917
27946
  const parsed = require_dist$1.CreateCredentialsRequestSchema.safeParse(await c.req.json().catch(() => null));
@@ -27992,7 +28021,7 @@ const handler$30 = async (c) => {
27992
28021
  };
27993
28022
  //#endregion
27994
28023
  //#region src/routes/account/credentials/[credentialId]/GET.ts
27995
- const handler$29 = async (c) => {
28024
+ const handler$30 = async (c) => {
27996
28025
  const organization = c.get("organization");
27997
28026
  const credentialId = c.req.param("credentialId") ?? "";
27998
28027
  const row = credentialId ? await (0, _keystrokehq_database.selectCredentialInstanceById)(credentialId) : void 0;
@@ -28002,7 +28031,7 @@ const handler$29 = async (c) => {
28002
28031
  };
28003
28032
  //#endregion
28004
28033
  //#region src/routes/account/credentials/[credentialId]/PATCH.ts
28005
- const handler$28 = async (c) => {
28034
+ const handler$29 = async (c) => {
28006
28035
  const organization = c.get("organization");
28007
28036
  const user = c.get("user");
28008
28037
  const credentialId = c.req.param("credentialId") ?? "";
@@ -28100,7 +28129,7 @@ function createDeleteCredentialHandler(options = {}) {
28100
28129
  }
28101
28130
  //#endregion
28102
28131
  //#region src/routes/account/members/GET.ts
28103
- const handler$27 = async (c) => {
28132
+ const handler$28 = async (c) => {
28104
28133
  const { organizationId } = c.get("organization");
28105
28134
  const query = require_dist$1.ListOrganizationMembersPageQuerySchema.parse({
28106
28135
  limit: c.req.query("limit") || void 0,
@@ -28158,7 +28187,7 @@ async function sendOrganizationInviteEmail(payload, resend$1) {
28158
28187
  }
28159
28188
  //#endregion
28160
28189
  //#region src/routes/account/members/invitations/POST.ts
28161
- const handler$26 = async (c) => {
28190
+ const handler$27 = async (c) => {
28162
28191
  const user = c.get("user");
28163
28192
  const organization = c.get("organization");
28164
28193
  const body = await c.req.json().catch(() => null);
@@ -28184,7 +28213,7 @@ const handler$26 = async (c) => {
28184
28213
  };
28185
28214
  //#endregion
28186
28215
  //#region src/routes/account/members/[userId]/PATCH.ts
28187
- const handler$25 = async (c) => {
28216
+ const handler$26 = async (c) => {
28188
28217
  const { organizationId } = c.get("organization");
28189
28218
  const userId = c.req.param("userId");
28190
28219
  const body = await c.req.json().catch(() => null);
@@ -28201,7 +28230,7 @@ const handler$25 = async (c) => {
28201
28230
  };
28202
28231
  //#endregion
28203
28232
  //#region src/routes/account/members/[userId]/DELETE.ts
28204
- const handler$24 = async (c) => {
28233
+ const handler$25 = async (c) => {
28205
28234
  const { organizationId } = c.get("organization");
28206
28235
  const userId = c.req.param("userId");
28207
28236
  if (!userId) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "User id is required" }), 400);
@@ -28215,13 +28244,13 @@ const handler$24 = async (c) => {
28215
28244
  };
28216
28245
  //#endregion
28217
28246
  //#region src/routes/account/invitations/GET.ts
28218
- const handler$23 = async (c) => {
28247
+ const handler$24 = async (c) => {
28219
28248
  const invitations = await (0, _keystrokehq_platform_database.selectPendingInvitationsForUser)(c.get("user").id);
28220
28249
  return c.json(require_dist$1.ListOrganizationInvitationsResponseSchema.parse(invitations.map(require_dist$1.mapOrganizationInvitation)));
28221
28250
  };
28222
28251
  //#endregion
28223
28252
  //#region src/routes/account/invitations/[invitationId]/accept/POST.ts
28224
- const handler$22 = async (c) => {
28253
+ const handler$23 = async (c) => {
28225
28254
  const user = c.get("user");
28226
28255
  const invitationId = c.req.param("invitationId");
28227
28256
  if (!invitationId) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invitation id is required" }), 400);
@@ -28237,7 +28266,7 @@ const handler$22 = async (c) => {
28237
28266
  };
28238
28267
  //#endregion
28239
28268
  //#region src/routes/account/invitations/[invitationId]/decline/POST.ts
28240
- const handler$21 = async (c) => {
28269
+ const handler$22 = async (c) => {
28241
28270
  const user = c.get("user");
28242
28271
  const invitationId = c.req.param("invitationId");
28243
28272
  if (!invitationId) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invitation id is required" }), 400);
@@ -28323,13 +28352,13 @@ function appRowToCustomAppDetail(row) {
28323
28352
  }
28324
28353
  //#endregion
28325
28354
  //#region src/routes/account/apps/GET.ts
28326
- const handler$20 = async (c) => {
28355
+ const handler$21 = async (c) => {
28327
28356
  const apps = (await (0, _keystrokehq_platform_database.listAppsForOrganization)(c.get("organization").organizationId)).map(appRowToCatalogSummary);
28328
28357
  return c.json(require_dist$1.ListAppsResponseSchema.parse(apps));
28329
28358
  };
28330
28359
  //#endregion
28331
28360
  //#region src/routes/account/apps/POST.ts
28332
- const handler$19 = async (c) => {
28361
+ const handler$20 = async (c) => {
28333
28362
  const organization = c.get("organization");
28334
28363
  const parsed = require_dist$1.CreateCustomAppRequestSchema.safeParse(await c.req.json().catch(() => null));
28335
28364
  if (!parsed.success) {
@@ -28362,7 +28391,7 @@ const handler$19 = async (c) => {
28362
28391
  };
28363
28392
  //#endregion
28364
28393
  //#region src/routes/account/apps/discover/POST.ts
28365
- const handler$18 = async (c) => {
28394
+ const handler$19 = async (c) => {
28366
28395
  const parsed = require_dist$1.McpDiscoverRequestSchema.safeParse(await c.req.json().catch(() => null));
28367
28396
  if (!parsed.success) return c.json({ error: "Invalid request body" }, 400);
28368
28397
  try {
@@ -28376,7 +28405,7 @@ const handler$18 = async (c) => {
28376
28405
  };
28377
28406
  //#endregion
28378
28407
  //#region src/routes/account/apps/discover-openapi/POST.ts
28379
- const handler$17 = async (c) => {
28408
+ const handler$18 = async (c) => {
28380
28409
  const parsed = require_dist$1.OpenApiDiscoverRequestSchema.safeParse(await c.req.json().catch(() => null));
28381
28410
  if (!parsed.success) return c.json({ error: "Invalid request body" }, 400);
28382
28411
  try {
@@ -28389,7 +28418,7 @@ const handler$17 = async (c) => {
28389
28418
  };
28390
28419
  //#endregion
28391
28420
  //#region src/routes/account/apps/discover-graphql/POST.ts
28392
- const handler$16 = async (c) => {
28421
+ const handler$17 = async (c) => {
28393
28422
  const parsed = require_dist$1.GraphqlDiscoverRequestSchema.safeParse(await c.req.json().catch(() => null));
28394
28423
  if (!parsed.success) return c.json({ error: "Invalid request body" }, 400);
28395
28424
  try {
@@ -28402,7 +28431,7 @@ const handler$16 = async (c) => {
28402
28431
  };
28403
28432
  //#endregion
28404
28433
  //#region src/routes/account/apps/[slug]/mcp/oauth/connections/POST.ts
28405
- const handler$15 = async (c) => {
28434
+ const handler$16 = async (c) => {
28406
28435
  const organization = c.get("organization");
28407
28436
  const user = c.get("user");
28408
28437
  const appSlug = c.req.param("slug")?.trim();
@@ -28414,8 +28443,9 @@ const handler$15 = async (c) => {
28414
28443
  if (!parsed.success) return c.json({ error: "Invalid request body" }, 400);
28415
28444
  const app = await (0, _keystrokehq_platform_database.selectAppForOrganization)(organization.organizationId, appSlug);
28416
28445
  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);
28446
+ const redirectUri = resolveMcpOAuthCallbackUrl();
28447
+ const clientMetadataUrl = resolveOAuthClientMetadataUrl();
28448
+ if (!redirectUri) return c.json({ error: "PUBLIC_PLATFORM_URL is not configured" }, 500);
28419
28449
  const projectIds = [];
28420
28450
  const projectNamesById = {};
28421
28451
  for (const slug of parsed.data.projects ?? []) {
@@ -28430,7 +28460,8 @@ const handler$15 = async (c) => {
28430
28460
  input: parsed.data,
28431
28461
  organizationId: organization.organizationId,
28432
28462
  userId: user.id,
28433
- redirectUri: `${platformOrigin.replace(/\/+$/, "")}/api/mcp/oauth/callback`,
28463
+ redirectUri,
28464
+ clientMetadataUrl,
28434
28465
  scopeTargets: {
28435
28466
  projectIds,
28436
28467
  projectNamesById,
@@ -28460,7 +28491,7 @@ function buildOAuthWebLandingUrl(webOrigin, params) {
28460
28491
  }
28461
28492
  //#endregion
28462
28493
  //#region src/routes/account/mcp/oauth/callback/GET.ts
28463
- const handler$14 = async (c) => {
28494
+ const handler$15 = async (c) => {
28464
28495
  const code = c.req.query("code")?.trim();
28465
28496
  const state = c.req.query("state")?.trim();
28466
28497
  const oauthError = c.req.query("error")?.trim();
@@ -28508,7 +28539,7 @@ const handler$14 = async (c) => {
28508
28539
  };
28509
28540
  //#endregion
28510
28541
  //#region src/routes/account/apps/slug-available/GET.ts
28511
- const handler$13 = async (c) => {
28542
+ const handler$14 = async (c) => {
28512
28543
  const organization = c.get("organization");
28513
28544
  const parsed = require_dist$1.AppSlugAvailabilityQuerySchema.safeParse({ slug: c.req.query("slug") });
28514
28545
  if (!parsed.success) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Invalid slug query" }), 400);
@@ -28519,7 +28550,7 @@ const handler$13 = async (c) => {
28519
28550
  };
28520
28551
  //#endregion
28521
28552
  //#region src/routes/account/apps/[slug]/GET.ts
28522
- const handler$12 = async (c) => {
28553
+ const handler$13 = async (c) => {
28523
28554
  const organization = c.get("organization");
28524
28555
  const slug = c.req.param("slug") ?? "";
28525
28556
  if (!slug) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "App not found" }), 404);
@@ -28534,7 +28565,7 @@ const handler$12 = async (c) => {
28534
28565
  //#endregion
28535
28566
  //#region src/routes/account/apps/[slug]/catalog/GET.ts
28536
28567
  /** Full catalog entry (scopes + credential template) for connect UI. */
28537
- const handler$11 = async (c) => {
28568
+ const handler$12 = async (c) => {
28538
28569
  const organization = c.get("organization");
28539
28570
  const slug = c.req.param("slug") ?? "";
28540
28571
  if (!slug) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "App not found" }), 404);
@@ -28567,14 +28598,14 @@ function projectChannelPlatform(row) {
28567
28598
  });
28568
28599
  }
28569
28600
  /** Gateway platforms only — avoids downloading the full apps catalog. */
28570
- const handler$10 = async (c) => {
28601
+ const handler$11 = async (c) => {
28571
28602
  const organization = c.get("organization");
28572
28603
  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
28604
  return c.json(require_dist$1.ListChannelPlatformsResponseSchema.parse(platforms));
28574
28605
  };
28575
28606
  //#endregion
28576
28607
  //#region src/routes/account/api-keys/GET.ts
28577
- const handler$9 = async (c) => {
28608
+ const handler$10 = async (c) => {
28578
28609
  const { organizationId } = c.get("organization");
28579
28610
  const user = c.get("user");
28580
28611
  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 +28622,7 @@ const handler$9 = async (c) => {
28591
28622
  };
28592
28623
  //#endregion
28593
28624
  //#region src/routes/account/api-keys/POST.ts
28594
- const handler$8 = async (c) => {
28625
+ const handler$9 = async (c) => {
28595
28626
  const { organizationId } = c.get("organization");
28596
28627
  const user = c.get("user");
28597
28628
  const body = require_dist$1.CreateApiKeyRequestSchema.parse(await c.req.json());
@@ -28614,7 +28645,7 @@ const handler$8 = async (c) => {
28614
28645
  };
28615
28646
  //#endregion
28616
28647
  //#region src/routes/account/api-keys/[apiKeyId]/DELETE.ts
28617
- const handler$7 = async (c) => {
28648
+ const handler$8 = async (c) => {
28618
28649
  const { organizationId } = c.get("organization");
28619
28650
  const user = c.get("user");
28620
28651
  const apiKeyId = c.req.param("apiKeyId");
@@ -28639,7 +28670,7 @@ const handler$7 = async (c) => {
28639
28670
  };
28640
28671
  //#endregion
28641
28672
  //#region src/routes/account/managed-service-credentials/GET.ts
28642
- const handler$6 = async (c) => {
28673
+ const handler$7 = async (c) => {
28643
28674
  const { organizationId } = c.get("organization");
28644
28675
  const user = c.get("user");
28645
28676
  const kindParam = c.req.query("kind");
@@ -28659,7 +28690,7 @@ const handler$6 = async (c) => {
28659
28690
  };
28660
28691
  //#endregion
28661
28692
  //#region src/routes/account/managed-service-credentials/POST.ts
28662
- const handler$5 = async (c) => {
28693
+ const handler$6 = async (c) => {
28663
28694
  const { organizationId } = c.get("organization");
28664
28695
  const user = c.get("user");
28665
28696
  const body = require_dist$1.ConnectManagedServiceCredentialRequestSchema.parse(await c.req.json());
@@ -28688,7 +28719,7 @@ const handler$5 = async (c) => {
28688
28719
  };
28689
28720
  //#endregion
28690
28721
  //#region src/routes/account/managed-service-credentials/[id]/PATCH.ts
28691
- const handler$4 = async (c) => {
28722
+ const handler$5 = async (c) => {
28692
28723
  const { organizationId } = c.get("organization");
28693
28724
  const user = c.get("user");
28694
28725
  const credentialId = c.req.param("id");
@@ -28719,7 +28750,7 @@ const handler$4 = async (c) => {
28719
28750
  };
28720
28751
  //#endregion
28721
28752
  //#region src/routes/account/managed-service-credentials/[id]/DELETE.ts
28722
- const handler$3 = async (c) => {
28753
+ const handler$4 = async (c) => {
28723
28754
  const { organizationId } = c.get("organization");
28724
28755
  const credentialId = c.req.param("id");
28725
28756
  if (!credentialId) return c.json(require_dist$1.ErrorResponseSchema.parse({ error: "Credential id is required" }), 400);
@@ -28788,7 +28819,7 @@ async function postTeamRequestToSlack(input) {
28788
28819
  }
28789
28820
  //#endregion
28790
28821
  //#region src/routes/account/team-requests/POST.ts
28791
- const handler$2 = async (c) => {
28822
+ const handler$3 = async (c) => {
28792
28823
  const user = c.get("user");
28793
28824
  const organizationContext = c.get("organization");
28794
28825
  const parsed = require_dist$1.SubmitTeamRequestRequestSchema.safeParse(await c.req.json().catch(() => null));
@@ -28827,7 +28858,7 @@ function mountAccountRoutes(options) {
28827
28858
  const projectScoped = new hono.Hono();
28828
28859
  const protect = requireSession((0, _keystrokehq_auth.createDefaultAuthJwtVerifier)());
28829
28860
  const deleteCredential = createDeleteCredentialHandler({ mcp: options.mcp });
28830
- account.get("/mcp/oauth/callback", handler$14);
28861
+ account.get("/mcp/oauth/callback", handler$15);
28831
28862
  account.use("/*", protect);
28832
28863
  orgScoped.use("/*", protect);
28833
28864
  orgScoped.use("/*", requireOrganization());
@@ -28849,107 +28880,107 @@ function mountAccountRoutes(options) {
28849
28880
  const requireProjectManageMembers = authorize(projectActions.manageMembers);
28850
28881
  const requireInvitableProjectRole = authorizePayload(require_dist$1.InviteProjectMembersRequestSchema, ({ c, ctx, body }) => canInviteToProject(ctx, { invitePermission: getProjectInvitePermission(c) }, body.role));
28851
28882
  const requireOrgParam = requireOrganizationParam();
28852
- account.get("/organizations", handler$94);
28853
- account.get("/organizations/slug-available", handler$93);
28883
+ account.get("/organizations", handler$95);
28884
+ account.get("/organizations/slug-available", handler$94);
28854
28885
  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);
28886
+ account.get("/organizations/:organizationId", requireOrgParam, handler$93);
28887
+ account.patch("/organizations/:organizationId", requireOrgParam, requireOrgUpdate, handler$92);
28888
+ account.get("/organizations/:organizationId/branding", requireOrgParam, handler$91);
28889
+ account.patch("/organizations/:organizationId/branding", requireOrgParam, requireOrgUpdate, handler$90);
28890
+ account.post("/organizations/:organizationId/branding/logo/presign", requireOrgParam, requireOrgUpdate, handler$89);
28891
+ account.get("/invitations", handler$24);
28892
+ account.post("/invitations/:invitationId/accept", handler$23);
28893
+ account.post("/invitations/:invitationId/decline", handler$22);
28894
+ account.get("/users/me/avatar", handler$100);
28895
+ account.post("/users/me/avatar/presign", handler$99);
28896
+ account.patch("/users/me/avatar", handler$98);
28897
+ account.get("/users/me/preferences", handler$97);
28898
+ account.patch("/users/me/preferences", handler$96);
28868
28899
  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);
28900
+ orgScoped.get("/apps", handler$21);
28901
+ orgScoped.get("/apps/slug-available", handler$14);
28902
+ orgScoped.get("/channel-platforms", handler$11);
28903
+ orgScoped.post("/apps/discover", requireOrgUpdate, handler$19);
28904
+ orgScoped.post("/apps/discover-openapi", requireOrgUpdate, handler$18);
28905
+ orgScoped.post("/apps/discover-graphql", requireOrgUpdate, handler$17);
28906
+ orgScoped.post("/apps", requireOrgUpdate, handler$20);
28907
+ orgScoped.post("/apps/:slug/mcp/oauth/connections", requireOrgUpdate, withOrgDb, handler$16);
28908
+ orgScoped.get("/apps/:slug/catalog", handler$12);
28909
+ orgScoped.get("/apps/:slug", handler$13);
28910
+ account.post("/team-requests", requireOrganization(), handler$3);
28911
+ orgScoped.get("/members", handler$28);
28912
+ orgScoped.post("/members/invitations", requireUserInvite, requireInvitableRole, handler$27);
28913
+ orgScoped.patch("/members/:userId", requireUserManage, handler$26);
28914
+ orgScoped.delete("/members/:userId", requireUserManage, handler$25);
28915
+ orgScoped.get("/api-keys", handler$10);
28916
+ orgScoped.post("/api-keys", requireApiKeyCreate, handler$9);
28917
+ orgScoped.delete("/api-keys/:apiKeyId", handler$8);
28918
+ orgScoped.get("/managed-service-credentials", requireManagedServicesRead, handler$7);
28919
+ orgScoped.post("/managed-service-credentials", requireManagedServicesManage, handler$6);
28920
+ orgScoped.patch("/managed-service-credentials/:id", requireManagedServicesManage, handler$5);
28921
+ orgScoped.delete("/managed-service-credentials/:id", requireManagedServicesManage, handler$4);
28922
+ orgScoped.get("/agents", withOrgDb, handler$86);
28923
+ orgScoped.get("/agents/:agentId", withOrgDb, handler$85);
28924
+ orgScoped.get("/agents/:agentId/memory/files", withOrgDb, handler$84);
28925
+ orgScoped.get("/agents/:agentId/memory/files/content", withOrgDb, handler$83);
28926
+ orgScoped.get("/agents/:agentId/workspace/files", withOrgDb, handler$82);
28927
+ orgScoped.get("/agents/:agentId/workspace/files/content", withOrgDb, handler$81);
28928
+ orgScoped.get("/workflows", withOrgDb, handler$79);
28929
+ orgScoped.get("/workflows/:workflowId", withOrgDb, handler$78);
28930
+ orgScoped.get("/workflows/:workflowId/canvas", withOrgDb, handler$77);
28931
+ orgScoped.get("/workflows/:workflowId/canvas/credentials", withOrgDb, handler$76);
28932
+ orgScoped.get("/workflows/:workflowId/canvas/runs/:runId", withOrgDb, handler$75);
28933
+ orgScoped.get("/workflows/:workflowId/overview", withOrgDb, handler$74);
28934
+ orgScoped.get("/workflows/:workflowId/runs", withOrgDb, handler$70);
28935
+ orgScoped.get("/workflows/:workflowId/run-inputs", withOrgDb, handler$73);
28936
+ orgScoped.put("/workflows/:workflowId/run-inputs", withOrgDb, handler$72);
28937
+ orgScoped.post("/workflows/:workflowId/run", withOrgDb, handler$71);
28938
+ orgScoped.get("/skills", withOrgDb, handler$68);
28939
+ orgScoped.get("/skills/:skillId", withOrgDb, handler$67);
28940
+ orgScoped.get("/triggers", withOrgDb, handler$66);
28941
+ orgScoped.get("/triggers/:triggerId", withOrgDb, handler$65);
28942
+ orgScoped.get("/triggers/:triggerId/runs", withOrgDb, handler$64);
28943
+ orgScoped.get("/triggers/:triggerId/file", withOrgDb, handler$63);
28944
+ orgScoped.get("/triggers/:triggerId/overview", withOrgDb, handler$62);
28945
+ orgScoped.get("/triggers/:triggerId/invoke-inputs", withOrgDb, handler$59);
28946
+ orgScoped.post("/triggers/:triggerId/invoke", withOrgDb, handler$60);
28947
+ orgScoped.patch("/triggers/:triggerId/attachments/:attachmentId", withOrgDb, handler$61);
28948
+ orgScoped.get("/recents", withOrgDb, handler$58);
28949
+ orgScoped.get("/history", withOrgDb, handler$88);
28950
+ orgScoped.get("/history/:runId", withOrgDb, handler$87);
28951
+ orgScoped.post("/workflows/runs/:runId/cancel", withOrgDb, handler$69);
28952
+ orgScoped.post("/agents/sessions/:sessionId/cancel", withOrgDb, handler$80);
28953
+ orgScoped.get("/credentials", withOrgDb, handler$32);
28954
+ orgScoped.post("/credentials", withOrgDb, handler$31);
28955
+ orgScoped.get("/credentials/:credentialId", withOrgDb, (c, next) => c.req.param("credentialId") === "instances" ? next() : handler$30(c, next));
28956
+ orgScoped.patch("/credentials/:credentialId", withOrgDb, handler$29);
28926
28957
  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);
28958
+ orgScoped.get("/projects", handler$57);
28959
+ orgScoped.get("/projects/slug-available", handler$54);
28960
+ orgScoped.get("/projects/metrics", withOrgDb, handler$56);
28961
+ orgScoped.post("/projects", handler$55);
28962
+ projectScoped.get("/:projectId", requireProject(), requireProjectMember, handler$53);
28963
+ projectScoped.patch("/:projectId", requireProject(), requireProjectMember, requireProjectUpdate, handler$52);
28964
+ projectScoped.delete("/:projectId", requireProject(), requireProjectMember, requireProjectDelete, handler$51);
28965
+ projectScoped.get("/:projectId/settings", requireProject(), requireProjectMember, handler$34);
28966
+ projectScoped.patch("/:projectId/settings", requireProject(), requireProjectMember, requireProjectUpdate, handler$33);
28967
+ projectScoped.get("/:projectId/members", requireProject(), requireProjectMember, handler$39);
28968
+ projectScoped.post("/:projectId/members", requireProject(), requireProjectMember, requireInvitableProjectRole, handler$38);
28969
+ projectScoped.patch("/:projectId/members/:userId", requireProject(), requireProjectMember, requireProjectManageMembers, handler$37);
28970
+ projectScoped.delete("/:projectId/members/:userId", requireProject(), requireProjectMember, requireProjectManageMembers, handler$36);
28971
+ projectScoped.delete("/:projectId/members/me", requireProject(), requireProjectMember, handler$35);
28941
28972
  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);
28973
+ projectScoped.get("/:projectId/files", requireProject(), requireProjectMember, withOrgDb, handler$41);
28974
+ projectScoped.post("/:projectId/agents/:slug/attachments/presign", requireProject(), requireProjectMember, withOrgDb, handler$43);
28975
+ projectScoped.get("/:projectId/agents/:slug/attachments/:key{.+}", requireProject(), requireProjectMember, withOrgDb, handler$42);
28976
+ projectScoped.get("/:projectId/artifacts/:artifactId/files/content", requireProject(), requireProjectMember, handler$40);
28977
+ projectScoped.get("/:projectId/deployments", requireProject(), requireProjectMember, handler$50);
28978
+ projectScoped.get("/:projectId/artifacts/active/download", requireProject(), requireProjectMember, requireProjectDeploy, handler$48);
28979
+ projectScoped.get("/:projectId/artifacts/active/source", requireProject(), requireProjectMember, withOrgDb, handler$47);
28980
+ projectScoped.post("/:projectId/artifacts", requireProject(), requireProjectMember, requireProjectDeploy, handler$49);
28981
+ projectScoped.post("/:projectId/artifacts/:artifactId/complete", requireProject(), requireProjectMember, requireProjectDeploy, handler$46);
28982
+ projectScoped.post("/:projectId/artifacts/:artifactId/source/presign", requireProject(), requireProjectMember, requireProjectDeploy, handler$45);
28983
+ projectScoped.post("/:projectId/artifacts/:artifactId/source/manifest", requireProject(), requireProjectMember, requireProjectDeploy, handler$44);
28953
28984
  orgScoped.route("/projects", projectScoped);
28954
28985
  account.route("/", orgScoped);
28955
28986
  return account;
@@ -29215,7 +29246,7 @@ async function loadModelIds() {
29215
29246
  })();
29216
29247
  return pendingFetch;
29217
29248
  }
29218
- async function handler$1(c) {
29249
+ async function handler$2(c) {
29219
29250
  try {
29220
29251
  const models = await loadModelIds();
29221
29252
  return c.json(require_dist$1.PublicModelsResponseSchema.parse({ models }));
@@ -29318,7 +29349,7 @@ function clientIp(c) {
29318
29349
  return "unknown";
29319
29350
  }
29320
29351
  }
29321
- async function handler(c) {
29352
+ async function handler$1(c) {
29322
29353
  if (!consumeContactRateLimit(clientIp(c))) return c.json({ error: "Too many requests" }, 429);
29323
29354
  const parsed = require_dist$1.SubmitMarketingContactRequestSchema.safeParse(await c.req.json().catch(() => null));
29324
29355
  if (!parsed.success) {
@@ -29340,6 +29371,16 @@ async function handler(c) {
29340
29371
  return c.json(require_dist$1.SubmitMarketingContactResponseSchema.parse({ ok: true }), 200);
29341
29372
  }
29342
29373
  //#endregion
29374
+ //#region src/routes/well-known/oauth-client-metadata/GET.ts
29375
+ /** Public CIMD document for outbound MCP OAuth (no session required). */
29376
+ async function handler(c) {
29377
+ const clientMetadataUrl = resolveOAuthClientMetadataUrl();
29378
+ const redirectUri = resolveMcpOAuthCallbackUrl();
29379
+ if (!clientMetadataUrl || !redirectUri) return c.json({ error: "PUBLIC_PLATFORM_URL is not configured" }, 500);
29380
+ const document = buildOAuthClientMetadataDocument(clientMetadataUrl, redirectUri);
29381
+ return c.json(document, 200, { "Cache-Control": "public, max-age=3600" });
29382
+ }
29383
+ //#endregion
29343
29384
  //#region src/app.ts
29344
29385
  async function createApp(auth, options) {
29345
29386
  return (0, _keystrokehq_http.createApp)({
@@ -29355,8 +29396,9 @@ async function createApp(auth, options) {
29355
29396
  mountAuth(app, authInstance);
29356
29397
  },
29357
29398
  mountAccount: async (app) => {
29358
- app.post("/api/public/contact", handler);
29359
- app.get("/api/public/models", handler$1);
29399
+ app.get(OAUTH_CLIENT_METADATA_PATH, handler);
29400
+ app.post("/api/public/contact", handler$1);
29401
+ app.get("/api/public/models", handler$2);
29360
29402
  app.route("/api", mountAccountRoutes({
29361
29403
  hosting: options.hosting,
29362
29404
  storage: options.storage,
@@ -29592,4 +29634,4 @@ Object.defineProperty(exports, "x$1", {
29592
29634
  }
29593
29635
  });
29594
29636
 
29595
- //# sourceMappingURL=start-6OJAnUTb.cjs.map
29637
+ //# sourceMappingURL=start-zuq8pptN.cjs.map