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