@keystrokehq/platform 0.0.0-staging-20260714181321
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/LICENSE +13 -0
- package/README.md +63 -0
- package/dist/alias-RTYYYW3D-CGfkaHCa.mjs +97 -0
- package/dist/alias-RTYYYW3D-CGfkaHCa.mjs.map +1 -0
- package/dist/alias-RTYYYW3D-eAP6l98p.cjs +98 -0
- package/dist/alias-RTYYYW3D-eAP6l98p.cjs.map +1 -0
- package/dist/awk2-LA3USKJP-pKmGobcZ.cjs +2732 -0
- package/dist/awk2-LA3USKJP-pKmGobcZ.cjs.map +1 -0
- package/dist/awk2-LA3USKJP-pnoNftT8.mjs +2732 -0
- package/dist/awk2-LA3USKJP-pnoNftT8.mjs.map +1 -0
- package/dist/base64-C2AIWVNC-CrtpD1na.cjs +122 -0
- package/dist/base64-C2AIWVNC-CrtpD1na.cjs.map +1 -0
- package/dist/base64-C2AIWVNC-CyAyrmOE.mjs +122 -0
- package/dist/base64-C2AIWVNC-CyAyrmOE.mjs.map +1 -0
- package/dist/basename-UB3CIYNI--0bze3Ml.cjs +52 -0
- package/dist/basename-UB3CIYNI--0bze3Ml.cjs.map +1 -0
- package/dist/basename-UB3CIYNI-DUyGGC_4.mjs +52 -0
- package/dist/basename-UB3CIYNI-DUyGGC_4.mjs.map +1 -0
- package/dist/bash-YZ33HQZQ-Bft3qmnm.mjs +116 -0
- package/dist/bash-YZ33HQZQ-Bft3qmnm.mjs.map +1 -0
- package/dist/bash-YZ33HQZQ-DLA5dK37.cjs +117 -0
- package/dist/bash-YZ33HQZQ-DLA5dK37.cjs.map +1 -0
- package/dist/cat-TSFMZVYS-BaKHr4U0.cjs +61 -0
- package/dist/cat-TSFMZVYS-BaKHr4U0.cjs.map +1 -0
- package/dist/cat-TSFMZVYS-CblTQ5QR.mjs +61 -0
- package/dist/cat-TSFMZVYS-CblTQ5QR.mjs.map +1 -0
- package/dist/chmod-TFEPA42X-Cmt6YbbQ.cjs +124 -0
- package/dist/chmod-TFEPA42X-Cmt6YbbQ.cjs.map +1 -0
- package/dist/chmod-TFEPA42X-DKe_HF9R.mjs +124 -0
- package/dist/chmod-TFEPA42X-DKe_HF9R.mjs.map +1 -0
- package/dist/chunk-27JIFWUR-C_jDOm1q.mjs +99 -0
- package/dist/chunk-27JIFWUR-C_jDOm1q.mjs.map +1 -0
- package/dist/chunk-27JIFWUR-CyXQ6J5p.cjs +115 -0
- package/dist/chunk-27JIFWUR-CyXQ6J5p.cjs.map +1 -0
- package/dist/chunk-4I3HOE5Z-BYotzP2w.mjs +718 -0
- package/dist/chunk-4I3HOE5Z-BYotzP2w.mjs.map +1 -0
- package/dist/chunk-4I3HOE5Z-CGJlGU0s.cjs +722 -0
- package/dist/chunk-4I3HOE5Z-CGJlGU0s.cjs.map +1 -0
- package/dist/chunk-4WKZNNJK-CuElmTiB.cjs +114 -0
- package/dist/chunk-4WKZNNJK-CuElmTiB.cjs.map +1 -0
- package/dist/chunk-4WKZNNJK-x25SBHbd.mjs +68 -0
- package/dist/chunk-4WKZNNJK-x25SBHbd.mjs.map +1 -0
- package/dist/chunk-5H5SCKJM-J5-RMqlK.cjs +611 -0
- package/dist/chunk-5H5SCKJM-J5-RMqlK.cjs.map +1 -0
- package/dist/chunk-5H5SCKJM-gg7VwICJ.mjs +601 -0
- package/dist/chunk-5H5SCKJM-gg7VwICJ.mjs.map +1 -0
- package/dist/chunk-AQ6FYS2X-BTQ2ZWeh.cjs +40 -0
- package/dist/chunk-AQ6FYS2X-BTQ2ZWeh.cjs.map +1 -0
- package/dist/chunk-AQ6FYS2X-CrZWHyzD.mjs +36 -0
- package/dist/chunk-AQ6FYS2X-CrZWHyzD.mjs.map +1 -0
- package/dist/chunk-BZUGFHVS-7RRM7Jpb.cjs +67 -0
- package/dist/chunk-BZUGFHVS-7RRM7Jpb.cjs.map +1 -0
- package/dist/chunk-BZUGFHVS-B2NchobP.mjs +33 -0
- package/dist/chunk-BZUGFHVS-B2NchobP.mjs.map +1 -0
- package/dist/chunk-CHFEPBH4-CINsrE8W.mjs +593 -0
- package/dist/chunk-CHFEPBH4-CINsrE8W.mjs.map +1 -0
- package/dist/chunk-CHFEPBH4-CPiu5G3a.cjs +609 -0
- package/dist/chunk-CHFEPBH4-CPiu5G3a.cjs.map +1 -0
- package/dist/chunk-EBAPSGAO-C93v3qzT.mjs +246 -0
- package/dist/chunk-EBAPSGAO-C93v3qzT.mjs.map +1 -0
- package/dist/chunk-EBAPSGAO-DZoiCbGH.cjs +250 -0
- package/dist/chunk-EBAPSGAO-DZoiCbGH.cjs.map +1 -0
- package/dist/chunk-LEKBROJD-BuX8Z517.mjs +3109 -0
- package/dist/chunk-LEKBROJD-BuX8Z517.mjs.map +1 -0
- package/dist/chunk-LEKBROJD-hm07oWvp.cjs +3119 -0
- package/dist/chunk-LEKBROJD-hm07oWvp.cjs.map +1 -0
- package/dist/chunk-QAYAQNCG-B1r1SmqS.mjs +62 -0
- package/dist/chunk-QAYAQNCG-B1r1SmqS.mjs.map +1 -0
- package/dist/chunk-QAYAQNCG-ROQh1hrZ.cjs +78 -0
- package/dist/chunk-QAYAQNCG-ROQh1hrZ.cjs.map +1 -0
- package/dist/chunk-QIQMJJZ4-Cm4e9-4O.cjs +96 -0
- package/dist/chunk-QIQMJJZ4-Cm4e9-4O.cjs.map +1 -0
- package/dist/chunk-QIQMJJZ4-Dn8UfvJ9.mjs +92 -0
- package/dist/chunk-QIQMJJZ4-Dn8UfvJ9.mjs.map +1 -0
- package/dist/chunk-SO6R3ZKN-DIoHJ9o1.mjs +139 -0
- package/dist/chunk-SO6R3ZKN-DIoHJ9o1.mjs.map +1 -0
- package/dist/chunk-SO6R3ZKN-DYeOBPNJ.cjs +161 -0
- package/dist/chunk-SO6R3ZKN-DYeOBPNJ.cjs.map +1 -0
- package/dist/chunk-SX2HC7SO-BrE3qB0x.mjs +19 -0
- package/dist/chunk-SX2HC7SO-BrE3qB0x.mjs.map +1 -0
- package/dist/chunk-SX2HC7SO-CN1P7tXw.cjs +23 -0
- package/dist/chunk-SX2HC7SO-CN1P7tXw.cjs.map +1 -0
- package/dist/chunk-TDD4NFYE-CyVGcZCt.cjs +24 -0
- package/dist/chunk-TDD4NFYE-CyVGcZCt.cjs.map +1 -0
- package/dist/chunk-TDD4NFYE-Djy1ztDY.mjs +20 -0
- package/dist/chunk-TDD4NFYE-Djy1ztDY.mjs.map +1 -0
- package/dist/chunk-TN7HHBQW-B8PYcKz5.mjs +1136 -0
- package/dist/chunk-TN7HHBQW-B8PYcKz5.mjs.map +1 -0
- package/dist/chunk-TN7HHBQW-D_SK6w5n.cjs +1146 -0
- package/dist/chunk-TN7HHBQW-D_SK6w5n.cjs.map +1 -0
- package/dist/chunk-VPADYNBD-BwKY-5Xk.mjs +121 -0
- package/dist/chunk-VPADYNBD-BwKY-5Xk.mjs.map +1 -0
- package/dist/chunk-VPADYNBD-ZJpUxqq9.cjs +167 -0
- package/dist/chunk-VPADYNBD-ZJpUxqq9.cjs.map +1 -0
- package/dist/chunk-YCLFEX4T-BmQTDw1Y.cjs +86 -0
- package/dist/chunk-YCLFEX4T-BmQTDw1Y.cjs.map +1 -0
- package/dist/chunk-YCLFEX4T-DvGVdefs.mjs +76 -0
- package/dist/chunk-YCLFEX4T-DvGVdefs.mjs.map +1 -0
- package/dist/clear-HKGFEOF6-B9FqQA-D.cjs +27 -0
- package/dist/clear-HKGFEOF6-B9FqQA-D.cjs.map +1 -0
- package/dist/clear-HKGFEOF6-CVmdHYje.mjs +27 -0
- package/dist/clear-HKGFEOF6-CVmdHYje.mjs.map +1 -0
- package/dist/column-XT6UFXNQ-CEthufNl.mjs +142 -0
- package/dist/column-XT6UFXNQ-CEthufNl.mjs.map +1 -0
- package/dist/column-XT6UFXNQ-tddqJ9Kg.cjs +142 -0
- package/dist/column-XT6UFXNQ-tddqJ9Kg.cjs.map +1 -0
- package/dist/comm-VV2LDX2J-BpdAYzr_.mjs +86 -0
- package/dist/comm-VV2LDX2J-BpdAYzr_.mjs.map +1 -0
- package/dist/comm-VV2LDX2J-D8M6JDGH.cjs +86 -0
- package/dist/comm-VV2LDX2J-D8M6JDGH.cjs.map +1 -0
- package/dist/config-BO2sTtYA.d.mts +324 -0
- package/dist/config-DahIeWeM.d.cts +322 -0
- package/dist/config.cjs +16 -0
- package/dist/config.cjs.map +1 -0
- package/dist/config.d.cts +2 -0
- package/dist/config.d.mts +2 -0
- package/dist/config.mjs +15 -0
- package/dist/config.mjs.map +1 -0
- package/dist/cp-BISAAS7A-BO2reDJf.cjs +105 -0
- package/dist/cp-BISAAS7A-BO2reDJf.cjs.map +1 -0
- package/dist/cp-BISAAS7A-Bgk2QUcq.mjs +105 -0
- package/dist/cp-BISAAS7A-Bgk2QUcq.mjs.map +1 -0
- package/dist/cut-OKARJCCV-DPm1czVO.mjs +117 -0
- package/dist/cut-OKARJCCV-DPm1czVO.mjs.map +1 -0
- package/dist/cut-OKARJCCV-DaBpPPf8.cjs +117 -0
- package/dist/cut-OKARJCCV-DaBpPPf8.cjs.map +1 -0
- package/dist/date-UUUPW43J-DPhwuguC.cjs +187 -0
- package/dist/date-UUUPW43J-DPhwuguC.cjs.map +1 -0
- package/dist/date-UUUPW43J-_wNZ6va_.mjs +187 -0
- package/dist/date-UUUPW43J-_wNZ6va_.mjs.map +1 -0
- package/dist/diff-MWJFIG7X-DZWE4by5.mjs +754 -0
- package/dist/diff-MWJFIG7X-DZWE4by5.mjs.map +1 -0
- package/dist/diff-MWJFIG7X-sW58v-In.cjs +754 -0
- package/dist/diff-MWJFIG7X-sW58v-In.cjs.map +1 -0
- package/dist/dirname-MPHRFUTI-B9pAFfgt.cjs +42 -0
- package/dist/dirname-MPHRFUTI-B9pAFfgt.cjs.map +1 -0
- package/dist/dirname-MPHRFUTI-BH9xdo7B.mjs +42 -0
- package/dist/dirname-MPHRFUTI-BH9xdo7B.mjs.map +1 -0
- package/dist/dist-B_VrBT_r.mjs +37377 -0
- package/dist/dist-B_VrBT_r.mjs.map +1 -0
- package/dist/dist-BdxWQmKK.mjs +8067 -0
- package/dist/dist-BdxWQmKK.mjs.map +1 -0
- package/dist/dist-DCAFVLts.cjs +38596 -0
- package/dist/dist-DCAFVLts.cjs.map +1 -0
- package/dist/dist-QIg3f1DP.cjs +8132 -0
- package/dist/dist-QIg3f1DP.cjs.map +1 -0
- package/dist/du-572XNP42-CRWdTyWl.mjs +175 -0
- package/dist/du-572XNP42-CRWdTyWl.mjs.map +1 -0
- package/dist/du-572XNP42-CqHbkS7A.cjs +175 -0
- package/dist/du-572XNP42-CqHbkS7A.cjs.map +1 -0
- package/dist/echo-NDWZZHPO-BUogPcJ_.mjs +136 -0
- package/dist/echo-NDWZZHPO-BUogPcJ_.mjs.map +1 -0
- package/dist/echo-NDWZZHPO-Cv_eCCli.cjs +136 -0
- package/dist/echo-NDWZZHPO-Cv_eCCli.cjs.map +1 -0
- package/dist/env-36M5BO7M-B3hY6c1d.mjs +117 -0
- package/dist/env-36M5BO7M-B3hY6c1d.mjs.map +1 -0
- package/dist/env-36M5BO7M-BJX6pRHi.cjs +118 -0
- package/dist/env-36M5BO7M-BJX6pRHi.cjs.map +1 -0
- package/dist/expand-JSPG6VOP-C4ZcygSl.mjs +144 -0
- package/dist/expand-JSPG6VOP-C4ZcygSl.mjs.map +1 -0
- package/dist/expand-JSPG6VOP-Dd-2L8yn.cjs +144 -0
- package/dist/expand-JSPG6VOP-Dd-2L8yn.cjs.map +1 -0
- package/dist/expr-5JAACS4X-Cxs0wDb3.mjs +151 -0
- package/dist/expr-5JAACS4X-Cxs0wDb3.mjs.map +1 -0
- package/dist/expr-5JAACS4X-DmKCLgI8.cjs +151 -0
- package/dist/expr-5JAACS4X-DmKCLgI8.cjs.map +1 -0
- package/dist/file-IPZJC3FQ-DeyikL2y.mjs +4200 -0
- package/dist/file-IPZJC3FQ-DeyikL2y.mjs.map +1 -0
- package/dist/file-IPZJC3FQ-M9Q0fqTe.cjs +4200 -0
- package/dist/file-IPZJC3FQ-M9Q0fqTe.cjs.map +1 -0
- package/dist/find-INTH3OLC-BR7ZZKkF.mjs +1330 -0
- package/dist/find-INTH3OLC-BR7ZZKkF.mjs.map +1 -0
- package/dist/find-INTH3OLC-C2Uc7scj.cjs +1330 -0
- package/dist/find-INTH3OLC-C2Uc7scj.cjs.map +1 -0
- package/dist/fold-4TQNYMSW-BQ9ukqex.cjs +137 -0
- package/dist/fold-4TQNYMSW-BQ9ukqex.cjs.map +1 -0
- package/dist/fold-4TQNYMSW-DsDovqTl.mjs +137 -0
- package/dist/fold-4TQNYMSW-DsDovqTl.mjs.map +1 -0
- package/dist/grep-V3LQVMRQ-BsgT3xzo.mjs +333 -0
- package/dist/grep-V3LQVMRQ-BsgT3xzo.mjs.map +1 -0
- package/dist/grep-V3LQVMRQ-ChT5D1RX.cjs +335 -0
- package/dist/grep-V3LQVMRQ-ChT5D1RX.cjs.map +1 -0
- package/dist/gzip-O5ASJAFY-ClxvbIo6.mjs +591 -0
- package/dist/gzip-O5ASJAFY-ClxvbIo6.mjs.map +1 -0
- package/dist/gzip-O5ASJAFY-DJOwjcpB.cjs +593 -0
- package/dist/gzip-O5ASJAFY-DJOwjcpB.cjs.map +1 -0
- package/dist/head-442HYESI-B1LlP95a.mjs +35 -0
- package/dist/head-442HYESI-B1LlP95a.mjs.map +1 -0
- package/dist/head-442HYESI-CL9VIqkb.cjs +35 -0
- package/dist/head-442HYESI-CL9VIqkb.cjs.map +1 -0
- package/dist/help-HZ6M2CKN-BjVXFW-f.mjs +122 -0
- package/dist/help-HZ6M2CKN-BjVXFW-f.mjs.map +1 -0
- package/dist/help-HZ6M2CKN-CzUrqQB7.cjs +122 -0
- package/dist/help-HZ6M2CKN-CzUrqQB7.cjs.map +1 -0
- package/dist/history-WYYKSLSZ-6NEj5e3f.mjs +47 -0
- package/dist/history-WYYKSLSZ-6NEj5e3f.mjs.map +1 -0
- package/dist/history-WYYKSLSZ-DfPcvaAY.cjs +47 -0
- package/dist/history-WYYKSLSZ-DfPcvaAY.cjs.map +1 -0
- package/dist/hostname-C4HQXXUP-B86my_ii.mjs +23 -0
- package/dist/hostname-C4HQXXUP-B86my_ii.mjs.map +1 -0
- package/dist/hostname-C4HQXXUP-CC1LpY9-.cjs +23 -0
- package/dist/hostname-C4HQXXUP-CC1LpY9-.cjs.map +1 -0
- package/dist/html-to-markdown-JW4MSQZO-BKOSSsyy.mjs +15889 -0
- package/dist/html-to-markdown-JW4MSQZO-BKOSSsyy.mjs.map +1 -0
- package/dist/html-to-markdown-JW4MSQZO-TyAsgBnO.cjs +15892 -0
- package/dist/html-to-markdown-JW4MSQZO-TyAsgBnO.cjs.map +1 -0
- package/dist/internal.cjs +5 -0
- package/dist/internal.d.cts +22 -0
- package/dist/internal.d.mts +22 -0
- package/dist/internal.mjs +2 -0
- package/dist/join-TBRGI3LQ-CwgUaVoR.mjs +197 -0
- package/dist/join-TBRGI3LQ-CwgUaVoR.mjs.map +1 -0
- package/dist/join-TBRGI3LQ-JKyApOii.cjs +197 -0
- package/dist/join-TBRGI3LQ-JKyApOii.cjs.map +1 -0
- package/dist/jq-4XLYLOS5-D6TJiRje.cjs +250 -0
- package/dist/jq-4XLYLOS5-D6TJiRje.cjs.map +1 -0
- package/dist/jq-4XLYLOS5-ZisFFv1P.mjs +250 -0
- package/dist/jq-4XLYLOS5-ZisFFv1P.mjs.map +1 -0
- package/dist/js-exec-N5KEZBH7-BDEPJLK5.cjs +326 -0
- package/dist/js-exec-N5KEZBH7-BDEPJLK5.cjs.map +1 -0
- package/dist/js-exec-N5KEZBH7-Dp6FRM8y.mjs +325 -0
- package/dist/js-exec-N5KEZBH7-Dp6FRM8y.mjs.map +1 -0
- package/dist/lib-Cecx0Mdv.cjs +47 -0
- package/dist/lib-Cecx0Mdv.cjs.map +1 -0
- package/dist/lib-Dsemc_Ik.mjs +44 -0
- package/dist/lib-Dsemc_Ik.mjs.map +1 -0
- package/dist/llm-proxy.cjs +32 -0
- package/dist/llm-proxy.d.cts +2 -0
- package/dist/llm-proxy.d.mts +2 -0
- package/dist/llm-proxy.mjs +2 -0
- package/dist/ln-4LGSXXGD-DCt-08KM.cjs +100 -0
- package/dist/ln-4LGSXXGD-DCt-08KM.cjs.map +1 -0
- package/dist/ln-4LGSXXGD-DbVtAqnH.mjs +100 -0
- package/dist/ln-4LGSXXGD-DbVtAqnH.mjs.map +1 -0
- package/dist/ls-ZJGQER7M-BQuAedIy.cjs +1890 -0
- package/dist/ls-ZJGQER7M-BQuAedIy.cjs.map +1 -0
- package/dist/ls-ZJGQER7M-PRXSwGZZ.mjs +1890 -0
- package/dist/ls-ZJGQER7M-PRXSwGZZ.mjs.map +1 -0
- package/dist/lzma-BE4gwH-8.cjs +1204 -0
- package/dist/lzma-BE4gwH-8.cjs.map +1 -0
- package/dist/lzma-CmLEdvxC.mjs +1134 -0
- package/dist/lzma-CmLEdvxC.mjs.map +1 -0
- package/dist/md5sum-SPU24VSG-CmmvMGPa.mjs +15 -0
- package/dist/md5sum-SPU24VSG-CmmvMGPa.mjs.map +1 -0
- package/dist/md5sum-SPU24VSG-xbLQd_LU.cjs +15 -0
- package/dist/md5sum-SPU24VSG-xbLQd_LU.cjs.map +1 -0
- package/dist/mkdir-MEPGZOB6-DB938M04.mjs +56 -0
- package/dist/mkdir-MEPGZOB6-DB938M04.mjs.map +1 -0
- package/dist/mkdir-MEPGZOB6-IHvBvQTL.cjs +56 -0
- package/dist/mkdir-MEPGZOB6-IHvBvQTL.cjs.map +1 -0
- package/dist/mv-W5BIQ646-B2XVmdN4.mjs +92 -0
- package/dist/mv-W5BIQ646-B2XVmdN4.mjs.map +1 -0
- package/dist/mv-W5BIQ646-CFwaJ3Xx.cjs +92 -0
- package/dist/mv-W5BIQ646-CFwaJ3Xx.cjs.map +1 -0
- package/dist/nl-WSDW7I4O-CRYsCXB7.mjs +207 -0
- package/dist/nl-WSDW7I4O-CRYsCXB7.mjs.map +1 -0
- package/dist/nl-WSDW7I4O-FzZXRAwD.cjs +207 -0
- package/dist/nl-WSDW7I4O-FzZXRAwD.cjs.map +1 -0
- package/dist/od-WOKFDJTP-DVBJw76D.mjs +72 -0
- package/dist/od-WOKFDJTP-DVBJw76D.mjs.map +1 -0
- package/dist/od-WOKFDJTP-M80nAztL.cjs +72 -0
- package/dist/od-WOKFDJTP-M80nAztL.cjs.map +1 -0
- package/dist/paste-7JC6S4DX-DOPeey0W.cjs +112 -0
- package/dist/paste-7JC6S4DX-DOPeey0W.cjs.map +1 -0
- package/dist/paste-7JC6S4DX-q6d7adhi.mjs +112 -0
- package/dist/paste-7JC6S4DX-q6d7adhi.mjs.map +1 -0
- package/dist/platform-database.cjs +98 -0
- package/dist/platform-database.d.cts +2 -0
- package/dist/platform-database.d.mts +2 -0
- package/dist/platform-database.mjs +2 -0
- package/dist/printf-TWGXF445-BOz88v_H.mjs +878 -0
- package/dist/printf-TWGXF445-BOz88v_H.mjs.map +1 -0
- package/dist/printf-TWGXF445-BXve-Eiv.cjs +878 -0
- package/dist/printf-TWGXF445-BXve-Eiv.cjs.map +1 -0
- package/dist/pwd-WE6EN5AV-CbA4e7ec.mjs +33 -0
- package/dist/pwd-WE6EN5AV-CbA4e7ec.mjs.map +1 -0
- package/dist/pwd-WE6EN5AV-DfqwHtSS.cjs +33 -0
- package/dist/pwd-WE6EN5AV-DfqwHtSS.cjs.map +1 -0
- package/dist/python3-POMOR4OA-DRta50Gp.mjs +290 -0
- package/dist/python3-POMOR4OA-DRta50Gp.mjs.map +1 -0
- package/dist/python3-POMOR4OA-__fmhnV2.cjs +291 -0
- package/dist/python3-POMOR4OA-__fmhnV2.cjs.map +1 -0
- package/dist/readlink-OPJF4DL5-C7a7cTci.cjs +75 -0
- package/dist/readlink-OPJF4DL5-C7a7cTci.cjs.map +1 -0
- package/dist/readlink-OPJF4DL5-Zf7h1M1z.mjs +75 -0
- package/dist/readlink-OPJF4DL5-Zf7h1M1z.mjs.map +1 -0
- package/dist/rev-5EHFX4EJ-CFFAX-eL.cjs +65 -0
- package/dist/rev-5EHFX4EJ-CFFAX-eL.cjs.map +1 -0
- package/dist/rev-5EHFX4EJ-DP28Z2tI.mjs +65 -0
- package/dist/rev-5EHFX4EJ-DP28Z2tI.mjs.map +1 -0
- package/dist/rg-S4FXYXWB-Bawo1fot.mjs +1536 -0
- package/dist/rg-S4FXYXWB-Bawo1fot.mjs.map +1 -0
- package/dist/rg-S4FXYXWB-DrdwsBhO.cjs +1536 -0
- package/dist/rg-S4FXYXWB-DrdwsBhO.cjs.map +1 -0
- package/dist/rm-SSGETQVQ-BaWdfV2i.cjs +79 -0
- package/dist/rm-SSGETQVQ-BaWdfV2i.cjs.map +1 -0
- package/dist/rm-SSGETQVQ-C6EQ5XnR.mjs +79 -0
- package/dist/rm-SSGETQVQ-C6EQ5XnR.mjs.map +1 -0
- package/dist/rmdir-OC4ZLPYA-COg4QKnN.mjs +131 -0
- package/dist/rmdir-OC4ZLPYA-COg4QKnN.mjs.map +1 -0
- package/dist/rmdir-OC4ZLPYA-DK3A8POR.cjs +131 -0
- package/dist/rmdir-OC4ZLPYA-DK3A8POR.cjs.map +1 -0
- package/dist/run.cjs +13 -0
- package/dist/run.cjs.map +1 -0
- package/dist/run.d.cts +1 -0
- package/dist/run.d.mts +1 -0
- package/dist/run.mjs +14 -0
- package/dist/run.mjs.map +1 -0
- package/dist/sed-S5UIK574-CQ1AnR3r.cjs +1717 -0
- package/dist/sed-S5UIK574-CQ1AnR3r.cjs.map +1 -0
- package/dist/sed-S5UIK574-P4wu0pe1.mjs +1717 -0
- package/dist/sed-S5UIK574-P4wu0pe1.mjs.map +1 -0
- package/dist/seq-M5EC7Q57-BlpnRLkX.mjs +84 -0
- package/dist/seq-M5EC7Q57-BlpnRLkX.mjs.map +1 -0
- package/dist/seq-M5EC7Q57-CObcFJ6w.cjs +84 -0
- package/dist/seq-M5EC7Q57-CObcFJ6w.cjs.map +1 -0
- package/dist/sha1sum-2PTOAFR6-BPLIR6an.cjs +15 -0
- package/dist/sha1sum-2PTOAFR6-BPLIR6an.cjs.map +1 -0
- package/dist/sha1sum-2PTOAFR6-jNQ-uyUw.mjs +15 -0
- package/dist/sha1sum-2PTOAFR6-jNQ-uyUw.mjs.map +1 -0
- package/dist/sha256sum-NS7D3IXX-Bvq-KnSV.cjs +15 -0
- package/dist/sha256sum-NS7D3IXX-Bvq-KnSV.cjs.map +1 -0
- package/dist/sha256sum-NS7D3IXX-DebIy64D.mjs +15 -0
- package/dist/sha256sum-NS7D3IXX-DebIy64D.mjs.map +1 -0
- package/dist/sleep-X22JJINO-BZNoBeaB.mjs +66 -0
- package/dist/sleep-X22JJINO-BZNoBeaB.mjs.map +1 -0
- package/dist/sleep-X22JJINO-DP1z72-Q.cjs +66 -0
- package/dist/sleep-X22JJINO-DP1z72-Q.cjs.map +1 -0
- package/dist/sort-SW2YEO5B-BWZaGhuw.cjs +318 -0
- package/dist/sort-SW2YEO5B-BWZaGhuw.cjs.map +1 -0
- package/dist/sort-SW2YEO5B-DewIJ9_h.mjs +318 -0
- package/dist/sort-SW2YEO5B-DewIJ9_h.mjs.map +1 -0
- package/dist/split-4KKZZXXE-Bhr_rhRz.cjs +247 -0
- package/dist/split-4KKZZXXE-Bhr_rhRz.cjs.map +1 -0
- package/dist/split-4KKZZXXE-ciJXyT15.mjs +247 -0
- package/dist/split-4KKZZXXE-ciJXyT15.mjs.map +1 -0
- package/dist/sqlite3-CGOEFJAO-CdyK5NF3.cjs +2877 -0
- package/dist/sqlite3-CGOEFJAO-CdyK5NF3.cjs.map +1 -0
- package/dist/sqlite3-CGOEFJAO-K8u_Ru5X.mjs +2875 -0
- package/dist/sqlite3-CGOEFJAO-K8u_Ru5X.mjs.map +1 -0
- package/dist/start-DCnxLHI5.mjs +30918 -0
- package/dist/start-DCnxLHI5.mjs.map +1 -0
- package/dist/start-y3y8zgSv.cjs +31051 -0
- package/dist/start-y3y8zgSv.cjs.map +1 -0
- package/dist/start.cjs +3 -0
- package/dist/start.d.cts +28 -0
- package/dist/start.d.mts +28 -0
- package/dist/start.mjs +2 -0
- package/dist/stat-CD34IZ4P-BL8u_Aqm.mjs +64 -0
- package/dist/stat-CD34IZ4P-BL8u_Aqm.mjs.map +1 -0
- package/dist/stat-CD34IZ4P-BSu3fjXb.cjs +64 -0
- package/dist/stat-CD34IZ4P-BSu3fjXb.cjs.map +1 -0
- package/dist/strings-6WDHLGMX-Xt8Gbe8-.cjs +178 -0
- package/dist/strings-6WDHLGMX-Xt8Gbe8-.cjs.map +1 -0
- package/dist/strings-6WDHLGMX-lZect78u.mjs +178 -0
- package/dist/strings-6WDHLGMX-lZect78u.mjs.map +1 -0
- package/dist/tac-2STMMJYW-6DSfXKEM.cjs +52 -0
- package/dist/tac-2STMMJYW-6DSfXKEM.cjs.map +1 -0
- package/dist/tac-2STMMJYW-CYopDu0z.mjs +52 -0
- package/dist/tac-2STMMJYW-CYopDu0z.mjs.map +1 -0
- package/dist/tail-R4PCA2C4-05tRE3pO.mjs +36 -0
- package/dist/tail-R4PCA2C4-05tRE3pO.mjs.map +1 -0
- package/dist/tail-R4PCA2C4-B8zVnbJv.cjs +36 -0
- package/dist/tail-R4PCA2C4-B8zVnbJv.cjs.map +1 -0
- package/dist/tar-STHHZTZ6-BF9uOAeY.cjs +2839 -0
- package/dist/tar-STHHZTZ6-BF9uOAeY.cjs.map +1 -0
- package/dist/tar-STHHZTZ6-BGc4fGMj.mjs +2836 -0
- package/dist/tar-STHHZTZ6-BGc4fGMj.mjs.map +1 -0
- package/dist/tee-YUZ2FKCJ-CZGSWOLF.mjs +45 -0
- package/dist/tee-YUZ2FKCJ-CZGSWOLF.mjs.map +1 -0
- package/dist/tee-YUZ2FKCJ-DXc_xwaw.cjs +45 -0
- package/dist/tee-YUZ2FKCJ-DXc_xwaw.cjs.map +1 -0
- package/dist/time-D4LNBSWX-C5yYBJS0.mjs +107 -0
- package/dist/time-D4LNBSWX-C5yYBJS0.mjs.map +1 -0
- package/dist/time-D4LNBSWX-CQI3pEaI.cjs +107 -0
- package/dist/time-D4LNBSWX-CQI3pEaI.cjs.map +1 -0
- package/dist/timeout-YDCRSLPQ-C57Y8ySP.cjs +110 -0
- package/dist/timeout-YDCRSLPQ-C57Y8ySP.cjs.map +1 -0
- package/dist/timeout-YDCRSLPQ-CsT6X_C0.mjs +110 -0
- package/dist/timeout-YDCRSLPQ-CsT6X_C0.mjs.map +1 -0
- package/dist/touch-UA33VN3N-Cyx5v5-2.cjs +103 -0
- package/dist/touch-UA33VN3N-Cyx5v5-2.cjs.map +1 -0
- package/dist/touch-UA33VN3N-DYslBCYn.mjs +103 -0
- package/dist/touch-UA33VN3N-DYslBCYn.mjs.map +1 -0
- package/dist/tr-36LHWFRQ-C57tK13M.mjs +165 -0
- package/dist/tr-36LHWFRQ-C57tK13M.mjs.map +1 -0
- package/dist/tr-36LHWFRQ-CJ7ZK1Cv.cjs +165 -0
- package/dist/tr-36LHWFRQ-CJ7ZK1Cv.cjs.map +1 -0
- package/dist/tree-YLD52CNT-C01jI2xZ.mjs +185 -0
- package/dist/tree-YLD52CNT-C01jI2xZ.mjs.map +1 -0
- package/dist/tree-YLD52CNT-C0new1hw.cjs +185 -0
- package/dist/tree-YLD52CNT-C0new1hw.cjs.map +1 -0
- package/dist/true-FHQXJXBE-CIHy9LuF.mjs +30 -0
- package/dist/true-FHQXJXBE-CIHy9LuF.mjs.map +1 -0
- package/dist/true-FHQXJXBE-CROnM_dr.cjs +31 -0
- package/dist/true-FHQXJXBE-CROnM_dr.cjs.map +1 -0
- package/dist/unexpand-CADSA4VO-DgiJnv3D.mjs +154 -0
- package/dist/unexpand-CADSA4VO-DgiJnv3D.mjs.map +1 -0
- package/dist/unexpand-CADSA4VO-KAVxaOsW.cjs +154 -0
- package/dist/unexpand-CADSA4VO-KAVxaOsW.cjs.map +1 -0
- package/dist/uniq-XSIZR6PB-C05c3Clm.mjs +90 -0
- package/dist/uniq-XSIZR6PB-C05c3Clm.mjs.map +1 -0
- package/dist/uniq-XSIZR6PB-a2hQnbkY.cjs +90 -0
- package/dist/uniq-XSIZR6PB-a2hQnbkY.cjs.map +1 -0
- package/dist/wc-LF7NU4LA-D_LGPXUP.mjs +109 -0
- package/dist/wc-LF7NU4LA-D_LGPXUP.mjs.map +1 -0
- package/dist/wc-LF7NU4LA-UNORxUJr.cjs +109 -0
- package/dist/wc-LF7NU4LA-UNORxUJr.cjs.map +1 -0
- package/dist/which-XEM24D5D-4seJsWKQ.cjs +61 -0
- package/dist/which-XEM24D5D-4seJsWKQ.cjs.map +1 -0
- package/dist/which-XEM24D5D-BmDHO2AT.mjs +61 -0
- package/dist/which-XEM24D5D-BmDHO2AT.mjs.map +1 -0
- package/dist/whoami-XMTX52VE-CA-yJTvn.cjs +23 -0
- package/dist/whoami-XMTX52VE-CA-yJTvn.cjs.map +1 -0
- package/dist/whoami-XMTX52VE-DW_4VMpE.mjs +23 -0
- package/dist/whoami-XMTX52VE-DW_4VMpE.mjs.map +1 -0
- package/dist/with-project-scope-7t3SHNwz.mjs +56 -0
- package/dist/with-project-scope-7t3SHNwz.mjs.map +1 -0
- package/dist/with-project-scope-Drmz2h2Z.cjs +79 -0
- package/dist/with-project-scope-Drmz2h2Z.cjs.map +1 -0
- package/dist/xan-Y6WF3IRG-B_ysBBaD.mjs +2826 -0
- package/dist/xan-Y6WF3IRG-B_ysBBaD.mjs.map +1 -0
- package/dist/xan-Y6WF3IRG-DvYlOlaJ.cjs +2826 -0
- package/dist/xan-Y6WF3IRG-DvYlOlaJ.cjs.map +1 -0
- package/dist/xan-view-HDVKHFC2-Bv8_W4eE.mjs +11 -0
- package/dist/xan-view-HDVKHFC2-Bv8_W4eE.mjs.map +1 -0
- package/dist/xan-view-HDVKHFC2-ClhOnUAS.cjs +10 -0
- package/dist/xan-view-HDVKHFC2-ClhOnUAS.cjs.map +1 -0
- package/dist/xargs-MGZPH7AX-BvvOKhXS.cjs +110 -0
- package/dist/xargs-MGZPH7AX-BvvOKhXS.cjs.map +1 -0
- package/dist/xargs-MGZPH7AX-la_JFVst.mjs +110 -0
- package/dist/xargs-MGZPH7AX-la_JFVst.mjs.map +1 -0
- package/dist/yq-4QJW3EQG-Bq2dt3bL.mjs +8604 -0
- package/dist/yq-4QJW3EQG-Bq2dt3bL.mjs.map +1 -0
- package/dist/yq-4QJW3EQG-WlQHm2uv.cjs +8604 -0
- package/dist/yq-4QJW3EQG-WlQHm2uv.cjs.map +1 -0
- package/package.json +78 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { a as verifyOrgWorkerToken } from "./dist-BdxWQmKK.mjs";
|
|
2
|
+
import { runWithProjectDatabase, runWithProjectScope, runWithTenantScope } from "@keystrokehq/database";
|
|
3
|
+
import { resolveOrgProjectDatabaseOptions, runWithOrganizationScope, selectOrganizationById, selectProjectById } from "@keystrokehq/platform-database";
|
|
4
|
+
//#region src/middleware/require-worker-token.ts
|
|
5
|
+
/** Worker auth from Bearer or x-api-key (Anthropic SDK uses the latter). */
|
|
6
|
+
function readWorkerTokenFromRequest(c) {
|
|
7
|
+
const authorization = c.req.header("authorization");
|
|
8
|
+
if (authorization?.startsWith("Bearer ")) return authorization.slice(7).trim();
|
|
9
|
+
const apiKey = c.req.header("x-api-key")?.trim();
|
|
10
|
+
if (apiKey) return apiKey;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Verifies the per-org worker token (`{orgId}.{hmac}` signed with the shared
|
|
14
|
+
* platform secret) and records which org the calling machine belongs to.
|
|
15
|
+
*/
|
|
16
|
+
function requireWorkerToken(secret) {
|
|
17
|
+
return async (c, next) => {
|
|
18
|
+
if (!secret) return c.json({
|
|
19
|
+
error: "worker_auth_unconfigured",
|
|
20
|
+
message: "Worker auth is not configured."
|
|
21
|
+
}, 503);
|
|
22
|
+
const verified = verifyOrgWorkerToken(secret, readWorkerTokenFromRequest(c));
|
|
23
|
+
if (!verified) return c.json({
|
|
24
|
+
error: "unauthorized",
|
|
25
|
+
message: "Invalid worker token."
|
|
26
|
+
}, 401);
|
|
27
|
+
c.set("workerOrganizationId", verified.organizationId);
|
|
28
|
+
return next();
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/** Organization id bound to the verified worker token, if present. */
|
|
32
|
+
function workerOrganizationIdFromContext(c) {
|
|
33
|
+
const value = c.get("workerOrganizationId");
|
|
34
|
+
return typeof value === "string" && value.length > 0 ? value : void 0;
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region src/routes/internal/with-project-scope.ts
|
|
38
|
+
async function withProjectScope(projectId, fn) {
|
|
39
|
+
const project = await selectProjectById(projectId);
|
|
40
|
+
if (!project) return;
|
|
41
|
+
const organization = await selectOrganizationById(project.organizationId);
|
|
42
|
+
if (!organization) return;
|
|
43
|
+
const dbOptions = resolveOrgProjectDatabaseOptions(organization);
|
|
44
|
+
let result;
|
|
45
|
+
await runWithOrganizationScope(project.organizationId, () => runWithProjectDatabase(dbOptions, () => runWithProjectScope(project.id, () => runWithTenantScope(project.organizationId, async () => {
|
|
46
|
+
result = await fn({
|
|
47
|
+
organizationId: project.organizationId,
|
|
48
|
+
projectId: project.id
|
|
49
|
+
});
|
|
50
|
+
}))));
|
|
51
|
+
return result;
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
export { workerOrganizationIdFromContext as i, readWorkerTokenFromRequest as n, requireWorkerToken as r, withProjectScope as t };
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=with-project-scope-7t3SHNwz.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-project-scope-7t3SHNwz.mjs","names":[],"sources":["../src/middleware/require-worker-token.ts","../src/routes/internal/with-project-scope.ts"],"sourcesContent":["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":";;;;;AAQA,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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
const require_dist = require("./dist-QIg3f1DP.cjs");
|
|
2
|
+
let _keystrokehq_database = require("@keystrokehq/database");
|
|
3
|
+
let _keystrokehq_platform_database = require("@keystrokehq/platform-database");
|
|
4
|
+
//#region src/middleware/require-worker-token.ts
|
|
5
|
+
/** Worker auth from Bearer or x-api-key (Anthropic SDK uses the latter). */
|
|
6
|
+
function readWorkerTokenFromRequest(c) {
|
|
7
|
+
const authorization = c.req.header("authorization");
|
|
8
|
+
if (authorization?.startsWith("Bearer ")) return authorization.slice(7).trim();
|
|
9
|
+
const apiKey = c.req.header("x-api-key")?.trim();
|
|
10
|
+
if (apiKey) return apiKey;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Verifies the per-org worker token (`{orgId}.{hmac}` signed with the shared
|
|
14
|
+
* platform secret) and records which org the calling machine belongs to.
|
|
15
|
+
*/
|
|
16
|
+
function requireWorkerToken(secret) {
|
|
17
|
+
return async (c, next) => {
|
|
18
|
+
if (!secret) return c.json({
|
|
19
|
+
error: "worker_auth_unconfigured",
|
|
20
|
+
message: "Worker auth is not configured."
|
|
21
|
+
}, 503);
|
|
22
|
+
const verified = require_dist.verifyOrgWorkerToken(secret, readWorkerTokenFromRequest(c));
|
|
23
|
+
if (!verified) return c.json({
|
|
24
|
+
error: "unauthorized",
|
|
25
|
+
message: "Invalid worker token."
|
|
26
|
+
}, 401);
|
|
27
|
+
c.set("workerOrganizationId", verified.organizationId);
|
|
28
|
+
return next();
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/** Organization id bound to the verified worker token, if present. */
|
|
32
|
+
function workerOrganizationIdFromContext(c) {
|
|
33
|
+
const value = c.get("workerOrganizationId");
|
|
34
|
+
return typeof value === "string" && value.length > 0 ? value : void 0;
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region src/routes/internal/with-project-scope.ts
|
|
38
|
+
async function withProjectScope(projectId, fn) {
|
|
39
|
+
const project = await (0, _keystrokehq_platform_database.selectProjectById)(projectId);
|
|
40
|
+
if (!project) return;
|
|
41
|
+
const organization = await (0, _keystrokehq_platform_database.selectOrganizationById)(project.organizationId);
|
|
42
|
+
if (!organization) return;
|
|
43
|
+
const dbOptions = (0, _keystrokehq_platform_database.resolveOrgProjectDatabaseOptions)(organization);
|
|
44
|
+
let result;
|
|
45
|
+
await (0, _keystrokehq_platform_database.runWithOrganizationScope)(project.organizationId, () => (0, _keystrokehq_database.runWithProjectDatabase)(dbOptions, () => (0, _keystrokehq_database.runWithProjectScope)(project.id, () => (0, _keystrokehq_database.runWithTenantScope)(project.organizationId, async () => {
|
|
46
|
+
result = await fn({
|
|
47
|
+
organizationId: project.organizationId,
|
|
48
|
+
projectId: project.id
|
|
49
|
+
});
|
|
50
|
+
}))));
|
|
51
|
+
return result;
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
Object.defineProperty(exports, "readWorkerTokenFromRequest", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function() {
|
|
57
|
+
return readWorkerTokenFromRequest;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
Object.defineProperty(exports, "requireWorkerToken", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function() {
|
|
63
|
+
return requireWorkerToken;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(exports, "withProjectScope", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function() {
|
|
69
|
+
return withProjectScope;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
Object.defineProperty(exports, "workerOrganizationIdFromContext", {
|
|
73
|
+
enumerable: true,
|
|
74
|
+
get: function() {
|
|
75
|
+
return workerOrganizationIdFromContext;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=with-project-scope-Drmz2h2Z.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-project-scope-Drmz2h2Z.cjs","names":["verifyOrgWorkerToken"],"sources":["../src/middleware/require-worker-token.ts","../src/routes/internal/with-project-scope.ts"],"sourcesContent":["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":";;;;;AAQA,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,WAAWA,aAAAA,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"}
|