@keystrokehq/platform 0.1.128 → 0.1.129
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-D01I685l.cjs → awk2-LA3USKJP-CRpeKCfQ.cjs} +2 -2
- package/dist/{awk2-LA3USKJP-D01I685l.cjs.map → awk2-LA3USKJP-CRpeKCfQ.cjs.map} +1 -1
- package/dist/{awk2-LA3USKJP-4LY5wkvg.mjs → awk2-LA3USKJP-JSEp5Xlg.mjs} +2 -2
- package/dist/{awk2-LA3USKJP-4LY5wkvg.mjs.map → awk2-LA3USKJP-JSEp5Xlg.mjs.map} +1 -1
- package/dist/{base64-C2AIWVNC-dOLZM2j5.cjs → base64-C2AIWVNC-Bkg108Je.cjs} +2 -2
- package/dist/{base64-C2AIWVNC-dOLZM2j5.cjs.map → base64-C2AIWVNC-Bkg108Je.cjs.map} +1 -1
- package/dist/{base64-C2AIWVNC-Dk-efh3D.mjs → base64-C2AIWVNC-CZiWywDB.mjs} +2 -2
- package/dist/{base64-C2AIWVNC-Dk-efh3D.mjs.map → base64-C2AIWVNC-CZiWywDB.mjs.map} +1 -1
- package/dist/{bash-YZ33HQZQ-yrH6nvl2.cjs → bash-YZ33HQZQ-BNCFBZcV.cjs} +2 -2
- package/dist/{bash-YZ33HQZQ-yrH6nvl2.cjs.map → bash-YZ33HQZQ-BNCFBZcV.cjs.map} +1 -1
- package/dist/{bash-YZ33HQZQ-BPKp-NOt.mjs → bash-YZ33HQZQ-v7kXvjMn.mjs} +2 -2
- package/dist/{bash-YZ33HQZQ-BPKp-NOt.mjs.map → bash-YZ33HQZQ-v7kXvjMn.mjs.map} +1 -1
- package/dist/{cat-TSFMZVYS-B9RH-F_i.cjs → cat-TSFMZVYS-6dEqhBmm.cjs} +3 -3
- package/dist/{cat-TSFMZVYS-B9RH-F_i.cjs.map → cat-TSFMZVYS-6dEqhBmm.cjs.map} +1 -1
- package/dist/{cat-TSFMZVYS-ClT4udXs.mjs → cat-TSFMZVYS-BLpD1bZP.mjs} +3 -3
- package/dist/{cat-TSFMZVYS-ClT4udXs.mjs.map → cat-TSFMZVYS-BLpD1bZP.mjs.map} +1 -1
- package/dist/{chunk-5H5SCKJM-VSYoUFtG.mjs → chunk-5H5SCKJM-Bggyg1Jk.mjs} +2 -2
- package/dist/{chunk-5H5SCKJM-VSYoUFtG.mjs.map → chunk-5H5SCKJM-Bggyg1Jk.mjs.map} +1 -1
- package/dist/{chunk-5H5SCKJM-Mm89mBHu.cjs → chunk-5H5SCKJM-D_1eCa9o.cjs} +2 -2
- package/dist/{chunk-5H5SCKJM-Mm89mBHu.cjs.map → chunk-5H5SCKJM-D_1eCa9o.cjs.map} +1 -1
- package/dist/{chunk-AQ6FYS2X-BBpse6WB.mjs → chunk-AQ6FYS2X-DE1rd6hn.mjs} +2 -2
- package/dist/{chunk-AQ6FYS2X-BBpse6WB.mjs.map → chunk-AQ6FYS2X-DE1rd6hn.mjs.map} +1 -1
- package/dist/{chunk-AQ6FYS2X-xGpa9n1I.cjs → chunk-AQ6FYS2X-DoehpZyo.cjs} +2 -2
- package/dist/{chunk-AQ6FYS2X-xGpa9n1I.cjs.map → chunk-AQ6FYS2X-DoehpZyo.cjs.map} +1 -1
- package/dist/{chunk-CHFEPBH4-Xnh-lyRq.cjs → chunk-CHFEPBH4-CJIVvXgB.cjs} +2 -2
- package/dist/{chunk-CHFEPBH4-Xnh-lyRq.cjs.map → chunk-CHFEPBH4-CJIVvXgB.cjs.map} +1 -1
- package/dist/{chunk-CHFEPBH4-DFu_y8bg.mjs → chunk-CHFEPBH4-WBOOOPg2.mjs} +2 -2
- package/dist/{chunk-CHFEPBH4-DFu_y8bg.mjs.map → chunk-CHFEPBH4-WBOOOPg2.mjs.map} +1 -1
- package/dist/{chunk-EBAPSGAO-DrzQ__bY.mjs → chunk-EBAPSGAO-C9KZArcE.mjs} +2 -2
- package/dist/{chunk-EBAPSGAO-DrzQ__bY.mjs.map → chunk-EBAPSGAO-C9KZArcE.mjs.map} +1 -1
- package/dist/{chunk-EBAPSGAO-Lwbjx03e.cjs → chunk-EBAPSGAO-D_EhjwMv.cjs} +2 -2
- package/dist/{chunk-EBAPSGAO-Lwbjx03e.cjs.map → chunk-EBAPSGAO-D_EhjwMv.cjs.map} +1 -1
- package/dist/{chunk-LEKBROJD-DsOS1UXA.mjs → chunk-LEKBROJD-D-IIdlKP.mjs} +2 -2
- package/dist/{chunk-LEKBROJD-DsOS1UXA.mjs.map → chunk-LEKBROJD-D-IIdlKP.mjs.map} +1 -1
- package/dist/{chunk-LEKBROJD-DCryR9nR.cjs → chunk-LEKBROJD-DJdgm-7A.cjs} +2 -2
- package/dist/{chunk-LEKBROJD-DCryR9nR.cjs.map → chunk-LEKBROJD-DJdgm-7A.cjs.map} +1 -1
- package/dist/{chunk-VPADYNBD-BjmnKNE6.cjs → chunk-VPADYNBD-DryEgdfM.cjs} +2 -2
- package/dist/{chunk-VPADYNBD-BjmnKNE6.cjs.map → chunk-VPADYNBD-DryEgdfM.cjs.map} +1 -1
- package/dist/{chunk-VPADYNBD-VQrqD7wB.mjs → chunk-VPADYNBD-ptfxMBmZ.mjs} +2 -2
- package/dist/{chunk-VPADYNBD-VQrqD7wB.mjs.map → chunk-VPADYNBD-ptfxMBmZ.mjs.map} +1 -1
- package/dist/{chunk-YCLFEX4T-t5067YWV.cjs → chunk-YCLFEX4T-B3UMBJ0M.cjs} +2 -2
- package/dist/{chunk-YCLFEX4T-t5067YWV.cjs.map → chunk-YCLFEX4T-B3UMBJ0M.cjs.map} +1 -1
- package/dist/{chunk-YCLFEX4T-CaPeeMe9.mjs → chunk-YCLFEX4T-DL82L8qX.mjs} +2 -2
- package/dist/{chunk-YCLFEX4T-CaPeeMe9.mjs.map → chunk-YCLFEX4T-DL82L8qX.mjs.map} +1 -1
- package/dist/{column-XT6UFXNQ-D-rjZAC3.mjs → column-XT6UFXNQ-B5Y5NTgP.mjs} +2 -2
- package/dist/{column-XT6UFXNQ-D-rjZAC3.mjs.map → column-XT6UFXNQ-B5Y5NTgP.mjs.map} +1 -1
- package/dist/{column-XT6UFXNQ-BRtECFvd.cjs → column-XT6UFXNQ-DiKFWUTy.cjs} +2 -2
- package/dist/{column-XT6UFXNQ-BRtECFvd.cjs.map → column-XT6UFXNQ-DiKFWUTy.cjs.map} +1 -1
- package/dist/{comm-VV2LDX2J-sol38DGO.cjs → comm-VV2LDX2J-BFfsarPx.cjs} +2 -2
- package/dist/{comm-VV2LDX2J-sol38DGO.cjs.map → comm-VV2LDX2J-BFfsarPx.cjs.map} +1 -1
- package/dist/{comm-VV2LDX2J-B7TQzU0V.mjs → comm-VV2LDX2J-C_eMUh7X.mjs} +2 -2
- package/dist/{comm-VV2LDX2J-B7TQzU0V.mjs.map → comm-VV2LDX2J-C_eMUh7X.mjs.map} +1 -1
- package/dist/{config-Bz_vaNDC.d.mts → config-B12srbG4.d.mts} +5 -6
- package/dist/config-BKdVL9Hp.mjs +136 -0
- package/dist/config-BKdVL9Hp.mjs.map +1 -0
- package/dist/config-DNjiVgco.cjs +141 -0
- package/dist/config-DNjiVgco.cjs.map +1 -0
- package/dist/{config-CkjEzhym.d.cts → config-DX8D3J-V.d.cts} +5 -5
- package/dist/config.cjs +2 -15
- package/dist/config.d.cts +1 -1
- package/dist/config.d.mts +1 -1
- package/dist/config.mjs +1 -14
- package/dist/{cp-BISAAS7A-C29DUJaa.mjs → cp-BISAAS7A-B-mVeyDw.mjs} +2 -2
- package/dist/{cp-BISAAS7A-C29DUJaa.mjs.map → cp-BISAAS7A-B-mVeyDw.mjs.map} +1 -1
- package/dist/{cp-BISAAS7A-rmq0vo-O.cjs → cp-BISAAS7A-C2krfNmE.cjs} +2 -2
- package/dist/{cp-BISAAS7A-rmq0vo-O.cjs.map → cp-BISAAS7A-C2krfNmE.cjs.map} +1 -1
- package/dist/{cut-OKARJCCV-iYjjcpsa.cjs → cut-OKARJCCV-BrZy_JBc.cjs} +3 -3
- package/dist/{cut-OKARJCCV-iYjjcpsa.cjs.map → cut-OKARJCCV-BrZy_JBc.cjs.map} +1 -1
- package/dist/{cut-OKARJCCV-Cj1yP7gr.mjs → cut-OKARJCCV-CxsMG1ws.mjs} +3 -3
- package/dist/{cut-OKARJCCV-Cj1yP7gr.mjs.map → cut-OKARJCCV-CxsMG1ws.mjs.map} +1 -1
- package/dist/{diff-MWJFIG7X-BV5Qpmy1.mjs → diff-MWJFIG7X-BwOFX19z.mjs} +2 -2
- package/dist/{diff-MWJFIG7X-BV5Qpmy1.mjs.map → diff-MWJFIG7X-BwOFX19z.mjs.map} +1 -1
- package/dist/{diff-MWJFIG7X-Cxl1QTn7.cjs → diff-MWJFIG7X-_Pn5aMae.cjs} +2 -2
- package/dist/{diff-MWJFIG7X-Cxl1QTn7.cjs.map → diff-MWJFIG7X-_Pn5aMae.cjs.map} +1 -1
- package/dist/{dist-BBoSNbv1.mjs → dist-Bci68KAE.mjs} +453 -467
- package/dist/dist-Bci68KAE.mjs.map +1 -0
- package/dist/{dist-C-bTIDMw.cjs → dist-Bqh3rPbq.cjs} +607 -602
- package/dist/dist-Bqh3rPbq.cjs.map +1 -0
- package/dist/{du-572XNP42-C0XQuV6J.cjs → du-572XNP42-Cd7S5r3G.cjs} +2 -2
- package/dist/{du-572XNP42-C0XQuV6J.cjs.map → du-572XNP42-Cd7S5r3G.cjs.map} +1 -1
- package/dist/{du-572XNP42-BLV0wfbB.mjs → du-572XNP42-DIxq319C.mjs} +2 -2
- package/dist/{du-572XNP42-BLV0wfbB.mjs.map → du-572XNP42-DIxq319C.mjs.map} +1 -1
- package/dist/{env-36M5BO7M-BqZdd6vR.mjs → env-36M5BO7M-BcGUj0ch.mjs} +2 -2
- package/dist/{env-36M5BO7M-BqZdd6vR.mjs.map → env-36M5BO7M-BcGUj0ch.mjs.map} +1 -1
- package/dist/{env-36M5BO7M-DwhMSvj2.cjs → env-36M5BO7M-DUYG60IR.cjs} +2 -2
- package/dist/{env-36M5BO7M-DwhMSvj2.cjs.map → env-36M5BO7M-DUYG60IR.cjs.map} +1 -1
- package/dist/{expand-JSPG6VOP-BLaAfP1e.cjs → expand-JSPG6VOP-BAmgU6tl.cjs} +2 -2
- package/dist/{expand-JSPG6VOP-BLaAfP1e.cjs.map → expand-JSPG6VOP-BAmgU6tl.cjs.map} +1 -1
- package/dist/{expand-JSPG6VOP-CwMj1EKW.mjs → expand-JSPG6VOP-DFjJvHLb.mjs} +2 -2
- package/dist/{expand-JSPG6VOP-CwMj1EKW.mjs.map → expand-JSPG6VOP-DFjJvHLb.mjs.map} +1 -1
- package/dist/{expr-5JAACS4X-BomHAnRn.mjs → expr-5JAACS4X-CYAUFOGr.mjs} +2 -2
- package/dist/{expr-5JAACS4X-BomHAnRn.mjs.map → expr-5JAACS4X-CYAUFOGr.mjs.map} +1 -1
- package/dist/{expr-5JAACS4X-dZtAp65-.cjs → expr-5JAACS4X-sB386XcD.cjs} +2 -2
- package/dist/{expr-5JAACS4X-dZtAp65-.cjs.map → expr-5JAACS4X-sB386XcD.cjs.map} +1 -1
- package/dist/{find-INTH3OLC-s4yABEhi.cjs → find-INTH3OLC-BTShg9xs.cjs} +3 -3
- package/dist/{find-INTH3OLC-s4yABEhi.cjs.map → find-INTH3OLC-BTShg9xs.cjs.map} +1 -1
- package/dist/{find-INTH3OLC-9pHW--b6.mjs → find-INTH3OLC-D5F-4TiK.mjs} +3 -3
- package/dist/{find-INTH3OLC-9pHW--b6.mjs.map → find-INTH3OLC-D5F-4TiK.mjs.map} +1 -1
- package/dist/{fold-4TQNYMSW-QN7Kswbz.mjs → fold-4TQNYMSW-ChWNcaSY.mjs} +2 -2
- package/dist/{fold-4TQNYMSW-QN7Kswbz.mjs.map → fold-4TQNYMSW-ChWNcaSY.mjs.map} +1 -1
- package/dist/{fold-4TQNYMSW-dRlgjAxi.cjs → fold-4TQNYMSW-DYBfLnwa.cjs} +2 -2
- package/dist/{fold-4TQNYMSW-dRlgjAxi.cjs.map → fold-4TQNYMSW-DYBfLnwa.cjs.map} +1 -1
- package/dist/{grep-V3LQVMRQ-CXrtRZBB.mjs → grep-V3LQVMRQ-B0gA4mLR.mjs} +4 -4
- package/dist/{grep-V3LQVMRQ-CXrtRZBB.mjs.map → grep-V3LQVMRQ-B0gA4mLR.mjs.map} +1 -1
- package/dist/{grep-V3LQVMRQ-CzoQrdvP.cjs → grep-V3LQVMRQ-C1PzxoF4.cjs} +4 -4
- package/dist/{grep-V3LQVMRQ-CzoQrdvP.cjs.map → grep-V3LQVMRQ-C1PzxoF4.cjs.map} +1 -1
- package/dist/{gzip-O5ASJAFY-BQXqx1_m.mjs → gzip-O5ASJAFY-BTTHx-WY.mjs} +2 -2
- package/dist/{gzip-O5ASJAFY-BQXqx1_m.mjs.map → gzip-O5ASJAFY-BTTHx-WY.mjs.map} +1 -1
- package/dist/{gzip-O5ASJAFY-DCJ7MEh4.cjs → gzip-O5ASJAFY-DKP63NQf.cjs} +2 -2
- package/dist/{gzip-O5ASJAFY-DCJ7MEh4.cjs.map → gzip-O5ASJAFY-DKP63NQf.cjs.map} +1 -1
- package/dist/{head-442HYESI-D13OMgy4.mjs → head-442HYESI-BLoRrBPY.mjs} +2 -2
- package/dist/{head-442HYESI-D13OMgy4.mjs.map → head-442HYESI-BLoRrBPY.mjs.map} +1 -1
- package/dist/{head-442HYESI-_9Mn90ER.cjs → head-442HYESI-DvzjT244.cjs} +2 -2
- package/dist/{head-442HYESI-_9Mn90ER.cjs.map → head-442HYESI-DvzjT244.cjs.map} +1 -1
- package/dist/{help-HZ6M2CKN-DwTYuA1y.mjs → help-HZ6M2CKN-BlDHQUKv.mjs} +2 -2
- package/dist/{help-HZ6M2CKN-DwTYuA1y.mjs.map → help-HZ6M2CKN-BlDHQUKv.mjs.map} +1 -1
- package/dist/{help-HZ6M2CKN-uYwhLDPg.cjs → help-HZ6M2CKN-F4KWA-Lo.cjs} +2 -2
- package/dist/{help-HZ6M2CKN-uYwhLDPg.cjs.map → help-HZ6M2CKN-F4KWA-Lo.cjs.map} +1 -1
- package/dist/{html-to-markdown-JW4MSQZO-CewaNSVc.cjs → html-to-markdown-JW4MSQZO-B0MrYci-.cjs} +3 -3
- package/dist/{html-to-markdown-JW4MSQZO-CewaNSVc.cjs.map → html-to-markdown-JW4MSQZO-B0MrYci-.cjs.map} +1 -1
- package/dist/{html-to-markdown-JW4MSQZO-CkbEuJeA.mjs → html-to-markdown-JW4MSQZO-D9E7dTrr.mjs} +3 -3
- package/dist/{html-to-markdown-JW4MSQZO-CkbEuJeA.mjs.map → html-to-markdown-JW4MSQZO-D9E7dTrr.mjs.map} +1 -1
- package/dist/internal.cjs +1 -1
- package/dist/internal.mjs +1 -1
- package/dist/{join-TBRGI3LQ-BJvgo00B.cjs → join-TBRGI3LQ-8WBxN8S3.cjs} +2 -2
- package/dist/{join-TBRGI3LQ-BJvgo00B.cjs.map → join-TBRGI3LQ-8WBxN8S3.cjs.map} +1 -1
- package/dist/{join-TBRGI3LQ-C42q_3mE.mjs → join-TBRGI3LQ-BBV17RnM.mjs} +2 -2
- package/dist/{join-TBRGI3LQ-C42q_3mE.mjs.map → join-TBRGI3LQ-BBV17RnM.mjs.map} +1 -1
- package/dist/{jq-4XLYLOS5-CQgfk9AD.mjs → jq-4XLYLOS5-BiUPd094.mjs} +4 -4
- package/dist/{jq-4XLYLOS5-CQgfk9AD.mjs.map → jq-4XLYLOS5-BiUPd094.mjs.map} +1 -1
- package/dist/{jq-4XLYLOS5-DS-qViwI.cjs → jq-4XLYLOS5-CgNV85jS.cjs} +4 -4
- package/dist/{jq-4XLYLOS5-DS-qViwI.cjs.map → jq-4XLYLOS5-CgNV85jS.cjs.map} +1 -1
- package/dist/{js-exec-N5KEZBH7-BPsOxcW0.mjs → js-exec-N5KEZBH7-CzUyxAo1.mjs} +3 -3
- package/dist/{js-exec-N5KEZBH7-BPsOxcW0.mjs.map → js-exec-N5KEZBH7-CzUyxAo1.mjs.map} +1 -1
- package/dist/{js-exec-N5KEZBH7-D6Hb2045.cjs → js-exec-N5KEZBH7-D_6MBthG.cjs} +3 -3
- package/dist/{js-exec-N5KEZBH7-D6Hb2045.cjs.map → js-exec-N5KEZBH7-D_6MBthG.cjs.map} +1 -1
- package/dist/{lib-DFktrlpV.cjs → lib-DxjjtVCA.cjs} +2 -2
- package/dist/{lib-DFktrlpV.cjs.map → lib-DxjjtVCA.cjs.map} +1 -1
- package/dist/{lib-Cwb02yIR.mjs → lib-Nj7svX8P.mjs} +2 -2
- package/dist/{lib-Cwb02yIR.mjs.map → lib-Nj7svX8P.mjs.map} +1 -1
- package/dist/{ln-4LGSXXGD-aea9BcHW.cjs → ln-4LGSXXGD-B1Kkh1ha.cjs} +2 -2
- package/dist/{ln-4LGSXXGD-aea9BcHW.cjs.map → ln-4LGSXXGD-B1Kkh1ha.cjs.map} +1 -1
- package/dist/{ln-4LGSXXGD-B9IgLLKV.mjs → ln-4LGSXXGD-CQbnGxlo.mjs} +2 -2
- package/dist/{ln-4LGSXXGD-B9IgLLKV.mjs.map → ln-4LGSXXGD-CQbnGxlo.mjs.map} +1 -1
- package/dist/{ls-ZJGQER7M-CLaB_Rx_.cjs → ls-ZJGQER7M-Bcn7qAy0.cjs} +2 -2
- package/dist/{ls-ZJGQER7M-CLaB_Rx_.cjs.map → ls-ZJGQER7M-Bcn7qAy0.cjs.map} +1 -1
- package/dist/{ls-ZJGQER7M-CgWcLTpr.mjs → ls-ZJGQER7M-JPY6vzVZ.mjs} +2 -2
- package/dist/{ls-ZJGQER7M-CgWcLTpr.mjs.map → ls-ZJGQER7M-JPY6vzVZ.mjs.map} +1 -1
- package/dist/{lzma-CeMh0Bh-.cjs → lzma-getC1haw.cjs} +2 -2
- package/dist/{lzma-CeMh0Bh-.cjs.map → lzma-getC1haw.cjs.map} +1 -1
- package/dist/{md5sum-SPU24VSG-R-U3S1zo.mjs → md5sum-SPU24VSG-D91mAXHX.mjs} +3 -3
- package/dist/{md5sum-SPU24VSG-R-U3S1zo.mjs.map → md5sum-SPU24VSG-D91mAXHX.mjs.map} +1 -1
- package/dist/{md5sum-SPU24VSG-BW3PO0fT.cjs → md5sum-SPU24VSG-DS0UmURz.cjs} +3 -3
- package/dist/{md5sum-SPU24VSG-BW3PO0fT.cjs.map → md5sum-SPU24VSG-DS0UmURz.cjs.map} +1 -1
- package/dist/{mkdir-MEPGZOB6-DZsxfutz.mjs → mkdir-MEPGZOB6-B_kzUVTS.mjs} +2 -2
- package/dist/{mkdir-MEPGZOB6-DZsxfutz.mjs.map → mkdir-MEPGZOB6-B_kzUVTS.mjs.map} +1 -1
- package/dist/{mkdir-MEPGZOB6-BtU6JtGG.cjs → mkdir-MEPGZOB6-BiX5Vu18.cjs} +2 -2
- package/dist/{mkdir-MEPGZOB6-BtU6JtGG.cjs.map → mkdir-MEPGZOB6-BiX5Vu18.cjs.map} +1 -1
- package/dist/{mv-W5BIQ646-CD5IOmrl.cjs → mv-W5BIQ646-CfAhGw3i.cjs} +2 -2
- package/dist/{mv-W5BIQ646-CD5IOmrl.cjs.map → mv-W5BIQ646-CfAhGw3i.cjs.map} +1 -1
- package/dist/{mv-W5BIQ646-Dkxrd6PI.mjs → mv-W5BIQ646-DYgpWDpz.mjs} +2 -2
- package/dist/{mv-W5BIQ646-Dkxrd6PI.mjs.map → mv-W5BIQ646-DYgpWDpz.mjs.map} +1 -1
- package/dist/{nl-WSDW7I4O-_3xyp5Zj.cjs → nl-WSDW7I4O-BKbW5dn8.cjs} +2 -2
- package/dist/{nl-WSDW7I4O-_3xyp5Zj.cjs.map → nl-WSDW7I4O-BKbW5dn8.cjs.map} +1 -1
- package/dist/{nl-WSDW7I4O-Do9TjegN.mjs → nl-WSDW7I4O-BgC2r5Cn.mjs} +2 -2
- package/dist/{nl-WSDW7I4O-Do9TjegN.mjs.map → nl-WSDW7I4O-BgC2r5Cn.mjs.map} +1 -1
- package/dist/{od-WOKFDJTP-DzvlQTqR.cjs → od-WOKFDJTP-6_AAfiI2.cjs} +2 -2
- package/dist/{od-WOKFDJTP-DzvlQTqR.cjs.map → od-WOKFDJTP-6_AAfiI2.cjs.map} +1 -1
- package/dist/{od-WOKFDJTP-COtBtIPN.mjs → od-WOKFDJTP-L123BzbX.mjs} +2 -2
- package/dist/{od-WOKFDJTP-COtBtIPN.mjs.map → od-WOKFDJTP-L123BzbX.mjs.map} +1 -1
- package/dist/{paste-7JC6S4DX-C8xh5dEv.cjs → paste-7JC6S4DX-DqexKgEh.cjs} +2 -2
- package/dist/{paste-7JC6S4DX-C8xh5dEv.cjs.map → paste-7JC6S4DX-DqexKgEh.cjs.map} +1 -1
- package/dist/{paste-7JC6S4DX-jRyjEBV8.mjs → paste-7JC6S4DX-NBL0MnKq.mjs} +2 -2
- package/dist/{paste-7JC6S4DX-jRyjEBV8.mjs.map → paste-7JC6S4DX-NBL0MnKq.mjs.map} +1 -1
- package/dist/{printf-TWGXF445-BHk-xqxN.mjs → printf-TWGXF445-DEdEype7.mjs} +3 -3
- package/dist/{printf-TWGXF445-BHk-xqxN.mjs.map → printf-TWGXF445-DEdEype7.mjs.map} +1 -1
- package/dist/{printf-TWGXF445-B3aqIehp.cjs → printf-TWGXF445-DQy9Bsfl.cjs} +3 -3
- package/dist/{printf-TWGXF445-B3aqIehp.cjs.map → printf-TWGXF445-DQy9Bsfl.cjs.map} +1 -1
- package/dist/{python3-POMOR4OA-BhvnM3Ua.cjs → python3-POMOR4OA-DGCWlS6L.cjs} +3 -3
- package/dist/{python3-POMOR4OA-BhvnM3Ua.cjs.map → python3-POMOR4OA-DGCWlS6L.cjs.map} +1 -1
- package/dist/{python3-POMOR4OA-DLE5buxg.mjs → python3-POMOR4OA-G_E-5KrH.mjs} +3 -3
- package/dist/{python3-POMOR4OA-DLE5buxg.mjs.map → python3-POMOR4OA-G_E-5KrH.mjs.map} +1 -1
- package/dist/{rev-5EHFX4EJ-CUpaaQvP.mjs → rev-5EHFX4EJ-DBIij1uT.mjs} +2 -2
- package/dist/{rev-5EHFX4EJ-CUpaaQvP.mjs.map → rev-5EHFX4EJ-DBIij1uT.mjs.map} +1 -1
- package/dist/{rev-5EHFX4EJ-Ce2QBPLt.cjs → rev-5EHFX4EJ-EputkmDM.cjs} +2 -2
- package/dist/{rev-5EHFX4EJ-Ce2QBPLt.cjs.map → rev-5EHFX4EJ-EputkmDM.cjs.map} +1 -1
- package/dist/{rg-S4FXYXWB-BMyOKsxC.cjs → rg-S4FXYXWB-B8lu59hX.cjs} +3 -3
- package/dist/{rg-S4FXYXWB-BMyOKsxC.cjs.map → rg-S4FXYXWB-B8lu59hX.cjs.map} +1 -1
- package/dist/{rg-S4FXYXWB-B8rRxtiU.mjs → rg-S4FXYXWB-Daw1Neeo.mjs} +3 -3
- package/dist/{rg-S4FXYXWB-B8rRxtiU.mjs.map → rg-S4FXYXWB-Daw1Neeo.mjs.map} +1 -1
- package/dist/{rm-SSGETQVQ-hg0gTZb8.cjs → rm-SSGETQVQ-CLfbvtE_.cjs} +2 -2
- package/dist/{rm-SSGETQVQ-hg0gTZb8.cjs.map → rm-SSGETQVQ-CLfbvtE_.cjs.map} +1 -1
- package/dist/{rm-SSGETQVQ-do5mXiDg.mjs → rm-SSGETQVQ-mYn2rfbf.mjs} +2 -2
- package/dist/{rm-SSGETQVQ-do5mXiDg.mjs.map → rm-SSGETQVQ-mYn2rfbf.mjs.map} +1 -1
- package/dist/{rmdir-OC4ZLPYA-BqZzINOV.mjs → rmdir-OC4ZLPYA-CHXC39jd.mjs} +2 -2
- package/dist/{rmdir-OC4ZLPYA-BqZzINOV.mjs.map → rmdir-OC4ZLPYA-CHXC39jd.mjs.map} +1 -1
- package/dist/{rmdir-OC4ZLPYA-BJFvSNDE.cjs → rmdir-OC4ZLPYA-Dxi8KjV_.cjs} +2 -2
- package/dist/{rmdir-OC4ZLPYA-BJFvSNDE.cjs.map → rmdir-OC4ZLPYA-Dxi8KjV_.cjs.map} +1 -1
- package/dist/run.cjs +2 -2
- package/dist/run.mjs +2 -2
- package/dist/{sed-S5UIK574-D7T4-lAa.cjs → sed-S5UIK574-DGWjrFUp.cjs} +2 -2
- package/dist/{sed-S5UIK574-D7T4-lAa.cjs.map → sed-S5UIK574-DGWjrFUp.cjs.map} +1 -1
- package/dist/{sed-S5UIK574-zjs4Rgvi.mjs → sed-S5UIK574-DK728_n-.mjs} +2 -2
- package/dist/{sed-S5UIK574-zjs4Rgvi.mjs.map → sed-S5UIK574-DK728_n-.mjs.map} +1 -1
- package/dist/{sha1sum-2PTOAFR6-D-UCITiq.cjs → sha1sum-2PTOAFR6-7ywnqQKT.cjs} +3 -3
- package/dist/{sha1sum-2PTOAFR6-D-UCITiq.cjs.map → sha1sum-2PTOAFR6-7ywnqQKT.cjs.map} +1 -1
- package/dist/{sha1sum-2PTOAFR6-DaUrict6.mjs → sha1sum-2PTOAFR6-CQ4zoYdG.mjs} +3 -3
- package/dist/{sha1sum-2PTOAFR6-DaUrict6.mjs.map → sha1sum-2PTOAFR6-CQ4zoYdG.mjs.map} +1 -1
- package/dist/{sha256sum-NS7D3IXX-DMYl5O7j.mjs → sha256sum-NS7D3IXX-BOcxhLhB.mjs} +3 -3
- package/dist/{sha256sum-NS7D3IXX-DMYl5O7j.mjs.map → sha256sum-NS7D3IXX-BOcxhLhB.mjs.map} +1 -1
- package/dist/{sha256sum-NS7D3IXX-D1oqyQ3_.cjs → sha256sum-NS7D3IXX-XJaaj5xs.cjs} +3 -3
- package/dist/{sha256sum-NS7D3IXX-D1oqyQ3_.cjs.map → sha256sum-NS7D3IXX-XJaaj5xs.cjs.map} +1 -1
- package/dist/{sleep-X22JJINO-B0MSVGgi.mjs → sleep-X22JJINO-CwarEW8j.mjs} +2 -2
- package/dist/{sleep-X22JJINO-B0MSVGgi.mjs.map → sleep-X22JJINO-CwarEW8j.mjs.map} +1 -1
- package/dist/{sleep-X22JJINO-BjqX2Nrh.cjs → sleep-X22JJINO-DIXrHD3R.cjs} +2 -2
- package/dist/{sleep-X22JJINO-BjqX2Nrh.cjs.map → sleep-X22JJINO-DIXrHD3R.cjs.map} +1 -1
- package/dist/{sort-SW2YEO5B-Oq-loeB3.cjs → sort-SW2YEO5B-Buo6ev-O.cjs} +3 -3
- package/dist/{sort-SW2YEO5B-Oq-loeB3.cjs.map → sort-SW2YEO5B-Buo6ev-O.cjs.map} +1 -1
- package/dist/{sort-SW2YEO5B-Bsh1zjVa.mjs → sort-SW2YEO5B-Du8oOAyb.mjs} +3 -3
- package/dist/{sort-SW2YEO5B-Bsh1zjVa.mjs.map → sort-SW2YEO5B-Du8oOAyb.mjs.map} +1 -1
- package/dist/{split-4KKZZXXE-UxWoGKng.mjs → split-4KKZZXXE-Dwwdn3bk.mjs} +2 -2
- package/dist/{split-4KKZZXXE-UxWoGKng.mjs.map → split-4KKZZXXE-Dwwdn3bk.mjs.map} +1 -1
- package/dist/{split-4KKZZXXE-5FnMydBw.cjs → split-4KKZZXXE-OddRnGAH.cjs} +2 -2
- package/dist/{split-4KKZZXXE-5FnMydBw.cjs.map → split-4KKZZXXE-OddRnGAH.cjs.map} +1 -1
- package/dist/{sqlite3-CGOEFJAO-BqblLBVU.cjs → sqlite3-CGOEFJAO-BWLdebEu.cjs} +3 -3
- package/dist/{sqlite3-CGOEFJAO-BqblLBVU.cjs.map → sqlite3-CGOEFJAO-BWLdebEu.cjs.map} +1 -1
- package/dist/{sqlite3-CGOEFJAO-D0RMQr2T.mjs → sqlite3-CGOEFJAO-BgS0oHGp.mjs} +3 -3
- package/dist/{sqlite3-CGOEFJAO-D0RMQr2T.mjs.map → sqlite3-CGOEFJAO-BgS0oHGp.mjs.map} +1 -1
- package/dist/{start-BtqSmIUP.cjs → start-CRsvMO8Z.cjs} +660 -657
- package/dist/start-CRsvMO8Z.cjs.map +1 -0
- package/dist/{start-DMOAi4UM.mjs → start-R2WutaaN.mjs} +108 -105
- package/dist/start-R2WutaaN.mjs.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-B28dSdmB.mjs → strings-6WDHLGMX-1pLzaL4-.mjs} +2 -2
- package/dist/{strings-6WDHLGMX-B28dSdmB.mjs.map → strings-6WDHLGMX-1pLzaL4-.mjs.map} +1 -1
- package/dist/{strings-6WDHLGMX-t4cOgNf3.cjs → strings-6WDHLGMX-2JWiKgge.cjs} +2 -2
- package/dist/{strings-6WDHLGMX-t4cOgNf3.cjs.map → strings-6WDHLGMX-2JWiKgge.cjs.map} +1 -1
- package/dist/{tac-2STMMJYW-zzdgyOsm.mjs → tac-2STMMJYW-DS78Z4cv.mjs} +2 -2
- package/dist/{tac-2STMMJYW-zzdgyOsm.mjs.map → tac-2STMMJYW-DS78Z4cv.mjs.map} +1 -1
- package/dist/{tac-2STMMJYW-CN0I3YL6.cjs → tac-2STMMJYW-b3jCsqky.cjs} +2 -2
- package/dist/{tac-2STMMJYW-CN0I3YL6.cjs.map → tac-2STMMJYW-b3jCsqky.cjs.map} +1 -1
- package/dist/{tail-R4PCA2C4-BHZzN395.mjs → tail-R4PCA2C4-BFq1JEoz.mjs} +2 -2
- package/dist/{tail-R4PCA2C4-BHZzN395.mjs.map → tail-R4PCA2C4-BFq1JEoz.mjs.map} +1 -1
- package/dist/{tail-R4PCA2C4-i-B-y3p3.cjs → tail-R4PCA2C4-aFC-IZ-5.cjs} +2 -2
- package/dist/{tail-R4PCA2C4-i-B-y3p3.cjs.map → tail-R4PCA2C4-aFC-IZ-5.cjs.map} +1 -1
- package/dist/{tar-STHHZTZ6-DtxccnMn.mjs → tar-STHHZTZ6-CiLELmgx.mjs} +4 -4
- package/dist/{tar-STHHZTZ6-DtxccnMn.mjs.map → tar-STHHZTZ6-CiLELmgx.mjs.map} +1 -1
- package/dist/{tar-STHHZTZ6-Clod8w-7.cjs → tar-STHHZTZ6-L8XDCiLN.cjs} +5 -5
- package/dist/{tar-STHHZTZ6-Clod8w-7.cjs.map → tar-STHHZTZ6-L8XDCiLN.cjs.map} +1 -1
- package/dist/{tee-YUZ2FKCJ-D-CtYfsh.mjs → tee-YUZ2FKCJ-3s4KqGaV.mjs} +2 -2
- package/dist/{tee-YUZ2FKCJ-D-CtYfsh.mjs.map → tee-YUZ2FKCJ-3s4KqGaV.mjs.map} +1 -1
- package/dist/{tee-YUZ2FKCJ-CA1OTWbX.cjs → tee-YUZ2FKCJ-B60QipOE.cjs} +2 -2
- package/dist/{tee-YUZ2FKCJ-CA1OTWbX.cjs.map → tee-YUZ2FKCJ-B60QipOE.cjs.map} +1 -1
- package/dist/{time-D4LNBSWX-IFH0Z_hE.mjs → time-D4LNBSWX-CYd4omvD.mjs} +2 -2
- package/dist/{time-D4LNBSWX-IFH0Z_hE.mjs.map → time-D4LNBSWX-CYd4omvD.mjs.map} +1 -1
- package/dist/{time-D4LNBSWX-q9wKyv5x.cjs → time-D4LNBSWX-DBg3ccZo.cjs} +2 -2
- package/dist/{time-D4LNBSWX-q9wKyv5x.cjs.map → time-D4LNBSWX-DBg3ccZo.cjs.map} +1 -1
- package/dist/{timeout-YDCRSLPQ-Da0SBn_a.cjs → timeout-YDCRSLPQ-DMiY-QQp.cjs} +2 -2
- package/dist/{timeout-YDCRSLPQ-Da0SBn_a.cjs.map → timeout-YDCRSLPQ-DMiY-QQp.cjs.map} +1 -1
- package/dist/{timeout-YDCRSLPQ-D9VSfglD.mjs → timeout-YDCRSLPQ-xh3AcbT0.mjs} +2 -2
- package/dist/{timeout-YDCRSLPQ-D9VSfglD.mjs.map → timeout-YDCRSLPQ-xh3AcbT0.mjs.map} +1 -1
- package/dist/{touch-UA33VN3N-DGBoWnSy.cjs → touch-UA33VN3N-ChzEhlVJ.cjs} +2 -2
- package/dist/{touch-UA33VN3N-DGBoWnSy.cjs.map → touch-UA33VN3N-ChzEhlVJ.cjs.map} +1 -1
- package/dist/{touch-UA33VN3N-1UUeRAKx.mjs → touch-UA33VN3N-DEM7K4Oi.mjs} +2 -2
- package/dist/{touch-UA33VN3N-1UUeRAKx.mjs.map → touch-UA33VN3N-DEM7K4Oi.mjs.map} +1 -1
- package/dist/{tr-36LHWFRQ-CstIHbkC.mjs → tr-36LHWFRQ-Bs_CFglo.mjs} +2 -2
- package/dist/{tr-36LHWFRQ-CstIHbkC.mjs.map → tr-36LHWFRQ-Bs_CFglo.mjs.map} +1 -1
- package/dist/{tr-36LHWFRQ-MVEkMzHp.cjs → tr-36LHWFRQ-WSAxLcKD.cjs} +2 -2
- package/dist/{tr-36LHWFRQ-MVEkMzHp.cjs.map → tr-36LHWFRQ-WSAxLcKD.cjs.map} +1 -1
- package/dist/{tree-YLD52CNT-DQ6Fwa4k.cjs → tree-YLD52CNT-B55yybrR.cjs} +2 -2
- package/dist/{tree-YLD52CNT-DQ6Fwa4k.cjs.map → tree-YLD52CNT-B55yybrR.cjs.map} +1 -1
- package/dist/{tree-YLD52CNT-C4uRw4dn.mjs → tree-YLD52CNT-Bv7uMDP4.mjs} +2 -2
- package/dist/{tree-YLD52CNT-C4uRw4dn.mjs.map → tree-YLD52CNT-Bv7uMDP4.mjs.map} +1 -1
- package/dist/{unexpand-CADSA4VO-DWPCufVa.mjs → unexpand-CADSA4VO-969cCtfJ.mjs} +2 -2
- package/dist/{unexpand-CADSA4VO-DWPCufVa.mjs.map → unexpand-CADSA4VO-969cCtfJ.mjs.map} +1 -1
- package/dist/{unexpand-CADSA4VO-C-u8zxhr.cjs → unexpand-CADSA4VO-BHkcjme2.cjs} +2 -2
- package/dist/{unexpand-CADSA4VO-C-u8zxhr.cjs.map → unexpand-CADSA4VO-BHkcjme2.cjs.map} +1 -1
- package/dist/{uniq-XSIZR6PB-DeJyhQjC.mjs → uniq-XSIZR6PB-DfO95Apn.mjs} +3 -3
- package/dist/{uniq-XSIZR6PB-DeJyhQjC.mjs.map → uniq-XSIZR6PB-DfO95Apn.mjs.map} +1 -1
- package/dist/{uniq-XSIZR6PB-CVYPCP3L.cjs → uniq-XSIZR6PB-d0jC5yQd.cjs} +3 -3
- package/dist/{uniq-XSIZR6PB-CVYPCP3L.cjs.map → uniq-XSIZR6PB-d0jC5yQd.cjs.map} +1 -1
- package/dist/wait-for-health-XEzPPQIO-ColBOzq6.mjs +222 -0
- package/dist/wait-for-health-XEzPPQIO-ColBOzq6.mjs.map +1 -0
- package/dist/wait-for-health-XEzPPQIO-CzLWGoGw.cjs +281 -0
- package/dist/wait-for-health-XEzPPQIO-CzLWGoGw.cjs.map +1 -0
- package/dist/{wc-LF7NU4LA-DLzVqiA1.cjs → wc-LF7NU4LA-Bz5pTJq5.cjs} +3 -3
- package/dist/{wc-LF7NU4LA-DLzVqiA1.cjs.map → wc-LF7NU4LA-Bz5pTJq5.cjs.map} +1 -1
- package/dist/{wc-LF7NU4LA-BoW08HoQ.mjs → wc-LF7NU4LA-C1zRuin1.mjs} +3 -3
- package/dist/{wc-LF7NU4LA-BoW08HoQ.mjs.map → wc-LF7NU4LA-C1zRuin1.mjs.map} +1 -1
- package/dist/{with-project-scope-CXKYhKdp.mjs → with-project-scope-7Bm9gYir.mjs} +46 -3
- package/dist/with-project-scope-7Bm9gYir.mjs.map +1 -0
- package/dist/{with-project-scope-Chn_m-kG.cjs → with-project-scope-D18zPGEE.cjs} +58 -3
- package/dist/with-project-scope-D18zPGEE.cjs.map +1 -0
- package/dist/{xan-Y6WF3IRG-BBVnthzQ.cjs → xan-Y6WF3IRG-BV1K518F.cjs} +6 -6
- package/dist/{xan-Y6WF3IRG-BBVnthzQ.cjs.map → xan-Y6WF3IRG-BV1K518F.cjs.map} +1 -1
- package/dist/{xan-Y6WF3IRG-BRmYEWtu.mjs → xan-Y6WF3IRG-Cc44_DTM.mjs} +6 -6
- package/dist/{xan-Y6WF3IRG-BRmYEWtu.mjs.map → xan-Y6WF3IRG-Cc44_DTM.mjs.map} +1 -1
- package/dist/{xan-view-HDVKHFC2-BhoMJr7X.cjs → xan-view-HDVKHFC2-DV7rblTJ.cjs} +3 -3
- package/dist/{xan-view-HDVKHFC2-BhoMJr7X.cjs.map → xan-view-HDVKHFC2-DV7rblTJ.cjs.map} +1 -1
- package/dist/{xan-view-HDVKHFC2-U4Q7IJQT.mjs → xan-view-HDVKHFC2-DgGc0G3R.mjs} +3 -3
- package/dist/{xan-view-HDVKHFC2-U4Q7IJQT.mjs.map → xan-view-HDVKHFC2-DgGc0G3R.mjs.map} +1 -1
- package/dist/{xargs-MGZPH7AX-xGYncjHI.cjs → xargs-MGZPH7AX-BBKDagR4.cjs} +2 -2
- package/dist/{xargs-MGZPH7AX-xGYncjHI.cjs.map → xargs-MGZPH7AX-BBKDagR4.cjs.map} +1 -1
- package/dist/{xargs-MGZPH7AX-DCtgUZkv.mjs → xargs-MGZPH7AX-DI6LeEQD.mjs} +2 -2
- package/dist/{xargs-MGZPH7AX-DCtgUZkv.mjs.map → xargs-MGZPH7AX-DI6LeEQD.mjs.map} +1 -1
- package/dist/{yq-4QJW3EQG-J6Z08KkE.mjs → yq-4QJW3EQG-B7bWWIWh.mjs} +3 -3
- package/dist/{yq-4QJW3EQG-J6Z08KkE.mjs.map → yq-4QJW3EQG-B7bWWIWh.mjs.map} +1 -1
- package/dist/{yq-4QJW3EQG-CPbYTaKY.cjs → yq-4QJW3EQG-CnQDxlAc.cjs} +3 -3
- package/dist/{yq-4QJW3EQG-CPbYTaKY.cjs.map → yq-4QJW3EQG-CnQDxlAc.cjs.map} +1 -1
- package/package.json +1 -1
- package/dist/config.cjs.map +0 -1
- package/dist/config.mjs.map +0 -1
- package/dist/dist-BBoSNbv1.mjs.map +0 -1
- package/dist/dist-C-bTIDMw.cjs.map +0 -1
- package/dist/dist-DBqDiQ-O.cjs +0 -8416
- package/dist/dist-DBqDiQ-O.cjs.map +0 -1
- package/dist/dist-Vzd7f_KW.mjs +0 -8351
- package/dist/dist-Vzd7f_KW.mjs.map +0 -1
- package/dist/start-BtqSmIUP.cjs.map +0 -1
- package/dist/start-DMOAi4UM.mjs.map +0 -1
- package/dist/with-project-scope-CXKYhKdp.mjs.map +0 -1
- package/dist/with-project-scope-Chn_m-kG.cjs.map +0 -1
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
let node_crypto = require("node:crypto");
|
|
2
|
+
//#region ../../packages/hosting/dist/runtime-BmfsHLrk.mjs
|
|
3
|
+
/** Builds base64 `KEYSTROKE_ORG_ARTIFACTS` payload for org worker containers. */
|
|
4
|
+
function encodeOrgArtifacts(artifacts) {
|
|
5
|
+
return Buffer.from(JSON.stringify(artifacts)).toString("base64");
|
|
6
|
+
}
|
|
7
|
+
/** Default production platform origin when no env override is set. */
|
|
8
|
+
const DEFAULT_CLOUD_PLATFORM_ORIGIN = "https://api.keystroke.ai";
|
|
9
|
+
/** Reads `PUBLIC_PLATFORM_URL` when explicitly set. */
|
|
10
|
+
function resolveExplicitPublicPlatformOrigin(env = process.env) {
|
|
11
|
+
return env.PUBLIC_PLATFORM_URL?.replace(/\/$/, "") || void 0;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Provider-facing platform origin (OAuth redirect URIs, webhook intake URLs).
|
|
15
|
+
*
|
|
16
|
+
* When the platform runs on localhost but is exposed through an HTTPS tunnel
|
|
17
|
+
* (e.g. cloudflared), set `PUBLIC_PLATFORM_PROXY_URL` to the tunnel origin so external
|
|
18
|
+
* providers get reachable HTTPS URLs while `PUBLIC_PLATFORM_URL` stays on localhost
|
|
19
|
+
* for browser auth/CORS. Requires an explicit platform URL (no localhost fallback).
|
|
20
|
+
*/
|
|
21
|
+
function resolveExternalPlatformOrigin(env = process.env) {
|
|
22
|
+
const proxy = env.PUBLIC_PLATFORM_PROXY_URL?.replace(/\/$/, "");
|
|
23
|
+
if (proxy) return proxy;
|
|
24
|
+
return resolveExplicitPublicPlatformOrigin(env);
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region ../../packages/hosting/dist/wait-for-health-XEzPPQIO.mjs
|
|
28
|
+
const PROJECT_SERVER_PORT = 3e3;
|
|
29
|
+
const PROJECT_SERVER_ROOT = "/app";
|
|
30
|
+
const PROJECT_SERVER_FRAMEWORK_NODE_MODULES = `/opt/keystroke/node_modules`;
|
|
31
|
+
const PROJECT_SERVER_HEALTH = {
|
|
32
|
+
path: "/health",
|
|
33
|
+
port: PROJECT_SERVER_PORT
|
|
34
|
+
};
|
|
35
|
+
const PROJECT_SERVER_DEPLOY_STATUS = {
|
|
36
|
+
path: "/deploy-status",
|
|
37
|
+
port: PROJECT_SERVER_PORT
|
|
38
|
+
};
|
|
39
|
+
var WorkerRuntimeConfigError = class extends Error {
|
|
40
|
+
missing;
|
|
41
|
+
constructor(missing) {
|
|
42
|
+
super(`Worker runtime config incomplete (missing: ${missing.join(", ")}). In production set PLATFORM_WORKER_TOKEN and PUBLIC_PLATFORM_URL (or PLATFORM_URL).`);
|
|
43
|
+
this.name = "WorkerRuntimeConfigError";
|
|
44
|
+
this.missing = missing;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
/** Fail fast when the platform cannot start worker-mode project servers. */
|
|
48
|
+
function resolveWorkerRuntimeConfig(source = process.env) {
|
|
49
|
+
const platformUrl = resolveWorkerPlatformUrl(source);
|
|
50
|
+
const workerToken = resolvePlatformWorkerToken(source);
|
|
51
|
+
const missing = [];
|
|
52
|
+
if (!platformUrl) missing.push("PUBLIC_PLATFORM_URL or PLATFORM_URL");
|
|
53
|
+
if (!workerToken) missing.push("PLATFORM_WORKER_TOKEN");
|
|
54
|
+
if (missing.length > 0) throw new WorkerRuntimeConfigError(missing);
|
|
55
|
+
return {
|
|
56
|
+
platformUrl,
|
|
57
|
+
workerToken
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function sign(secret, organizationId) {
|
|
61
|
+
return (0, node_crypto.createHmac)("sha256", secret).update(`org-worker:${organizationId}`).digest("base64url");
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Per-org worker token: `{organizationId}.{hmac}`. Self-describing so the
|
|
65
|
+
* platform can tell which org a machine is calling as, and stateless — verified
|
|
66
|
+
* by re-signing with the shared `PLATFORM_WORKER_TOKEN` secret.
|
|
67
|
+
*/
|
|
68
|
+
function mintOrgWorkerToken(secret, organizationId) {
|
|
69
|
+
return `${organizationId}.${sign(secret, organizationId)}`;
|
|
70
|
+
}
|
|
71
|
+
function verifyOrgWorkerToken(secret, token) {
|
|
72
|
+
if (!secret || !token) return;
|
|
73
|
+
const separator = token.lastIndexOf(".");
|
|
74
|
+
if (separator <= 0) return;
|
|
75
|
+
const organizationId = token.slice(0, separator);
|
|
76
|
+
const signature = Buffer.from(token.slice(separator + 1));
|
|
77
|
+
const expected = Buffer.from(sign(secret, organizationId));
|
|
78
|
+
if (signature.length !== expected.length || !(0, node_crypto.timingSafeEqual)(signature, expected)) return;
|
|
79
|
+
return { organizationId };
|
|
80
|
+
}
|
|
81
|
+
/** Non-secret runtime config forwarded into org workers. Never include platform secrets. */
|
|
82
|
+
const RUNTIME_ENV_KEYS = [
|
|
83
|
+
"PUBLIC_PLATFORM_URL",
|
|
84
|
+
"PUBLIC_PLATFORM_PROXY_URL",
|
|
85
|
+
"PUBLIC_WEB_URL",
|
|
86
|
+
"UPSTASH_REDIS_URL",
|
|
87
|
+
"REDIS_URL",
|
|
88
|
+
"KEYSTROKE_QUEUE_PREFIX"
|
|
89
|
+
];
|
|
90
|
+
/**
|
|
91
|
+
* Observability ingest config for org workers (PostHog error tracking + crash reports).
|
|
92
|
+
* Ingest tokens only — never forward `POSTHOG_API_KEY` (management) into workers.
|
|
93
|
+
*/
|
|
94
|
+
const OBSERVABILITY_ENV_KEYS = [
|
|
95
|
+
"POSTHOG_PROJECT_TOKEN",
|
|
96
|
+
"POSTHOG_HOST",
|
|
97
|
+
"POSTHOG_FLUSH_MODE",
|
|
98
|
+
"KEYSTROKE_ENVIRONMENT",
|
|
99
|
+
"KEYSTROKE_RELEASE"
|
|
100
|
+
];
|
|
101
|
+
/** Env keys that must never be forwarded into untrusted org workers. */
|
|
102
|
+
const FORBIDDEN_WORKER_ENV_KEYS = [
|
|
103
|
+
"BETTER_AUTH_SECRET",
|
|
104
|
+
"DATABASE_URL",
|
|
105
|
+
"POSTHOG_API_KEY",
|
|
106
|
+
"POSTGRES_PASSWORD",
|
|
107
|
+
"PLATFORM_WORKER_TOKEN",
|
|
108
|
+
"STRIPE_SECRET_KEY",
|
|
109
|
+
"CREDENTIAL_ENCRYPTION_KEY"
|
|
110
|
+
];
|
|
111
|
+
/** Provider and gateway env forwarded from the platform into project servers. */
|
|
112
|
+
const PROVIDER_ENV_KEYS = [
|
|
113
|
+
"ANTHROPIC_API_KEY",
|
|
114
|
+
"OPENAI_API_KEY",
|
|
115
|
+
"AI_GATEWAY_API_KEY",
|
|
116
|
+
"AI_GATEWAY_BASE_URL"
|
|
117
|
+
];
|
|
118
|
+
/** Shared dev token when `PLATFORM_WORKER_TOKEN` is unset (non-production only). */
|
|
119
|
+
const DEV_PLATFORM_WORKER_TOKEN = "dev-platform-worker-token";
|
|
120
|
+
/**
|
|
121
|
+
* Builds the launch spec for an org worker. Each deploy artifact is encoded in
|
|
122
|
+
* `KEYSTROKE_ORG_ARTIFACTS` — there is no base image, so at least one artifact is required.
|
|
123
|
+
*/
|
|
124
|
+
function resolveRuntimeLaunch(options, artifacts, database, extraEnv) {
|
|
125
|
+
if (artifacts.length === 0) throw new Error("Cannot start an org worker without at least one artifact");
|
|
126
|
+
const env = options.env ?? process.env;
|
|
127
|
+
return {
|
|
128
|
+
image: resolveProjectServerImage(env, options.image),
|
|
129
|
+
env: buildRuntimeEnv(env, artifacts, database, extraEnv),
|
|
130
|
+
port: PROJECT_SERVER_PORT,
|
|
131
|
+
health: PROJECT_SERVER_HEALTH
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
/** Env vars passed into the org worker container/machine. */
|
|
135
|
+
function buildRuntimeEnv(source, artifacts, database, extraEnv) {
|
|
136
|
+
const entries = new Map([
|
|
137
|
+
["PORT", String(PROJECT_SERVER_PORT)],
|
|
138
|
+
["KEYSTROKE_ROOT", PROJECT_SERVER_ROOT],
|
|
139
|
+
["KEYSTROKE_RUNTIME_NODE_MODULES", PROJECT_SERVER_FRAMEWORK_NODE_MODULES],
|
|
140
|
+
["KEYSTROKE_ORG_ARTIFACTS", encodeOrgArtifacts(artifacts)],
|
|
141
|
+
["ORGANIZATION_ID", database.organizationId],
|
|
142
|
+
["TENANT_ID", database.organizationId]
|
|
143
|
+
]);
|
|
144
|
+
for (const key of RUNTIME_ENV_KEYS) {
|
|
145
|
+
const value = source[key]?.trim();
|
|
146
|
+
if (!value) continue;
|
|
147
|
+
entries.set(key, value);
|
|
148
|
+
}
|
|
149
|
+
for (const key of OBSERVABILITY_ENV_KEYS) {
|
|
150
|
+
const value = source[key]?.trim();
|
|
151
|
+
if (!value) continue;
|
|
152
|
+
entries.set(key, value);
|
|
153
|
+
}
|
|
154
|
+
if (!extraEnv) for (const key of PROVIDER_ENV_KEYS) {
|
|
155
|
+
const value = source[key]?.trim();
|
|
156
|
+
if (value) entries.set(key, value);
|
|
157
|
+
}
|
|
158
|
+
const worker = resolveWorkerRuntimeConfig(source);
|
|
159
|
+
entries.set("PLATFORM_URL", worker.platformUrl);
|
|
160
|
+
entries.set("WORKER_INTERNAL_TOKEN", mintOrgWorkerToken(worker.workerToken, database.organizationId));
|
|
161
|
+
if (extraEnv) for (const [key, value] of Object.entries(extraEnv)) entries.set(key, value);
|
|
162
|
+
for (const key of FORBIDDEN_WORKER_ENV_KEYS) entries.delete(key);
|
|
163
|
+
return Object.fromEntries(entries);
|
|
164
|
+
}
|
|
165
|
+
function resolvePlatformWorkerToken(source = process.env) {
|
|
166
|
+
const explicit = source.PLATFORM_WORKER_TOKEN?.trim() ?? source.WORKER_INTERNAL_TOKEN?.trim();
|
|
167
|
+
if (explicit) return explicit;
|
|
168
|
+
if (source.NODE_ENV === "production") return;
|
|
169
|
+
return DEV_PLATFORM_WORKER_TOKEN;
|
|
170
|
+
}
|
|
171
|
+
/** Platform API URL reachable from a project-server container. */
|
|
172
|
+
function resolveWorkerPlatformUrl(source = process.env) {
|
|
173
|
+
const raw = source.PLATFORM_URL?.trim() ?? resolveExplicitPublicPlatformOrigin(source) ?? (source.NODE_ENV === "production" ? void 0 : "http://localhost:3002");
|
|
174
|
+
if (!raw) return;
|
|
175
|
+
return rewriteLoopbackUrl(raw);
|
|
176
|
+
}
|
|
177
|
+
/** Rewrite loopback hosts so containers can reach Postgres and other host services. */
|
|
178
|
+
function rewriteLoopbackHost(host) {
|
|
179
|
+
if (host === "localhost" || host === "127.0.0.1") return "host.docker.internal";
|
|
180
|
+
return host;
|
|
181
|
+
}
|
|
182
|
+
function rewriteLoopbackUrl(url) {
|
|
183
|
+
try {
|
|
184
|
+
const parsed = new URL(url);
|
|
185
|
+
parsed.hostname = rewriteLoopbackHost(parsed.hostname);
|
|
186
|
+
return parsed.toString().replace(/\/$/, "");
|
|
187
|
+
} catch {
|
|
188
|
+
return url;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
/** dockerode expects `KEY=value` strings. */
|
|
192
|
+
function formatDockerEnv(env) {
|
|
193
|
+
return Object.entries(env).map(([key, value]) => `${key}=${value}`);
|
|
194
|
+
}
|
|
195
|
+
function resolveProjectServerImage(env = process.env, override) {
|
|
196
|
+
return override ?? env.PROJECT_DOCKER_IMAGE ?? env.TENANT_DOCKER_IMAGE ?? "keystroke/project-server:local";
|
|
197
|
+
}
|
|
198
|
+
const DEFAULT_TIMEOUT_MS = 12e4;
|
|
199
|
+
const DEFAULT_INTERVAL_MS = 500;
|
|
200
|
+
async function waitForHealth(baseUrl, options = {}) {
|
|
201
|
+
const fetchImpl = options.fetchImpl ?? fetch;
|
|
202
|
+
const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
203
|
+
const intervalMs = options.intervalMs ?? DEFAULT_INTERVAL_MS;
|
|
204
|
+
const deadline = Date.now() + timeoutMs;
|
|
205
|
+
const url = new URL(PROJECT_SERVER_HEALTH.path, baseUrl);
|
|
206
|
+
while (Date.now() < deadline) {
|
|
207
|
+
try {
|
|
208
|
+
if ((await fetchImpl(url, { signal: AbortSignal.timeout(2e3) })).ok) return;
|
|
209
|
+
} catch {}
|
|
210
|
+
await sleep(intervalMs);
|
|
211
|
+
}
|
|
212
|
+
throw new Error(`Project server health check timed out after ${timeoutMs}ms (${url})`);
|
|
213
|
+
}
|
|
214
|
+
function sleep(ms) {
|
|
215
|
+
return new Promise((resolve) => {
|
|
216
|
+
setTimeout(resolve, ms);
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
//#endregion
|
|
220
|
+
Object.defineProperty(exports, "DEFAULT_CLOUD_PLATFORM_ORIGIN", {
|
|
221
|
+
enumerable: true,
|
|
222
|
+
get: function() {
|
|
223
|
+
return DEFAULT_CLOUD_PLATFORM_ORIGIN;
|
|
224
|
+
}
|
|
225
|
+
});
|
|
226
|
+
Object.defineProperty(exports, "PROJECT_SERVER_DEPLOY_STATUS", {
|
|
227
|
+
enumerable: true,
|
|
228
|
+
get: function() {
|
|
229
|
+
return PROJECT_SERVER_DEPLOY_STATUS;
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
Object.defineProperty(exports, "PROJECT_SERVER_HEALTH", {
|
|
233
|
+
enumerable: true,
|
|
234
|
+
get: function() {
|
|
235
|
+
return PROJECT_SERVER_HEALTH;
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
Object.defineProperty(exports, "formatDockerEnv", {
|
|
239
|
+
enumerable: true,
|
|
240
|
+
get: function() {
|
|
241
|
+
return formatDockerEnv;
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
Object.defineProperty(exports, "mintOrgWorkerToken", {
|
|
245
|
+
enumerable: true,
|
|
246
|
+
get: function() {
|
|
247
|
+
return mintOrgWorkerToken;
|
|
248
|
+
}
|
|
249
|
+
});
|
|
250
|
+
Object.defineProperty(exports, "resolveExternalPlatformOrigin", {
|
|
251
|
+
enumerable: true,
|
|
252
|
+
get: function() {
|
|
253
|
+
return resolveExternalPlatformOrigin;
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
Object.defineProperty(exports, "resolveRuntimeLaunch", {
|
|
257
|
+
enumerable: true,
|
|
258
|
+
get: function() {
|
|
259
|
+
return resolveRuntimeLaunch;
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
Object.defineProperty(exports, "resolveWorkerRuntimeConfig", {
|
|
263
|
+
enumerable: true,
|
|
264
|
+
get: function() {
|
|
265
|
+
return resolveWorkerRuntimeConfig;
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
Object.defineProperty(exports, "verifyOrgWorkerToken", {
|
|
269
|
+
enumerable: true,
|
|
270
|
+
get: function() {
|
|
271
|
+
return verifyOrgWorkerToken;
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
Object.defineProperty(exports, "waitForHealth", {
|
|
275
|
+
enumerable: true,
|
|
276
|
+
get: function() {
|
|
277
|
+
return waitForHealth;
|
|
278
|
+
}
|
|
279
|
+
});
|
|
280
|
+
|
|
281
|
+
//# sourceMappingURL=wait-for-health-XEzPPQIO-CzLWGoGw.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait-for-health-XEzPPQIO-CzLWGoGw.cjs","names":[],"sources":["../../../packages/hosting/dist/runtime-BmfsHLrk.mjs","../../../packages/shared/dist/platform-origin.mjs","../../../packages/hosting/dist/wait-for-health-XEzPPQIO.mjs"],"sourcesContent":["//#region src/runtime.ts\n/** Builds base64 `KEYSTROKE_ORG_ARTIFACTS` payload for org worker containers. */\nfunction encodeOrgArtifacts(artifacts) {\n\treturn Buffer.from(JSON.stringify(artifacts)).toString(\"base64\");\n}\nfunction parseOrgArtifactsFromEnv(env = process.env) {\n\tconst raw = env.KEYSTROKE_ORG_ARTIFACTS?.trim();\n\tif (!raw) return;\n\tconst parsed = JSON.parse(Buffer.from(raw, \"base64\").toString(\"utf8\"));\n\tif (!Array.isArray(parsed)) throw new Error(\"KEYSTROKE_ORG_ARTIFACTS must decode to a JSON array\");\n\treturn parsed.map((entry) => {\n\t\tif (!entry || typeof entry !== \"object\" || typeof entry.projectId !== \"string\" || typeof entry.artifactStorageKey !== \"string\" || typeof entry.artifactId !== \"string\" || typeof entry.artifactVersion !== \"number\") throw new Error(\"KEYSTROKE_ORG_ARTIFACTS entries require projectId, artifactStorageKey, artifactId, and artifactVersion\");\n\t\treturn entry;\n\t});\n}\n//#endregion\nexport { parseOrgArtifactsFromEnv as n, encodeOrgArtifacts as t };\n\n//# sourceMappingURL=runtime-BmfsHLrk.mjs.map","//#region src/platform-origin.ts\nconst LOCAL_PLATFORM_ORIGIN = \"http://localhost:3002\";\n/** Default production platform origin when no env override is set. */\nconst DEFAULT_CLOUD_PLATFORM_ORIGIN = \"https://api.keystroke.ai\";\n/** Reads `PUBLIC_PLATFORM_URL` when explicitly set. */\nfunction resolveExplicitPublicPlatformOrigin(env = process.env) {\n\treturn env.PUBLIC_PLATFORM_URL?.replace(/\\/$/, \"\") || void 0;\n}\n/** `PUBLIC_PLATFORM_URL` origin; falls back to {@link LOCAL_PLATFORM_ORIGIN} when unset. */\nfunction resolvePublicPlatformOrigin(env = process.env) {\n\treturn resolveExplicitPublicPlatformOrigin(env) ?? \"http://localhost:3002\";\n}\n/**\n* Provider-facing platform origin (OAuth redirect URIs, webhook intake URLs).\n*\n* When the platform runs on localhost but is exposed through an HTTPS tunnel\n* (e.g. cloudflared), set `PUBLIC_PLATFORM_PROXY_URL` to the tunnel origin so external\n* providers get reachable HTTPS URLs while `PUBLIC_PLATFORM_URL` stays on localhost\n* for browser auth/CORS. Requires an explicit platform URL (no localhost fallback).\n*/\nfunction resolveExternalPlatformOrigin(env = process.env) {\n\tconst proxy = env.PUBLIC_PLATFORM_PROXY_URL?.replace(/\\/$/, \"\");\n\tif (proxy) return proxy;\n\treturn resolveExplicitPublicPlatformOrigin(env);\n}\n/** Platform API origin: `<platform>/api`. */\nfunction resolvePublicPlatformApiOrigin(env = process.env) {\n\tconst platform = resolveExternalPlatformOrigin(env);\n\tif (!platform) return;\n\treturn `${platform}/api`;\n}\n/** Webhook intake origin for a project: `<platform>/api/projects/<id>`. */\nfunction resolvePlatformWebhookOrigin(projectId, env = process.env) {\n\tconst platform = resolveExternalPlatformOrigin(env);\n\tif (!platform) return;\n\treturn `${platform}/api/projects/${encodeURIComponent(projectId)}`;\n}\n/**\n* Platform origin injected into MCP workspace CLI environments (`KEYSTROKE_PLATFORM_URL`).\n* Prefers the tunnel/proxy URL so remote workspaces can reach a local dev platform.\n*/\nfunction resolveMcpPlatformUrl(env = process.env) {\n\tconst external = resolveExternalPlatformOrigin(env);\n\tif (external) return external;\n\tconst platform = env.PLATFORM_URL?.trim().replace(/\\/+$/, \"\");\n\tif (platform) return platform;\n\treturn DEFAULT_CLOUD_PLATFORM_ORIGIN;\n}\n//#endregion\nexport { DEFAULT_CLOUD_PLATFORM_ORIGIN, LOCAL_PLATFORM_ORIGIN, resolveExplicitPublicPlatformOrigin, resolveExternalPlatformOrigin, resolveMcpPlatformUrl, resolvePlatformWebhookOrigin, resolvePublicPlatformApiOrigin, resolvePublicPlatformOrigin };\n\n//# sourceMappingURL=platform-origin.mjs.map","import { t as encodeOrgArtifacts } from \"./runtime-BmfsHLrk.mjs\";\nimport { LOCAL_PLATFORM_ORIGIN, resolveExplicitPublicPlatformOrigin } from \"@keystrokehq/shared/platform-origin\";\nimport { createHmac, timingSafeEqual } from \"node:crypto\";\n//#region src/constants.ts\nconst PROJECT_SERVER_IMAGE = \"keystroke/project-server:local\";\nconst PROJECT_SERVER_PORT = 3e3;\nconst PROJECT_SERVER_ROOT = \"/app\";\nconst PROJECT_SERVER_FRAMEWORK_ROOT = \"/opt/keystroke\";\nconst PROJECT_SERVER_FRAMEWORK_NODE_MODULES = `${PROJECT_SERVER_FRAMEWORK_ROOT}/node_modules`;\nconst PROJECT_SERVER_HEALTH = {\n\tpath: \"/health\",\n\tport: PROJECT_SERVER_PORT\n};\nconst PROJECT_SERVER_DEPLOY_STATUS = {\n\tpath: \"/deploy-status\",\n\tport: PROJECT_SERVER_PORT\n};\n//#endregion\n//#region src/worker-runtime-config.ts\nvar WorkerRuntimeConfigError = class extends Error {\n\tmissing;\n\tconstructor(missing) {\n\t\tsuper(`Worker runtime config incomplete (missing: ${missing.join(\", \")}). In production set PLATFORM_WORKER_TOKEN and PUBLIC_PLATFORM_URL (or PLATFORM_URL).`);\n\t\tthis.name = \"WorkerRuntimeConfigError\";\n\t\tthis.missing = missing;\n\t}\n};\n/** Fail fast when the platform cannot start worker-mode project servers. */\nfunction resolveWorkerRuntimeConfig(source = process.env) {\n\tconst platformUrl = resolveWorkerPlatformUrl(source);\n\tconst workerToken = resolvePlatformWorkerToken(source);\n\tconst missing = [];\n\tif (!platformUrl) missing.push(\"PUBLIC_PLATFORM_URL or PLATFORM_URL\");\n\tif (!workerToken) missing.push(\"PLATFORM_WORKER_TOKEN\");\n\tif (missing.length > 0) throw new WorkerRuntimeConfigError(missing);\n\treturn {\n\t\tplatformUrl,\n\t\tworkerToken\n\t};\n}\n//#endregion\n//#region src/org-worker-token.ts\nfunction sign(secret, organizationId) {\n\treturn createHmac(\"sha256\", secret).update(`org-worker:${organizationId}`).digest(\"base64url\");\n}\n/**\n* Per-org worker token: `{organizationId}.{hmac}`. Self-describing so the\n* platform can tell which org a machine is calling as, and stateless — verified\n* by re-signing with the shared `PLATFORM_WORKER_TOKEN` secret.\n*/\nfunction mintOrgWorkerToken(secret, organizationId) {\n\treturn `${organizationId}.${sign(secret, organizationId)}`;\n}\nfunction verifyOrgWorkerToken(secret, token) {\n\tif (!secret || !token) return;\n\tconst separator = token.lastIndexOf(\".\");\n\tif (separator <= 0) return;\n\tconst organizationId = token.slice(0, separator);\n\tconst signature = Buffer.from(token.slice(separator + 1));\n\tconst expected = Buffer.from(sign(secret, organizationId));\n\tif (signature.length !== expected.length || !timingSafeEqual(signature, expected)) return;\n\treturn { organizationId };\n}\n//#endregion\n//#region src/runtime-env.ts\n/** Non-secret runtime config forwarded into org workers. Never include platform secrets. */\nconst RUNTIME_ENV_KEYS = [\n\t\"PUBLIC_PLATFORM_URL\",\n\t\"PUBLIC_PLATFORM_PROXY_URL\",\n\t\"PUBLIC_WEB_URL\",\n\t\"UPSTASH_REDIS_URL\",\n\t\"REDIS_URL\",\n\t\"KEYSTROKE_QUEUE_PREFIX\"\n];\n/**\n* Observability ingest config for org workers (PostHog error tracking + crash reports).\n* Ingest tokens only — never forward `POSTHOG_API_KEY` (management) into workers.\n*/\nconst OBSERVABILITY_ENV_KEYS = [\n\t\"POSTHOG_PROJECT_TOKEN\",\n\t\"POSTHOG_HOST\",\n\t\"POSTHOG_FLUSH_MODE\",\n\t\"KEYSTROKE_ENVIRONMENT\",\n\t\"KEYSTROKE_RELEASE\"\n];\n/** Env keys that must never be forwarded into untrusted org workers. */\nconst FORBIDDEN_WORKER_ENV_KEYS = [\n\t\"BETTER_AUTH_SECRET\",\n\t\"DATABASE_URL\",\n\t\"POSTHOG_API_KEY\",\n\t\"POSTGRES_PASSWORD\",\n\t\"PLATFORM_WORKER_TOKEN\",\n\t\"STRIPE_SECRET_KEY\",\n\t\"CREDENTIAL_ENCRYPTION_KEY\"\n];\n/** Provider and gateway env forwarded from the platform into project servers. */\nconst PROVIDER_ENV_KEYS = [\n\t\"ANTHROPIC_API_KEY\",\n\t\"OPENAI_API_KEY\",\n\t\"AI_GATEWAY_API_KEY\",\n\t\"AI_GATEWAY_BASE_URL\"\n];\n/** Shared dev token when `PLATFORM_WORKER_TOKEN` is unset (non-production only). */\nconst DEV_PLATFORM_WORKER_TOKEN = \"dev-platform-worker-token\";\n/**\n* Builds the launch spec for an org worker. Each deploy artifact is encoded in\n* `KEYSTROKE_ORG_ARTIFACTS` — there is no base image, so at least one artifact is required.\n*/\nfunction resolveRuntimeLaunch(options, artifacts, database, extraEnv) {\n\tif (artifacts.length === 0) throw new Error(\"Cannot start an org worker without at least one artifact\");\n\tconst env = options.env ?? process.env;\n\treturn {\n\t\timage: resolveProjectServerImage(env, options.image),\n\t\tenv: buildRuntimeEnv(env, artifacts, database, extraEnv),\n\t\tport: PROJECT_SERVER_PORT,\n\t\thealth: PROJECT_SERVER_HEALTH\n\t};\n}\n/** Env vars passed into the org worker container/machine. */\nfunction buildRuntimeEnv(source, artifacts, database, extraEnv) {\n\tconst entries = new Map([\n\t\t[\"PORT\", String(PROJECT_SERVER_PORT)],\n\t\t[\"KEYSTROKE_ROOT\", PROJECT_SERVER_ROOT],\n\t\t[\"KEYSTROKE_RUNTIME_NODE_MODULES\", PROJECT_SERVER_FRAMEWORK_NODE_MODULES],\n\t\t[\"KEYSTROKE_ORG_ARTIFACTS\", encodeOrgArtifacts(artifacts)],\n\t\t[\"ORGANIZATION_ID\", database.organizationId],\n\t\t[\"TENANT_ID\", database.organizationId]\n\t]);\n\tfor (const key of RUNTIME_ENV_KEYS) {\n\t\tconst value = source[key]?.trim();\n\t\tif (!value) continue;\n\t\tentries.set(key, value);\n\t}\n\tfor (const key of OBSERVABILITY_ENV_KEYS) {\n\t\tconst value = source[key]?.trim();\n\t\tif (!value) continue;\n\t\tentries.set(key, value);\n\t}\n\tif (!extraEnv) for (const key of PROVIDER_ENV_KEYS) {\n\t\tconst value = source[key]?.trim();\n\t\tif (value) entries.set(key, value);\n\t}\n\tconst worker = resolveWorkerRuntimeConfig(source);\n\tentries.set(\"PLATFORM_URL\", worker.platformUrl);\n\tentries.set(\"WORKER_INTERNAL_TOKEN\", mintOrgWorkerToken(worker.workerToken, database.organizationId));\n\tif (extraEnv) for (const [key, value] of Object.entries(extraEnv)) entries.set(key, value);\n\tfor (const key of FORBIDDEN_WORKER_ENV_KEYS) entries.delete(key);\n\treturn Object.fromEntries(entries);\n}\nfunction resolvePlatformWorkerToken(source = process.env) {\n\tconst explicit = source.PLATFORM_WORKER_TOKEN?.trim() ?? source.WORKER_INTERNAL_TOKEN?.trim();\n\tif (explicit) return explicit;\n\tif (source.NODE_ENV === \"production\") return;\n\treturn DEV_PLATFORM_WORKER_TOKEN;\n}\n/** Platform API URL reachable from a project-server container. */\nfunction resolveWorkerPlatformUrl(source = process.env) {\n\tconst raw = source.PLATFORM_URL?.trim() ?? resolveExplicitPublicPlatformOrigin(source) ?? (source.NODE_ENV === \"production\" ? void 0 : LOCAL_PLATFORM_ORIGIN);\n\tif (!raw) return;\n\treturn rewriteLoopbackUrl(raw);\n}\n/** Rewrite loopback hosts so containers can reach Postgres and other host services. */\nfunction rewriteLoopbackHost(host) {\n\tif (host === \"localhost\" || host === \"127.0.0.1\") return \"host.docker.internal\";\n\treturn host;\n}\nfunction rewriteLoopbackUrl(url) {\n\ttry {\n\t\tconst parsed = new URL(url);\n\t\tparsed.hostname = rewriteLoopbackHost(parsed.hostname);\n\t\treturn parsed.toString().replace(/\\/$/, \"\");\n\t} catch {\n\t\treturn url;\n\t}\n}\n/** dockerode expects `KEY=value` strings. */\nfunction formatDockerEnv(env) {\n\treturn Object.entries(env).map(([key, value]) => `${key}=${value}`);\n}\nfunction resolveProjectServerImage(env = process.env, override) {\n\treturn override ?? env.PROJECT_DOCKER_IMAGE ?? env.TENANT_DOCKER_IMAGE ?? \"keystroke/project-server:local\";\n}\n//#endregion\n//#region src/wait-for-health.ts\nconst DEFAULT_TIMEOUT_MS = 12e4;\nconst DEFAULT_INTERVAL_MS = 500;\nasync function waitForHealth(baseUrl, options = {}) {\n\tconst fetchImpl = options.fetchImpl ?? fetch;\n\tconst timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;\n\tconst intervalMs = options.intervalMs ?? DEFAULT_INTERVAL_MS;\n\tconst deadline = Date.now() + timeoutMs;\n\tconst url = new URL(PROJECT_SERVER_HEALTH.path, baseUrl);\n\twhile (Date.now() < deadline) {\n\t\ttry {\n\t\t\tif ((await fetchImpl(url, { signal: AbortSignal.timeout(2e3) })).ok) return;\n\t\t} catch {}\n\t\tawait sleep(intervalMs);\n\t}\n\tthrow new Error(`Project server health check timed out after ${timeoutMs}ms (${url})`);\n}\nfunction sleep(ms) {\n\treturn new Promise((resolve) => {\n\t\tsetTimeout(resolve, ms);\n\t});\n}\n//#endregion\nexport { PROJECT_SERVER_ROOT as S, PROJECT_SERVER_FRAMEWORK_NODE_MODULES as _, formatDockerEnv as a, PROJECT_SERVER_IMAGE as b, resolveRuntimeLaunch as c, rewriteLoopbackUrl as d, mintOrgWorkerToken as f, PROJECT_SERVER_DEPLOY_STATUS as g, resolveWorkerRuntimeConfig as h, buildRuntimeEnv as i, resolveWorkerPlatformUrl as l, WorkerRuntimeConfigError as m, DEV_PLATFORM_WORKER_TOKEN as n, resolvePlatformWorkerToken as o, verifyOrgWorkerToken as p, FORBIDDEN_WORKER_ENV_KEYS as r, resolveProjectServerImage as s, waitForHealth as t, rewriteLoopbackHost as u, PROJECT_SERVER_FRAMEWORK_ROOT as v, PROJECT_SERVER_PORT as x, PROJECT_SERVER_HEALTH as y };\n\n//# sourceMappingURL=wait-for-health-XEzPPQIO.mjs.map"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const require_start = require("./start-
|
|
1
|
+
const require_start = require("./start-CRsvMO8Z.cjs");
|
|
2
2
|
require("./chunk-BZUGFHVS-7RRM7Jpb.cjs");
|
|
3
3
|
const require_chunk_QAYAQNCG = require("./chunk-QAYAQNCG-ROQh1hrZ.cjs");
|
|
4
4
|
const require_chunk_QIQMJJZ4 = require("./chunk-QIQMJJZ4-Cm4e9-4O.cjs");
|
|
5
|
-
const require_chunk_YCLFEX4T = require("./chunk-YCLFEX4T-
|
|
5
|
+
const require_chunk_YCLFEX4T = require("./chunk-YCLFEX4T-B3UMBJ0M.cjs");
|
|
6
6
|
let node_module = require("node:module");
|
|
7
7
|
//#region ../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/chunk-VLCHOJWK.js
|
|
8
8
|
(0, node_module.createRequire)(require("url").pathToFileURL(__filename).href);
|
|
@@ -106,4 +106,4 @@ function x(a, f, s, o, n, l) {
|
|
|
106
106
|
//#endregion
|
|
107
107
|
exports.wcCommand = N;
|
|
108
108
|
|
|
109
|
-
//# sourceMappingURL=wc-LF7NU4LA-
|
|
109
|
+
//# sourceMappingURL=wc-LF7NU4LA-Bz5pTJq5.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wc-LF7NU4LA-
|
|
1
|
+
{"version":3,"file":"wc-LF7NU4LA-Bz5pTJq5.cjs","names":["F","S","s","M","o","T","w","b"],"sources":["../../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/chunk-VLCHOJWK.js","../../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/wc-LF7NU4LA.js"],"sourcesContent":["import{createRequire} from\"node:module\";const require=createRequire(import.meta.url);\nimport{a as T}from\"./chunk-YCLFEX4T.js\";import{c as b}from\"./chunk-NRSASXYY.js\";import{a as M}from\"./chunk-QIQMJJZ4.js\";import{a as S,b as F}from\"./chunk-QAYAQNCG.js\";var H={name:\"wc\",summary:\"print newline, word, and byte counts for each file\",usage:\"wc [OPTION]... [FILE]...\",options:[\"-c, --bytes print the byte counts\",\"-m, --chars print the character counts\",\"-l, --lines print the newline counts\",\"-w, --words print the word counts\",\" --help display this help and exit\"]},O={lines:{short:\"l\",long:\"lines\",type:\"boolean\"},words:{short:\"w\",long:\"words\",type:\"boolean\"},bytes:{short:\"c\",long:\"bytes\",type:\"boolean\"},chars:{short:\"m\",long:\"chars\",type:\"boolean\"}},N={name:\"wc\",async execute(a,f){if(F(a))return S(H);let s=M(\"wc\",a,O);if(!s.ok)return s.error;let{lines:o,words:n}=s.result.flags,l=s.result.flags.bytes,e=s.result.flags.chars,t=s.result.positional;!o&&!n&&!l&&!e&&(o=n=l=!0);let c=l||e,i=await T(f,t,{cmdName:\"wc\",stopOnError:!1});if(t.length===0){let r=C(i.files[0].content,e);return{stdout:`${x(r,o,n,c,\"\",0)}\n`,stderr:\"\",exitCode:0}}let d=[],m=0,g=0,u=0;for(let{filename:r,content:y}of i.files){let p=C(y,e);m+=p.lines,g+=p.words,u+=p.third,d.push({filename:r,stats:p})}let L=t.length>1?m:Math.max(...d.map(r=>r.stats.lines)),$=t.length>1?g:Math.max(...d.map(r=>r.stats.words)),B=t.length>1?u:Math.max(...d.map(r=>r.stats.third)),h=t.length>1?3:0;o&&(h=Math.max(h,String(L).length)),n&&(h=Math.max(h,String($).length)),c&&(h=Math.max(h,String(B).length));let w=\"\";for(let{filename:r,stats:y}of d)w+=`${x(y,o,n,c,r,h)}\n`;return t.length>1&&(w+=`${x({lines:m,words:g,third:u},o,n,c,\"total\",h)}\n`),{stdout:w,stderr:i.stderr,exitCode:i.exitCode}}};function C(a,f){let s=a,o=s.length,n=f?Array.from(b(a)).length:o,l=0,e=0,t=!1;for(let c=0;c<o;c++){let i=s[c];i===`\n`?(l++,t&&(e++,t=!1)):i===\" \"||i===\"\t\"||i===\"\\r\"?t&&(e++,t=!1):t=!0}return t&&e++,{lines:l,words:e,third:n}}function x(a,f,s,o,n,l){let e=[];f&&e.push(String(a.lines).padStart(l)),s&&e.push(String(a.words).padStart(l)),o&&e.push(String(a.third).padStart(l));let t=e.join(\" \");return n&&(t+=` ${n}`),t}var j={name:\"wc\",flags:[{flag:\"-l\",type:\"boolean\"},{flag:\"-w\",type:\"boolean\"},{flag:\"-c\",type:\"boolean\"},{flag:\"-m\",type:\"boolean\"}],stdinType:\"text\",needsFiles:!0};export{N as a,j as b};\n","import{createRequire} from\"node:module\";const require=createRequire(import.meta.url);\nimport{a,b}from\"./chunk-VLCHOJWK.js\";import\"./chunk-YCLFEX4T.js\";import\"./chunk-NRSASXYY.js\";import\"./chunk-STHBFACM.js\";import\"./chunk-QIQMJJZ4.js\";import\"./chunk-QAYAQNCG.js\";import\"./chunk-BZUGFHVS.js\";export{b as flagsForFuzzing,a as wcCommand};\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { s as x$1 } from "./start-
|
|
1
|
+
import { s as x$1 } from "./start-R2WutaaN.mjs";
|
|
2
2
|
import "./chunk-BZUGFHVS-B2NchobP.mjs";
|
|
3
3
|
import { r as s, t as o } from "./chunk-QAYAQNCG-B1r1SmqS.mjs";
|
|
4
4
|
import { t as x$2 } from "./chunk-QIQMJJZ4-Dn8UfvJ9.mjs";
|
|
5
|
-
import { n as w } from "./chunk-YCLFEX4T-
|
|
5
|
+
import { n as w } from "./chunk-YCLFEX4T-DL82L8qX.mjs";
|
|
6
6
|
import { createRequire } from "node:module";
|
|
7
7
|
//#region ../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/chunk-VLCHOJWK.js
|
|
8
8
|
createRequire(import.meta.url);
|
|
@@ -106,4 +106,4 @@ createRequire(import.meta.url);
|
|
|
106
106
|
//#endregion
|
|
107
107
|
export { N as wcCommand };
|
|
108
108
|
|
|
109
|
-
//# sourceMappingURL=wc-LF7NU4LA-
|
|
109
|
+
//# sourceMappingURL=wc-LF7NU4LA-C1zRuin1.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wc-LF7NU4LA-
|
|
1
|
+
{"version":3,"file":"wc-LF7NU4LA-C1zRuin1.mjs","names":["F","S","s","M","o","T","w","b"],"sources":["../../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/chunk-VLCHOJWK.js","../../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/wc-LF7NU4LA.js"],"sourcesContent":["import{createRequire} from\"node:module\";const require=createRequire(import.meta.url);\nimport{a as T}from\"./chunk-YCLFEX4T.js\";import{c as b}from\"./chunk-NRSASXYY.js\";import{a as M}from\"./chunk-QIQMJJZ4.js\";import{a as S,b as F}from\"./chunk-QAYAQNCG.js\";var H={name:\"wc\",summary:\"print newline, word, and byte counts for each file\",usage:\"wc [OPTION]... [FILE]...\",options:[\"-c, --bytes print the byte counts\",\"-m, --chars print the character counts\",\"-l, --lines print the newline counts\",\"-w, --words print the word counts\",\" --help display this help and exit\"]},O={lines:{short:\"l\",long:\"lines\",type:\"boolean\"},words:{short:\"w\",long:\"words\",type:\"boolean\"},bytes:{short:\"c\",long:\"bytes\",type:\"boolean\"},chars:{short:\"m\",long:\"chars\",type:\"boolean\"}},N={name:\"wc\",async execute(a,f){if(F(a))return S(H);let s=M(\"wc\",a,O);if(!s.ok)return s.error;let{lines:o,words:n}=s.result.flags,l=s.result.flags.bytes,e=s.result.flags.chars,t=s.result.positional;!o&&!n&&!l&&!e&&(o=n=l=!0);let c=l||e,i=await T(f,t,{cmdName:\"wc\",stopOnError:!1});if(t.length===0){let r=C(i.files[0].content,e);return{stdout:`${x(r,o,n,c,\"\",0)}\n`,stderr:\"\",exitCode:0}}let d=[],m=0,g=0,u=0;for(let{filename:r,content:y}of i.files){let p=C(y,e);m+=p.lines,g+=p.words,u+=p.third,d.push({filename:r,stats:p})}let L=t.length>1?m:Math.max(...d.map(r=>r.stats.lines)),$=t.length>1?g:Math.max(...d.map(r=>r.stats.words)),B=t.length>1?u:Math.max(...d.map(r=>r.stats.third)),h=t.length>1?3:0;o&&(h=Math.max(h,String(L).length)),n&&(h=Math.max(h,String($).length)),c&&(h=Math.max(h,String(B).length));let w=\"\";for(let{filename:r,stats:y}of d)w+=`${x(y,o,n,c,r,h)}\n`;return t.length>1&&(w+=`${x({lines:m,words:g,third:u},o,n,c,\"total\",h)}\n`),{stdout:w,stderr:i.stderr,exitCode:i.exitCode}}};function C(a,f){let s=a,o=s.length,n=f?Array.from(b(a)).length:o,l=0,e=0,t=!1;for(let c=0;c<o;c++){let i=s[c];i===`\n`?(l++,t&&(e++,t=!1)):i===\" \"||i===\"\t\"||i===\"\\r\"?t&&(e++,t=!1):t=!0}return t&&e++,{lines:l,words:e,third:n}}function x(a,f,s,o,n,l){let e=[];f&&e.push(String(a.lines).padStart(l)),s&&e.push(String(a.words).padStart(l)),o&&e.push(String(a.third).padStart(l));let t=e.join(\" \");return n&&(t+=` ${n}`),t}var j={name:\"wc\",flags:[{flag:\"-l\",type:\"boolean\"},{flag:\"-w\",type:\"boolean\"},{flag:\"-c\",type:\"boolean\"},{flag:\"-m\",type:\"boolean\"}],stdinType:\"text\",needsFiles:!0};export{N as a,j as b};\n","import{createRequire} from\"node:module\";const require=createRequire(import.meta.url);\nimport{a,b}from\"./chunk-VLCHOJWK.js\";import\"./chunk-YCLFEX4T.js\";import\"./chunk-NRSASXYY.js\";import\"./chunk-STHBFACM.js\";import\"./chunk-QIQMJJZ4.js\";import\"./chunk-QAYAQNCG.js\";import\"./chunk-BZUGFHVS.js\";export{b as flagsForFuzzing,a as wcCommand};\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
|
|
@@ -1,6 +1,49 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as PROJECT_SERVER_HEALTH, s as verifyOrgWorkerToken, t as PROJECT_SERVER_DEPLOY_STATUS } from "./wait-for-health-XEzPPQIO-ColBOzq6.mjs";
|
|
2
2
|
import { runWithProjectDatabase, runWithProjectScope, runWithTenantScope } from "@keystrokehq/database";
|
|
3
3
|
import { resolveOrgProjectDatabaseOptions, runWithOrganizationScope, selectOrganizationById, selectProjectById } from "@keystrokehq/platform-database";
|
|
4
|
+
//#region ../../packages/hosting/dist/index.mjs
|
|
5
|
+
async function pingProject(baseUrl, options = {}) {
|
|
6
|
+
const timeoutMs = options.timeoutMs ?? 15e3;
|
|
7
|
+
const headers = options.plugin?.pingRequestHeaders?.(options.runtimeId ?? null) ?? {};
|
|
8
|
+
try {
|
|
9
|
+
return (await (options.fetchImpl ?? fetch)(new URL(PROJECT_SERVER_HEALTH.path, baseUrl), {
|
|
10
|
+
signal: AbortSignal.timeout(timeoutMs),
|
|
11
|
+
headers
|
|
12
|
+
})).ok;
|
|
13
|
+
} catch {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function canPingProjectTarget(target, plugin) {
|
|
18
|
+
if (plugin?.canPingTarget) return plugin.canPingTarget(target);
|
|
19
|
+
return !!target.baseUrl;
|
|
20
|
+
}
|
|
21
|
+
async function pingProjectTarget(target, options = {}) {
|
|
22
|
+
if (!canPingProjectTarget(target, options.plugin)) return false;
|
|
23
|
+
return pingProject(target.baseUrl, {
|
|
24
|
+
...options,
|
|
25
|
+
runtimeId: target.runtimeId
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Ask a running org machine which projects bootstrapped and which failed.
|
|
30
|
+
* Best-effort: returns undefined on any error so callers can fall back to
|
|
31
|
+
* treating every project as healthy (preserving pre-existing behavior).
|
|
32
|
+
*/
|
|
33
|
+
async function fetchDeployStatus(baseUrl, options = {}) {
|
|
34
|
+
const timeoutMs = options.timeoutMs ?? 15e3;
|
|
35
|
+
try {
|
|
36
|
+
const response = await (options.fetchImpl ?? fetch)(new URL(PROJECT_SERVER_DEPLOY_STATUS.path, baseUrl), { signal: AbortSignal.timeout(timeoutMs) });
|
|
37
|
+
if (!response.ok) return;
|
|
38
|
+
const data = await response.json();
|
|
39
|
+
if (!data || !Array.isArray(data.projects)) return;
|
|
40
|
+
return data;
|
|
41
|
+
} catch (error) {
|
|
42
|
+
console.warn(`[deploy-status] failed to fetch from ${baseUrl}:`, error);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//#endregion
|
|
4
47
|
//#region src/middleware/require-worker-token.ts
|
|
5
48
|
/** Worker auth from Bearer or x-api-key (Anthropic SDK uses the latter). */
|
|
6
49
|
function readWorkerTokenFromRequest(c) {
|
|
@@ -51,6 +94,6 @@ async function withProjectScope(projectId, fn) {
|
|
|
51
94
|
return result;
|
|
52
95
|
}
|
|
53
96
|
//#endregion
|
|
54
|
-
export { workerOrganizationIdFromContext as i, readWorkerTokenFromRequest as n, requireWorkerToken as r, withProjectScope as t };
|
|
97
|
+
export { fetchDeployStatus as a, workerOrganizationIdFromContext as i, readWorkerTokenFromRequest as n, pingProjectTarget as o, requireWorkerToken as r, withProjectScope as t };
|
|
55
98
|
|
|
56
|
-
//# sourceMappingURL=with-project-scope-
|
|
99
|
+
//# sourceMappingURL=with-project-scope-7Bm9gYir.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-project-scope-7Bm9gYir.mjs","names":[],"sources":["../../../packages/hosting/dist/index.mjs","../src/middleware/require-worker-token.ts","../src/routes/internal/with-project-scope.ts"],"sourcesContent":["import { S as PROJECT_SERVER_ROOT, _ as PROJECT_SERVER_FRAMEWORK_NODE_MODULES, a as formatDockerEnv, b as PROJECT_SERVER_IMAGE, c as resolveRuntimeLaunch, d as rewriteLoopbackUrl, f as mintOrgWorkerToken, g as PROJECT_SERVER_DEPLOY_STATUS, h as resolveWorkerRuntimeConfig, i as buildRuntimeEnv, l as resolveWorkerPlatformUrl, m as WorkerRuntimeConfigError, n as DEV_PLATFORM_WORKER_TOKEN, o as resolvePlatformWorkerToken, p as verifyOrgWorkerToken, r as FORBIDDEN_WORKER_ENV_KEYS, s as resolveProjectServerImage, t as waitForHealth, u as rewriteLoopbackHost, v as PROJECT_SERVER_FRAMEWORK_ROOT, x as PROJECT_SERVER_PORT, y as PROJECT_SERVER_HEALTH } from \"./wait-for-health-XEzPPQIO.mjs\";\nimport { n as parseOrgArtifactsFromEnv, t as encodeOrgArtifacts } from \"./runtime-BmfsHLrk.mjs\";\n//#region src/runtime-constants.ts\n/** Timeout for a single project runtime `/health` probe. */\nconst RUNTIME_PING_TIMEOUT_MS = 15e3;\n//#endregion\n//#region src/ping-project.ts\nasync function pingProject(baseUrl, options = {}) {\n\tconst timeoutMs = options.timeoutMs ?? 15e3;\n\tconst headers = options.plugin?.pingRequestHeaders?.(options.runtimeId ?? null) ?? {};\n\ttry {\n\t\treturn (await (options.fetchImpl ?? fetch)(new URL(PROJECT_SERVER_HEALTH.path, baseUrl), {\n\t\t\tsignal: AbortSignal.timeout(timeoutMs),\n\t\t\theaders\n\t\t})).ok;\n\t} catch {\n\t\treturn false;\n\t}\n}\n//#endregion\n//#region src/ping-project-target.ts\nfunction canPingProjectTarget(target, plugin) {\n\tif (plugin?.canPingTarget) return plugin.canPingTarget(target);\n\treturn !!target.baseUrl;\n}\nasync function pingProjectTarget(target, options = {}) {\n\tif (!canPingProjectTarget(target, options.plugin)) return false;\n\treturn pingProject(target.baseUrl, {\n\t\t...options,\n\t\truntimeId: target.runtimeId\n\t});\n}\n//#endregion\n//#region src/deploy-status.ts\n/**\n* Ask a running org machine which projects bootstrapped and which failed.\n* Best-effort: returns undefined on any error so callers can fall back to\n* treating every project as healthy (preserving pre-existing behavior).\n*/\nasync function fetchDeployStatus(baseUrl, options = {}) {\n\tconst timeoutMs = options.timeoutMs ?? 15e3;\n\ttry {\n\t\tconst response = await (options.fetchImpl ?? fetch)(new URL(PROJECT_SERVER_DEPLOY_STATUS.path, baseUrl), { signal: AbortSignal.timeout(timeoutMs) });\n\t\tif (!response.ok) return;\n\t\tconst data = await response.json();\n\t\tif (!data || !Array.isArray(data.projects)) return;\n\t\treturn data;\n\t} catch (error) {\n\t\tconsole.warn(`[deploy-status] failed to fetch from ${baseUrl}:`, error);\n\t\treturn;\n\t}\n}\n//#endregion\nexport { DEV_PLATFORM_WORKER_TOKEN, FORBIDDEN_WORKER_ENV_KEYS, PROJECT_SERVER_DEPLOY_STATUS, PROJECT_SERVER_FRAMEWORK_NODE_MODULES, PROJECT_SERVER_FRAMEWORK_ROOT, PROJECT_SERVER_HEALTH, PROJECT_SERVER_IMAGE, PROJECT_SERVER_PORT, PROJECT_SERVER_ROOT, RUNTIME_PING_TIMEOUT_MS, WorkerRuntimeConfigError, buildRuntimeEnv, canPingProjectTarget, encodeOrgArtifacts, fetchDeployStatus, formatDockerEnv, mintOrgWorkerToken, parseOrgArtifactsFromEnv, pingProject, pingProjectTarget, resolvePlatformWorkerToken, resolveProjectServerImage, resolveRuntimeLaunch, resolveWorkerPlatformUrl, resolveWorkerRuntimeConfig, rewriteLoopbackHost, rewriteLoopbackUrl, verifyOrgWorkerToken, waitForHealth };\n\n//# sourceMappingURL=index.mjs.map","import type { Context, MiddlewareHandler } from \"hono\";\nimport { verifyOrgWorkerToken } from \"@keystrokehq/hosting\";\n\nexport type WorkerTokenVariables = {\n workerOrganizationId: string;\n};\n\n/** Worker auth from Bearer or x-api-key (Anthropic SDK uses the latter). */\nexport function readWorkerTokenFromRequest(c: Context): string | undefined {\n const authorization = c.req.header(\"authorization\");\n if (authorization?.startsWith(\"Bearer \")) {\n return authorization.slice(\"Bearer \".length).trim();\n }\n\n const apiKey = c.req.header(\"x-api-key\")?.trim();\n if (apiKey) {\n return apiKey;\n }\n\n return undefined;\n}\n\n/**\n * Verifies the per-org worker token (`{orgId}.{hmac}` signed with the shared\n * platform secret) and records which org the calling machine belongs to.\n */\nexport function requireWorkerToken(secret: string | undefined): MiddlewareHandler {\n return async (c, next) => {\n if (!secret) {\n return c.json(\n { error: \"worker_auth_unconfigured\", message: \"Worker auth is not configured.\" },\n 503,\n );\n }\n\n const token = readWorkerTokenFromRequest(c);\n const verified = verifyOrgWorkerToken(secret, token);\n if (!verified) {\n return c.json({ error: \"unauthorized\", message: \"Invalid worker token.\" }, 401);\n }\n\n c.set(\"workerOrganizationId\", verified.organizationId);\n return next();\n };\n}\n\n/** Organization id bound to the verified worker token, if present. */\nexport function workerOrganizationIdFromContext(c: Context): string | undefined {\n const value = c.get(\"workerOrganizationId\");\n return typeof value === \"string\" && value.length > 0 ? value : undefined;\n}\n","import {\n runWithProjectDatabase,\n runWithProjectScope,\n runWithTenantScope,\n} from \"@keystrokehq/database\";\nimport {\n resolveOrgProjectDatabaseOptions,\n runWithOrganizationScope,\n selectOrganizationById,\n selectProjectById,\n} from \"@keystrokehq/platform-database\";\n\nexport async function withProjectScope<T>(\n projectId: string,\n fn: (ctx: { organizationId: string; projectId: string }) => Promise<T>,\n): Promise<T | undefined> {\n const project = await selectProjectById(projectId);\n if (!project) {\n return undefined;\n }\n\n const organization = await selectOrganizationById(project.organizationId);\n if (!organization) {\n return undefined;\n }\n\n const dbOptions = resolveOrgProjectDatabaseOptions(organization);\n let result: T | undefined;\n\n await runWithOrganizationScope(project.organizationId, () =>\n runWithProjectDatabase(dbOptions, () =>\n runWithProjectScope(project.id, () =>\n runWithTenantScope(project.organizationId, async () => {\n result = await fn({\n organizationId: project.organizationId,\n projectId: project.id,\n });\n }),\n ),\n ),\n );\n\n return result;\n}\n"],"mappings":";;;;AAOA,eAAe,YAAY,SAAS,UAAU,CAAC,GAAG;CACjD,MAAM,YAAY,QAAQ,aAAa;CACvC,MAAM,UAAU,QAAQ,QAAQ,qBAAqB,QAAQ,aAAa,IAAI,KAAK,CAAC;CACpF,IAAI;EACH,QAAQ,OAAO,QAAQ,aAAa,OAAO,IAAI,IAAI,sBAAsB,MAAM,OAAO,GAAG;GACxF,QAAQ,YAAY,QAAQ,SAAS;GACrC;EACD,CAAC,GAAG;CACL,QAAQ;EACP,OAAO;CACR;AACD;AAGA,SAAS,qBAAqB,QAAQ,QAAQ;CAC7C,IAAI,QAAQ,eAAe,OAAO,OAAO,cAAc,MAAM;CAC7D,OAAO,CAAC,CAAC,OAAO;AACjB;AACA,eAAe,kBAAkB,QAAQ,UAAU,CAAC,GAAG;CACtD,IAAI,CAAC,qBAAqB,QAAQ,QAAQ,MAAM,GAAG,OAAO;CAC1D,OAAO,YAAY,OAAO,SAAS;EAClC,GAAG;EACH,WAAW,OAAO;CACnB,CAAC;AACF;;;;;;AAQA,eAAe,kBAAkB,SAAS,UAAU,CAAC,GAAG;CACvD,MAAM,YAAY,QAAQ,aAAa;CACvC,IAAI;EACH,MAAM,WAAW,OAAO,QAAQ,aAAa,OAAO,IAAI,IAAI,6BAA6B,MAAM,OAAO,GAAG,EAAE,QAAQ,YAAY,QAAQ,SAAS,EAAE,CAAC;EACnJ,IAAI,CAAC,SAAS,IAAI;EAClB,MAAM,OAAO,MAAM,SAAS,KAAK;EACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,QAAQ,KAAK,QAAQ,GAAG;EAC5C,OAAO;CACR,SAAS,OAAO;EACf,QAAQ,KAAK,wCAAwC,QAAQ,IAAI,KAAK;EACtE;CACD;AACD;;;;AC3CA,SAAgB,2BAA2B,GAAgC;CACzE,MAAM,gBAAgB,EAAE,IAAI,OAAO,eAAe;CAClD,IAAI,eAAe,WAAW,SAAS,GACrC,OAAO,cAAc,MAAM,CAAgB,EAAE,KAAK;CAGpD,MAAM,SAAS,EAAE,IAAI,OAAO,WAAW,GAAG,KAAK;CAC/C,IAAI,QACF,OAAO;AAIX;;;;;AAMA,SAAgB,mBAAmB,QAA+C;CAChF,OAAO,OAAO,GAAG,SAAS;EACxB,IAAI,CAAC,QACH,OAAO,EAAE,KACP;GAAE,OAAO;GAA4B,SAAS;EAAiC,GAC/E,GACF;EAIF,MAAM,WAAW,qBAAqB,QADxB,2BAA2B,CACS,CAAC;EACnD,IAAI,CAAC,UACH,OAAO,EAAE,KAAK;GAAE,OAAO;GAAgB,SAAS;EAAwB,GAAG,GAAG;EAGhF,EAAE,IAAI,wBAAwB,SAAS,cAAc;EACrD,OAAO,KAAK;CACd;AACF;;AAGA,SAAgB,gCAAgC,GAAgC;CAC9E,MAAM,QAAQ,EAAE,IAAI,sBAAsB;CAC1C,OAAO,OAAO,UAAU,YAAY,MAAM,SAAS,IAAI,QAAQ,KAAA;AACjE;;;ACtCA,eAAsB,iBACpB,WACA,IACwB;CACxB,MAAM,UAAU,MAAM,kBAAkB,SAAS;CACjD,IAAI,CAAC,SACH;CAGF,MAAM,eAAe,MAAM,uBAAuB,QAAQ,cAAc;CACxE,IAAI,CAAC,cACH;CAGF,MAAM,YAAY,iCAAiC,YAAY;CAC/D,IAAI;CAEJ,MAAM,yBAAyB,QAAQ,sBACrC,uBAAuB,iBACrB,oBAAoB,QAAQ,UAC1B,mBAAmB,QAAQ,gBAAgB,YAAY;EACrD,SAAS,MAAM,GAAG;GAChB,gBAAgB,QAAQ;GACxB,WAAW,QAAQ;EACrB,CAAC;CACH,CAAC,CACH,CACF,CACF;CAEA,OAAO;AACT"}
|
|
@@ -1,6 +1,49 @@
|
|
|
1
|
-
const
|
|
1
|
+
const require_wait_for_health_XEzPPQIO = require("./wait-for-health-XEzPPQIO-CzLWGoGw.cjs");
|
|
2
2
|
let _keystrokehq_database = require("@keystrokehq/database");
|
|
3
3
|
let _keystrokehq_platform_database = require("@keystrokehq/platform-database");
|
|
4
|
+
//#region ../../packages/hosting/dist/index.mjs
|
|
5
|
+
async function pingProject(baseUrl, options = {}) {
|
|
6
|
+
const timeoutMs = options.timeoutMs ?? 15e3;
|
|
7
|
+
const headers = options.plugin?.pingRequestHeaders?.(options.runtimeId ?? null) ?? {};
|
|
8
|
+
try {
|
|
9
|
+
return (await (options.fetchImpl ?? fetch)(new URL(require_wait_for_health_XEzPPQIO.PROJECT_SERVER_HEALTH.path, baseUrl), {
|
|
10
|
+
signal: AbortSignal.timeout(timeoutMs),
|
|
11
|
+
headers
|
|
12
|
+
})).ok;
|
|
13
|
+
} catch {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function canPingProjectTarget(target, plugin) {
|
|
18
|
+
if (plugin?.canPingTarget) return plugin.canPingTarget(target);
|
|
19
|
+
return !!target.baseUrl;
|
|
20
|
+
}
|
|
21
|
+
async function pingProjectTarget(target, options = {}) {
|
|
22
|
+
if (!canPingProjectTarget(target, options.plugin)) return false;
|
|
23
|
+
return pingProject(target.baseUrl, {
|
|
24
|
+
...options,
|
|
25
|
+
runtimeId: target.runtimeId
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Ask a running org machine which projects bootstrapped and which failed.
|
|
30
|
+
* Best-effort: returns undefined on any error so callers can fall back to
|
|
31
|
+
* treating every project as healthy (preserving pre-existing behavior).
|
|
32
|
+
*/
|
|
33
|
+
async function fetchDeployStatus(baseUrl, options = {}) {
|
|
34
|
+
const timeoutMs = options.timeoutMs ?? 15e3;
|
|
35
|
+
try {
|
|
36
|
+
const response = await (options.fetchImpl ?? fetch)(new URL(require_wait_for_health_XEzPPQIO.PROJECT_SERVER_DEPLOY_STATUS.path, baseUrl), { signal: AbortSignal.timeout(timeoutMs) });
|
|
37
|
+
if (!response.ok) return;
|
|
38
|
+
const data = await response.json();
|
|
39
|
+
if (!data || !Array.isArray(data.projects)) return;
|
|
40
|
+
return data;
|
|
41
|
+
} catch (error) {
|
|
42
|
+
console.warn(`[deploy-status] failed to fetch from ${baseUrl}:`, error);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//#endregion
|
|
4
47
|
//#region src/middleware/require-worker-token.ts
|
|
5
48
|
/** Worker auth from Bearer or x-api-key (Anthropic SDK uses the latter). */
|
|
6
49
|
function readWorkerTokenFromRequest(c) {
|
|
@@ -19,7 +62,7 @@ function requireWorkerToken(secret) {
|
|
|
19
62
|
error: "worker_auth_unconfigured",
|
|
20
63
|
message: "Worker auth is not configured."
|
|
21
64
|
}, 503);
|
|
22
|
-
const verified =
|
|
65
|
+
const verified = require_wait_for_health_XEzPPQIO.verifyOrgWorkerToken(secret, readWorkerTokenFromRequest(c));
|
|
23
66
|
if (!verified) return c.json({
|
|
24
67
|
error: "unauthorized",
|
|
25
68
|
message: "Invalid worker token."
|
|
@@ -51,6 +94,18 @@ async function withProjectScope(projectId, fn) {
|
|
|
51
94
|
return result;
|
|
52
95
|
}
|
|
53
96
|
//#endregion
|
|
97
|
+
Object.defineProperty(exports, "fetchDeployStatus", {
|
|
98
|
+
enumerable: true,
|
|
99
|
+
get: function() {
|
|
100
|
+
return fetchDeployStatus;
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
Object.defineProperty(exports, "pingProjectTarget", {
|
|
104
|
+
enumerable: true,
|
|
105
|
+
get: function() {
|
|
106
|
+
return pingProjectTarget;
|
|
107
|
+
}
|
|
108
|
+
});
|
|
54
109
|
Object.defineProperty(exports, "readWorkerTokenFromRequest", {
|
|
55
110
|
enumerable: true,
|
|
56
111
|
get: function() {
|
|
@@ -76,4 +131,4 @@ Object.defineProperty(exports, "workerOrganizationIdFromContext", {
|
|
|
76
131
|
}
|
|
77
132
|
});
|
|
78
133
|
|
|
79
|
-
//# sourceMappingURL=with-project-scope-
|
|
134
|
+
//# sourceMappingURL=with-project-scope-D18zPGEE.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-project-scope-D18zPGEE.cjs","names":["PROJECT_SERVER_HEALTH","PROJECT_SERVER_DEPLOY_STATUS","verifyOrgWorkerToken"],"sources":["../../../packages/hosting/dist/index.mjs","../src/middleware/require-worker-token.ts","../src/routes/internal/with-project-scope.ts"],"sourcesContent":["import { S as PROJECT_SERVER_ROOT, _ as PROJECT_SERVER_FRAMEWORK_NODE_MODULES, a as formatDockerEnv, b as PROJECT_SERVER_IMAGE, c as resolveRuntimeLaunch, d as rewriteLoopbackUrl, f as mintOrgWorkerToken, g as PROJECT_SERVER_DEPLOY_STATUS, h as resolveWorkerRuntimeConfig, i as buildRuntimeEnv, l as resolveWorkerPlatformUrl, m as WorkerRuntimeConfigError, n as DEV_PLATFORM_WORKER_TOKEN, o as resolvePlatformWorkerToken, p as verifyOrgWorkerToken, r as FORBIDDEN_WORKER_ENV_KEYS, s as resolveProjectServerImage, t as waitForHealth, u as rewriteLoopbackHost, v as PROJECT_SERVER_FRAMEWORK_ROOT, x as PROJECT_SERVER_PORT, y as PROJECT_SERVER_HEALTH } from \"./wait-for-health-XEzPPQIO.mjs\";\nimport { n as parseOrgArtifactsFromEnv, t as encodeOrgArtifacts } from \"./runtime-BmfsHLrk.mjs\";\n//#region src/runtime-constants.ts\n/** Timeout for a single project runtime `/health` probe. */\nconst RUNTIME_PING_TIMEOUT_MS = 15e3;\n//#endregion\n//#region src/ping-project.ts\nasync function pingProject(baseUrl, options = {}) {\n\tconst timeoutMs = options.timeoutMs ?? 15e3;\n\tconst headers = options.plugin?.pingRequestHeaders?.(options.runtimeId ?? null) ?? {};\n\ttry {\n\t\treturn (await (options.fetchImpl ?? fetch)(new URL(PROJECT_SERVER_HEALTH.path, baseUrl), {\n\t\t\tsignal: AbortSignal.timeout(timeoutMs),\n\t\t\theaders\n\t\t})).ok;\n\t} catch {\n\t\treturn false;\n\t}\n}\n//#endregion\n//#region src/ping-project-target.ts\nfunction canPingProjectTarget(target, plugin) {\n\tif (plugin?.canPingTarget) return plugin.canPingTarget(target);\n\treturn !!target.baseUrl;\n}\nasync function pingProjectTarget(target, options = {}) {\n\tif (!canPingProjectTarget(target, options.plugin)) return false;\n\treturn pingProject(target.baseUrl, {\n\t\t...options,\n\t\truntimeId: target.runtimeId\n\t});\n}\n//#endregion\n//#region src/deploy-status.ts\n/**\n* Ask a running org machine which projects bootstrapped and which failed.\n* Best-effort: returns undefined on any error so callers can fall back to\n* treating every project as healthy (preserving pre-existing behavior).\n*/\nasync function fetchDeployStatus(baseUrl, options = {}) {\n\tconst timeoutMs = options.timeoutMs ?? 15e3;\n\ttry {\n\t\tconst response = await (options.fetchImpl ?? fetch)(new URL(PROJECT_SERVER_DEPLOY_STATUS.path, baseUrl), { signal: AbortSignal.timeout(timeoutMs) });\n\t\tif (!response.ok) return;\n\t\tconst data = await response.json();\n\t\tif (!data || !Array.isArray(data.projects)) return;\n\t\treturn data;\n\t} catch (error) {\n\t\tconsole.warn(`[deploy-status] failed to fetch from ${baseUrl}:`, error);\n\t\treturn;\n\t}\n}\n//#endregion\nexport { DEV_PLATFORM_WORKER_TOKEN, FORBIDDEN_WORKER_ENV_KEYS, PROJECT_SERVER_DEPLOY_STATUS, PROJECT_SERVER_FRAMEWORK_NODE_MODULES, PROJECT_SERVER_FRAMEWORK_ROOT, PROJECT_SERVER_HEALTH, PROJECT_SERVER_IMAGE, PROJECT_SERVER_PORT, PROJECT_SERVER_ROOT, RUNTIME_PING_TIMEOUT_MS, WorkerRuntimeConfigError, buildRuntimeEnv, canPingProjectTarget, encodeOrgArtifacts, fetchDeployStatus, formatDockerEnv, mintOrgWorkerToken, parseOrgArtifactsFromEnv, pingProject, pingProjectTarget, resolvePlatformWorkerToken, resolveProjectServerImage, resolveRuntimeLaunch, resolveWorkerPlatformUrl, resolveWorkerRuntimeConfig, rewriteLoopbackHost, rewriteLoopbackUrl, verifyOrgWorkerToken, waitForHealth };\n\n//# sourceMappingURL=index.mjs.map","import type { Context, MiddlewareHandler } from \"hono\";\nimport { verifyOrgWorkerToken } from \"@keystrokehq/hosting\";\n\nexport type WorkerTokenVariables = {\n workerOrganizationId: string;\n};\n\n/** Worker auth from Bearer or x-api-key (Anthropic SDK uses the latter). */\nexport function readWorkerTokenFromRequest(c: Context): string | undefined {\n const authorization = c.req.header(\"authorization\");\n if (authorization?.startsWith(\"Bearer \")) {\n return authorization.slice(\"Bearer \".length).trim();\n }\n\n const apiKey = c.req.header(\"x-api-key\")?.trim();\n if (apiKey) {\n return apiKey;\n }\n\n return undefined;\n}\n\n/**\n * Verifies the per-org worker token (`{orgId}.{hmac}` signed with the shared\n * platform secret) and records which org the calling machine belongs to.\n */\nexport function requireWorkerToken(secret: string | undefined): MiddlewareHandler {\n return async (c, next) => {\n if (!secret) {\n return c.json(\n { error: \"worker_auth_unconfigured\", message: \"Worker auth is not configured.\" },\n 503,\n );\n }\n\n const token = readWorkerTokenFromRequest(c);\n const verified = verifyOrgWorkerToken(secret, token);\n if (!verified) {\n return c.json({ error: \"unauthorized\", message: \"Invalid worker token.\" }, 401);\n }\n\n c.set(\"workerOrganizationId\", verified.organizationId);\n return next();\n };\n}\n\n/** Organization id bound to the verified worker token, if present. */\nexport function workerOrganizationIdFromContext(c: Context): string | undefined {\n const value = c.get(\"workerOrganizationId\");\n return typeof value === \"string\" && value.length > 0 ? value : undefined;\n}\n","import {\n runWithProjectDatabase,\n runWithProjectScope,\n runWithTenantScope,\n} from \"@keystrokehq/database\";\nimport {\n resolveOrgProjectDatabaseOptions,\n runWithOrganizationScope,\n selectOrganizationById,\n selectProjectById,\n} from \"@keystrokehq/platform-database\";\n\nexport async function withProjectScope<T>(\n projectId: string,\n fn: (ctx: { organizationId: string; projectId: string }) => Promise<T>,\n): Promise<T | undefined> {\n const project = await selectProjectById(projectId);\n if (!project) {\n return undefined;\n }\n\n const organization = await selectOrganizationById(project.organizationId);\n if (!organization) {\n return undefined;\n }\n\n const dbOptions = resolveOrgProjectDatabaseOptions(organization);\n let result: T | undefined;\n\n await runWithOrganizationScope(project.organizationId, () =>\n runWithProjectDatabase(dbOptions, () =>\n runWithProjectScope(project.id, () =>\n runWithTenantScope(project.organizationId, async () => {\n result = await fn({\n organizationId: project.organizationId,\n projectId: project.id,\n });\n }),\n ),\n ),\n );\n\n return result;\n}\n"],"mappings":";;;;AAOA,eAAe,YAAY,SAAS,UAAU,CAAC,GAAG;CACjD,MAAM,YAAY,QAAQ,aAAa;CACvC,MAAM,UAAU,QAAQ,QAAQ,qBAAqB,QAAQ,aAAa,IAAI,KAAK,CAAC;CACpF,IAAI;EACH,QAAQ,OAAO,QAAQ,aAAa,OAAO,IAAI,IAAIA,iCAAAA,sBAAsB,MAAM,OAAO,GAAG;GACxF,QAAQ,YAAY,QAAQ,SAAS;GACrC;EACD,CAAC,GAAG;CACL,QAAQ;EACP,OAAO;CACR;AACD;AAGA,SAAS,qBAAqB,QAAQ,QAAQ;CAC7C,IAAI,QAAQ,eAAe,OAAO,OAAO,cAAc,MAAM;CAC7D,OAAO,CAAC,CAAC,OAAO;AACjB;AACA,eAAe,kBAAkB,QAAQ,UAAU,CAAC,GAAG;CACtD,IAAI,CAAC,qBAAqB,QAAQ,QAAQ,MAAM,GAAG,OAAO;CAC1D,OAAO,YAAY,OAAO,SAAS;EAClC,GAAG;EACH,WAAW,OAAO;CACnB,CAAC;AACF;;;;;;AAQA,eAAe,kBAAkB,SAAS,UAAU,CAAC,GAAG;CACvD,MAAM,YAAY,QAAQ,aAAa;CACvC,IAAI;EACH,MAAM,WAAW,OAAO,QAAQ,aAAa,OAAO,IAAI,IAAIC,iCAAAA,6BAA6B,MAAM,OAAO,GAAG,EAAE,QAAQ,YAAY,QAAQ,SAAS,EAAE,CAAC;EACnJ,IAAI,CAAC,SAAS,IAAI;EAClB,MAAM,OAAO,MAAM,SAAS,KAAK;EACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,QAAQ,KAAK,QAAQ,GAAG;EAC5C,OAAO;CACR,SAAS,OAAO;EACf,QAAQ,KAAK,wCAAwC,QAAQ,IAAI,KAAK;EACtE;CACD;AACD;;;;AC3CA,SAAgB,2BAA2B,GAAgC;CACzE,MAAM,gBAAgB,EAAE,IAAI,OAAO,eAAe;CAClD,IAAI,eAAe,WAAW,SAAS,GACrC,OAAO,cAAc,MAAM,CAAgB,EAAE,KAAK;CAGpD,MAAM,SAAS,EAAE,IAAI,OAAO,WAAW,GAAG,KAAK;CAC/C,IAAI,QACF,OAAO;AAIX;;;;;AAMA,SAAgB,mBAAmB,QAA+C;CAChF,OAAO,OAAO,GAAG,SAAS;EACxB,IAAI,CAAC,QACH,OAAO,EAAE,KACP;GAAE,OAAO;GAA4B,SAAS;EAAiC,GAC/E,GACF;EAIF,MAAM,WAAWC,iCAAAA,qBAAqB,QADxB,2BAA2B,CACS,CAAC;EACnD,IAAI,CAAC,UACH,OAAO,EAAE,KAAK;GAAE,OAAO;GAAgB,SAAS;EAAwB,GAAG,GAAG;EAGhF,EAAE,IAAI,wBAAwB,SAAS,cAAc;EACrD,OAAO,KAAK;CACd;AACF;;AAGA,SAAgB,gCAAgC,GAAgC;CAC9E,MAAM,QAAQ,EAAE,IAAI,sBAAsB;CAC1C,OAAO,OAAO,UAAU,YAAY,MAAM,SAAS,IAAI,QAAQ,KAAA;AACjE;;;ACtCA,eAAsB,iBACpB,WACA,IACwB;CACxB,MAAM,UAAU,OAAA,GAAA,+BAAA,mBAAwB,SAAS;CACjD,IAAI,CAAC,SACH;CAGF,MAAM,eAAe,OAAA,GAAA,+BAAA,wBAA6B,QAAQ,cAAc;CACxE,IAAI,CAAC,cACH;CAGF,MAAM,aAAA,GAAA,+BAAA,kCAA6C,YAAY;CAC/D,IAAI;CAEJ,OAAA,GAAA,+BAAA,0BAA+B,QAAQ,uBAAA,GAAA,sBAAA,wBACd,kBAAA,GAAA,sBAAA,qBACD,QAAQ,WAAA,GAAA,sBAAA,oBACP,QAAQ,gBAAgB,YAAY;EACrD,SAAS,MAAM,GAAG;GAChB,gBAAgB,QAAQ;GACxB,WAAW,QAAQ;EACrB,CAAC;CACH,CAAC,CACH,CACF,CACF;CAEA,OAAO;AACT"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
const require_start = require("./start-
|
|
1
|
+
const require_start = require("./start-CRsvMO8Z.cjs");
|
|
2
2
|
const require_chunk_BZUGFHVS = require("./chunk-BZUGFHVS-7RRM7Jpb.cjs");
|
|
3
3
|
require("./chunk-TN7HHBQW-D_SK6w5n.cjs");
|
|
4
4
|
const require_chunk_QAYAQNCG = require("./chunk-QAYAQNCG-ROQh1hrZ.cjs");
|
|
5
|
-
const require_chunk_YCLFEX4T = require("./chunk-YCLFEX4T-
|
|
5
|
+
const require_chunk_YCLFEX4T = require("./chunk-YCLFEX4T-B3UMBJ0M.cjs");
|
|
6
6
|
const require_chunk_4I3HOE5Z = require("./chunk-4I3HOE5Z-CGJlGU0s.cjs");
|
|
7
7
|
const require_chunk_4WKZNNJK = require("./chunk-4WKZNNJK-CuElmTiB.cjs");
|
|
8
|
-
const require_chunk_LEKBROJD = require("./chunk-LEKBROJD-
|
|
9
|
-
const require_chunk_VPADYNBD = require("./chunk-VPADYNBD-
|
|
8
|
+
const require_chunk_LEKBROJD = require("./chunk-LEKBROJD-DJdgm-7A.cjs");
|
|
9
|
+
const require_chunk_VPADYNBD = require("./chunk-VPADYNBD-DryEgdfM.cjs");
|
|
10
10
|
let node_module = require("node:module");
|
|
11
11
|
//#region ../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/chunk-Q7H5W7YE.js
|
|
12
12
|
(0, node_module.createRequire)(require("url").pathToFileURL(__filename).href);
|
|
@@ -2528,7 +2528,7 @@ async function Ue(e, n) {
|
|
|
2528
2528
|
};
|
|
2529
2529
|
}
|
|
2530
2530
|
async function Ve(e, n) {
|
|
2531
|
-
let { cmdView: t } = await Promise.resolve().then(() => require("./xan-view-HDVKHFC2-
|
|
2531
|
+
let { cmdView: t } = await Promise.resolve().then(() => require("./xan-view-HDVKHFC2-DV7rblTJ.cjs"));
|
|
2532
2532
|
return t(e, n);
|
|
2533
2533
|
}
|
|
2534
2534
|
var Qe = new Set([
|
|
@@ -2823,4 +2823,4 @@ Run 'xan --help' for usage.
|
|
|
2823
2823
|
//#endregion
|
|
2824
2824
|
exports.xanCommand = yn;
|
|
2825
2825
|
|
|
2826
|
-
//# sourceMappingURL=xan-Y6WF3IRG-
|
|
2826
|
+
//# sourceMappingURL=xan-Y6WF3IRG-BV1K518F.cjs.map
|