@keystrokehq/platform 0.1.3 → 0.1.5
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-BE8esz9o.cjs → awk2-LA3USKJP-AIZOQ0nh.cjs} +2 -2
- package/dist/{awk2-LA3USKJP-BE8esz9o.cjs.map → awk2-LA3USKJP-AIZOQ0nh.cjs.map} +1 -1
- package/dist/{awk2-LA3USKJP-CU79F18c.mjs → awk2-LA3USKJP-CPcab6tL.mjs} +2 -2
- package/dist/{awk2-LA3USKJP-CU79F18c.mjs.map → awk2-LA3USKJP-CPcab6tL.mjs.map} +1 -1
- package/dist/{base64-C2AIWVNC-ESsdavRZ.mjs → base64-C2AIWVNC-BU7vFrSz.mjs} +2 -2
- package/dist/{base64-C2AIWVNC-ESsdavRZ.mjs.map → base64-C2AIWVNC-BU7vFrSz.mjs.map} +1 -1
- package/dist/{base64-C2AIWVNC-CGFeI4Fm.cjs → base64-C2AIWVNC-fWp5IaIt.cjs} +2 -2
- package/dist/{base64-C2AIWVNC-CGFeI4Fm.cjs.map → base64-C2AIWVNC-fWp5IaIt.cjs.map} +1 -1
- package/dist/{bash-YZ33HQZQ-Tqw_IzZM.mjs → bash-YZ33HQZQ-B7vkAJM1.mjs} +2 -2
- package/dist/{bash-YZ33HQZQ-Tqw_IzZM.mjs.map → bash-YZ33HQZQ-B7vkAJM1.mjs.map} +1 -1
- package/dist/{bash-YZ33HQZQ-Z8YFnXLG.cjs → bash-YZ33HQZQ-BfFH_xKv.cjs} +2 -2
- package/dist/{bash-YZ33HQZQ-Z8YFnXLG.cjs.map → bash-YZ33HQZQ-BfFH_xKv.cjs.map} +1 -1
- package/dist/{cat-TSFMZVYS-B-Qi4MIN.mjs → cat-TSFMZVYS-BoRCwL0X.mjs} +3 -3
- package/dist/{cat-TSFMZVYS-B-Qi4MIN.mjs.map → cat-TSFMZVYS-BoRCwL0X.mjs.map} +1 -1
- package/dist/{cat-TSFMZVYS-3tq36V6U.cjs → cat-TSFMZVYS-Lk2fLg0m.cjs} +3 -3
- package/dist/{cat-TSFMZVYS-3tq36V6U.cjs.map → cat-TSFMZVYS-Lk2fLg0m.cjs.map} +1 -1
- package/dist/{chunk-5H5SCKJM-DG2zdmBl.cjs → chunk-5H5SCKJM-Bf_pfjgz.cjs} +2 -2
- package/dist/{chunk-5H5SCKJM-DG2zdmBl.cjs.map → chunk-5H5SCKJM-Bf_pfjgz.cjs.map} +1 -1
- package/dist/{chunk-5H5SCKJM-jzOek3RA.mjs → chunk-5H5SCKJM-CCkl-6iR.mjs} +2 -2
- package/dist/{chunk-5H5SCKJM-jzOek3RA.mjs.map → chunk-5H5SCKJM-CCkl-6iR.mjs.map} +1 -1
- package/dist/{chunk-AQ6FYS2X-CWRY3oXA.cjs → chunk-AQ6FYS2X-C_kf5YCJ.cjs} +2 -2
- package/dist/{chunk-AQ6FYS2X-CWRY3oXA.cjs.map → chunk-AQ6FYS2X-C_kf5YCJ.cjs.map} +1 -1
- package/dist/{chunk-AQ6FYS2X-Bz4Sl0he.mjs → chunk-AQ6FYS2X-CaSbvwYS.mjs} +2 -2
- package/dist/{chunk-AQ6FYS2X-Bz4Sl0he.mjs.map → chunk-AQ6FYS2X-CaSbvwYS.mjs.map} +1 -1
- package/dist/{chunk-CHFEPBH4-Cg_Ca4ca.mjs → chunk-CHFEPBH4-Bk9Prhxt.mjs} +2 -2
- package/dist/{chunk-CHFEPBH4-Cg_Ca4ca.mjs.map → chunk-CHFEPBH4-Bk9Prhxt.mjs.map} +1 -1
- package/dist/{chunk-CHFEPBH4-BjRBtKoa.cjs → chunk-CHFEPBH4-Cdk9vq_c.cjs} +2 -2
- package/dist/{chunk-CHFEPBH4-BjRBtKoa.cjs.map → chunk-CHFEPBH4-Cdk9vq_c.cjs.map} +1 -1
- package/dist/{chunk-EBAPSGAO-TuSvdjDg.cjs → chunk-EBAPSGAO-9HAVo6nm.cjs} +2 -2
- package/dist/{chunk-EBAPSGAO-TuSvdjDg.cjs.map → chunk-EBAPSGAO-9HAVo6nm.cjs.map} +1 -1
- package/dist/{chunk-EBAPSGAO-BAjudTzg.mjs → chunk-EBAPSGAO-BPVz-6BX.mjs} +2 -2
- package/dist/{chunk-EBAPSGAO-BAjudTzg.mjs.map → chunk-EBAPSGAO-BPVz-6BX.mjs.map} +1 -1
- package/dist/{chunk-LEKBROJD-VngQ-bGK.cjs → chunk-LEKBROJD-4MTnJXG3.cjs} +2 -2
- package/dist/{chunk-LEKBROJD-VngQ-bGK.cjs.map → chunk-LEKBROJD-4MTnJXG3.cjs.map} +1 -1
- package/dist/{chunk-LEKBROJD-B7WoDbJJ.mjs → chunk-LEKBROJD-Bk_pJfFK.mjs} +2 -2
- package/dist/{chunk-LEKBROJD-B7WoDbJJ.mjs.map → chunk-LEKBROJD-Bk_pJfFK.mjs.map} +1 -1
- package/dist/{chunk-VPADYNBD-B7JoVwJq.mjs → chunk-VPADYNBD-Bc5abqkF.mjs} +2 -2
- package/dist/{chunk-VPADYNBD-B7JoVwJq.mjs.map → chunk-VPADYNBD-Bc5abqkF.mjs.map} +1 -1
- package/dist/{chunk-VPADYNBD-Ju6wgxLY.cjs → chunk-VPADYNBD-CS9VA1aJ.cjs} +2 -2
- package/dist/{chunk-VPADYNBD-Ju6wgxLY.cjs.map → chunk-VPADYNBD-CS9VA1aJ.cjs.map} +1 -1
- package/dist/{chunk-YCLFEX4T-BoIwWBSQ.mjs → chunk-YCLFEX4T-Cz2QbPh0.mjs} +2 -2
- package/dist/{chunk-YCLFEX4T-BoIwWBSQ.mjs.map → chunk-YCLFEX4T-Cz2QbPh0.mjs.map} +1 -1
- package/dist/{chunk-YCLFEX4T-81Ii8Wlf.cjs → chunk-YCLFEX4T-D65vwGHr.cjs} +2 -2
- package/dist/{chunk-YCLFEX4T-81Ii8Wlf.cjs.map → chunk-YCLFEX4T-D65vwGHr.cjs.map} +1 -1
- package/dist/{column-XT6UFXNQ-B8RfIkpb.mjs → column-XT6UFXNQ-BsXqWbAP.mjs} +2 -2
- package/dist/{column-XT6UFXNQ-B8RfIkpb.mjs.map → column-XT6UFXNQ-BsXqWbAP.mjs.map} +1 -1
- package/dist/{column-XT6UFXNQ-ieIKmRkh.cjs → column-XT6UFXNQ-CwtLFuCh.cjs} +2 -2
- package/dist/{column-XT6UFXNQ-ieIKmRkh.cjs.map → column-XT6UFXNQ-CwtLFuCh.cjs.map} +1 -1
- package/dist/{comm-VV2LDX2J-DEKxgGlr.mjs → comm-VV2LDX2J-BZdS-Fqy.mjs} +2 -2
- package/dist/{comm-VV2LDX2J-DEKxgGlr.mjs.map → comm-VV2LDX2J-BZdS-Fqy.mjs.map} +1 -1
- package/dist/{comm-VV2LDX2J-CdE-OYeG.cjs → comm-VV2LDX2J-YL8m_4d1.cjs} +2 -2
- package/dist/{comm-VV2LDX2J-CdE-OYeG.cjs.map → comm-VV2LDX2J-YL8m_4d1.cjs.map} +1 -1
- package/dist/{config-CXBff_fs.d.mts → config-DF8H5mS5.d.mts} +17 -13
- package/dist/{config-C78TqlE1.d.cts → config-DqyMT-Xg.d.cts} +17 -13
- package/dist/config.cjs +1 -1
- package/dist/config.cjs.map +1 -1
- package/dist/config.d.cts +1 -1
- package/dist/config.d.mts +1 -1
- package/dist/config.mjs +1 -1
- package/dist/config.mjs.map +1 -1
- package/dist/{cp-BISAAS7A-CMVh32j_.mjs → cp-BISAAS7A-C0MVoZpt.mjs} +2 -2
- package/dist/{cp-BISAAS7A-CMVh32j_.mjs.map → cp-BISAAS7A-C0MVoZpt.mjs.map} +1 -1
- package/dist/{cp-BISAAS7A-C1ygPb-h.cjs → cp-BISAAS7A-Dx6QG-P9.cjs} +2 -2
- package/dist/{cp-BISAAS7A-C1ygPb-h.cjs.map → cp-BISAAS7A-Dx6QG-P9.cjs.map} +1 -1
- package/dist/{cut-OKARJCCV-CluNzLiu.mjs → cut-OKARJCCV-BKWEQwCZ.mjs} +3 -3
- package/dist/{cut-OKARJCCV-CluNzLiu.mjs.map → cut-OKARJCCV-BKWEQwCZ.mjs.map} +1 -1
- package/dist/{cut-OKARJCCV-S-g4hG3d.cjs → cut-OKARJCCV-C1CAocst.cjs} +3 -3
- package/dist/{cut-OKARJCCV-S-g4hG3d.cjs.map → cut-OKARJCCV-C1CAocst.cjs.map} +1 -1
- package/dist/{diff-MWJFIG7X-Xtqp7FtF.cjs → diff-MWJFIG7X-D5nTdPdk.cjs} +2 -2
- package/dist/{diff-MWJFIG7X-Xtqp7FtF.cjs.map → diff-MWJFIG7X-D5nTdPdk.cjs.map} +1 -1
- package/dist/{diff-MWJFIG7X-CuSut3C1.mjs → diff-MWJFIG7X-YTniIfbL.mjs} +2 -2
- package/dist/{diff-MWJFIG7X-CuSut3C1.mjs.map → diff-MWJFIG7X-YTniIfbL.mjs.map} +1 -1
- package/dist/{dist-D1Iv7_7S.cjs → dist-C3ioU2dM.cjs} +559 -329
- package/dist/{dist-D1Iv7_7S.cjs.map → dist-C3ioU2dM.cjs.map} +1 -1
- package/dist/{dist-70NUfApd.mjs → dist-CQMZgfp_.mjs} +518 -330
- package/dist/dist-CQMZgfp_.mjs.map +1 -0
- package/dist/{du-572XNP42-f68GOB47.cjs → du-572XNP42-B2vhVgxe.cjs} +2 -2
- package/dist/{du-572XNP42-f68GOB47.cjs.map → du-572XNP42-B2vhVgxe.cjs.map} +1 -1
- package/dist/{du-572XNP42-BTLDH4CK.mjs → du-572XNP42-CmxmrMJd.mjs} +2 -2
- package/dist/{du-572XNP42-BTLDH4CK.mjs.map → du-572XNP42-CmxmrMJd.mjs.map} +1 -1
- package/dist/{env-36M5BO7M-DHcnOUrA.cjs → env-36M5BO7M-Dj2YwzST.cjs} +2 -2
- package/dist/{env-36M5BO7M-DHcnOUrA.cjs.map → env-36M5BO7M-Dj2YwzST.cjs.map} +1 -1
- package/dist/{env-36M5BO7M-CjuGiDaW.mjs → env-36M5BO7M-DupdD4fz.mjs} +2 -2
- package/dist/{env-36M5BO7M-CjuGiDaW.mjs.map → env-36M5BO7M-DupdD4fz.mjs.map} +1 -1
- package/dist/{expand-JSPG6VOP-Cmm7S480.mjs → expand-JSPG6VOP-BtD3fO-u.mjs} +2 -2
- package/dist/{expand-JSPG6VOP-Cmm7S480.mjs.map → expand-JSPG6VOP-BtD3fO-u.mjs.map} +1 -1
- package/dist/{expand-JSPG6VOP-BAEvLz6y.cjs → expand-JSPG6VOP-C4VQzWfg.cjs} +2 -2
- package/dist/{expand-JSPG6VOP-BAEvLz6y.cjs.map → expand-JSPG6VOP-C4VQzWfg.cjs.map} +1 -1
- package/dist/{expr-5JAACS4X-C3PXSs0i.mjs → expr-5JAACS4X-C75E9ncn.mjs} +2 -2
- package/dist/{expr-5JAACS4X-C3PXSs0i.mjs.map → expr-5JAACS4X-C75E9ncn.mjs.map} +1 -1
- package/dist/{expr-5JAACS4X-BFLtaqNy.cjs → expr-5JAACS4X-DX-k1Bjo.cjs} +2 -2
- package/dist/{expr-5JAACS4X-BFLtaqNy.cjs.map → expr-5JAACS4X-DX-k1Bjo.cjs.map} +1 -1
- package/dist/{find-INTH3OLC-Bf3-4Zi2.cjs → find-INTH3OLC-2rIv2Sgt.cjs} +3 -3
- package/dist/{find-INTH3OLC-Bf3-4Zi2.cjs.map → find-INTH3OLC-2rIv2Sgt.cjs.map} +1 -1
- package/dist/{find-INTH3OLC-D6wBmhsd.mjs → find-INTH3OLC-B2oqqlwt.mjs} +3 -3
- package/dist/{find-INTH3OLC-D6wBmhsd.mjs.map → find-INTH3OLC-B2oqqlwt.mjs.map} +1 -1
- package/dist/{fold-4TQNYMSW-BIl_iV0S.cjs → fold-4TQNYMSW-DFQEjMsZ.cjs} +2 -2
- package/dist/{fold-4TQNYMSW-BIl_iV0S.cjs.map → fold-4TQNYMSW-DFQEjMsZ.cjs.map} +1 -1
- package/dist/{fold-4TQNYMSW-BVCyD8C0.mjs → fold-4TQNYMSW-DzA5SsAN.mjs} +2 -2
- package/dist/{fold-4TQNYMSW-BVCyD8C0.mjs.map → fold-4TQNYMSW-DzA5SsAN.mjs.map} +1 -1
- package/dist/{grep-V3LQVMRQ-BLwElJ9a.mjs → grep-V3LQVMRQ-CUJiTsKp.mjs} +4 -4
- package/dist/{grep-V3LQVMRQ-BLwElJ9a.mjs.map → grep-V3LQVMRQ-CUJiTsKp.mjs.map} +1 -1
- package/dist/{grep-V3LQVMRQ-BcfmH0yO.cjs → grep-V3LQVMRQ-D--OXkar.cjs} +4 -4
- package/dist/{grep-V3LQVMRQ-BcfmH0yO.cjs.map → grep-V3LQVMRQ-D--OXkar.cjs.map} +1 -1
- package/dist/{gzip-O5ASJAFY-B9ermjPq.cjs → gzip-O5ASJAFY-B3o0_eql.cjs} +2 -2
- package/dist/{gzip-O5ASJAFY-B9ermjPq.cjs.map → gzip-O5ASJAFY-B3o0_eql.cjs.map} +1 -1
- package/dist/{gzip-O5ASJAFY-BjVFU42g.mjs → gzip-O5ASJAFY-D8i6m9_W.mjs} +2 -2
- package/dist/{gzip-O5ASJAFY-BjVFU42g.mjs.map → gzip-O5ASJAFY-D8i6m9_W.mjs.map} +1 -1
- package/dist/{head-442HYESI-BGRcjEMI.mjs → head-442HYESI-BDYHKho-.mjs} +2 -2
- package/dist/{head-442HYESI-BGRcjEMI.mjs.map → head-442HYESI-BDYHKho-.mjs.map} +1 -1
- package/dist/{head-442HYESI-_RXn0SBi.cjs → head-442HYESI-Bztg6Xka.cjs} +2 -2
- package/dist/{head-442HYESI-_RXn0SBi.cjs.map → head-442HYESI-Bztg6Xka.cjs.map} +1 -1
- package/dist/{help-HZ6M2CKN-BCHt7Yu_.mjs → help-HZ6M2CKN-C95bcvt_.mjs} +2 -2
- package/dist/{help-HZ6M2CKN-BCHt7Yu_.mjs.map → help-HZ6M2CKN-C95bcvt_.mjs.map} +1 -1
- package/dist/{help-HZ6M2CKN-DJP0l3xk.cjs → help-HZ6M2CKN-CFA5POOW.cjs} +2 -2
- package/dist/{help-HZ6M2CKN-DJP0l3xk.cjs.map → help-HZ6M2CKN-CFA5POOW.cjs.map} +1 -1
- package/dist/{html-to-markdown-JW4MSQZO-Dq7eYKW0.mjs → html-to-markdown-JW4MSQZO-8YYzjAx0.mjs} +2 -2
- package/dist/{html-to-markdown-JW4MSQZO-Dq7eYKW0.mjs.map → html-to-markdown-JW4MSQZO-8YYzjAx0.mjs.map} +1 -1
- package/dist/{html-to-markdown-JW4MSQZO-yoaOs45E.cjs → html-to-markdown-JW4MSQZO-B3xkcb1w.cjs} +2 -2
- package/dist/{html-to-markdown-JW4MSQZO-yoaOs45E.cjs.map → html-to-markdown-JW4MSQZO-B3xkcb1w.cjs.map} +1 -1
- package/dist/{join-TBRGI3LQ-BU7FYSK3.mjs → join-TBRGI3LQ-Cb96ZaTF.mjs} +2 -2
- package/dist/{join-TBRGI3LQ-BU7FYSK3.mjs.map → join-TBRGI3LQ-Cb96ZaTF.mjs.map} +1 -1
- package/dist/{join-TBRGI3LQ-BOS3zpbh.cjs → join-TBRGI3LQ-CzBO0uid.cjs} +2 -2
- package/dist/{join-TBRGI3LQ-BOS3zpbh.cjs.map → join-TBRGI3LQ-CzBO0uid.cjs.map} +1 -1
- package/dist/{jq-4XLYLOS5-C-4KbpIO.cjs → jq-4XLYLOS5-Dmw7PtvC.cjs} +4 -4
- package/dist/{jq-4XLYLOS5-C-4KbpIO.cjs.map → jq-4XLYLOS5-Dmw7PtvC.cjs.map} +1 -1
- package/dist/{jq-4XLYLOS5-tfCBGz19.mjs → jq-4XLYLOS5-QEF-9JGc.mjs} +4 -4
- package/dist/{jq-4XLYLOS5-tfCBGz19.mjs.map → jq-4XLYLOS5-QEF-9JGc.mjs.map} +1 -1
- package/dist/{js-exec-N5KEZBH7--5grqRpb.cjs → js-exec-N5KEZBH7-BLGWy2LA.cjs} +4 -4
- package/dist/{js-exec-N5KEZBH7--5grqRpb.cjs.map → js-exec-N5KEZBH7-BLGWy2LA.cjs.map} +1 -1
- package/dist/{js-exec-N5KEZBH7-C5C01q6k.mjs → js-exec-N5KEZBH7-DWi8fMhN.mjs} +4 -4
- package/dist/{js-exec-N5KEZBH7-C5C01q6k.mjs.map → js-exec-N5KEZBH7-DWi8fMhN.mjs.map} +1 -1
- package/dist/{lib-CNke9ACR.mjs → lib-C8lgRYXp.mjs} +2 -2
- package/dist/{lib-CNke9ACR.mjs.map → lib-C8lgRYXp.mjs.map} +1 -1
- package/dist/{lib-CW0fuh-i.cjs → lib-ux1xJJmr.cjs} +2 -2
- package/dist/{lib-CW0fuh-i.cjs.map → lib-ux1xJJmr.cjs.map} +1 -1
- package/dist/{ln-4LGSXXGD-Cy8gNPMC.mjs → ln-4LGSXXGD-BtA5nI4o.mjs} +2 -2
- package/dist/{ln-4LGSXXGD-Cy8gNPMC.mjs.map → ln-4LGSXXGD-BtA5nI4o.mjs.map} +1 -1
- package/dist/{ln-4LGSXXGD-B0nikKzZ.cjs → ln-4LGSXXGD-CkQRVPru.cjs} +2 -2
- package/dist/{ln-4LGSXXGD-B0nikKzZ.cjs.map → ln-4LGSXXGD-CkQRVPru.cjs.map} +1 -1
- package/dist/{ls-ZJGQER7M-DMYpsOhX.mjs → ls-ZJGQER7M-Bm9zc4KC.mjs} +2 -2
- package/dist/{ls-ZJGQER7M-DMYpsOhX.mjs.map → ls-ZJGQER7M-Bm9zc4KC.mjs.map} +1 -1
- package/dist/{ls-ZJGQER7M-CaSRbmLC.cjs → ls-ZJGQER7M-H5DDO7bw.cjs} +2 -2
- package/dist/{ls-ZJGQER7M-CaSRbmLC.cjs.map → ls-ZJGQER7M-H5DDO7bw.cjs.map} +1 -1
- package/dist/{lzma-L8nnN88o.cjs → lzma-CjqgTQ5J.cjs} +2 -2
- package/dist/{lzma-L8nnN88o.cjs.map → lzma-CjqgTQ5J.cjs.map} +1 -1
- package/dist/{md5sum-SPU24VSG-wjaqw6M5.cjs → md5sum-SPU24VSG-B6JGibcS.cjs} +3 -3
- package/dist/{md5sum-SPU24VSG-wjaqw6M5.cjs.map → md5sum-SPU24VSG-B6JGibcS.cjs.map} +1 -1
- package/dist/{md5sum-SPU24VSG-DDehVi3L.mjs → md5sum-SPU24VSG-Dqy3agsE.mjs} +3 -3
- package/dist/{md5sum-SPU24VSG-DDehVi3L.mjs.map → md5sum-SPU24VSG-Dqy3agsE.mjs.map} +1 -1
- package/dist/{mkdir-MEPGZOB6-D6EapQqG.cjs → mkdir-MEPGZOB6-BFwkd4Z7.cjs} +2 -2
- package/dist/{mkdir-MEPGZOB6-D6EapQqG.cjs.map → mkdir-MEPGZOB6-BFwkd4Z7.cjs.map} +1 -1
- package/dist/{mkdir-MEPGZOB6-BoeUbSt6.mjs → mkdir-MEPGZOB6-CMrYu1Ht.mjs} +2 -2
- package/dist/{mkdir-MEPGZOB6-BoeUbSt6.mjs.map → mkdir-MEPGZOB6-CMrYu1Ht.mjs.map} +1 -1
- package/dist/{mv-W5BIQ646-ee9iH5gF.mjs → mv-W5BIQ646-CWgyAnYE.mjs} +2 -2
- package/dist/{mv-W5BIQ646-ee9iH5gF.mjs.map → mv-W5BIQ646-CWgyAnYE.mjs.map} +1 -1
- package/dist/{mv-W5BIQ646-Cl3grRdX.cjs → mv-W5BIQ646-hheW03eh.cjs} +2 -2
- package/dist/{mv-W5BIQ646-Cl3grRdX.cjs.map → mv-W5BIQ646-hheW03eh.cjs.map} +1 -1
- package/dist/{nl-WSDW7I4O-DttNn_cO.cjs → nl-WSDW7I4O-DcVnQp-1.cjs} +2 -2
- package/dist/{nl-WSDW7I4O-DttNn_cO.cjs.map → nl-WSDW7I4O-DcVnQp-1.cjs.map} +1 -1
- package/dist/{nl-WSDW7I4O-DveMZ08l.mjs → nl-WSDW7I4O-hZyrJS6m.mjs} +2 -2
- package/dist/{nl-WSDW7I4O-DveMZ08l.mjs.map → nl-WSDW7I4O-hZyrJS6m.mjs.map} +1 -1
- package/dist/{od-WOKFDJTP-DCy3_AZ5.mjs → od-WOKFDJTP-60QMVWxL.mjs} +2 -2
- package/dist/{od-WOKFDJTP-DCy3_AZ5.mjs.map → od-WOKFDJTP-60QMVWxL.mjs.map} +1 -1
- package/dist/{od-WOKFDJTP-BJWjPFho.cjs → od-WOKFDJTP-CIGKYa74.cjs} +2 -2
- package/dist/{od-WOKFDJTP-BJWjPFho.cjs.map → od-WOKFDJTP-CIGKYa74.cjs.map} +1 -1
- package/dist/{paste-7JC6S4DX-DEoyg9Vv.cjs → paste-7JC6S4DX-CC0xWPbo.cjs} +2 -2
- package/dist/{paste-7JC6S4DX-DEoyg9Vv.cjs.map → paste-7JC6S4DX-CC0xWPbo.cjs.map} +1 -1
- package/dist/{paste-7JC6S4DX-DL9UawIf.mjs → paste-7JC6S4DX-QB7MigtV.mjs} +2 -2
- package/dist/{paste-7JC6S4DX-DL9UawIf.mjs.map → paste-7JC6S4DX-QB7MigtV.mjs.map} +1 -1
- package/dist/{printf-TWGXF445-BlwG6dD2.mjs → printf-TWGXF445-BuI_jQx5.mjs} +2 -2
- package/dist/{printf-TWGXF445-BlwG6dD2.mjs.map → printf-TWGXF445-BuI_jQx5.mjs.map} +1 -1
- package/dist/{printf-TWGXF445-B1fsJl2X.cjs → printf-TWGXF445-bSICkDD6.cjs} +2 -2
- package/dist/{printf-TWGXF445-B1fsJl2X.cjs.map → printf-TWGXF445-bSICkDD6.cjs.map} +1 -1
- package/dist/{python3-POMOR4OA-qY8EzVSe.mjs → python3-POMOR4OA-CQv_ljO3.mjs} +3 -3
- package/dist/{python3-POMOR4OA-qY8EzVSe.mjs.map → python3-POMOR4OA-CQv_ljO3.mjs.map} +1 -1
- package/dist/{python3-POMOR4OA-B8aVGk7h.cjs → python3-POMOR4OA-D8YyzdQy.cjs} +3 -3
- package/dist/{python3-POMOR4OA-B8aVGk7h.cjs.map → python3-POMOR4OA-D8YyzdQy.cjs.map} +1 -1
- package/dist/{rev-5EHFX4EJ-Dxay6iFE.mjs → rev-5EHFX4EJ-BCHr71Dm.mjs} +2 -2
- package/dist/{rev-5EHFX4EJ-Dxay6iFE.mjs.map → rev-5EHFX4EJ-BCHr71Dm.mjs.map} +1 -1
- package/dist/{rev-5EHFX4EJ-B27blDxm.cjs → rev-5EHFX4EJ-BS2n_x9V.cjs} +2 -2
- package/dist/{rev-5EHFX4EJ-B27blDxm.cjs.map → rev-5EHFX4EJ-BS2n_x9V.cjs.map} +1 -1
- package/dist/{rg-S4FXYXWB-BL_fs0a0.cjs → rg-S4FXYXWB-Bol68AvR.cjs} +3 -3
- package/dist/{rg-S4FXYXWB-BL_fs0a0.cjs.map → rg-S4FXYXWB-Bol68AvR.cjs.map} +1 -1
- package/dist/{rg-S4FXYXWB-b3jjC2M6.mjs → rg-S4FXYXWB-C8PEpvTX.mjs} +3 -3
- package/dist/{rg-S4FXYXWB-b3jjC2M6.mjs.map → rg-S4FXYXWB-C8PEpvTX.mjs.map} +1 -1
- package/dist/{rm-SSGETQVQ-CskLcJOp.cjs → rm-SSGETQVQ-BPv10nPA.cjs} +2 -2
- package/dist/{rm-SSGETQVQ-CskLcJOp.cjs.map → rm-SSGETQVQ-BPv10nPA.cjs.map} +1 -1
- package/dist/{rm-SSGETQVQ-D0Grjo65.mjs → rm-SSGETQVQ-C1OgRoSu.mjs} +2 -2
- package/dist/{rm-SSGETQVQ-D0Grjo65.mjs.map → rm-SSGETQVQ-C1OgRoSu.mjs.map} +1 -1
- package/dist/{rmdir-OC4ZLPYA-BZ86Q3Wr.mjs → rmdir-OC4ZLPYA-BFuqEQ5J.mjs} +2 -2
- package/dist/{rmdir-OC4ZLPYA-BZ86Q3Wr.mjs.map → rmdir-OC4ZLPYA-BFuqEQ5J.mjs.map} +1 -1
- package/dist/{rmdir-OC4ZLPYA-Br6jTWJO.cjs → rmdir-OC4ZLPYA-DngaXCWg.cjs} +2 -2
- package/dist/{rmdir-OC4ZLPYA-Br6jTWJO.cjs.map → rmdir-OC4ZLPYA-DngaXCWg.cjs.map} +1 -1
- package/dist/run.cjs +1 -1
- package/dist/run.mjs +1 -1
- package/dist/{sed-S5UIK574-C0ikpRUI.mjs → sed-S5UIK574-C8OThvO-.mjs} +2 -2
- package/dist/{sed-S5UIK574-C0ikpRUI.mjs.map → sed-S5UIK574-C8OThvO-.mjs.map} +1 -1
- package/dist/{sed-S5UIK574-OUlTmK0x.cjs → sed-S5UIK574-CF78rdnK.cjs} +2 -2
- package/dist/{sed-S5UIK574-OUlTmK0x.cjs.map → sed-S5UIK574-CF78rdnK.cjs.map} +1 -1
- package/dist/{sha1sum-2PTOAFR6-hLKNluNQ.mjs → sha1sum-2PTOAFR6-BgSg3k-0.mjs} +3 -3
- package/dist/{sha1sum-2PTOAFR6-hLKNluNQ.mjs.map → sha1sum-2PTOAFR6-BgSg3k-0.mjs.map} +1 -1
- package/dist/{sha1sum-2PTOAFR6-B_DU8HD8.cjs → sha1sum-2PTOAFR6-C48qu6hM.cjs} +3 -3
- package/dist/{sha1sum-2PTOAFR6-B_DU8HD8.cjs.map → sha1sum-2PTOAFR6-C48qu6hM.cjs.map} +1 -1
- package/dist/{sha256sum-NS7D3IXX-c6RHEh31.mjs → sha256sum-NS7D3IXX-BML40mGR.mjs} +3 -3
- package/dist/{sha256sum-NS7D3IXX-c6RHEh31.mjs.map → sha256sum-NS7D3IXX-BML40mGR.mjs.map} +1 -1
- package/dist/{sha256sum-NS7D3IXX-YzzSU71d.cjs → sha256sum-NS7D3IXX-DTZ34xii.cjs} +3 -3
- package/dist/{sha256sum-NS7D3IXX-YzzSU71d.cjs.map → sha256sum-NS7D3IXX-DTZ34xii.cjs.map} +1 -1
- package/dist/{sleep-X22JJINO-lQ5Wi1rP.mjs → sleep-X22JJINO-BzDRKdtv.mjs} +2 -2
- package/dist/{sleep-X22JJINO-lQ5Wi1rP.mjs.map → sleep-X22JJINO-BzDRKdtv.mjs.map} +1 -1
- package/dist/{sleep-X22JJINO-DFWLmtic.cjs → sleep-X22JJINO-Dy9v8Z4n.cjs} +2 -2
- package/dist/{sleep-X22JJINO-DFWLmtic.cjs.map → sleep-X22JJINO-Dy9v8Z4n.cjs.map} +1 -1
- package/dist/{sort-SW2YEO5B-Njc26SUn.mjs → sort-SW2YEO5B-ClyGJwMQ.mjs} +3 -3
- package/dist/{sort-SW2YEO5B-Njc26SUn.mjs.map → sort-SW2YEO5B-ClyGJwMQ.mjs.map} +1 -1
- package/dist/{sort-SW2YEO5B-BlJCEbS7.cjs → sort-SW2YEO5B-DwbO0wml.cjs} +3 -3
- package/dist/{sort-SW2YEO5B-BlJCEbS7.cjs.map → sort-SW2YEO5B-DwbO0wml.cjs.map} +1 -1
- package/dist/{split-4KKZZXXE-DGFsDrFE.cjs → split-4KKZZXXE-D3kKToq-.cjs} +2 -2
- package/dist/{split-4KKZZXXE-DGFsDrFE.cjs.map → split-4KKZZXXE-D3kKToq-.cjs.map} +1 -1
- package/dist/{split-4KKZZXXE-C97QsnxB.mjs → split-4KKZZXXE-oyZFQtYU.mjs} +2 -2
- package/dist/{split-4KKZZXXE-C97QsnxB.mjs.map → split-4KKZZXXE-oyZFQtYU.mjs.map} +1 -1
- package/dist/{sqlite3-CGOEFJAO-HGqCZYuu.mjs → sqlite3-CGOEFJAO-BedLxgf_.mjs} +2 -2
- package/dist/{sqlite3-CGOEFJAO-HGqCZYuu.mjs.map → sqlite3-CGOEFJAO-BedLxgf_.mjs.map} +1 -1
- package/dist/{sqlite3-CGOEFJAO-D78UkTyw.cjs → sqlite3-CGOEFJAO-DUW1XIou.cjs} +2 -2
- package/dist/{sqlite3-CGOEFJAO-D78UkTyw.cjs.map → sqlite3-CGOEFJAO-DUW1XIou.cjs.map} +1 -1
- package/dist/{start-DAlaZ5zj.mjs → start-9_8ZcdaU.mjs} +337 -228
- package/dist/start-9_8ZcdaU.mjs.map +1 -0
- package/dist/{start-BX-bkX9K.cjs → start-CBrH4KOb.cjs} +337 -228
- package/dist/start-CBrH4KOb.cjs.map +1 -0
- package/dist/start.cjs +1 -1
- package/dist/start.d.cts +1 -1
- package/dist/start.d.mts +1 -1
- package/dist/start.mjs +1 -1
- package/dist/{strings-6WDHLGMX-CeJiCt-u.cjs → strings-6WDHLGMX-5ObhNSGS.cjs} +2 -2
- package/dist/{strings-6WDHLGMX-CeJiCt-u.cjs.map → strings-6WDHLGMX-5ObhNSGS.cjs.map} +1 -1
- package/dist/{strings-6WDHLGMX-Dix-GFiu.mjs → strings-6WDHLGMX-DXaUbNpx.mjs} +2 -2
- package/dist/{strings-6WDHLGMX-Dix-GFiu.mjs.map → strings-6WDHLGMX-DXaUbNpx.mjs.map} +1 -1
- package/dist/{tac-2STMMJYW-DlI5binK.cjs → tac-2STMMJYW-CLSjS7F2.cjs} +2 -2
- package/dist/{tac-2STMMJYW-DlI5binK.cjs.map → tac-2STMMJYW-CLSjS7F2.cjs.map} +1 -1
- package/dist/{tac-2STMMJYW-Bm0D_YqQ.mjs → tac-2STMMJYW-Ov0tcgNn.mjs} +2 -2
- package/dist/{tac-2STMMJYW-Bm0D_YqQ.mjs.map → tac-2STMMJYW-Ov0tcgNn.mjs.map} +1 -1
- package/dist/{tail-R4PCA2C4-TH4AUhAb.cjs → tail-R4PCA2C4-C018_ZAk.cjs} +2 -2
- package/dist/{tail-R4PCA2C4-TH4AUhAb.cjs.map → tail-R4PCA2C4-C018_ZAk.cjs.map} +1 -1
- package/dist/{tail-R4PCA2C4-7wsnh20i.mjs → tail-R4PCA2C4-KgqykSFz.mjs} +2 -2
- package/dist/{tail-R4PCA2C4-7wsnh20i.mjs.map → tail-R4PCA2C4-KgqykSFz.mjs.map} +1 -1
- package/dist/{tar-STHHZTZ6-DELlRab1.cjs → tar-STHHZTZ6-BcBkmdCH.cjs} +4 -4
- package/dist/{tar-STHHZTZ6-DELlRab1.cjs.map → tar-STHHZTZ6-BcBkmdCH.cjs.map} +1 -1
- package/dist/{tar-STHHZTZ6-gShA0vQ1.mjs → tar-STHHZTZ6-CCPYnq7u.mjs} +3 -3
- package/dist/{tar-STHHZTZ6-gShA0vQ1.mjs.map → tar-STHHZTZ6-CCPYnq7u.mjs.map} +1 -1
- package/dist/{tee-YUZ2FKCJ-D_BE3AiF.cjs → tee-YUZ2FKCJ-Cce_gOKf.cjs} +2 -2
- package/dist/{tee-YUZ2FKCJ-D_BE3AiF.cjs.map → tee-YUZ2FKCJ-Cce_gOKf.cjs.map} +1 -1
- package/dist/{tee-YUZ2FKCJ-6jGvzLuO.mjs → tee-YUZ2FKCJ-D7LOkjQo.mjs} +2 -2
- package/dist/{tee-YUZ2FKCJ-6jGvzLuO.mjs.map → tee-YUZ2FKCJ-D7LOkjQo.mjs.map} +1 -1
- package/dist/{time-D4LNBSWX-D7RWA_NU.mjs → time-D4LNBSWX-CvYHvswI.mjs} +2 -2
- package/dist/{time-D4LNBSWX-D7RWA_NU.mjs.map → time-D4LNBSWX-CvYHvswI.mjs.map} +1 -1
- package/dist/{time-D4LNBSWX-zKxg-wM1.cjs → time-D4LNBSWX-D9C8_lG9.cjs} +2 -2
- package/dist/{time-D4LNBSWX-zKxg-wM1.cjs.map → time-D4LNBSWX-D9C8_lG9.cjs.map} +1 -1
- package/dist/{timeout-YDCRSLPQ-D42ruxso.mjs → timeout-YDCRSLPQ-CacPbawx.mjs} +2 -2
- package/dist/{timeout-YDCRSLPQ-D42ruxso.mjs.map → timeout-YDCRSLPQ-CacPbawx.mjs.map} +1 -1
- package/dist/{timeout-YDCRSLPQ-DWs-ACr6.cjs → timeout-YDCRSLPQ-Ccs9ipQM.cjs} +2 -2
- package/dist/{timeout-YDCRSLPQ-DWs-ACr6.cjs.map → timeout-YDCRSLPQ-Ccs9ipQM.cjs.map} +1 -1
- package/dist/{touch-UA33VN3N-OcSMUASX.mjs → touch-UA33VN3N-D2ndvYPZ.mjs} +2 -2
- package/dist/{touch-UA33VN3N-OcSMUASX.mjs.map → touch-UA33VN3N-D2ndvYPZ.mjs.map} +1 -1
- package/dist/{touch-UA33VN3N-BALmWXCe.cjs → touch-UA33VN3N-Dxlmlbm_.cjs} +2 -2
- package/dist/{touch-UA33VN3N-BALmWXCe.cjs.map → touch-UA33VN3N-Dxlmlbm_.cjs.map} +1 -1
- package/dist/{tr-36LHWFRQ-DDHiAg_m.cjs → tr-36LHWFRQ-Bzq2x5-h.cjs} +2 -2
- package/dist/{tr-36LHWFRQ-DDHiAg_m.cjs.map → tr-36LHWFRQ-Bzq2x5-h.cjs.map} +1 -1
- package/dist/{tr-36LHWFRQ-BHhoJAPK.mjs → tr-36LHWFRQ-CWCuChgL.mjs} +2 -2
- package/dist/{tr-36LHWFRQ-BHhoJAPK.mjs.map → tr-36LHWFRQ-CWCuChgL.mjs.map} +1 -1
- package/dist/{tree-YLD52CNT-BqqLx-tM.cjs → tree-YLD52CNT-BQipj5RY.cjs} +2 -2
- package/dist/{tree-YLD52CNT-BqqLx-tM.cjs.map → tree-YLD52CNT-BQipj5RY.cjs.map} +1 -1
- package/dist/{tree-YLD52CNT-CuJMHpsw.mjs → tree-YLD52CNT-CDfF4vcr.mjs} +2 -2
- package/dist/{tree-YLD52CNT-CuJMHpsw.mjs.map → tree-YLD52CNT-CDfF4vcr.mjs.map} +1 -1
- package/dist/{unexpand-CADSA4VO-BORtdsy_.cjs → unexpand-CADSA4VO-C4qGbx-B.cjs} +2 -2
- package/dist/{unexpand-CADSA4VO-BORtdsy_.cjs.map → unexpand-CADSA4VO-C4qGbx-B.cjs.map} +1 -1
- package/dist/{unexpand-CADSA4VO-CHiw_MI4.mjs → unexpand-CADSA4VO-COvRSVlE.mjs} +2 -2
- package/dist/{unexpand-CADSA4VO-CHiw_MI4.mjs.map → unexpand-CADSA4VO-COvRSVlE.mjs.map} +1 -1
- package/dist/{uniq-XSIZR6PB-Byah97Ij.mjs → uniq-XSIZR6PB-C8bN8gfm.mjs} +3 -3
- package/dist/{uniq-XSIZR6PB-Byah97Ij.mjs.map → uniq-XSIZR6PB-C8bN8gfm.mjs.map} +1 -1
- package/dist/{uniq-XSIZR6PB-CyA5DoCP.cjs → uniq-XSIZR6PB-bJo9kdHr.cjs} +3 -3
- package/dist/{uniq-XSIZR6PB-CyA5DoCP.cjs.map → uniq-XSIZR6PB-bJo9kdHr.cjs.map} +1 -1
- package/dist/{wc-LF7NU4LA-CPMTeSun.mjs → wc-LF7NU4LA-D4xFJZxz.mjs} +3 -3
- package/dist/{wc-LF7NU4LA-CPMTeSun.mjs.map → wc-LF7NU4LA-D4xFJZxz.mjs.map} +1 -1
- package/dist/{wc-LF7NU4LA-DUBYnutH.cjs → wc-LF7NU4LA-NAR5lgIG.cjs} +3 -3
- package/dist/{wc-LF7NU4LA-DUBYnutH.cjs.map → wc-LF7NU4LA-NAR5lgIG.cjs.map} +1 -1
- package/dist/{xan-Y6WF3IRG-CLfddWd-.mjs → xan-Y6WF3IRG-D16SQobd.mjs} +6 -6
- package/dist/{xan-Y6WF3IRG-CLfddWd-.mjs.map → xan-Y6WF3IRG-D16SQobd.mjs.map} +1 -1
- package/dist/{xan-Y6WF3IRG-W4Yr19gE.cjs → xan-Y6WF3IRG-RigAd0GA.cjs} +6 -6
- package/dist/{xan-Y6WF3IRG-W4Yr19gE.cjs.map → xan-Y6WF3IRG-RigAd0GA.cjs.map} +1 -1
- package/dist/{xan-view-HDVKHFC2-B_Xy-tdc.mjs → xan-view-HDVKHFC2-CJ527xHS.mjs} +3 -3
- package/dist/{xan-view-HDVKHFC2-B_Xy-tdc.mjs.map → xan-view-HDVKHFC2-CJ527xHS.mjs.map} +1 -1
- package/dist/{xan-view-HDVKHFC2-CWkN0IJ1.cjs → xan-view-HDVKHFC2-pRqYeBi3.cjs} +3 -3
- package/dist/{xan-view-HDVKHFC2-CWkN0IJ1.cjs.map → xan-view-HDVKHFC2-pRqYeBi3.cjs.map} +1 -1
- package/dist/{xargs-MGZPH7AX-B_Ocy3BY.cjs → xargs-MGZPH7AX-C0bVMPGM.cjs} +2 -2
- package/dist/{xargs-MGZPH7AX-B_Ocy3BY.cjs.map → xargs-MGZPH7AX-C0bVMPGM.cjs.map} +1 -1
- package/dist/{xargs-MGZPH7AX-DDoz_2hL.mjs → xargs-MGZPH7AX-DWIn3Zwh.mjs} +2 -2
- package/dist/{xargs-MGZPH7AX-DDoz_2hL.mjs.map → xargs-MGZPH7AX-DWIn3Zwh.mjs.map} +1 -1
- package/dist/{yq-4QJW3EQG-mUhWBJBJ.mjs → yq-4QJW3EQG-CPcwcHbw.mjs} +3 -3
- package/dist/{yq-4QJW3EQG-mUhWBJBJ.mjs.map → yq-4QJW3EQG-CPcwcHbw.mjs.map} +1 -1
- package/dist/{yq-4QJW3EQG-BPBhjinw.cjs → yq-4QJW3EQG-CSTlai1q.cjs} +3 -3
- package/dist/{yq-4QJW3EQG-BPBhjinw.cjs.map → yq-4QJW3EQG-CSTlai1q.cjs.map} +1 -1
- package/package.json +1 -1
- package/dist/dist-70NUfApd.mjs.map +0 -1
- package/dist/start-BX-bkX9K.cjs.map +0 -1
- package/dist/start-DAlaZ5zj.mjs.map +0 -1
|
@@ -32,11 +32,11 @@ node_path = __toESM(node_path, 1);
|
|
|
32
32
|
require("node:fs/promises");
|
|
33
33
|
let node_fs = require("node:fs");
|
|
34
34
|
node_fs = __toESM(node_fs, 1);
|
|
35
|
+
let node_async_hooks = require("node:async_hooks");
|
|
35
36
|
require("node:url");
|
|
36
37
|
let node_os = require("node:os");
|
|
37
38
|
let node_module = require("node:module");
|
|
38
39
|
let node_crypto = require("node:crypto");
|
|
39
|
-
let node_async_hooks = require("node:async_hooks");
|
|
40
40
|
let _keystrokehq_platform_database = require("@keystrokehq/platform-database");
|
|
41
41
|
require("zod/v3");
|
|
42
42
|
require("zod/v4-mini");
|
|
@@ -63,6 +63,10 @@ const PROJECT_SERVER_HEALTH = {
|
|
|
63
63
|
path: "/health",
|
|
64
64
|
port: PROJECT_SERVER_PORT
|
|
65
65
|
};
|
|
66
|
+
/** Builds base64 `KEYSTROKE_ORG_ARTIFACTS` payload for org worker containers. */
|
|
67
|
+
function encodeOrgArtifacts(artifacts) {
|
|
68
|
+
return Buffer.from(JSON.stringify(artifacts)).toString("base64");
|
|
69
|
+
}
|
|
66
70
|
const RUNTIME_ENV_KEYS = [
|
|
67
71
|
"BETTER_AUTH_SECRET",
|
|
68
72
|
"PUBLIC_SERVER_URL",
|
|
@@ -93,28 +97,26 @@ function projectDatabaseRuntimeEnv(database) {
|
|
|
93
97
|
};
|
|
94
98
|
}
|
|
95
99
|
/**
|
|
96
|
-
* Builds the launch spec for
|
|
97
|
-
*
|
|
98
|
-
* no base image, so it is required.
|
|
100
|
+
* Builds the launch spec for an org worker. Each deploy artifact is encoded in
|
|
101
|
+
* `KEYSTROKE_ORG_ARTIFACTS` — there is no base image, so at least one artifact is required.
|
|
99
102
|
*/
|
|
100
|
-
function resolveRuntimeLaunch(options,
|
|
101
|
-
if (
|
|
103
|
+
function resolveRuntimeLaunch(options, artifacts, database, extraEnv) {
|
|
104
|
+
if (artifacts.length === 0) throw new Error("Cannot start an org worker without at least one artifact");
|
|
102
105
|
const env = options.env ?? process.env;
|
|
103
106
|
return {
|
|
104
107
|
image: resolveProjectServerImage(env, options.image),
|
|
105
|
-
env: buildRuntimeEnv(env,
|
|
108
|
+
env: buildRuntimeEnv(env, artifacts, database, extraEnv),
|
|
106
109
|
port: PROJECT_SERVER_PORT,
|
|
107
110
|
health: PROJECT_SERVER_HEALTH
|
|
108
111
|
};
|
|
109
112
|
}
|
|
110
|
-
/** Env vars passed into the
|
|
111
|
-
function buildRuntimeEnv(source,
|
|
113
|
+
/** Env vars passed into the org worker container/machine. */
|
|
114
|
+
function buildRuntimeEnv(source, artifacts, database, extraEnv) {
|
|
112
115
|
const entries = new Map([
|
|
113
116
|
["PORT", String(PROJECT_SERVER_PORT)],
|
|
114
117
|
["KEYSTROKE_ROOT", PROJECT_SERVER_ROOT],
|
|
115
118
|
["KEYSTROKE_RUNTIME_NODE_MODULES", PROJECT_SERVER_FRAMEWORK_NODE_MODULES],
|
|
116
|
-
["
|
|
117
|
-
["PROJECT_ID", database.projectId],
|
|
119
|
+
["KEYSTROKE_ORG_ARTIFACTS", encodeOrgArtifacts(artifacts)],
|
|
118
120
|
["ORGANIZATION_ID", database.organizationId],
|
|
119
121
|
["TENANT_ID", database.organizationId]
|
|
120
122
|
]);
|
|
@@ -217,15 +219,19 @@ const MINIO_DOCKER_NETWORK = process.env.MINIO_DOCKER_NETWORK ?? "keystroke";
|
|
|
217
219
|
function createDockerRuntime(options = {}) {
|
|
218
220
|
const docker = options.docker ?? new dockerode.default();
|
|
219
221
|
return { async start(input) {
|
|
220
|
-
|
|
222
|
+
if (input.projects.length === 0) throw new Error("Docker org runtime requires at least one project deploy");
|
|
223
|
+
const launch = resolveRuntimeLaunch(options, input.projects.map((project) => ({
|
|
224
|
+
projectId: project.projectId,
|
|
225
|
+
artifactStorageKey: project.artifactStorageKey
|
|
226
|
+
})), input.database, input.env);
|
|
221
227
|
await ensureImage(docker, launch.image);
|
|
222
|
-
await removeExistingContainer(docker, input.
|
|
228
|
+
await removeExistingContainer(docker, input.organizationId);
|
|
223
229
|
const container = await docker.createContainer({
|
|
224
230
|
Image: launch.image,
|
|
225
|
-
name: containerName(input.
|
|
231
|
+
name: containerName(input.organizationId),
|
|
226
232
|
Labels: {
|
|
227
|
-
"keystroke.
|
|
228
|
-
"keystroke.project.
|
|
233
|
+
"keystroke.organization.id": input.organizationId,
|
|
234
|
+
"keystroke.project.ids": input.projects.map((project) => project.projectId).join(",")
|
|
229
235
|
},
|
|
230
236
|
ExposedPorts: { [`${launch.port}/tcp`]: {} },
|
|
231
237
|
HostConfig: {
|
|
@@ -238,7 +244,7 @@ function createDockerRuntime(options = {}) {
|
|
|
238
244
|
await container.start();
|
|
239
245
|
const inspect = await container.inspect();
|
|
240
246
|
const binding = inspect.NetworkSettings.Ports?.[`${launch.port}/tcp`]?.[0];
|
|
241
|
-
if (!binding?.HostPort) throw new Error("Failed to resolve
|
|
247
|
+
if (!binding?.HostPort) throw new Error("Failed to resolve org container host port");
|
|
242
248
|
const baseUrl = `http://127.0.0.1:${binding.HostPort}`;
|
|
243
249
|
await waitForHealth(baseUrl, {
|
|
244
250
|
fetchImpl: options.fetchImpl,
|
|
@@ -250,12 +256,12 @@ function createDockerRuntime(options = {}) {
|
|
|
250
256
|
};
|
|
251
257
|
} };
|
|
252
258
|
}
|
|
253
|
-
function containerName(
|
|
254
|
-
return `keystroke-
|
|
259
|
+
function containerName(organizationId) {
|
|
260
|
+
return `keystroke-org-${organizationId}`;
|
|
255
261
|
}
|
|
256
|
-
async function removeExistingContainer(docker,
|
|
262
|
+
async function removeExistingContainer(docker, organizationId) {
|
|
257
263
|
try {
|
|
258
|
-
const existing = docker.getContainer(containerName(
|
|
264
|
+
const existing = docker.getContainer(containerName(organizationId));
|
|
259
265
|
await existing.stop({ t: 5 }).catch(() => void 0);
|
|
260
266
|
await existing.remove({ force: true });
|
|
261
267
|
} catch {}
|
|
@@ -989,7 +995,7 @@ _Object_({
|
|
|
989
995
|
content: String$1({ description: "Content to write to the file" })
|
|
990
996
|
});
|
|
991
997
|
//#endregion
|
|
992
|
-
//#region ../../packages/sandbox/dist/files-
|
|
998
|
+
//#region ../../packages/sandbox/dist/files-XxiqkzS0.mjs
|
|
993
999
|
const SandboxFileContentSchema = zod.z.object({
|
|
994
1000
|
path: zod.z.string(),
|
|
995
1001
|
file: zod.z.string()
|
|
@@ -1006,6 +1012,7 @@ const SandboxDefinitionSchema = zod.z.object({
|
|
|
1006
1012
|
key: zod.z.string().optional(),
|
|
1007
1013
|
files: zod.z.array(SandboxFileSchema).optional()
|
|
1008
1014
|
});
|
|
1015
|
+
new node_async_hooks.AsyncLocalStorage();
|
|
1009
1016
|
//#endregion
|
|
1010
1017
|
//#region ../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/chunk-4RUAZWKT.js
|
|
1011
1018
|
(0, node_module.createRequire)(require("url").pathToFileURL(__filename).href);
|
|
@@ -23808,43 +23815,43 @@ var tt = [
|
|
|
23808
23815
|
},
|
|
23809
23816
|
{
|
|
23810
23817
|
name: "cat",
|
|
23811
|
-
load: async () => (await Promise.resolve().then(() => require("./cat-TSFMZVYS-
|
|
23818
|
+
load: async () => (await Promise.resolve().then(() => require("./cat-TSFMZVYS-Lk2fLg0m.cjs"))).catCommand
|
|
23812
23819
|
},
|
|
23813
23820
|
{
|
|
23814
23821
|
name: "printf",
|
|
23815
|
-
load: async () => (await Promise.resolve().then(() => require("./printf-TWGXF445-
|
|
23822
|
+
load: async () => (await Promise.resolve().then(() => require("./printf-TWGXF445-bSICkDD6.cjs"))).printfCommand
|
|
23816
23823
|
},
|
|
23817
23824
|
{
|
|
23818
23825
|
name: "ls",
|
|
23819
|
-
load: async () => (await Promise.resolve().then(() => require("./ls-ZJGQER7M-
|
|
23826
|
+
load: async () => (await Promise.resolve().then(() => require("./ls-ZJGQER7M-H5DDO7bw.cjs"))).lsCommand
|
|
23820
23827
|
},
|
|
23821
23828
|
{
|
|
23822
23829
|
name: "mkdir",
|
|
23823
|
-
load: async () => (await Promise.resolve().then(() => require("./mkdir-MEPGZOB6-
|
|
23830
|
+
load: async () => (await Promise.resolve().then(() => require("./mkdir-MEPGZOB6-BFwkd4Z7.cjs"))).mkdirCommand
|
|
23824
23831
|
},
|
|
23825
23832
|
{
|
|
23826
23833
|
name: "rmdir",
|
|
23827
|
-
load: async () => (await Promise.resolve().then(() => require("./rmdir-OC4ZLPYA-
|
|
23834
|
+
load: async () => (await Promise.resolve().then(() => require("./rmdir-OC4ZLPYA-DngaXCWg.cjs"))).rmdirCommand
|
|
23828
23835
|
},
|
|
23829
23836
|
{
|
|
23830
23837
|
name: "touch",
|
|
23831
|
-
load: async () => (await Promise.resolve().then(() => require("./touch-UA33VN3N-
|
|
23838
|
+
load: async () => (await Promise.resolve().then(() => require("./touch-UA33VN3N-Dxlmlbm_.cjs"))).touchCommand
|
|
23832
23839
|
},
|
|
23833
23840
|
{
|
|
23834
23841
|
name: "rm",
|
|
23835
|
-
load: async () => (await Promise.resolve().then(() => require("./rm-SSGETQVQ-
|
|
23842
|
+
load: async () => (await Promise.resolve().then(() => require("./rm-SSGETQVQ-BPv10nPA.cjs"))).rmCommand
|
|
23836
23843
|
},
|
|
23837
23844
|
{
|
|
23838
23845
|
name: "cp",
|
|
23839
|
-
load: async () => (await Promise.resolve().then(() => require("./cp-BISAAS7A-
|
|
23846
|
+
load: async () => (await Promise.resolve().then(() => require("./cp-BISAAS7A-Dx6QG-P9.cjs"))).cpCommand
|
|
23840
23847
|
},
|
|
23841
23848
|
{
|
|
23842
23849
|
name: "mv",
|
|
23843
|
-
load: async () => (await Promise.resolve().then(() => require("./mv-W5BIQ646-
|
|
23850
|
+
load: async () => (await Promise.resolve().then(() => require("./mv-W5BIQ646-hheW03eh.cjs"))).mvCommand
|
|
23844
23851
|
},
|
|
23845
23852
|
{
|
|
23846
23853
|
name: "ln",
|
|
23847
|
-
load: async () => (await Promise.resolve().then(() => require("./ln-4LGSXXGD-
|
|
23854
|
+
load: async () => (await Promise.resolve().then(() => require("./ln-4LGSXXGD-CkQRVPru.cjs"))).lnCommand
|
|
23848
23855
|
},
|
|
23849
23856
|
{
|
|
23850
23857
|
name: "chmod",
|
|
@@ -23860,15 +23867,15 @@ var tt = [
|
|
|
23860
23867
|
},
|
|
23861
23868
|
{
|
|
23862
23869
|
name: "head",
|
|
23863
|
-
load: async () => (await Promise.resolve().then(() => require("./head-442HYESI-
|
|
23870
|
+
load: async () => (await Promise.resolve().then(() => require("./head-442HYESI-Bztg6Xka.cjs"))).headCommand
|
|
23864
23871
|
},
|
|
23865
23872
|
{
|
|
23866
23873
|
name: "tail",
|
|
23867
|
-
load: async () => (await Promise.resolve().then(() => require("./tail-R4PCA2C4-
|
|
23874
|
+
load: async () => (await Promise.resolve().then(() => require("./tail-R4PCA2C4-C018_ZAk.cjs"))).tailCommand
|
|
23868
23875
|
},
|
|
23869
23876
|
{
|
|
23870
23877
|
name: "wc",
|
|
23871
|
-
load: async () => (await Promise.resolve().then(() => require("./wc-LF7NU4LA-
|
|
23878
|
+
load: async () => (await Promise.resolve().then(() => require("./wc-LF7NU4LA-NAR5lgIG.cjs"))).wcCommand
|
|
23872
23879
|
},
|
|
23873
23880
|
{
|
|
23874
23881
|
name: "stat",
|
|
@@ -23876,95 +23883,95 @@ var tt = [
|
|
|
23876
23883
|
},
|
|
23877
23884
|
{
|
|
23878
23885
|
name: "grep",
|
|
23879
|
-
load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-
|
|
23886
|
+
load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-D--OXkar.cjs"))).grepCommand
|
|
23880
23887
|
},
|
|
23881
23888
|
{
|
|
23882
23889
|
name: "fgrep",
|
|
23883
|
-
load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-
|
|
23890
|
+
load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-D--OXkar.cjs"))).fgrepCommand
|
|
23884
23891
|
},
|
|
23885
23892
|
{
|
|
23886
23893
|
name: "egrep",
|
|
23887
|
-
load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-
|
|
23894
|
+
load: async () => (await Promise.resolve().then(() => require("./grep-V3LQVMRQ-D--OXkar.cjs"))).egrepCommand
|
|
23888
23895
|
},
|
|
23889
23896
|
{
|
|
23890
23897
|
name: "rg",
|
|
23891
|
-
load: async () => (await Promise.resolve().then(() => require("./rg-S4FXYXWB-
|
|
23898
|
+
load: async () => (await Promise.resolve().then(() => require("./rg-S4FXYXWB-Bol68AvR.cjs"))).rgCommand
|
|
23892
23899
|
},
|
|
23893
23900
|
{
|
|
23894
23901
|
name: "sed",
|
|
23895
|
-
load: async () => (await Promise.resolve().then(() => require("./sed-S5UIK574-
|
|
23902
|
+
load: async () => (await Promise.resolve().then(() => require("./sed-S5UIK574-CF78rdnK.cjs"))).sedCommand
|
|
23896
23903
|
},
|
|
23897
23904
|
{
|
|
23898
23905
|
name: "awk",
|
|
23899
|
-
load: async () => (await Promise.resolve().then(() => require("./awk2-LA3USKJP-
|
|
23906
|
+
load: async () => (await Promise.resolve().then(() => require("./awk2-LA3USKJP-AIZOQ0nh.cjs"))).awkCommand2
|
|
23900
23907
|
},
|
|
23901
23908
|
{
|
|
23902
23909
|
name: "sort",
|
|
23903
|
-
load: async () => (await Promise.resolve().then(() => require("./sort-SW2YEO5B-
|
|
23910
|
+
load: async () => (await Promise.resolve().then(() => require("./sort-SW2YEO5B-DwbO0wml.cjs"))).sortCommand
|
|
23904
23911
|
},
|
|
23905
23912
|
{
|
|
23906
23913
|
name: "uniq",
|
|
23907
|
-
load: async () => (await Promise.resolve().then(() => require("./uniq-XSIZR6PB-
|
|
23914
|
+
load: async () => (await Promise.resolve().then(() => require("./uniq-XSIZR6PB-bJo9kdHr.cjs"))).uniqCommand
|
|
23908
23915
|
},
|
|
23909
23916
|
{
|
|
23910
23917
|
name: "comm",
|
|
23911
|
-
load: async () => (await Promise.resolve().then(() => require("./comm-VV2LDX2J-
|
|
23918
|
+
load: async () => (await Promise.resolve().then(() => require("./comm-VV2LDX2J-YL8m_4d1.cjs"))).commCommand
|
|
23912
23919
|
},
|
|
23913
23920
|
{
|
|
23914
23921
|
name: "cut",
|
|
23915
|
-
load: async () => (await Promise.resolve().then(() => require("./cut-OKARJCCV-
|
|
23922
|
+
load: async () => (await Promise.resolve().then(() => require("./cut-OKARJCCV-C1CAocst.cjs"))).cutCommand
|
|
23916
23923
|
},
|
|
23917
23924
|
{
|
|
23918
23925
|
name: "paste",
|
|
23919
|
-
load: async () => (await Promise.resolve().then(() => require("./paste-7JC6S4DX-
|
|
23926
|
+
load: async () => (await Promise.resolve().then(() => require("./paste-7JC6S4DX-CC0xWPbo.cjs"))).pasteCommand
|
|
23920
23927
|
},
|
|
23921
23928
|
{
|
|
23922
23929
|
name: "tr",
|
|
23923
|
-
load: async () => (await Promise.resolve().then(() => require("./tr-36LHWFRQ-
|
|
23930
|
+
load: async () => (await Promise.resolve().then(() => require("./tr-36LHWFRQ-Bzq2x5-h.cjs"))).trCommand
|
|
23924
23931
|
},
|
|
23925
23932
|
{
|
|
23926
23933
|
name: "rev",
|
|
23927
|
-
load: async () => (await Promise.resolve().then(() => require("./rev-5EHFX4EJ-
|
|
23934
|
+
load: async () => (await Promise.resolve().then(() => require("./rev-5EHFX4EJ-BS2n_x9V.cjs"))).rev
|
|
23928
23935
|
},
|
|
23929
23936
|
{
|
|
23930
23937
|
name: "nl",
|
|
23931
|
-
load: async () => (await Promise.resolve().then(() => require("./nl-WSDW7I4O-
|
|
23938
|
+
load: async () => (await Promise.resolve().then(() => require("./nl-WSDW7I4O-DcVnQp-1.cjs"))).nl
|
|
23932
23939
|
},
|
|
23933
23940
|
{
|
|
23934
23941
|
name: "fold",
|
|
23935
|
-
load: async () => (await Promise.resolve().then(() => require("./fold-4TQNYMSW-
|
|
23942
|
+
load: async () => (await Promise.resolve().then(() => require("./fold-4TQNYMSW-DFQEjMsZ.cjs"))).fold
|
|
23936
23943
|
},
|
|
23937
23944
|
{
|
|
23938
23945
|
name: "expand",
|
|
23939
|
-
load: async () => (await Promise.resolve().then(() => require("./expand-JSPG6VOP-
|
|
23946
|
+
load: async () => (await Promise.resolve().then(() => require("./expand-JSPG6VOP-C4VQzWfg.cjs"))).expand
|
|
23940
23947
|
},
|
|
23941
23948
|
{
|
|
23942
23949
|
name: "unexpand",
|
|
23943
|
-
load: async () => (await Promise.resolve().then(() => require("./unexpand-CADSA4VO-
|
|
23950
|
+
load: async () => (await Promise.resolve().then(() => require("./unexpand-CADSA4VO-C4qGbx-B.cjs"))).unexpand
|
|
23944
23951
|
},
|
|
23945
23952
|
{
|
|
23946
23953
|
name: "strings",
|
|
23947
|
-
load: async () => (await Promise.resolve().then(() => require("./strings-6WDHLGMX-
|
|
23954
|
+
load: async () => (await Promise.resolve().then(() => require("./strings-6WDHLGMX-5ObhNSGS.cjs"))).strings
|
|
23948
23955
|
},
|
|
23949
23956
|
{
|
|
23950
23957
|
name: "split",
|
|
23951
|
-
load: async () => (await Promise.resolve().then(() => require("./split-4KKZZXXE-
|
|
23958
|
+
load: async () => (await Promise.resolve().then(() => require("./split-4KKZZXXE-D3kKToq-.cjs"))).split
|
|
23952
23959
|
},
|
|
23953
23960
|
{
|
|
23954
23961
|
name: "column",
|
|
23955
|
-
load: async () => (await Promise.resolve().then(() => require("./column-XT6UFXNQ-
|
|
23962
|
+
load: async () => (await Promise.resolve().then(() => require("./column-XT6UFXNQ-CwtLFuCh.cjs"))).column
|
|
23956
23963
|
},
|
|
23957
23964
|
{
|
|
23958
23965
|
name: "join",
|
|
23959
|
-
load: async () => (await Promise.resolve().then(() => require("./join-TBRGI3LQ-
|
|
23966
|
+
load: async () => (await Promise.resolve().then(() => require("./join-TBRGI3LQ-CzBO0uid.cjs"))).join
|
|
23960
23967
|
},
|
|
23961
23968
|
{
|
|
23962
23969
|
name: "tee",
|
|
23963
|
-
load: async () => (await Promise.resolve().then(() => require("./tee-YUZ2FKCJ-
|
|
23970
|
+
load: async () => (await Promise.resolve().then(() => require("./tee-YUZ2FKCJ-Cce_gOKf.cjs"))).teeCommand
|
|
23964
23971
|
},
|
|
23965
23972
|
{
|
|
23966
23973
|
name: "find",
|
|
23967
|
-
load: async () => (await Promise.resolve().then(() => require("./find-INTH3OLC-
|
|
23974
|
+
load: async () => (await Promise.resolve().then(() => require("./find-INTH3OLC-2rIv2Sgt.cjs"))).findCommand
|
|
23968
23975
|
},
|
|
23969
23976
|
{
|
|
23970
23977
|
name: "basename",
|
|
@@ -23976,19 +23983,19 @@ var tt = [
|
|
|
23976
23983
|
},
|
|
23977
23984
|
{
|
|
23978
23985
|
name: "tree",
|
|
23979
|
-
load: async () => (await Promise.resolve().then(() => require("./tree-YLD52CNT-
|
|
23986
|
+
load: async () => (await Promise.resolve().then(() => require("./tree-YLD52CNT-BQipj5RY.cjs"))).treeCommand
|
|
23980
23987
|
},
|
|
23981
23988
|
{
|
|
23982
23989
|
name: "du",
|
|
23983
|
-
load: async () => (await Promise.resolve().then(() => require("./du-572XNP42-
|
|
23990
|
+
load: async () => (await Promise.resolve().then(() => require("./du-572XNP42-B2vhVgxe.cjs"))).duCommand
|
|
23984
23991
|
},
|
|
23985
23992
|
{
|
|
23986
23993
|
name: "env",
|
|
23987
|
-
load: async () => (await Promise.resolve().then(() => require("./env-36M5BO7M-
|
|
23994
|
+
load: async () => (await Promise.resolve().then(() => require("./env-36M5BO7M-Dj2YwzST.cjs"))).envCommand
|
|
23988
23995
|
},
|
|
23989
23996
|
{
|
|
23990
23997
|
name: "printenv",
|
|
23991
|
-
load: async () => (await Promise.resolve().then(() => require("./env-36M5BO7M-
|
|
23998
|
+
load: async () => (await Promise.resolve().then(() => require("./env-36M5BO7M-Dj2YwzST.cjs"))).printenvCommand
|
|
23992
23999
|
},
|
|
23993
24000
|
{
|
|
23994
24001
|
name: "alias",
|
|
@@ -24004,7 +24011,7 @@ var tt = [
|
|
|
24004
24011
|
},
|
|
24005
24012
|
{
|
|
24006
24013
|
name: "xargs",
|
|
24007
|
-
load: async () => (await Promise.resolve().then(() => require("./xargs-MGZPH7AX-
|
|
24014
|
+
load: async () => (await Promise.resolve().then(() => require("./xargs-MGZPH7AX-C0bVMPGM.cjs"))).xargsCommand
|
|
24008
24015
|
},
|
|
24009
24016
|
{
|
|
24010
24017
|
name: "true",
|
|
@@ -24020,23 +24027,23 @@ var tt = [
|
|
|
24020
24027
|
},
|
|
24021
24028
|
{
|
|
24022
24029
|
name: "bash",
|
|
24023
|
-
load: async () => (await Promise.resolve().then(() => require("./bash-YZ33HQZQ-
|
|
24030
|
+
load: async () => (await Promise.resolve().then(() => require("./bash-YZ33HQZQ-BfFH_xKv.cjs"))).bashCommand
|
|
24024
24031
|
},
|
|
24025
24032
|
{
|
|
24026
24033
|
name: "sh",
|
|
24027
|
-
load: async () => (await Promise.resolve().then(() => require("./bash-YZ33HQZQ-
|
|
24034
|
+
load: async () => (await Promise.resolve().then(() => require("./bash-YZ33HQZQ-BfFH_xKv.cjs"))).shCommand
|
|
24028
24035
|
},
|
|
24029
24036
|
{
|
|
24030
24037
|
name: "jq",
|
|
24031
|
-
load: async () => (await Promise.resolve().then(() => require("./jq-4XLYLOS5-
|
|
24038
|
+
load: async () => (await Promise.resolve().then(() => require("./jq-4XLYLOS5-Dmw7PtvC.cjs"))).jqCommand
|
|
24032
24039
|
},
|
|
24033
24040
|
{
|
|
24034
24041
|
name: "base64",
|
|
24035
|
-
load: async () => (await Promise.resolve().then(() => require("./base64-C2AIWVNC-
|
|
24042
|
+
load: async () => (await Promise.resolve().then(() => require("./base64-C2AIWVNC-fWp5IaIt.cjs"))).base64Command
|
|
24036
24043
|
},
|
|
24037
24044
|
{
|
|
24038
24045
|
name: "diff",
|
|
24039
|
-
load: async () => (await Promise.resolve().then(() => require("./diff-MWJFIG7X-
|
|
24046
|
+
load: async () => (await Promise.resolve().then(() => require("./diff-MWJFIG7X-D5nTdPdk.cjs"))).diffCommand
|
|
24040
24047
|
},
|
|
24041
24048
|
{
|
|
24042
24049
|
name: "date",
|
|
@@ -24044,15 +24051,15 @@ var tt = [
|
|
|
24044
24051
|
},
|
|
24045
24052
|
{
|
|
24046
24053
|
name: "sleep",
|
|
24047
|
-
load: async () => (await Promise.resolve().then(() => require("./sleep-X22JJINO-
|
|
24054
|
+
load: async () => (await Promise.resolve().then(() => require("./sleep-X22JJINO-Dy9v8Z4n.cjs"))).sleepCommand
|
|
24048
24055
|
},
|
|
24049
24056
|
{
|
|
24050
24057
|
name: "timeout",
|
|
24051
|
-
load: async () => (await Promise.resolve().then(() => require("./timeout-YDCRSLPQ-
|
|
24058
|
+
load: async () => (await Promise.resolve().then(() => require("./timeout-YDCRSLPQ-Ccs9ipQM.cjs"))).timeoutCommand
|
|
24052
24059
|
},
|
|
24053
24060
|
{
|
|
24054
24061
|
name: "time",
|
|
24055
|
-
load: async () => (await Promise.resolve().then(() => require("./time-D4LNBSWX-
|
|
24062
|
+
load: async () => (await Promise.resolve().then(() => require("./time-D4LNBSWX-D9C8_lG9.cjs"))).timeCommand
|
|
24056
24063
|
},
|
|
24057
24064
|
{
|
|
24058
24065
|
name: "seq",
|
|
@@ -24060,19 +24067,19 @@ var tt = [
|
|
|
24060
24067
|
},
|
|
24061
24068
|
{
|
|
24062
24069
|
name: "expr",
|
|
24063
|
-
load: async () => (await Promise.resolve().then(() => require("./expr-5JAACS4X-
|
|
24070
|
+
load: async () => (await Promise.resolve().then(() => require("./expr-5JAACS4X-DX-k1Bjo.cjs"))).exprCommand
|
|
24064
24071
|
},
|
|
24065
24072
|
{
|
|
24066
24073
|
name: "md5sum",
|
|
24067
|
-
load: async () => (await Promise.resolve().then(() => require("./md5sum-SPU24VSG-
|
|
24074
|
+
load: async () => (await Promise.resolve().then(() => require("./md5sum-SPU24VSG-B6JGibcS.cjs"))).md5sumCommand
|
|
24068
24075
|
},
|
|
24069
24076
|
{
|
|
24070
24077
|
name: "sha1sum",
|
|
24071
|
-
load: async () => (await Promise.resolve().then(() => require("./sha1sum-2PTOAFR6-
|
|
24078
|
+
load: async () => (await Promise.resolve().then(() => require("./sha1sum-2PTOAFR6-C48qu6hM.cjs"))).sha1sumCommand
|
|
24072
24079
|
},
|
|
24073
24080
|
{
|
|
24074
24081
|
name: "sha256sum",
|
|
24075
|
-
load: async () => (await Promise.resolve().then(() => require("./sha256sum-NS7D3IXX-
|
|
24082
|
+
load: async () => (await Promise.resolve().then(() => require("./sha256sum-NS7D3IXX-DTZ34xii.cjs"))).sha256sumCommand
|
|
24076
24083
|
},
|
|
24077
24084
|
{
|
|
24078
24085
|
name: "file",
|
|
@@ -24080,11 +24087,11 @@ var tt = [
|
|
|
24080
24087
|
},
|
|
24081
24088
|
{
|
|
24082
24089
|
name: "html-to-markdown",
|
|
24083
|
-
load: async () => (await Promise.resolve().then(() => require("./html-to-markdown-JW4MSQZO-
|
|
24090
|
+
load: async () => (await Promise.resolve().then(() => require("./html-to-markdown-JW4MSQZO-B3xkcb1w.cjs"))).htmlToMarkdownCommand
|
|
24084
24091
|
},
|
|
24085
24092
|
{
|
|
24086
24093
|
name: "help",
|
|
24087
|
-
load: async () => (await Promise.resolve().then(() => require("./help-HZ6M2CKN-
|
|
24094
|
+
load: async () => (await Promise.resolve().then(() => require("./help-HZ6M2CKN-CFA5POOW.cjs"))).helpCommand
|
|
24088
24095
|
},
|
|
24089
24096
|
{
|
|
24090
24097
|
name: "which",
|
|
@@ -24092,7 +24099,7 @@ var tt = [
|
|
|
24092
24099
|
},
|
|
24093
24100
|
{
|
|
24094
24101
|
name: "tac",
|
|
24095
|
-
load: async () => (await Promise.resolve().then(() => require("./tac-2STMMJYW-
|
|
24102
|
+
load: async () => (await Promise.resolve().then(() => require("./tac-2STMMJYW-CLSjS7F2.cjs"))).tac
|
|
24096
24103
|
},
|
|
24097
24104
|
{
|
|
24098
24105
|
name: "hostname",
|
|
@@ -24104,49 +24111,49 @@ var tt = [
|
|
|
24104
24111
|
},
|
|
24105
24112
|
{
|
|
24106
24113
|
name: "od",
|
|
24107
|
-
load: async () => (await Promise.resolve().then(() => require("./od-WOKFDJTP-
|
|
24114
|
+
load: async () => (await Promise.resolve().then(() => require("./od-WOKFDJTP-CIGKYa74.cjs"))).od
|
|
24108
24115
|
},
|
|
24109
24116
|
{
|
|
24110
24117
|
name: "gzip",
|
|
24111
|
-
load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-
|
|
24118
|
+
load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-B3o0_eql.cjs"))).gzipCommand
|
|
24112
24119
|
},
|
|
24113
24120
|
{
|
|
24114
24121
|
name: "gunzip",
|
|
24115
|
-
load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-
|
|
24122
|
+
load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-B3o0_eql.cjs"))).gunzipCommand
|
|
24116
24123
|
},
|
|
24117
24124
|
{
|
|
24118
24125
|
name: "zcat",
|
|
24119
|
-
load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-
|
|
24126
|
+
load: async () => (await Promise.resolve().then(() => require("./gzip-O5ASJAFY-B3o0_eql.cjs"))).zcatCommand
|
|
24120
24127
|
}
|
|
24121
24128
|
];
|
|
24122
24129
|
(typeof __BROWSER__ > "u" || !__BROWSER__) && (tt.push({
|
|
24123
24130
|
name: "tar",
|
|
24124
|
-
load: async () => (await Promise.resolve().then(() => require("./tar-STHHZTZ6-
|
|
24131
|
+
load: async () => (await Promise.resolve().then(() => require("./tar-STHHZTZ6-BcBkmdCH.cjs"))).tarCommand
|
|
24125
24132
|
}), tt.push({
|
|
24126
24133
|
name: "yq",
|
|
24127
|
-
load: async () => (await Promise.resolve().then(() => require("./yq-4QJW3EQG-
|
|
24134
|
+
load: async () => (await Promise.resolve().then(() => require("./yq-4QJW3EQG-CSTlai1q.cjs"))).yqCommand
|
|
24128
24135
|
}), tt.push({
|
|
24129
24136
|
name: "xan",
|
|
24130
|
-
load: async () => (await Promise.resolve().then(() => require("./xan-Y6WF3IRG-
|
|
24137
|
+
load: async () => (await Promise.resolve().then(() => require("./xan-Y6WF3IRG-RigAd0GA.cjs"))).xanCommand
|
|
24131
24138
|
}), tt.push({
|
|
24132
24139
|
name: "sqlite3",
|
|
24133
|
-
load: async () => (await Promise.resolve().then(() => require("./sqlite3-CGOEFJAO-
|
|
24140
|
+
load: async () => (await Promise.resolve().then(() => require("./sqlite3-CGOEFJAO-DUW1XIou.cjs"))).sqlite3Command
|
|
24134
24141
|
}));
|
|
24135
24142
|
var Yt = [];
|
|
24136
24143
|
(typeof __BROWSER__ > "u" || !__BROWSER__) && (Yt.push({
|
|
24137
24144
|
name: "python3",
|
|
24138
|
-
load: async () => (await Promise.resolve().then(() => require("./python3-POMOR4OA-
|
|
24145
|
+
load: async () => (await Promise.resolve().then(() => require("./python3-POMOR4OA-D8YyzdQy.cjs"))).python3Command
|
|
24139
24146
|
}), Yt.push({
|
|
24140
24147
|
name: "python",
|
|
24141
|
-
load: async () => (await Promise.resolve().then(() => require("./python3-POMOR4OA-
|
|
24148
|
+
load: async () => (await Promise.resolve().then(() => require("./python3-POMOR4OA-D8YyzdQy.cjs"))).pythonCommand
|
|
24142
24149
|
}));
|
|
24143
24150
|
var Qt = [];
|
|
24144
24151
|
(typeof __BROWSER__ > "u" || !__BROWSER__) && (Qt.push({
|
|
24145
24152
|
name: "js-exec",
|
|
24146
|
-
load: async () => (await Promise.resolve().then(() => require("./js-exec-N5KEZBH7
|
|
24153
|
+
load: async () => (await Promise.resolve().then(() => require("./js-exec-N5KEZBH7-BLGWy2LA.cjs"))).jsExecCommand
|
|
24147
24154
|
}), Qt.push({
|
|
24148
24155
|
name: "node",
|
|
24149
|
-
load: async () => (await Promise.resolve().then(() => require("./js-exec-N5KEZBH7
|
|
24156
|
+
load: async () => (await Promise.resolve().then(() => require("./js-exec-N5KEZBH7-BLGWy2LA.cjs"))).nodeStubCommand
|
|
24150
24157
|
}));
|
|
24151
24158
|
new TextEncoder();
|
|
24152
24159
|
Object.freeze({
|
|
@@ -25119,6 +25126,114 @@ const OrganizationSlugSchema = zod.z.string().trim().toLowerCase().min(2, "Slug
|
|
|
25119
25126
|
const ClaimableOrganizationSlugSchema = OrganizationSlugSchema.refine((slug) => !RESERVED_ORGANIZATION_SLUGS.has(slug), "This slug is reserved");
|
|
25120
25127
|
/** Same format as organization slugs — org-scoped, no global reserved list. */
|
|
25121
25128
|
const ProjectSlugSchema = OrganizationSlugSchema;
|
|
25129
|
+
const PROJECT_SLUG_TAKEN_MESSAGE = "That slug is already taken.";
|
|
25130
|
+
const OrganizationSlugErrorCodeSchema = zod.z.enum([
|
|
25131
|
+
"slug_taken",
|
|
25132
|
+
"slug_reserved",
|
|
25133
|
+
"slug_invalid"
|
|
25134
|
+
]);
|
|
25135
|
+
const SlugAvailabilityReasonSchema = zod.z.enum([
|
|
25136
|
+
"taken",
|
|
25137
|
+
"reserved",
|
|
25138
|
+
"invalid"
|
|
25139
|
+
]);
|
|
25140
|
+
const SlugAvailabilityResponseSchema = zod.z.object({
|
|
25141
|
+
slug: zod.z.string(),
|
|
25142
|
+
available: zod.z.boolean(),
|
|
25143
|
+
reason: SlugAvailabilityReasonSchema.optional(),
|
|
25144
|
+
suggestion: OrganizationSlugSchema.optional()
|
|
25145
|
+
});
|
|
25146
|
+
const SlugAvailabilityQuerySchema = zod.z.object({
|
|
25147
|
+
slug: zod.z.string().trim().min(1),
|
|
25148
|
+
excludeOrganizationId: zod.z.string().min(1).optional()
|
|
25149
|
+
});
|
|
25150
|
+
const ProjectSlugAvailabilityReasonSchema = zod.z.enum(["taken", "invalid"]);
|
|
25151
|
+
const ProjectSlugAvailabilityResponseSchema = zod.z.object({
|
|
25152
|
+
slug: zod.z.string(),
|
|
25153
|
+
available: zod.z.boolean(),
|
|
25154
|
+
reason: ProjectSlugAvailabilityReasonSchema.optional(),
|
|
25155
|
+
suggestion: ProjectSlugSchema.optional()
|
|
25156
|
+
});
|
|
25157
|
+
const ProjectSlugAvailabilityQuerySchema = zod.z.object({
|
|
25158
|
+
slug: zod.z.string().trim().min(1),
|
|
25159
|
+
excludeProjectId: zod.z.string().min(1).optional()
|
|
25160
|
+
});
|
|
25161
|
+
function organizationSlugErrorCodeFromMessage(message) {
|
|
25162
|
+
if (message === "That slug is already taken." || /already taken/i.test(message)) return "slug_taken";
|
|
25163
|
+
if (/reserved/i.test(message)) return "slug_reserved";
|
|
25164
|
+
return "slug_invalid";
|
|
25165
|
+
}
|
|
25166
|
+
const ProjectStatusSchema = zod.z.enum([
|
|
25167
|
+
"inactive",
|
|
25168
|
+
"starting",
|
|
25169
|
+
"active",
|
|
25170
|
+
"failed"
|
|
25171
|
+
]);
|
|
25172
|
+
const OrganizationUserRoleSchema = zod.z.enum([
|
|
25173
|
+
"owner",
|
|
25174
|
+
"admin",
|
|
25175
|
+
"builder"
|
|
25176
|
+
]);
|
|
25177
|
+
const isoDateTime$5 = zod.z.string().datetime();
|
|
25178
|
+
const OrganizationSchema = zod.z.object({
|
|
25179
|
+
id: zod.z.string(),
|
|
25180
|
+
name: zod.z.string(),
|
|
25181
|
+
slug: OrganizationSlugSchema,
|
|
25182
|
+
createdAt: isoDateTime$5,
|
|
25183
|
+
updatedAt: isoDateTime$5
|
|
25184
|
+
});
|
|
25185
|
+
const ProjectSchema = zod.z.object({
|
|
25186
|
+
id: zod.z.string(),
|
|
25187
|
+
organizationId: zod.z.string(),
|
|
25188
|
+
name: zod.z.string(),
|
|
25189
|
+
slug: ProjectSlugSchema,
|
|
25190
|
+
description: zod.z.string().nullable(),
|
|
25191
|
+
status: ProjectStatusSchema,
|
|
25192
|
+
baseUrl: zod.z.string().nullable(),
|
|
25193
|
+
runtimeId: zod.z.string().nullable(),
|
|
25194
|
+
lastError: zod.z.string().nullable(),
|
|
25195
|
+
createdAt: isoDateTime$5,
|
|
25196
|
+
updatedAt: isoDateTime$5
|
|
25197
|
+
});
|
|
25198
|
+
const UserOrganizationSchema = zod.z.object({
|
|
25199
|
+
organization: OrganizationSchema,
|
|
25200
|
+
role: OrganizationUserRoleSchema
|
|
25201
|
+
});
|
|
25202
|
+
const ActiveOrganizationResponseSchema = UserOrganizationSchema.nullable();
|
|
25203
|
+
const ListOrganizationsResponseSchema = zod.z.array(UserOrganizationSchema);
|
|
25204
|
+
const CreateOrganizationRequestSchema = zod.z.object({
|
|
25205
|
+
name: zod.z.string().trim().min(1),
|
|
25206
|
+
/** Format-only at the wire boundary; reserved-name checks run in platform-database. */
|
|
25207
|
+
slug: OrganizationSlugSchema.optional()
|
|
25208
|
+
});
|
|
25209
|
+
const UpdateOrganizationRequestSchema = zod.z.object({
|
|
25210
|
+
name: zod.z.string().trim().min(1).optional(),
|
|
25211
|
+
slug: ClaimableOrganizationSlugSchema.optional()
|
|
25212
|
+
}).refine((data) => data.name !== void 0 || data.slug !== void 0, { message: "At least one field is required" });
|
|
25213
|
+
const CreateOrganizationResponseSchema = UserOrganizationSchema;
|
|
25214
|
+
const ListProjectsResponseSchema = zod.z.array(ProjectSchema);
|
|
25215
|
+
const ProjectListMetricsSchema = zod.z.object({
|
|
25216
|
+
agentCount: zod.z.number(),
|
|
25217
|
+
workflowCount: zod.z.number(),
|
|
25218
|
+
skillCount: zod.z.number(),
|
|
25219
|
+
credentialCount: zod.z.number(),
|
|
25220
|
+
lastDeploymentAt: isoDateTime$5.nullable()
|
|
25221
|
+
});
|
|
25222
|
+
const ListProjectMetricsResponseSchema = zod.z.record(zod.z.string(), ProjectListMetricsSchema);
|
|
25223
|
+
const CreateProjectRequestSchema = zod.z.object({
|
|
25224
|
+
name: zod.z.string().trim().min(1),
|
|
25225
|
+
description: zod.z.string().trim().min(1).optional()
|
|
25226
|
+
});
|
|
25227
|
+
const UpdateProjectRequestSchema = zod.z.object({
|
|
25228
|
+
name: zod.z.string().trim().min(1).optional(),
|
|
25229
|
+
description: zod.z.string().trim().optional(),
|
|
25230
|
+
slug: ProjectSlugSchema.optional()
|
|
25231
|
+
}).refine((data) => data.name !== void 0 || data.description !== void 0 || data.slug !== void 0, { message: "At least one field is required" });
|
|
25232
|
+
const CreateProjectResponseSchema = ProjectSchema;
|
|
25233
|
+
const ProjectResponseSchema = ProjectSchema;
|
|
25234
|
+
const ProjectReachabilityResponseSchema = zod.z.object({ reachable: zod.z.boolean() });
|
|
25235
|
+
/** Org-custom app slug segment (the part after `{orgSlug}/`). Same format as project slugs. */
|
|
25236
|
+
const AppSlugSchema = ProjectSlugSchema;
|
|
25122
25237
|
/** TCP port to bind for a local server, derived from a public URL. */
|
|
25123
25238
|
function listenPortFromUrl(url, fallback) {
|
|
25124
25239
|
const parsed = new URL(url);
|
|
@@ -25148,142 +25263,174 @@ const StoredRouteManifestSkillSchema = zod.z.object({
|
|
|
25148
25263
|
description: zod.z.string().optional(),
|
|
25149
25264
|
moduleFile: zod.z.string()
|
|
25150
25265
|
});
|
|
25151
|
-
const
|
|
25152
|
-
zod.z.
|
|
25153
|
-
|
|
25154
|
-
|
|
25155
|
-
|
|
25156
|
-
}),
|
|
25266
|
+
const attachmentSchemasSchema = zod.z.record(zod.z.string(), zod.z.object({
|
|
25267
|
+
requestSchema: zod.z.record(zod.z.string(), zod.z.unknown()),
|
|
25268
|
+
filterSchema: zod.z.record(zod.z.string(), zod.z.unknown()).optional()
|
|
25269
|
+
}));
|
|
25270
|
+
const storedRouteManifestEntryV2Schema = zod.z.discriminatedUnion("kind", [
|
|
25271
|
+
zod.z.object({ kind: zod.z.literal("health") }),
|
|
25157
25272
|
zod.z.object({
|
|
25158
25273
|
kind: zod.z.literal("agent"),
|
|
25159
|
-
|
|
25160
|
-
path: zod.z.string(),
|
|
25161
|
-
agentSlug: zod.z.string(),
|
|
25274
|
+
slug: zod.z.string(),
|
|
25162
25275
|
moduleFile: zod.z.string(),
|
|
25163
25276
|
name: zod.z.string().optional(),
|
|
25164
25277
|
description: zod.z.string().optional(),
|
|
25165
25278
|
model: zod.z.string(),
|
|
25166
25279
|
systemPrompt: zod.z.string(),
|
|
25167
25280
|
toolCount: zod.z.number().int().nonnegative(),
|
|
25168
|
-
credentialCount: zod.z.number().int().nonnegative()
|
|
25169
|
-
requestSchema: zod.z.record(zod.z.string(), zod.z.unknown()),
|
|
25170
|
-
responseSchema: zod.z.record(zod.z.string(), zod.z.unknown())
|
|
25171
|
-
}),
|
|
25172
|
-
zod.z.object({
|
|
25173
|
-
kind: zod.z.literal("agent-sessions-list"),
|
|
25174
|
-
method: zod.z.literal("GET"),
|
|
25175
|
-
path: zod.z.string(),
|
|
25176
|
-
agentSlug: zod.z.string(),
|
|
25177
|
-
moduleFile: zod.z.string()
|
|
25178
|
-
}),
|
|
25179
|
-
zod.z.object({
|
|
25180
|
-
kind: zod.z.literal("agent-session-detail"),
|
|
25181
|
-
method: zod.z.literal("GET"),
|
|
25182
|
-
path: zod.z.string(),
|
|
25183
|
-
agentSlug: zod.z.string(),
|
|
25184
|
-
moduleFile: zod.z.string()
|
|
25281
|
+
credentialCount: zod.z.number().int().nonnegative()
|
|
25185
25282
|
}),
|
|
25186
25283
|
zod.z.object({
|
|
25187
25284
|
kind: zod.z.literal("workflow"),
|
|
25188
|
-
|
|
25189
|
-
|
|
25190
|
-
workflowSlug: zod.z.string(),
|
|
25191
|
-
workflowName: zod.z.string().optional(),
|
|
25285
|
+
slug: zod.z.string(),
|
|
25286
|
+
name: zod.z.string().optional(),
|
|
25192
25287
|
description: zod.z.string().optional(),
|
|
25193
25288
|
subscribable: zod.z.boolean(),
|
|
25194
25289
|
moduleFile: zod.z.string(),
|
|
25195
|
-
requestSchema: zod.z.record(zod.z.string(), zod.z.unknown())
|
|
25196
|
-
responseSchema: zod.z.record(zod.z.string(), zod.z.unknown())
|
|
25197
|
-
}),
|
|
25198
|
-
zod.z.object({
|
|
25199
|
-
kind: zod.z.literal("workflow-runs-list"),
|
|
25200
|
-
method: zod.z.literal("GET"),
|
|
25201
|
-
path: zod.z.string(),
|
|
25202
|
-
workflowSlug: zod.z.string(),
|
|
25203
|
-
workflowName: zod.z.string().optional(),
|
|
25204
|
-
moduleFile: zod.z.string()
|
|
25205
|
-
}),
|
|
25206
|
-
zod.z.object({
|
|
25207
|
-
kind: zod.z.literal("workflow-run-detail"),
|
|
25208
|
-
method: zod.z.literal("GET"),
|
|
25209
|
-
path: zod.z.string(),
|
|
25210
|
-
workflowSlug: zod.z.string(),
|
|
25211
|
-
workflowName: zod.z.string().optional(),
|
|
25212
|
-
moduleFile: zod.z.string()
|
|
25290
|
+
requestSchema: zod.z.record(zod.z.string(), zod.z.unknown())
|
|
25213
25291
|
}),
|
|
25214
25292
|
zod.z.object({
|
|
25215
25293
|
kind: zod.z.literal("trigger-webhook"),
|
|
25216
|
-
|
|
25217
|
-
path: zod.z.string(),
|
|
25294
|
+
endpoint: zod.z.string(),
|
|
25218
25295
|
attachmentIds: zod.z.array(zod.z.string()),
|
|
25219
25296
|
moduleFile: zod.z.string(),
|
|
25220
|
-
|
|
25221
|
-
attachmentSchemas: zod.z.record(zod.z.string(), zod.z.object({
|
|
25222
|
-
requestSchema: zod.z.record(zod.z.string(), zod.z.unknown()),
|
|
25223
|
-
filterSchema: zod.z.record(zod.z.string(), zod.z.unknown()).optional()
|
|
25224
|
-
})),
|
|
25225
|
-
responseSchema: zod.z.record(zod.z.string(), zod.z.unknown())
|
|
25297
|
+
attachmentSchemas: attachmentSchemasSchema
|
|
25226
25298
|
}),
|
|
25227
25299
|
zod.z.object({
|
|
25228
25300
|
kind: zod.z.literal("trigger-poll"),
|
|
25229
|
-
method: zod.z.literal("POST"),
|
|
25230
|
-
path: zod.z.string(),
|
|
25231
25301
|
attachmentId: zod.z.string(),
|
|
25232
25302
|
moduleFile: zod.z.string(),
|
|
25233
|
-
schedule: zod.z.string()
|
|
25234
|
-
responseSchema: zod.z.record(zod.z.string(), zod.z.unknown())
|
|
25303
|
+
schedule: zod.z.string()
|
|
25235
25304
|
}),
|
|
25236
25305
|
zod.z.object({
|
|
25237
25306
|
kind: zod.z.literal("trigger-poll-group"),
|
|
25238
|
-
method: zod.z.literal("POST"),
|
|
25239
|
-
path: zod.z.string(),
|
|
25240
25307
|
pollId: zod.z.string(),
|
|
25241
25308
|
attachmentIds: zod.z.array(zod.z.string()),
|
|
25242
25309
|
moduleFile: zod.z.string(),
|
|
25243
|
-
schedule: zod.z.string()
|
|
25244
|
-
responseSchema: zod.z.record(zod.z.string(), zod.z.unknown())
|
|
25245
|
-
}),
|
|
25246
|
-
zod.z.object({
|
|
25247
|
-
kind: zod.z.literal("trigger-runs-list"),
|
|
25248
|
-
method: zod.z.literal("GET"),
|
|
25249
|
-
path: zod.z.string(),
|
|
25250
|
-
attachmentId: zod.z.string(),
|
|
25251
|
-
moduleFile: zod.z.string()
|
|
25252
|
-
}),
|
|
25253
|
-
zod.z.object({
|
|
25254
|
-
kind: zod.z.literal("trigger-run-detail"),
|
|
25255
|
-
method: zod.z.literal("GET"),
|
|
25256
|
-
path: zod.z.string(),
|
|
25257
|
-
attachmentId: zod.z.string(),
|
|
25258
|
-
moduleFile: zod.z.string()
|
|
25310
|
+
schedule: zod.z.string()
|
|
25259
25311
|
}),
|
|
25260
25312
|
zod.z.object({
|
|
25261
25313
|
kind: zod.z.literal("cron-schedule"),
|
|
25262
25314
|
attachmentId: zod.z.string(),
|
|
25263
25315
|
moduleFile: zod.z.string(),
|
|
25264
25316
|
schedule: zod.z.string()
|
|
25265
|
-
}),
|
|
25266
|
-
zod.z.object({
|
|
25267
|
-
kind: zod.z.literal("plugin"),
|
|
25268
|
-
method: zod.z.enum([
|
|
25269
|
-
"GET",
|
|
25270
|
-
"POST",
|
|
25271
|
-
"PUT",
|
|
25272
|
-
"PATCH",
|
|
25273
|
-
"DELETE"
|
|
25274
|
-
]),
|
|
25275
|
-
path: zod.z.string(),
|
|
25276
|
-
plugin: zod.z.string()
|
|
25277
25317
|
})
|
|
25278
25318
|
]);
|
|
25279
|
-
const
|
|
25280
|
-
version: zod.z.literal(
|
|
25281
|
-
entries: zod.z.array(
|
|
25319
|
+
const storedRouteManifestV2Schema = zod.z.object({
|
|
25320
|
+
version: zod.z.literal(2),
|
|
25321
|
+
entries: zod.z.array(storedRouteManifestEntryV2Schema),
|
|
25282
25322
|
skills: zod.z.array(StoredRouteManifestSkillSchema).default([]),
|
|
25283
25323
|
integrations: zod.z.array(zod.z.string()).optional()
|
|
25284
25324
|
});
|
|
25325
|
+
const DERIVED_ENTRY_KINDS = new Set([
|
|
25326
|
+
"agent-sessions-list",
|
|
25327
|
+
"agent-session-detail",
|
|
25328
|
+
"workflow-runs-list",
|
|
25329
|
+
"workflow-run-detail",
|
|
25330
|
+
"trigger-runs-list",
|
|
25331
|
+
"trigger-run-detail"
|
|
25332
|
+
]);
|
|
25333
|
+
function webhookEndpointFromPath(path) {
|
|
25334
|
+
return path.replace(/^\/triggers\//, "").replace(/^\/+|\/+$/g, "");
|
|
25335
|
+
}
|
|
25336
|
+
/** TODO remove after all artifacts rebuilt — upcasts legacy v1 manifests to v2. */
|
|
25337
|
+
function normalizeEntryToV2(entry) {
|
|
25338
|
+
const kind = entry.kind;
|
|
25339
|
+
if (typeof kind !== "string") return null;
|
|
25340
|
+
if (DERIVED_ENTRY_KINDS.has(kind) || kind === "plugin") return null;
|
|
25341
|
+
if (kind === "health") return { kind: "health" };
|
|
25342
|
+
if (kind === "agent") {
|
|
25343
|
+
const slug = typeof entry.slug === "string" ? entry.slug : typeof entry.agentSlug === "string" ? entry.agentSlug : void 0;
|
|
25344
|
+
if (!slug || typeof entry.moduleFile !== "string") return null;
|
|
25345
|
+
return {
|
|
25346
|
+
kind: "agent",
|
|
25347
|
+
slug,
|
|
25348
|
+
moduleFile: entry.moduleFile,
|
|
25349
|
+
...typeof entry.name === "string" ? { name: entry.name } : {},
|
|
25350
|
+
...typeof entry.description === "string" ? { description: entry.description } : {},
|
|
25351
|
+
model: typeof entry.model === "string" ? entry.model : "",
|
|
25352
|
+
systemPrompt: typeof entry.systemPrompt === "string" ? entry.systemPrompt : "",
|
|
25353
|
+
toolCount: typeof entry.toolCount === "number" ? entry.toolCount : 0,
|
|
25354
|
+
credentialCount: typeof entry.credentialCount === "number" ? entry.credentialCount : 0
|
|
25355
|
+
};
|
|
25356
|
+
}
|
|
25357
|
+
if (kind === "workflow") {
|
|
25358
|
+
const slug = typeof entry.slug === "string" ? entry.slug : typeof entry.workflowSlug === "string" ? entry.workflowSlug : void 0;
|
|
25359
|
+
if (!slug || typeof entry.moduleFile !== "string") return null;
|
|
25360
|
+
const name = typeof entry.name === "string" ? entry.name : typeof entry.workflowName === "string" ? entry.workflowName : void 0;
|
|
25361
|
+
return {
|
|
25362
|
+
kind: "workflow",
|
|
25363
|
+
slug,
|
|
25364
|
+
moduleFile: entry.moduleFile,
|
|
25365
|
+
...name ? { name } : {},
|
|
25366
|
+
...typeof entry.description === "string" ? { description: entry.description } : {},
|
|
25367
|
+
subscribable: entry.subscribable === true,
|
|
25368
|
+
requestSchema: entry.requestSchema && typeof entry.requestSchema === "object" ? entry.requestSchema : {}
|
|
25369
|
+
};
|
|
25370
|
+
}
|
|
25371
|
+
if (kind === "trigger-webhook") {
|
|
25372
|
+
if (typeof entry.moduleFile !== "string" || !Array.isArray(entry.attachmentIds)) return null;
|
|
25373
|
+
const endpoint = typeof entry.endpoint === "string" ? entry.endpoint : typeof entry.path === "string" ? webhookEndpointFromPath(entry.path) : void 0;
|
|
25374
|
+
if (!endpoint) return null;
|
|
25375
|
+
return {
|
|
25376
|
+
kind: "trigger-webhook",
|
|
25377
|
+
endpoint,
|
|
25378
|
+
attachmentIds: entry.attachmentIds,
|
|
25379
|
+
moduleFile: entry.moduleFile,
|
|
25380
|
+
attachmentSchemas: entry.attachmentSchemas && typeof entry.attachmentSchemas === "object" ? entry.attachmentSchemas : {}
|
|
25381
|
+
};
|
|
25382
|
+
}
|
|
25383
|
+
if (kind === "trigger-poll") {
|
|
25384
|
+
if (typeof entry.attachmentId !== "string" || typeof entry.moduleFile !== "string" || typeof entry.schedule !== "string") return null;
|
|
25385
|
+
return {
|
|
25386
|
+
kind: "trigger-poll",
|
|
25387
|
+
attachmentId: entry.attachmentId,
|
|
25388
|
+
moduleFile: entry.moduleFile,
|
|
25389
|
+
schedule: entry.schedule
|
|
25390
|
+
};
|
|
25391
|
+
}
|
|
25392
|
+
if (kind === "trigger-poll-group") {
|
|
25393
|
+
if (typeof entry.pollId !== "string" || typeof entry.moduleFile !== "string" || typeof entry.schedule !== "string" || !Array.isArray(entry.attachmentIds)) return null;
|
|
25394
|
+
return {
|
|
25395
|
+
kind: "trigger-poll-group",
|
|
25396
|
+
pollId: entry.pollId,
|
|
25397
|
+
attachmentIds: entry.attachmentIds,
|
|
25398
|
+
moduleFile: entry.moduleFile,
|
|
25399
|
+
schedule: entry.schedule
|
|
25400
|
+
};
|
|
25401
|
+
}
|
|
25402
|
+
if (kind === "cron-schedule") {
|
|
25403
|
+
if (typeof entry.attachmentId !== "string" || typeof entry.moduleFile !== "string" || typeof entry.schedule !== "string") return null;
|
|
25404
|
+
return {
|
|
25405
|
+
kind: "cron-schedule",
|
|
25406
|
+
attachmentId: entry.attachmentId,
|
|
25407
|
+
moduleFile: entry.moduleFile,
|
|
25408
|
+
schedule: entry.schedule
|
|
25409
|
+
};
|
|
25410
|
+
}
|
|
25411
|
+
return null;
|
|
25412
|
+
}
|
|
25413
|
+
/** TODO remove after all artifacts rebuilt — upcasts legacy v1 manifests to v2. */
|
|
25414
|
+
function normalizeStoredRouteManifestToV2(value) {
|
|
25415
|
+
if (!value || typeof value !== "object") throw new Error("Invalid route manifest");
|
|
25416
|
+
const raw = value;
|
|
25417
|
+
if (raw.version === 2) return storedRouteManifestV2Schema.parse(value);
|
|
25418
|
+
const entriesRaw = Array.isArray(raw.entries) ? raw.entries : [];
|
|
25419
|
+
const entries = [];
|
|
25420
|
+
for (const entry of entriesRaw) {
|
|
25421
|
+
if (!entry || typeof entry !== "object") continue;
|
|
25422
|
+
const normalized = normalizeEntryToV2(entry);
|
|
25423
|
+
if (normalized) entries.push(normalized);
|
|
25424
|
+
}
|
|
25425
|
+
return storedRouteManifestV2Schema.parse({
|
|
25426
|
+
version: 2,
|
|
25427
|
+
entries,
|
|
25428
|
+
skills: raw.skills ?? [],
|
|
25429
|
+
integrations: raw.integrations
|
|
25430
|
+
});
|
|
25431
|
+
}
|
|
25285
25432
|
function parseStoredRouteManifest(value) {
|
|
25286
|
-
return
|
|
25433
|
+
return normalizeStoredRouteManifestToV2(value);
|
|
25287
25434
|
}
|
|
25288
25435
|
/** Messaging platforms that support agent gateway bindings. */
|
|
25289
25436
|
const ChannelPlatformKeySchema = zod.z.enum(["slack"]);
|
|
@@ -25393,8 +25540,8 @@ const ChannelDirectoryEntrySchema = zod.z.object({
|
|
|
25393
25540
|
memberCount: zod.z.number().int().nonnegative().optional(),
|
|
25394
25541
|
isArchived: zod.z.boolean().optional()
|
|
25395
25542
|
});
|
|
25396
|
-
zod.z.
|
|
25397
|
-
zod.z.
|
|
25543
|
+
zod.z.array(ChannelConnectionSchema);
|
|
25544
|
+
zod.z.array(ChannelDirectoryEntrySchema);
|
|
25398
25545
|
zod.z.object({ teamName: zod.z.string().min(1).optional() });
|
|
25399
25546
|
/** OAuth workspace available for channel bindings (e.g. Slack team). */
|
|
25400
25547
|
const ChannelAccountSchema = zod.z.object({
|
|
@@ -25403,7 +25550,7 @@ const ChannelAccountSchema = zod.z.object({
|
|
|
25403
25550
|
label: zod.z.string().min(1),
|
|
25404
25551
|
connectedAt: zod.z.string()
|
|
25405
25552
|
});
|
|
25406
|
-
zod.z.
|
|
25553
|
+
zod.z.array(ChannelAccountSchema);
|
|
25407
25554
|
const NewChannelBindingInputSchema = zod.z.object({
|
|
25408
25555
|
channelId: zod.z.string().min(1),
|
|
25409
25556
|
channelName: zod.z.string().min(1),
|
|
@@ -25420,6 +25567,29 @@ zod.z.object({ patch: zod.z.object({
|
|
|
25420
25567
|
mode: ChannelListenModeSchema.optional(),
|
|
25421
25568
|
subscribeOnMention: zod.z.boolean().optional()
|
|
25422
25569
|
}) });
|
|
25570
|
+
/** Metadata for one vault field on a custom api_key app. */
|
|
25571
|
+
const AppCredentialFieldSchema = zod.z.object({
|
|
25572
|
+
label: zod.z.string().trim().min(1).optional(),
|
|
25573
|
+
secret: zod.z.boolean().optional(),
|
|
25574
|
+
optional: zod.z.boolean().optional()
|
|
25575
|
+
});
|
|
25576
|
+
/** Credential template keyed by vault field name. */
|
|
25577
|
+
const AppCredentialFieldsSchema = zod.z.record(zod.z.string().regex(/^[a-zA-Z][a-zA-Z0-9_]*$/), AppCredentialFieldSchema).refine((fields) => Object.keys(fields).length > 0, { message: "At least one credential field is required" }).refine((fields) => Object.values(fields).some((field) => field.optional !== true), { message: "At least one credential field must be required" });
|
|
25578
|
+
function validateCredentialValueAgainstFields(fields, value) {
|
|
25579
|
+
for (const [key, field] of Object.entries(fields)) {
|
|
25580
|
+
if (field.optional === true) continue;
|
|
25581
|
+
const raw = value[key];
|
|
25582
|
+
if (typeof raw !== "string" || raw.trim().length === 0) return {
|
|
25583
|
+
ok: false,
|
|
25584
|
+
message: `Missing required credential field "${key}"`
|
|
25585
|
+
};
|
|
25586
|
+
}
|
|
25587
|
+
for (const key of Object.keys(value)) if (!(key in fields)) return {
|
|
25588
|
+
ok: false,
|
|
25589
|
+
message: `Unknown credential field "${key}"`
|
|
25590
|
+
};
|
|
25591
|
+
return { ok: true };
|
|
25592
|
+
}
|
|
25423
25593
|
/** A single OAuth scope an app can request, with human copy for connect UI. */
|
|
25424
25594
|
const OAuthScopeOptionSchema = zod.z.object({
|
|
25425
25595
|
name: zod.z.string().min(1),
|
|
@@ -25447,6 +25617,37 @@ zod.z.object({
|
|
|
25447
25617
|
authKind: AppAuthKindSchema,
|
|
25448
25618
|
oauthScopes: zod.z.array(OAuthScopeOptionSchema)
|
|
25449
25619
|
}).extend({ source: AppSourceSchema });
|
|
25620
|
+
const customAppNameSchema = zod.z.string().trim().min(1, "Name is required");
|
|
25621
|
+
const AppSlugAvailabilityReasonSchema = ProjectSlugAvailabilityReasonSchema;
|
|
25622
|
+
const AppSlugAvailabilityResponseSchema = zod.z.object({
|
|
25623
|
+
slug: zod.z.string(),
|
|
25624
|
+
available: zod.z.boolean(),
|
|
25625
|
+
reason: AppSlugAvailabilityReasonSchema.optional(),
|
|
25626
|
+
suggestion: AppSlugSchema.optional()
|
|
25627
|
+
});
|
|
25628
|
+
const AppSlugAvailabilityQuerySchema = zod.z.object({ slug: zod.z.string().trim().min(1) });
|
|
25629
|
+
/** Request body for creating an org custom api_key app. */
|
|
25630
|
+
const CreateCustomAppRequestSchema = zod.z.object({
|
|
25631
|
+
name: customAppNameSchema,
|
|
25632
|
+
slug: AppSlugSchema,
|
|
25633
|
+
description: zod.z.string().trim().min(1),
|
|
25634
|
+
fields: AppCredentialFieldsSchema
|
|
25635
|
+
});
|
|
25636
|
+
/** Full custom app detail returned by GET (includes credential template for sync). */
|
|
25637
|
+
const CustomAppDetailSchema = zod.z.object({
|
|
25638
|
+
id: zod.z.string().min(1),
|
|
25639
|
+
slug: zod.z.string().min(1),
|
|
25640
|
+
name: zod.z.string().min(1),
|
|
25641
|
+
description: zod.z.string().min(1),
|
|
25642
|
+
category: zod.z.string().min(1),
|
|
25643
|
+
authKind: zod.z.literal("api_key"),
|
|
25644
|
+
source: zod.z.literal("custom"),
|
|
25645
|
+
credentialFields: AppCredentialFieldsSchema,
|
|
25646
|
+
createdAt: zod.z.string().min(1),
|
|
25647
|
+
updatedAt: zod.z.string().min(1)
|
|
25648
|
+
});
|
|
25649
|
+
const CreateCustomAppResponseSchema = CustomAppDetailSchema;
|
|
25650
|
+
const GetCustomAppResponseSchema = CustomAppDetailSchema;
|
|
25450
25651
|
zod.z.object({
|
|
25451
25652
|
id: zod.z.string().min(1),
|
|
25452
25653
|
organizationId: zod.z.string().min(1).nullable(),
|
|
@@ -25458,6 +25659,7 @@ zod.z.object({
|
|
|
25458
25659
|
authKind: AppAuthKindSchema,
|
|
25459
25660
|
oauthScopes: zod.z.array(OAuthScopeOptionSchema),
|
|
25460
25661
|
source: AppSourceSchema,
|
|
25662
|
+
credentialFields: AppCredentialFieldsSchema.optional(),
|
|
25461
25663
|
createdAt: zod.z.string().min(1),
|
|
25462
25664
|
updatedAt: zod.z.string().min(1)
|
|
25463
25665
|
});
|
|
@@ -25474,10 +25676,67 @@ const AppCatalogEntrySchema = zod.z.object({
|
|
|
25474
25676
|
logo: zod.z.string().url().nullable().optional(),
|
|
25475
25677
|
authKind: AppAuthKindSchema,
|
|
25476
25678
|
oauthScopes: zod.z.array(OAuthScopeOptionSchema),
|
|
25679
|
+
/** Where app metadata and execution are sourced (e.g. composio, custom). */
|
|
25680
|
+
source: AppSourceSchema,
|
|
25681
|
+
/** Custom api_key apps — vault field template for connect UI and sync. */
|
|
25682
|
+
credentialFields: AppCredentialFieldsSchema.optional(),
|
|
25477
25683
|
/** When present, the app supports agent gateway bindings (external channels). */
|
|
25478
25684
|
gateway: AppGatewaySchema.optional()
|
|
25479
25685
|
});
|
|
25480
|
-
const ListAppsResponseSchema = zod.z.
|
|
25686
|
+
const ListAppsResponseSchema = zod.z.array(AppCatalogEntrySchema);
|
|
25687
|
+
const CatalogAppSummarySchema = zod.z.object({
|
|
25688
|
+
name: zod.z.string(),
|
|
25689
|
+
description: zod.z.string(),
|
|
25690
|
+
package: zod.z.string()
|
|
25691
|
+
});
|
|
25692
|
+
zod.z.object({
|
|
25693
|
+
items: zod.z.array(CatalogAppSummarySchema),
|
|
25694
|
+
nextCursor: zod.z.string().optional()
|
|
25695
|
+
});
|
|
25696
|
+
zod.z.object({
|
|
25697
|
+
name: zod.z.string(),
|
|
25698
|
+
description: zod.z.string(),
|
|
25699
|
+
package: zod.z.string(),
|
|
25700
|
+
version: zod.z.string().optional()
|
|
25701
|
+
});
|
|
25702
|
+
const CatalogActionSummarySchema = zod.z.object({
|
|
25703
|
+
slug: zod.z.string(),
|
|
25704
|
+
name: zod.z.string(),
|
|
25705
|
+
description: zod.z.string().optional()
|
|
25706
|
+
});
|
|
25707
|
+
zod.z.object({
|
|
25708
|
+
toolkit: zod.z.string().optional(),
|
|
25709
|
+
items: zod.z.array(CatalogActionSummarySchema),
|
|
25710
|
+
nextCursor: zod.z.string().optional()
|
|
25711
|
+
});
|
|
25712
|
+
zod.z.object({
|
|
25713
|
+
slug: zod.z.string(),
|
|
25714
|
+
name: zod.z.string(),
|
|
25715
|
+
description: zod.z.string().optional(),
|
|
25716
|
+
inputParameters: zod.z.record(zod.z.string(), zod.z.unknown()).optional(),
|
|
25717
|
+
outputParameters: zod.z.record(zod.z.string(), zod.z.unknown()).optional(),
|
|
25718
|
+
version: zod.z.string().optional()
|
|
25719
|
+
});
|
|
25720
|
+
const ORG_SLUG_SEPARATOR = "/";
|
|
25721
|
+
/** Parse a stored app slug into official vs org-custom parts. */
|
|
25722
|
+
function parseAppSlug(slug) {
|
|
25723
|
+
const trimmed = slug.trim();
|
|
25724
|
+
if (!trimmed) throw new Error("parseAppSlug requires a non-empty slug");
|
|
25725
|
+
const separatorIndex = trimmed.indexOf(ORG_SLUG_SEPARATOR);
|
|
25726
|
+
if (separatorIndex === -1) return {
|
|
25727
|
+
kind: "official",
|
|
25728
|
+
slug: trimmed
|
|
25729
|
+
};
|
|
25730
|
+
const orgSlug = trimmed.slice(0, separatorIndex);
|
|
25731
|
+
const name = trimmed.slice(separatorIndex + 1);
|
|
25732
|
+
if (!orgSlug || !name || trimmed.indexOf(ORG_SLUG_SEPARATOR, separatorIndex + 1) !== -1) throw new Error(`Invalid org app slug: ${slug}`);
|
|
25733
|
+
return {
|
|
25734
|
+
kind: "org",
|
|
25735
|
+
orgSlug,
|
|
25736
|
+
name,
|
|
25737
|
+
slug: trimmed
|
|
25738
|
+
};
|
|
25739
|
+
}
|
|
25481
25740
|
/** How a credential instance is stored (`credential_instances.auth_kind`). */
|
|
25482
25741
|
const CredentialAuthKindSchema = zod.z.enum([
|
|
25483
25742
|
"api_key",
|
|
@@ -25575,7 +25834,9 @@ function addMissingCredentialTargetIssue(ctx, path = ["projects"]) {
|
|
|
25575
25834
|
const CredentialTargetsFieldsSchema = zod.z.object({
|
|
25576
25835
|
projects: zod.z.array(zod.z.string().min(1)).default([]),
|
|
25577
25836
|
createOrganizationCredential: zod.z.boolean().default(false),
|
|
25578
|
-
createUserProvidedCredential: zod.z.boolean().default(false)
|
|
25837
|
+
createUserProvidedCredential: zod.z.boolean().default(false),
|
|
25838
|
+
/** Display label for created credential instances (apps table / detail page). */
|
|
25839
|
+
label: zod.z.string().trim().min(1).optional()
|
|
25579
25840
|
});
|
|
25580
25841
|
CredentialTargetsFieldsSchema.extend({
|
|
25581
25842
|
appId: zod.z.string().min(1),
|
|
@@ -25586,6 +25847,23 @@ zod.z.object({
|
|
|
25586
25847
|
status: zod.z.enum(["connected", "redirecting"]),
|
|
25587
25848
|
authorizeUrl: zod.z.string().url().nullable()
|
|
25588
25849
|
});
|
|
25850
|
+
zod.z.object({
|
|
25851
|
+
app: zod.z.string().trim().min(1),
|
|
25852
|
+
scopeType: AppCredentialScopeSchema,
|
|
25853
|
+
projectSlug: zod.z.string().trim().min(1).optional(),
|
|
25854
|
+
label: zod.z.string().trim().min(1).optional()
|
|
25855
|
+
}).superRefine((input, ctx) => {
|
|
25856
|
+
if (input.scopeType === "project" && !input.projectSlug?.trim()) ctx.addIssue({
|
|
25857
|
+
code: "custom",
|
|
25858
|
+
message: "projectSlug is required for project scope",
|
|
25859
|
+
path: ["projectSlug"]
|
|
25860
|
+
});
|
|
25861
|
+
});
|
|
25862
|
+
zod.z.object({
|
|
25863
|
+
status: zod.z.enum(["redirecting"]),
|
|
25864
|
+
authorizeUrl: zod.z.string().url(),
|
|
25865
|
+
connectionId: zod.z.string()
|
|
25866
|
+
});
|
|
25589
25867
|
/** Request body for `POST /api/credentials` (manual api-key fan-out). */
|
|
25590
25868
|
const CreateCredentialsRequestSchema = CredentialTargetsFieldsSchema.extend({
|
|
25591
25869
|
appId: zod.z.string().min(1),
|
|
@@ -25611,9 +25889,9 @@ const UpdateCredentialRequestSchema = zod.z.object({
|
|
|
25611
25889
|
isDefault: zod.z.boolean().optional(),
|
|
25612
25890
|
value: credentialSecretValueSchema.optional()
|
|
25613
25891
|
}).refine((input) => input.label !== void 0 || input.isDefault !== void 0 || input.value !== void 0, { message: "At least one field is required" });
|
|
25614
|
-
const ListCredentialsResponseSchema = zod.z.
|
|
25615
|
-
const GetCredentialResponseSchema =
|
|
25616
|
-
const CreateCredentialsResponseSchema = zod.z.
|
|
25892
|
+
const ListCredentialsResponseSchema = zod.z.array(AppCredentialSummarySchema);
|
|
25893
|
+
const GetCredentialResponseSchema = AppCredentialSummarySchema;
|
|
25894
|
+
const CreateCredentialsResponseSchema = zod.z.array(AppCredentialSummarySchema);
|
|
25617
25895
|
const McpConnectionStatusSchema = zod.z.enum([
|
|
25618
25896
|
"INITIATED",
|
|
25619
25897
|
"ACTIVE",
|
|
@@ -25629,7 +25907,7 @@ const McpAppSchema = zod.z.object({
|
|
|
25629
25907
|
connectionId: zod.z.string().optional(),
|
|
25630
25908
|
status: McpConnectionStatusSchema.optional()
|
|
25631
25909
|
});
|
|
25632
|
-
zod.z.
|
|
25910
|
+
zod.z.array(McpAppSchema);
|
|
25633
25911
|
zod.z.object({
|
|
25634
25912
|
connectionId: zod.z.string(),
|
|
25635
25913
|
entityId: zod.z.string(),
|
|
@@ -25639,11 +25917,6 @@ zod.z.object({
|
|
|
25639
25917
|
app: zod.z.string().trim().min(1),
|
|
25640
25918
|
tool: zod.z.string().trim().min(1),
|
|
25641
25919
|
arguments: zod.z.record(zod.z.string(), zod.z.unknown()).default({}),
|
|
25642
|
-
/**
|
|
25643
|
-
* Resolved credential instance to execute against. When set, the platform executes that exact
|
|
25644
|
-
* connection (scoped to the caller's org); when omitted it resolves the app's instance by scope.
|
|
25645
|
-
*/
|
|
25646
|
-
instanceId: zod.z.string().trim().min(1).optional(),
|
|
25647
25920
|
/** Pinned provider toolkit version, sourced from the app definition; forwarded to the provider. */
|
|
25648
25921
|
version: zod.z.string().trim().min(1)
|
|
25649
25922
|
});
|
|
@@ -25663,112 +25936,6 @@ function isCredentialInput(value) {
|
|
|
25663
25936
|
return typeof candidate.key === "string" && CredentialAuthKindSchema.safeParse(candidate.kind).success && candidate.schema instanceof zod.z.ZodType;
|
|
25664
25937
|
}
|
|
25665
25938
|
const credentialInputSchema = zod.z.custom((value) => isCredentialInput(value), "must be a credential requirement");
|
|
25666
|
-
const PROJECT_SLUG_TAKEN_MESSAGE = "That slug is already taken.";
|
|
25667
|
-
const OrganizationSlugErrorCodeSchema = zod.z.enum([
|
|
25668
|
-
"slug_taken",
|
|
25669
|
-
"slug_reserved",
|
|
25670
|
-
"slug_invalid"
|
|
25671
|
-
]);
|
|
25672
|
-
const SlugAvailabilityReasonSchema = zod.z.enum([
|
|
25673
|
-
"taken",
|
|
25674
|
-
"reserved",
|
|
25675
|
-
"invalid"
|
|
25676
|
-
]);
|
|
25677
|
-
const SlugAvailabilityResponseSchema = zod.z.object({
|
|
25678
|
-
slug: zod.z.string(),
|
|
25679
|
-
available: zod.z.boolean(),
|
|
25680
|
-
reason: SlugAvailabilityReasonSchema.optional(),
|
|
25681
|
-
suggestion: OrganizationSlugSchema.optional()
|
|
25682
|
-
});
|
|
25683
|
-
const SlugAvailabilityQuerySchema = zod.z.object({
|
|
25684
|
-
slug: zod.z.string().trim().min(1),
|
|
25685
|
-
excludeOrganizationId: zod.z.string().min(1).optional()
|
|
25686
|
-
});
|
|
25687
|
-
const ProjectSlugAvailabilityReasonSchema = zod.z.enum(["taken", "invalid"]);
|
|
25688
|
-
const ProjectSlugAvailabilityResponseSchema = zod.z.object({
|
|
25689
|
-
slug: zod.z.string(),
|
|
25690
|
-
available: zod.z.boolean(),
|
|
25691
|
-
reason: ProjectSlugAvailabilityReasonSchema.optional(),
|
|
25692
|
-
suggestion: ProjectSlugSchema.optional()
|
|
25693
|
-
});
|
|
25694
|
-
const ProjectSlugAvailabilityQuerySchema = zod.z.object({
|
|
25695
|
-
slug: zod.z.string().trim().min(1),
|
|
25696
|
-
excludeProjectId: zod.z.string().min(1).optional()
|
|
25697
|
-
});
|
|
25698
|
-
function organizationSlugErrorCodeFromMessage(message) {
|
|
25699
|
-
if (message === "That slug is already taken." || /already taken/i.test(message)) return "slug_taken";
|
|
25700
|
-
if (/reserved/i.test(message)) return "slug_reserved";
|
|
25701
|
-
return "slug_invalid";
|
|
25702
|
-
}
|
|
25703
|
-
const ProjectStatusSchema = zod.z.enum([
|
|
25704
|
-
"inactive",
|
|
25705
|
-
"starting",
|
|
25706
|
-
"active",
|
|
25707
|
-
"failed"
|
|
25708
|
-
]);
|
|
25709
|
-
const OrganizationUserRoleSchema = zod.z.enum([
|
|
25710
|
-
"owner",
|
|
25711
|
-
"admin",
|
|
25712
|
-
"builder"
|
|
25713
|
-
]);
|
|
25714
|
-
const isoDateTime$5 = zod.z.string().datetime();
|
|
25715
|
-
const OrganizationSchema = zod.z.object({
|
|
25716
|
-
id: zod.z.string(),
|
|
25717
|
-
name: zod.z.string(),
|
|
25718
|
-
slug: OrganizationSlugSchema,
|
|
25719
|
-
createdAt: isoDateTime$5,
|
|
25720
|
-
updatedAt: isoDateTime$5
|
|
25721
|
-
});
|
|
25722
|
-
const ProjectSchema = zod.z.object({
|
|
25723
|
-
id: zod.z.string(),
|
|
25724
|
-
organizationId: zod.z.string(),
|
|
25725
|
-
name: zod.z.string(),
|
|
25726
|
-
slug: ProjectSlugSchema,
|
|
25727
|
-
description: zod.z.string().nullable(),
|
|
25728
|
-
status: ProjectStatusSchema,
|
|
25729
|
-
baseUrl: zod.z.string().nullable(),
|
|
25730
|
-
runtimeId: zod.z.string().nullable(),
|
|
25731
|
-
lastError: zod.z.string().nullable(),
|
|
25732
|
-
createdAt: isoDateTime$5,
|
|
25733
|
-
updatedAt: isoDateTime$5
|
|
25734
|
-
});
|
|
25735
|
-
const UserOrganizationSchema = zod.z.object({
|
|
25736
|
-
organization: OrganizationSchema,
|
|
25737
|
-
role: OrganizationUserRoleSchema
|
|
25738
|
-
});
|
|
25739
|
-
const ActiveOrganizationResponseSchema = zod.z.object({ organization: UserOrganizationSchema.nullable() });
|
|
25740
|
-
const ListOrganizationsResponseSchema = zod.z.object({ organizations: zod.z.array(UserOrganizationSchema) });
|
|
25741
|
-
const CreateOrganizationRequestSchema = zod.z.object({
|
|
25742
|
-
name: zod.z.string().trim().min(1),
|
|
25743
|
-
/** Format-only at the wire boundary; reserved-name checks run in platform-database. */
|
|
25744
|
-
slug: OrganizationSlugSchema.optional()
|
|
25745
|
-
});
|
|
25746
|
-
const UpdateOrganizationRequestSchema = zod.z.object({
|
|
25747
|
-
name: zod.z.string().trim().min(1).optional(),
|
|
25748
|
-
slug: ClaimableOrganizationSlugSchema.optional()
|
|
25749
|
-
}).refine((data) => data.name !== void 0 || data.slug !== void 0, { message: "At least one field is required" });
|
|
25750
|
-
const CreateOrganizationResponseSchema = zod.z.object({ organization: UserOrganizationSchema });
|
|
25751
|
-
const ListProjectsResponseSchema = zod.z.object({ projects: zod.z.array(ProjectSchema) });
|
|
25752
|
-
const ProjectListMetricsSchema = zod.z.object({
|
|
25753
|
-
agentCount: zod.z.number(),
|
|
25754
|
-
workflowCount: zod.z.number(),
|
|
25755
|
-
skillCount: zod.z.number(),
|
|
25756
|
-
credentialCount: zod.z.number(),
|
|
25757
|
-
lastDeploymentAt: isoDateTime$5.nullable()
|
|
25758
|
-
});
|
|
25759
|
-
const ListProjectMetricsResponseSchema = zod.z.object({ metrics: zod.z.record(zod.z.string(), ProjectListMetricsSchema) });
|
|
25760
|
-
const CreateProjectRequestSchema = zod.z.object({
|
|
25761
|
-
name: zod.z.string().trim().min(1),
|
|
25762
|
-
description: zod.z.string().trim().min(1).optional()
|
|
25763
|
-
});
|
|
25764
|
-
const UpdateProjectRequestSchema = zod.z.object({
|
|
25765
|
-
name: zod.z.string().trim().min(1).optional(),
|
|
25766
|
-
description: zod.z.string().trim().optional(),
|
|
25767
|
-
slug: ProjectSlugSchema.optional()
|
|
25768
|
-
}).refine((data) => data.name !== void 0 || data.description !== void 0 || data.slug !== void 0, { message: "At least one field is required" });
|
|
25769
|
-
const CreateProjectResponseSchema = zod.z.object({ project: ProjectSchema });
|
|
25770
|
-
const ProjectResponseSchema = zod.z.object({ project: ProjectSchema });
|
|
25771
|
-
const ProjectReachabilityResponseSchema = zod.z.object({ reachable: zod.z.boolean() });
|
|
25772
25939
|
const ValidationErrorDetailSchema = zod.z.object({
|
|
25773
25940
|
path: zod.z.string(),
|
|
25774
25941
|
message: zod.z.string()
|
|
@@ -26414,7 +26581,7 @@ const OrganizationMemberSchema = zod.z.object({
|
|
|
26414
26581
|
joinedAt: isoDateTime$4.optional(),
|
|
26415
26582
|
lastActiveAt: isoDateTime$4.nullable().optional()
|
|
26416
26583
|
});
|
|
26417
|
-
const ListOrganizationMembersResponseSchema = zod.z.
|
|
26584
|
+
const ListOrganizationMembersResponseSchema = zod.z.array(OrganizationMemberSchema);
|
|
26418
26585
|
const InviteOrganizationMembersRequestSchema = zod.z.object({
|
|
26419
26586
|
emails: zod.z.array(zod.z.string().trim().email()).min(1),
|
|
26420
26587
|
role: InvitableOrganizationMemberRoleSchema
|
|
@@ -26430,9 +26597,9 @@ const InviteOrganizationMemberResultSchema = zod.z.object({
|
|
|
26430
26597
|
status: InviteOrganizationMemberResultStatusSchema,
|
|
26431
26598
|
invitationId: zod.z.string().optional()
|
|
26432
26599
|
});
|
|
26433
|
-
const InviteOrganizationMembersResponseSchema = zod.z.
|
|
26600
|
+
const InviteOrganizationMembersResponseSchema = zod.z.array(InviteOrganizationMemberResultSchema);
|
|
26434
26601
|
const UpdateOrganizationMemberRequestSchema = zod.z.object({ role: InvitableOrganizationMemberRoleSchema });
|
|
26435
|
-
const UpdateOrganizationMemberResponseSchema =
|
|
26602
|
+
const UpdateOrganizationMemberResponseSchema = OrganizationMemberSchema;
|
|
26436
26603
|
const OrganizationInvitationSchema = zod.z.object({
|
|
26437
26604
|
id: zod.z.string(),
|
|
26438
26605
|
organizationName: zod.z.string(),
|
|
@@ -26441,8 +26608,8 @@ const OrganizationInvitationSchema = zod.z.object({
|
|
|
26441
26608
|
invitedByEmail: zod.z.string().email().optional(),
|
|
26442
26609
|
role: OrganizationMemberRoleSchema
|
|
26443
26610
|
});
|
|
26444
|
-
const ListOrganizationInvitationsResponseSchema = zod.z.
|
|
26445
|
-
const AcceptOrganizationInvitationResponseSchema =
|
|
26611
|
+
const ListOrganizationInvitationsResponseSchema = zod.z.array(OrganizationInvitationSchema);
|
|
26612
|
+
const AcceptOrganizationInvitationResponseSchema = UserOrganizationSchema;
|
|
26446
26613
|
const DeclineOrganizationInvitationResponseSchema = zod.z.object({ success: zod.z.literal(true) });
|
|
26447
26614
|
/** Web path to auto-accept an invitation after sign-in (used in invite emails). */
|
|
26448
26615
|
function organizationInvitationAcceptPath(invitationId) {
|
|
@@ -26465,7 +26632,7 @@ const ApiKeySummarySchema = zod.z.object({
|
|
|
26465
26632
|
createdBy: ApiKeyCreatorSchema,
|
|
26466
26633
|
isCreatedByCurrentUser: zod.z.boolean()
|
|
26467
26634
|
});
|
|
26468
|
-
const ListApiKeysResponseSchema = zod.z.
|
|
26635
|
+
const ListApiKeysResponseSchema = zod.z.array(ApiKeySummarySchema);
|
|
26469
26636
|
const CreateApiKeyRequestSchema = zod.z.object({ name: zod.z.string().trim().min(1).max(128) });
|
|
26470
26637
|
const CreateApiKeyResponseSchema = ApiKeySummarySchema.extend({ secret: zod.z.string() });
|
|
26471
26638
|
const ProjectUserRoleSchema = zod.z.enum(["admin", "builder"]);
|
|
@@ -26483,7 +26650,7 @@ const ProjectMemberSchema = zod.z.object({
|
|
|
26483
26650
|
createdAt: isoDateTime$2,
|
|
26484
26651
|
isCurrentUser: zod.z.boolean().optional()
|
|
26485
26652
|
});
|
|
26486
|
-
const ListProjectMembersResponseSchema = zod.z.
|
|
26653
|
+
const ListProjectMembersResponseSchema = zod.z.array(ProjectMemberSchema);
|
|
26487
26654
|
const InviteProjectMembersRequestSchema = zod.z.object({
|
|
26488
26655
|
emails: zod.z.array(zod.z.string().trim().email()).min(1),
|
|
26489
26656
|
role: ProjectUserRoleSchema
|
|
@@ -26498,9 +26665,9 @@ const InviteProjectMemberResultSchema = zod.z.object({
|
|
|
26498
26665
|
email: zod.z.string(),
|
|
26499
26666
|
status: InviteProjectMemberResultStatusSchema
|
|
26500
26667
|
});
|
|
26501
|
-
const InviteProjectMembersResponseSchema = zod.z.
|
|
26668
|
+
const InviteProjectMembersResponseSchema = zod.z.array(InviteProjectMemberResultSchema);
|
|
26502
26669
|
const UpdateProjectMemberRequestSchema = zod.z.object({ role: ProjectUserRoleSchema });
|
|
26503
|
-
const UpdateProjectMemberResponseSchema =
|
|
26670
|
+
const UpdateProjectMemberResponseSchema = ProjectMemberSchema;
|
|
26504
26671
|
const ProjectSettingsSchema = zod.z.object({
|
|
26505
26672
|
description: zod.z.string(),
|
|
26506
26673
|
defaultRole: ProjectUserRoleSchema,
|
|
@@ -26511,7 +26678,7 @@ const UpdateProjectSettingsRequestSchema = zod.z.object({
|
|
|
26511
26678
|
defaultRole: ProjectUserRoleSchema.optional(),
|
|
26512
26679
|
invitePermission: ProjectInvitePermissionSchema.optional()
|
|
26513
26680
|
}).refine((data) => data.description !== void 0 || data.defaultRole !== void 0 || data.invitePermission !== void 0, { message: "At least one field is required" });
|
|
26514
|
-
const ProjectSettingsResponseSchema =
|
|
26681
|
+
const ProjectSettingsResponseSchema = ProjectSettingsSchema;
|
|
26515
26682
|
/** Custom avatar override; null means fall back to OAuth `users.image`. */
|
|
26516
26683
|
const UserAvatarSchema = zod.z.object({ url: zod.z.url().nullable() });
|
|
26517
26684
|
const UserAvatarPatchSchema = zod.z.object({
|
|
@@ -26738,7 +26905,7 @@ const ProjectDeploymentSchema = zod.z.object({
|
|
|
26738
26905
|
createdAt: isoDateTime$1,
|
|
26739
26906
|
active: zod.z.boolean()
|
|
26740
26907
|
});
|
|
26741
|
-
const ListProjectDeploymentsResponseSchema = zod.z.
|
|
26908
|
+
const ListProjectDeploymentsResponseSchema = zod.z.array(ProjectDeploymentSchema);
|
|
26742
26909
|
const PLATFORM_RESOURCE_UNSUPPORTED_TEXT = "Not Supported";
|
|
26743
26910
|
const optionalCount = zod.z.number().int().nonnegative().nullable().optional();
|
|
26744
26911
|
const optionalTimestamp = zod.z.string().nullable().optional();
|
|
@@ -26987,14 +27154,14 @@ zod.z.object({
|
|
|
26987
27154
|
new node_async_hooks.AsyncLocalStorage();
|
|
26988
27155
|
new node_async_hooks.AsyncLocalStorage();
|
|
26989
27156
|
new AbortController().signal;
|
|
26990
|
-
const REGISTRY_KEY = Symbol.for("keystroke.workflowRunGetter");
|
|
26991
|
-
function registry() {
|
|
27157
|
+
const REGISTRY_KEY$1 = Symbol.for("keystroke.workflowRunGetter");
|
|
27158
|
+
function registry$1() {
|
|
26992
27159
|
const globalScope = globalThis;
|
|
26993
|
-
if (!globalScope[REGISTRY_KEY]) globalScope[REGISTRY_KEY] = {};
|
|
26994
|
-
return globalScope[REGISTRY_KEY];
|
|
27160
|
+
if (!globalScope[REGISTRY_KEY$1]) globalScope[REGISTRY_KEY$1] = {};
|
|
27161
|
+
return globalScope[REGISTRY_KEY$1];
|
|
26995
27162
|
}
|
|
26996
27163
|
function registerWorkflowRunGetter(fn) {
|
|
26997
|
-
registry().getter = fn;
|
|
27164
|
+
registry$1().getter = fn;
|
|
26998
27165
|
}
|
|
26999
27166
|
new node_async_hooks.AsyncLocalStorage();
|
|
27000
27167
|
//#endregion
|
|
@@ -48832,9 +48999,10 @@ function getPgBoss() {
|
|
|
48832
48999
|
return boss;
|
|
48833
49000
|
}
|
|
48834
49001
|
/** Postgres NOTIFY channel — lowercase identifier (project ids are UUIDs, well under 63 chars). */
|
|
48835
|
-
function pgCancelChannelName(scope,
|
|
49002
|
+
function pgCancelChannelName(scope, id) {
|
|
48836
49003
|
if (scope === "platform") return "keystroke_cancel_platform";
|
|
48837
|
-
return `
|
|
49004
|
+
if (scope === "organization") return `keystroke_cancel_org_${(id ?? "default").replace(/[^a-z0-9_]/gi, "_").toLowerCase()}`;
|
|
49005
|
+
return `keystroke_cancel_${(id ?? "default").replace(/[^a-z0-9_]/gi, "_").toLowerCase()}`;
|
|
48838
49006
|
}
|
|
48839
49007
|
/** Shared queue name for the platform control-plane scope. */
|
|
48840
49008
|
const DEFAULT_QUEUE_NAME = "keystroke";
|
|
@@ -48850,12 +49018,20 @@ function pgBossProjectQueueName(projectId) {
|
|
|
48850
49018
|
if (name.length <= 50) return name;
|
|
48851
49019
|
return `${DEFAULT_QUEUE_NAME}_${(0, node_crypto.createHash)("sha1").update(projectId).digest("hex").slice(0, 40)}`;
|
|
48852
49020
|
}
|
|
49021
|
+
function pgBossOrgQueueName(organizationId) {
|
|
49022
|
+
const name = `${DEFAULT_QUEUE_NAME}_org_${organizationId.replace(/[^a-zA-Z0-9_]/g, "_")}`;
|
|
49023
|
+
if (name.length <= 50) return name;
|
|
49024
|
+
return `${DEFAULT_QUEUE_NAME}_org_${(0, node_crypto.createHash)("sha1").update(organizationId).digest("hex").slice(0, 36)}`;
|
|
49025
|
+
}
|
|
48853
49026
|
function buildPgBossJobQueue(boss, options) {
|
|
48854
49027
|
const queueName = options.queueName ?? "keystroke";
|
|
48855
|
-
const cancelChannel = (0, _keystrokehq_database.createPostgresCancelChannel)(options.connectionString, pgCancelChannelName(options.cancelScope ?? "platform", options.projectId));
|
|
49028
|
+
const cancelChannel = (0, _keystrokehq_database.createPostgresCancelChannel)(options.connectionString, pgCancelChannelName(options.cancelScope ?? "platform", options.cancelScope === "organization" ? options.organizationId : options.projectId));
|
|
48856
49029
|
return {
|
|
48857
49030
|
async enqueue(input) {
|
|
48858
|
-
const jobId = await boss.send(queueName,
|
|
49031
|
+
const jobId = await boss.send(queueName, {
|
|
49032
|
+
...input,
|
|
49033
|
+
payload: input.payload
|
|
49034
|
+
}, {
|
|
48859
49035
|
retryLimit: (input.maxAttempts ?? 3) - 1,
|
|
48860
49036
|
retryDelay: Math.ceil(retryDelayMs(1) / 1e3),
|
|
48861
49037
|
startAfter: input.scheduledAt,
|
|
@@ -48889,7 +49065,8 @@ function buildPgBossJobQueue(boss, options) {
|
|
|
48889
49065
|
attempt,
|
|
48890
49066
|
maxAttempts,
|
|
48891
49067
|
exhaustedRetries: attempt >= maxAttempts,
|
|
48892
|
-
scheduledAt: data.scheduledAt ? new Date(data.scheduledAt) : /* @__PURE__ */ new Date()
|
|
49068
|
+
scheduledAt: data.scheduledAt ? new Date(data.scheduledAt) : /* @__PURE__ */ new Date(),
|
|
49069
|
+
projectId: data.projectId
|
|
48893
49070
|
});
|
|
48894
49071
|
});
|
|
48895
49072
|
return async () => {
|
|
@@ -48917,8 +49094,9 @@ async function createPgBossQueue(options) {
|
|
|
48917
49094
|
stopBossOnWorkerStop: true,
|
|
48918
49095
|
queueName,
|
|
48919
49096
|
connectionString: options.connectionString,
|
|
48920
|
-
cancelScope: "project",
|
|
48921
|
-
projectId: options.projectId
|
|
49097
|
+
cancelScope: options.cancelScope ?? "project",
|
|
49098
|
+
projectId: options.projectId,
|
|
49099
|
+
organizationId: options.organizationId
|
|
48922
49100
|
});
|
|
48923
49101
|
}
|
|
48924
49102
|
async function createSharedPgBossJobQueue(boss, options) {
|
|
@@ -48933,7 +49111,7 @@ async function createSharedPgBossJobQueue(boss, options) {
|
|
|
48933
49111
|
function resolveUrl(ctx) {
|
|
48934
49112
|
return ctx.url ?? (0, _keystrokehq_database.resolveProjectDatabaseUrlFromEnv)(process.env) ?? _keystrokehq_database.DEFAULT_DATABASE_URL;
|
|
48935
49113
|
}
|
|
48936
|
-
/** Postgres pg-boss backend. Platform scope shares one queue;
|
|
49114
|
+
/** Postgres pg-boss backend. Platform scope shares one queue; org scope gets one queue per org. */
|
|
48937
49115
|
function pgBossSchedulerPlugin() {
|
|
48938
49116
|
return defineSchedulerPlugin({
|
|
48939
49117
|
name: "pg-boss",
|
|
@@ -48943,6 +49121,16 @@ function pgBossSchedulerPlugin() {
|
|
|
48943
49121
|
await startPgBoss(url);
|
|
48944
49122
|
return createSharedPgBossJobQueue(getPgBoss(), { connectionString: url });
|
|
48945
49123
|
}
|
|
49124
|
+
if (ctx.scope === "organization") {
|
|
49125
|
+
const organizationId = ctx.organizationId;
|
|
49126
|
+
if (!organizationId) throw new Error("organizationId is required for organization-scoped pg-boss queue");
|
|
49127
|
+
return createPgBossQueue({
|
|
49128
|
+
connectionString: url,
|
|
49129
|
+
queueName: pgBossOrgQueueName(organizationId),
|
|
49130
|
+
cancelScope: "organization",
|
|
49131
|
+
organizationId
|
|
49132
|
+
});
|
|
49133
|
+
}
|
|
48946
49134
|
const projectId = ctx.projectId ?? (0, _keystrokehq_database.getProjectScopeId)();
|
|
48947
49135
|
return createPgBossQueue({
|
|
48948
49136
|
connectionString: url,
|
|
@@ -49373,6 +49561,18 @@ Object.defineProperty(exports, "AgentSummarySchema", {
|
|
|
49373
49561
|
return AgentSummarySchema;
|
|
49374
49562
|
}
|
|
49375
49563
|
});
|
|
49564
|
+
Object.defineProperty(exports, "AppSlugAvailabilityQuerySchema", {
|
|
49565
|
+
enumerable: true,
|
|
49566
|
+
get: function() {
|
|
49567
|
+
return AppSlugAvailabilityQuerySchema;
|
|
49568
|
+
}
|
|
49569
|
+
});
|
|
49570
|
+
Object.defineProperty(exports, "AppSlugAvailabilityResponseSchema", {
|
|
49571
|
+
enumerable: true,
|
|
49572
|
+
get: function() {
|
|
49573
|
+
return AppSlugAvailabilityResponseSchema;
|
|
49574
|
+
}
|
|
49575
|
+
});
|
|
49376
49576
|
Object.defineProperty(exports, "CompleteProjectArtifactResponseSchema", {
|
|
49377
49577
|
enumerable: true,
|
|
49378
49578
|
get: function() {
|
|
@@ -49403,6 +49603,18 @@ Object.defineProperty(exports, "CreateCredentialsResponseSchema", {
|
|
|
49403
49603
|
return CreateCredentialsResponseSchema;
|
|
49404
49604
|
}
|
|
49405
49605
|
});
|
|
49606
|
+
Object.defineProperty(exports, "CreateCustomAppRequestSchema", {
|
|
49607
|
+
enumerable: true,
|
|
49608
|
+
get: function() {
|
|
49609
|
+
return CreateCustomAppRequestSchema;
|
|
49610
|
+
}
|
|
49611
|
+
});
|
|
49612
|
+
Object.defineProperty(exports, "CreateCustomAppResponseSchema", {
|
|
49613
|
+
enumerable: true,
|
|
49614
|
+
get: function() {
|
|
49615
|
+
return CreateCustomAppResponseSchema;
|
|
49616
|
+
}
|
|
49617
|
+
});
|
|
49406
49618
|
Object.defineProperty(exports, "CreateOrganizationRequestSchema", {
|
|
49407
49619
|
enumerable: true,
|
|
49408
49620
|
get: function() {
|
|
@@ -49457,6 +49669,12 @@ Object.defineProperty(exports, "GetCredentialResponseSchema", {
|
|
|
49457
49669
|
return GetCredentialResponseSchema;
|
|
49458
49670
|
}
|
|
49459
49671
|
});
|
|
49672
|
+
Object.defineProperty(exports, "GetCustomAppResponseSchema", {
|
|
49673
|
+
enumerable: true,
|
|
49674
|
+
get: function() {
|
|
49675
|
+
return GetCustomAppResponseSchema;
|
|
49676
|
+
}
|
|
49677
|
+
});
|
|
49460
49678
|
Object.defineProperty(exports, "HistoryRunCancelResponseSchema", {
|
|
49461
49679
|
enumerable: true,
|
|
49462
49680
|
get: function() {
|
|
@@ -50111,6 +50329,12 @@ Object.defineProperty(exports, "p", {
|
|
|
50111
50329
|
return p;
|
|
50112
50330
|
}
|
|
50113
50331
|
});
|
|
50332
|
+
Object.defineProperty(exports, "parseAppSlug", {
|
|
50333
|
+
enumerable: true,
|
|
50334
|
+
get: function() {
|
|
50335
|
+
return parseAppSlug;
|
|
50336
|
+
}
|
|
50337
|
+
});
|
|
50114
50338
|
Object.defineProperty(exports, "parseStoredRouteManifest", {
|
|
50115
50339
|
enumerable: true,
|
|
50116
50340
|
get: function() {
|
|
@@ -50201,6 +50425,12 @@ Object.defineProperty(exports, "userAvatarStorageKey", {
|
|
|
50201
50425
|
return userAvatarStorageKey;
|
|
50202
50426
|
}
|
|
50203
50427
|
});
|
|
50428
|
+
Object.defineProperty(exports, "validateCredentialValueAgainstFields", {
|
|
50429
|
+
enumerable: true,
|
|
50430
|
+
get: function() {
|
|
50431
|
+
return validateCredentialValueAgainstFields;
|
|
50432
|
+
}
|
|
50433
|
+
});
|
|
50204
50434
|
Object.defineProperty(exports, "validationErrorResponse", {
|
|
50205
50435
|
enumerable: true,
|
|
50206
50436
|
get: function() {
|
|
@@ -50220,4 +50450,4 @@ Object.defineProperty(exports, "x$1", {
|
|
|
50220
50450
|
}
|
|
50221
50451
|
});
|
|
50222
50452
|
|
|
50223
|
-
//# sourceMappingURL=dist-
|
|
50453
|
+
//# sourceMappingURL=dist-C3ioU2dM.cjs.map
|