@keystrokehq/platform 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/dist/{awk2-LA3USKJP-CKefzQCd.mjs → awk2-LA3USKJP-C4BD4eVg.mjs} +2 -2
  2. package/dist/{awk2-LA3USKJP-CKefzQCd.mjs.map → awk2-LA3USKJP-C4BD4eVg.mjs.map} +1 -1
  3. package/dist/{awk2-LA3USKJP-BNV-PUu0.cjs → awk2-LA3USKJP-Ddh1vPYe.cjs} +2 -2
  4. package/dist/{awk2-LA3USKJP-BNV-PUu0.cjs.map → awk2-LA3USKJP-Ddh1vPYe.cjs.map} +1 -1
  5. package/dist/{base64-C2AIWVNC-Ca8wsOx8.cjs → base64-C2AIWVNC-BaiY8WTm.cjs} +2 -2
  6. package/dist/{base64-C2AIWVNC-Ca8wsOx8.cjs.map → base64-C2AIWVNC-BaiY8WTm.cjs.map} +1 -1
  7. package/dist/{base64-C2AIWVNC-Bw6COidZ.mjs → base64-C2AIWVNC-ChQw62cb.mjs} +2 -2
  8. package/dist/{base64-C2AIWVNC-Bw6COidZ.mjs.map → base64-C2AIWVNC-ChQw62cb.mjs.map} +1 -1
  9. package/dist/{bash-YZ33HQZQ-DafyaX5Y.cjs → bash-YZ33HQZQ-CSOYNHWg.cjs} +2 -2
  10. package/dist/{bash-YZ33HQZQ-DafyaX5Y.cjs.map → bash-YZ33HQZQ-CSOYNHWg.cjs.map} +1 -1
  11. package/dist/{bash-YZ33HQZQ-DcfJU6Ux.mjs → bash-YZ33HQZQ-Y0B3uk-_.mjs} +2 -2
  12. package/dist/{bash-YZ33HQZQ-DcfJU6Ux.mjs.map → bash-YZ33HQZQ-Y0B3uk-_.mjs.map} +1 -1
  13. package/dist/{cat-TSFMZVYS-CoIsiESf.cjs → cat-TSFMZVYS-DA84HtAp.cjs} +3 -3
  14. package/dist/{cat-TSFMZVYS-CoIsiESf.cjs.map → cat-TSFMZVYS-DA84HtAp.cjs.map} +1 -1
  15. package/dist/{cat-TSFMZVYS-CH5_fwTr.mjs → cat-TSFMZVYS-xDkdXP7N.mjs} +3 -3
  16. package/dist/{cat-TSFMZVYS-CH5_fwTr.mjs.map → cat-TSFMZVYS-xDkdXP7N.mjs.map} +1 -1
  17. package/dist/{chunk-5H5SCKJM-B8_eAK5q.cjs → chunk-5H5SCKJM-CH5cUv3d.cjs} +2 -2
  18. package/dist/{chunk-5H5SCKJM-B8_eAK5q.cjs.map → chunk-5H5SCKJM-CH5cUv3d.cjs.map} +1 -1
  19. package/dist/{chunk-5H5SCKJM-7YDw0nlX.mjs → chunk-5H5SCKJM-CS7KORUE.mjs} +2 -2
  20. package/dist/{chunk-5H5SCKJM-7YDw0nlX.mjs.map → chunk-5H5SCKJM-CS7KORUE.mjs.map} +1 -1
  21. package/dist/{chunk-AQ6FYS2X-j91QPdH4.cjs → chunk-AQ6FYS2X-BHfS6zKK.cjs} +2 -2
  22. package/dist/{chunk-AQ6FYS2X-j91QPdH4.cjs.map → chunk-AQ6FYS2X-BHfS6zKK.cjs.map} +1 -1
  23. package/dist/{chunk-AQ6FYS2X-BC0cOnb9.mjs → chunk-AQ6FYS2X-CmF-1vT3.mjs} +2 -2
  24. package/dist/{chunk-AQ6FYS2X-BC0cOnb9.mjs.map → chunk-AQ6FYS2X-CmF-1vT3.mjs.map} +1 -1
  25. package/dist/{chunk-CHFEPBH4-TM0eBc-8.cjs → chunk-CHFEPBH4-BeM01F0F.cjs} +2 -2
  26. package/dist/{chunk-CHFEPBH4-TM0eBc-8.cjs.map → chunk-CHFEPBH4-BeM01F0F.cjs.map} +1 -1
  27. package/dist/{chunk-CHFEPBH4-5WV6pMBA.mjs → chunk-CHFEPBH4-C7eTbJVK.mjs} +2 -2
  28. package/dist/{chunk-CHFEPBH4-5WV6pMBA.mjs.map → chunk-CHFEPBH4-C7eTbJVK.mjs.map} +1 -1
  29. package/dist/{chunk-EBAPSGAO-BGEWfN_e.mjs → chunk-EBAPSGAO-BZyQwwNU.mjs} +2 -2
  30. package/dist/{chunk-EBAPSGAO-BGEWfN_e.mjs.map → chunk-EBAPSGAO-BZyQwwNU.mjs.map} +1 -1
  31. package/dist/{chunk-EBAPSGAO-X4NT2DxA.cjs → chunk-EBAPSGAO-fp1lOUs3.cjs} +2 -2
  32. package/dist/{chunk-EBAPSGAO-X4NT2DxA.cjs.map → chunk-EBAPSGAO-fp1lOUs3.cjs.map} +1 -1
  33. package/dist/{chunk-LEKBROJD-BPVzbmRh.cjs → chunk-LEKBROJD-CC4SPOIA.cjs} +2 -2
  34. package/dist/{chunk-LEKBROJD-BPVzbmRh.cjs.map → chunk-LEKBROJD-CC4SPOIA.cjs.map} +1 -1
  35. package/dist/{chunk-LEKBROJD-DTQWQf0a.mjs → chunk-LEKBROJD-DgEXP_ty.mjs} +2 -2
  36. package/dist/{chunk-LEKBROJD-DTQWQf0a.mjs.map → chunk-LEKBROJD-DgEXP_ty.mjs.map} +1 -1
  37. package/dist/{chunk-VPADYNBD-qbL_T5Uh.cjs → chunk-VPADYNBD-CuU1_5VT.cjs} +2 -2
  38. package/dist/{chunk-VPADYNBD-qbL_T5Uh.cjs.map → chunk-VPADYNBD-CuU1_5VT.cjs.map} +1 -1
  39. package/dist/{chunk-VPADYNBD-DTef7dIx.mjs → chunk-VPADYNBD-DypZmvfB.mjs} +2 -2
  40. package/dist/{chunk-VPADYNBD-DTef7dIx.mjs.map → chunk-VPADYNBD-DypZmvfB.mjs.map} +1 -1
  41. package/dist/{chunk-YCLFEX4T-DS2ZbXdJ.mjs → chunk-YCLFEX4T-B5a3ihBC.mjs} +2 -2
  42. package/dist/{chunk-YCLFEX4T-DS2ZbXdJ.mjs.map → chunk-YCLFEX4T-B5a3ihBC.mjs.map} +1 -1
  43. package/dist/{chunk-YCLFEX4T-B5mxliVb.cjs → chunk-YCLFEX4T-D4AWfbT8.cjs} +2 -2
  44. package/dist/{chunk-YCLFEX4T-B5mxliVb.cjs.map → chunk-YCLFEX4T-D4AWfbT8.cjs.map} +1 -1
  45. package/dist/{column-XT6UFXNQ-DxJuuCZO.mjs → column-XT6UFXNQ-B3nI2VCJ.mjs} +2 -2
  46. package/dist/{column-XT6UFXNQ-DxJuuCZO.mjs.map → column-XT6UFXNQ-B3nI2VCJ.mjs.map} +1 -1
  47. package/dist/{column-XT6UFXNQ-CjqSbReY.cjs → column-XT6UFXNQ-D-31htgy.cjs} +2 -2
  48. package/dist/{column-XT6UFXNQ-CjqSbReY.cjs.map → column-XT6UFXNQ-D-31htgy.cjs.map} +1 -1
  49. package/dist/{comm-VV2LDX2J-Ct7AXc22.cjs → comm-VV2LDX2J-CSfuzlYr.cjs} +2 -2
  50. package/dist/{comm-VV2LDX2J-Ct7AXc22.cjs.map → comm-VV2LDX2J-CSfuzlYr.cjs.map} +1 -1
  51. package/dist/{comm-VV2LDX2J-CRUrgndw.mjs → comm-VV2LDX2J-DpNYwHST.mjs} +2 -2
  52. package/dist/{comm-VV2LDX2J-CRUrgndw.mjs.map → comm-VV2LDX2J-DpNYwHST.mjs.map} +1 -1
  53. package/dist/{config-CH-0zvAi.d.cts → config-Ck1BY0Ga.d.mts} +28 -6
  54. package/dist/{config-CJZBcsy6.d.mts → config-PWJeAlTn.d.cts} +26 -8
  55. package/dist/config.cjs +2 -3
  56. package/dist/config.cjs.map +1 -1
  57. package/dist/config.d.cts +1 -2
  58. package/dist/config.d.mts +1 -2
  59. package/dist/config.mjs +1 -2
  60. package/dist/config.mjs.map +1 -1
  61. package/dist/{cp-BISAAS7A-BEWIC1ep.mjs → cp-BISAAS7A-BHfTBk1S.mjs} +2 -2
  62. package/dist/{cp-BISAAS7A-BEWIC1ep.mjs.map → cp-BISAAS7A-BHfTBk1S.mjs.map} +1 -1
  63. package/dist/{cp-BISAAS7A-BTlFdjse.cjs → cp-BISAAS7A-CPlXYVs4.cjs} +2 -2
  64. package/dist/{cp-BISAAS7A-BTlFdjse.cjs.map → cp-BISAAS7A-CPlXYVs4.cjs.map} +1 -1
  65. package/dist/{cut-OKARJCCV-Cq3QNcN-.mjs → cut-OKARJCCV-CgfLOcVz.mjs} +3 -3
  66. package/dist/{cut-OKARJCCV-Cq3QNcN-.mjs.map → cut-OKARJCCV-CgfLOcVz.mjs.map} +1 -1
  67. package/dist/{cut-OKARJCCV-LemaM014.cjs → cut-OKARJCCV-Ci0PtEgB.cjs} +3 -3
  68. package/dist/{cut-OKARJCCV-LemaM014.cjs.map → cut-OKARJCCV-Ci0PtEgB.cjs.map} +1 -1
  69. package/dist/{diff-MWJFIG7X-dQTRnWAk.mjs → diff-MWJFIG7X-CJdAnnog.mjs} +2 -2
  70. package/dist/{diff-MWJFIG7X-dQTRnWAk.mjs.map → diff-MWJFIG7X-CJdAnnog.mjs.map} +1 -1
  71. package/dist/{diff-MWJFIG7X-CM3vdBmY.cjs → diff-MWJFIG7X-F82OACp-.cjs} +2 -2
  72. package/dist/{diff-MWJFIG7X-CM3vdBmY.cjs.map → diff-MWJFIG7X-F82OACp-.cjs.map} +1 -1
  73. package/dist/{dist-dELW1gaR.mjs → dist-B1hOOWjl.mjs} +273 -74
  74. package/dist/dist-B1hOOWjl.mjs.map +1 -0
  75. package/dist/{dist-COpoWBp6.cjs → dist-DvjFaP47.cjs} +283 -131
  76. package/dist/dist-DvjFaP47.cjs.map +1 -0
  77. package/dist/{du-572XNP42-3RIhvC5P.cjs → du-572XNP42-BnHmg4U2.cjs} +2 -2
  78. package/dist/{du-572XNP42-3RIhvC5P.cjs.map → du-572XNP42-BnHmg4U2.cjs.map} +1 -1
  79. package/dist/{du-572XNP42-CyPYCo2M.mjs → du-572XNP42-D6bH6wn1.mjs} +2 -2
  80. package/dist/{du-572XNP42-CyPYCo2M.mjs.map → du-572XNP42-D6bH6wn1.mjs.map} +1 -1
  81. package/dist/{env-36M5BO7M-D_8C_5X5.cjs → env-36M5BO7M-BxusWRsf.cjs} +2 -2
  82. package/dist/{env-36M5BO7M-D_8C_5X5.cjs.map → env-36M5BO7M-BxusWRsf.cjs.map} +1 -1
  83. package/dist/{env-36M5BO7M-Ds8s_D_j.mjs → env-36M5BO7M-a702Fh7w.mjs} +2 -2
  84. package/dist/{env-36M5BO7M-Ds8s_D_j.mjs.map → env-36M5BO7M-a702Fh7w.mjs.map} +1 -1
  85. package/dist/{expand-JSPG6VOP-3UquG3Wf.mjs → expand-JSPG6VOP-BbtpP_uq.mjs} +2 -2
  86. package/dist/{expand-JSPG6VOP-3UquG3Wf.mjs.map → expand-JSPG6VOP-BbtpP_uq.mjs.map} +1 -1
  87. package/dist/{expand-JSPG6VOP-BDy27RvB.cjs → expand-JSPG6VOP-DjHywCfM.cjs} +2 -2
  88. package/dist/{expand-JSPG6VOP-BDy27RvB.cjs.map → expand-JSPG6VOP-DjHywCfM.cjs.map} +1 -1
  89. package/dist/{expr-5JAACS4X-B-xIQg5e.mjs → expr-5JAACS4X-Cp_dIjlS.mjs} +2 -2
  90. package/dist/{expr-5JAACS4X-B-xIQg5e.mjs.map → expr-5JAACS4X-Cp_dIjlS.mjs.map} +1 -1
  91. package/dist/{expr-5JAACS4X-z-ugAUQD.cjs → expr-5JAACS4X-Df3xFZ4w.cjs} +2 -2
  92. package/dist/{expr-5JAACS4X-z-ugAUQD.cjs.map → expr-5JAACS4X-Df3xFZ4w.cjs.map} +1 -1
  93. package/dist/{find-INTH3OLC-D6LkPRVn.cjs → find-INTH3OLC-B5hj2iWq.cjs} +3 -3
  94. package/dist/{find-INTH3OLC-D6LkPRVn.cjs.map → find-INTH3OLC-B5hj2iWq.cjs.map} +1 -1
  95. package/dist/{find-INTH3OLC-C0oDj6Aa.mjs → find-INTH3OLC-DorC8D7k.mjs} +3 -3
  96. package/dist/{find-INTH3OLC-C0oDj6Aa.mjs.map → find-INTH3OLC-DorC8D7k.mjs.map} +1 -1
  97. package/dist/{fold-4TQNYMSW-BNAAhi3M.mjs → fold-4TQNYMSW-DOzlyQla.mjs} +2 -2
  98. package/dist/{fold-4TQNYMSW-BNAAhi3M.mjs.map → fold-4TQNYMSW-DOzlyQla.mjs.map} +1 -1
  99. package/dist/{fold-4TQNYMSW-C4KhiKXo.cjs → fold-4TQNYMSW-DU7ysgn3.cjs} +2 -2
  100. package/dist/{fold-4TQNYMSW-C4KhiKXo.cjs.map → fold-4TQNYMSW-DU7ysgn3.cjs.map} +1 -1
  101. package/dist/{grep-V3LQVMRQ-T3Pk0g-u.mjs → grep-V3LQVMRQ-C7va-nQQ.mjs} +4 -4
  102. package/dist/{grep-V3LQVMRQ-T3Pk0g-u.mjs.map → grep-V3LQVMRQ-C7va-nQQ.mjs.map} +1 -1
  103. package/dist/{grep-V3LQVMRQ-Ds_E1Mcg.cjs → grep-V3LQVMRQ-CnT0y0-P.cjs} +4 -4
  104. package/dist/{grep-V3LQVMRQ-Ds_E1Mcg.cjs.map → grep-V3LQVMRQ-CnT0y0-P.cjs.map} +1 -1
  105. package/dist/{gzip-O5ASJAFY-CQEhgQhi.mjs → gzip-O5ASJAFY-D25F69KM.mjs} +2 -2
  106. package/dist/{gzip-O5ASJAFY-CQEhgQhi.mjs.map → gzip-O5ASJAFY-D25F69KM.mjs.map} +1 -1
  107. package/dist/{gzip-O5ASJAFY-MdBB0FQ4.cjs → gzip-O5ASJAFY-Dwnbh7Hd.cjs} +2 -2
  108. package/dist/{gzip-O5ASJAFY-MdBB0FQ4.cjs.map → gzip-O5ASJAFY-Dwnbh7Hd.cjs.map} +1 -1
  109. package/dist/{head-442HYESI-_I53Pnb1.cjs → head-442HYESI-Dh7Qcjzs.cjs} +2 -2
  110. package/dist/{head-442HYESI-_I53Pnb1.cjs.map → head-442HYESI-Dh7Qcjzs.cjs.map} +1 -1
  111. package/dist/{head-442HYESI-C9ip0oZ6.mjs → head-442HYESI-W6FegHpm.mjs} +2 -2
  112. package/dist/{head-442HYESI-C9ip0oZ6.mjs.map → head-442HYESI-W6FegHpm.mjs.map} +1 -1
  113. package/dist/{help-HZ6M2CKN-7klk39e-.mjs → help-HZ6M2CKN-B2mT_z-L.mjs} +2 -2
  114. package/dist/{help-HZ6M2CKN-7klk39e-.mjs.map → help-HZ6M2CKN-B2mT_z-L.mjs.map} +1 -1
  115. package/dist/{help-HZ6M2CKN-C_gwqv6N.cjs → help-HZ6M2CKN-pRM3zbwR.cjs} +2 -2
  116. package/dist/{help-HZ6M2CKN-C_gwqv6N.cjs.map → help-HZ6M2CKN-pRM3zbwR.cjs.map} +1 -1
  117. package/dist/{html-to-markdown-JW4MSQZO-CxCkv6Mj.cjs → html-to-markdown-JW4MSQZO-CD4oQKoL.cjs} +3 -3
  118. package/dist/{html-to-markdown-JW4MSQZO-CxCkv6Mj.cjs.map → html-to-markdown-JW4MSQZO-CD4oQKoL.cjs.map} +1 -1
  119. package/dist/{html-to-markdown-JW4MSQZO-DAeOlJb4.mjs → html-to-markdown-JW4MSQZO-VzjAEp3C.mjs} +2 -2
  120. package/dist/{html-to-markdown-JW4MSQZO-DAeOlJb4.mjs.map → html-to-markdown-JW4MSQZO-VzjAEp3C.mjs.map} +1 -1
  121. package/dist/{join-TBRGI3LQ-C1FTmc74.mjs → join-TBRGI3LQ-CC2R6oH8.mjs} +2 -2
  122. package/dist/{join-TBRGI3LQ-C1FTmc74.mjs.map → join-TBRGI3LQ-CC2R6oH8.mjs.map} +1 -1
  123. package/dist/{join-TBRGI3LQ-C-dsbt1O.cjs → join-TBRGI3LQ-DR2e5mf6.cjs} +2 -2
  124. package/dist/{join-TBRGI3LQ-C-dsbt1O.cjs.map → join-TBRGI3LQ-DR2e5mf6.cjs.map} +1 -1
  125. package/dist/{jq-4XLYLOS5-DwRPL82B.cjs → jq-4XLYLOS5-CKdOTiVR.cjs} +4 -4
  126. package/dist/{jq-4XLYLOS5-DwRPL82B.cjs.map → jq-4XLYLOS5-CKdOTiVR.cjs.map} +1 -1
  127. package/dist/{jq-4XLYLOS5-f2AdWe3I.mjs → jq-4XLYLOS5-QOU61AvR.mjs} +4 -4
  128. package/dist/{jq-4XLYLOS5-f2AdWe3I.mjs.map → jq-4XLYLOS5-QOU61AvR.mjs.map} +1 -1
  129. package/dist/{js-exec-N5KEZBH7-C-U_T49T.cjs → js-exec-N5KEZBH7-8xgWmlL7.cjs} +4 -4
  130. package/dist/{js-exec-N5KEZBH7-C-U_T49T.cjs.map → js-exec-N5KEZBH7-8xgWmlL7.cjs.map} +1 -1
  131. package/dist/{js-exec-N5KEZBH7-J0fE5u49.mjs → js-exec-N5KEZBH7-CrHAJDpT.mjs} +3 -3
  132. package/dist/{js-exec-N5KEZBH7-J0fE5u49.mjs.map → js-exec-N5KEZBH7-CrHAJDpT.mjs.map} +1 -1
  133. package/dist/{lib-DE8ataza.cjs → lib-DLRZ2u6t.cjs} +2 -2
  134. package/dist/{lib-DE8ataza.cjs.map → lib-DLRZ2u6t.cjs.map} +1 -1
  135. package/dist/{lib-xIAY37Rj.mjs → lib-DecFXHrv.mjs} +2 -2
  136. package/dist/{lib-xIAY37Rj.mjs.map → lib-DecFXHrv.mjs.map} +1 -1
  137. package/dist/{ln-4LGSXXGD-lLnmqTxq.cjs → ln-4LGSXXGD-DxTw2TAq.cjs} +2 -2
  138. package/dist/{ln-4LGSXXGD-lLnmqTxq.cjs.map → ln-4LGSXXGD-DxTw2TAq.cjs.map} +1 -1
  139. package/dist/{ln-4LGSXXGD-BgxP6RU_.mjs → ln-4LGSXXGD-Or1qYweN.mjs} +2 -2
  140. package/dist/{ln-4LGSXXGD-BgxP6RU_.mjs.map → ln-4LGSXXGD-Or1qYweN.mjs.map} +1 -1
  141. package/dist/{ls-ZJGQER7M-C8j4Tvbv.mjs → ls-ZJGQER7M-BnKqqleV.mjs} +2 -2
  142. package/dist/{ls-ZJGQER7M-C8j4Tvbv.mjs.map → ls-ZJGQER7M-BnKqqleV.mjs.map} +1 -1
  143. package/dist/{ls-ZJGQER7M-BYVAD1YO.cjs → ls-ZJGQER7M-CynOwieQ.cjs} +2 -2
  144. package/dist/{ls-ZJGQER7M-BYVAD1YO.cjs.map → ls-ZJGQER7M-CynOwieQ.cjs.map} +1 -1
  145. package/dist/{lzma-C-qU8rCo.cjs → lzma-YuGttxCP.cjs} +2 -2
  146. package/dist/{lzma-C-qU8rCo.cjs.map → lzma-YuGttxCP.cjs.map} +1 -1
  147. package/dist/{md5sum-SPU24VSG-BXWbsDvm.cjs → md5sum-SPU24VSG-8_h79vAu.cjs} +3 -3
  148. package/dist/{md5sum-SPU24VSG-BXWbsDvm.cjs.map → md5sum-SPU24VSG-8_h79vAu.cjs.map} +1 -1
  149. package/dist/{md5sum-SPU24VSG-BVd8_jGG.mjs → md5sum-SPU24VSG-BusAHdrK.mjs} +3 -3
  150. package/dist/{md5sum-SPU24VSG-BVd8_jGG.mjs.map → md5sum-SPU24VSG-BusAHdrK.mjs.map} +1 -1
  151. package/dist/{mkdir-MEPGZOB6-Jxa36lH-.mjs → mkdir-MEPGZOB6-BnYYgVxv.mjs} +2 -2
  152. package/dist/{mkdir-MEPGZOB6-Jxa36lH-.mjs.map → mkdir-MEPGZOB6-BnYYgVxv.mjs.map} +1 -1
  153. package/dist/{mkdir-MEPGZOB6-BY2rSz4n.cjs → mkdir-MEPGZOB6-Z0WHNFtR.cjs} +2 -2
  154. package/dist/{mkdir-MEPGZOB6-BY2rSz4n.cjs.map → mkdir-MEPGZOB6-Z0WHNFtR.cjs.map} +1 -1
  155. package/dist/{mv-W5BIQ646-C6iMhYnr.mjs → mv-W5BIQ646-CDQ60965.mjs} +2 -2
  156. package/dist/{mv-W5BIQ646-C6iMhYnr.mjs.map → mv-W5BIQ646-CDQ60965.mjs.map} +1 -1
  157. package/dist/{mv-W5BIQ646-DmAtW345.cjs → mv-W5BIQ646-tAPnueJb.cjs} +2 -2
  158. package/dist/{mv-W5BIQ646-DmAtW345.cjs.map → mv-W5BIQ646-tAPnueJb.cjs.map} +1 -1
  159. package/dist/{nl-WSDW7I4O-DqGjVldy.cjs → nl-WSDW7I4O-BfBF-iiF.cjs} +2 -2
  160. package/dist/{nl-WSDW7I4O-DqGjVldy.cjs.map → nl-WSDW7I4O-BfBF-iiF.cjs.map} +1 -1
  161. package/dist/{nl-WSDW7I4O-BTmNrRjW.mjs → nl-WSDW7I4O-C8m5GQ1G.mjs} +2 -2
  162. package/dist/{nl-WSDW7I4O-BTmNrRjW.mjs.map → nl-WSDW7I4O-C8m5GQ1G.mjs.map} +1 -1
  163. package/dist/{od-WOKFDJTP-BNpft7pj.cjs → od-WOKFDJTP-CHXPdcv9.cjs} +2 -2
  164. package/dist/{od-WOKFDJTP-BNpft7pj.cjs.map → od-WOKFDJTP-CHXPdcv9.cjs.map} +1 -1
  165. package/dist/{od-WOKFDJTP-nBx_t02N.mjs → od-WOKFDJTP-KIq-UMwl.mjs} +2 -2
  166. package/dist/{od-WOKFDJTP-nBx_t02N.mjs.map → od-WOKFDJTP-KIq-UMwl.mjs.map} +1 -1
  167. package/dist/{paste-7JC6S4DX-C-0O4u2q.cjs → paste-7JC6S4DX-Bs8ByIXb.cjs} +2 -2
  168. package/dist/{paste-7JC6S4DX-C-0O4u2q.cjs.map → paste-7JC6S4DX-Bs8ByIXb.cjs.map} +1 -1
  169. package/dist/{paste-7JC6S4DX-KVzg2jll.mjs → paste-7JC6S4DX-u6xdoWS3.mjs} +2 -2
  170. package/dist/{paste-7JC6S4DX-KVzg2jll.mjs.map → paste-7JC6S4DX-u6xdoWS3.mjs.map} +1 -1
  171. package/dist/platform-database.cjs +13 -3
  172. package/dist/platform-database.d.cts +1 -1
  173. package/dist/platform-database.d.mts +1 -1
  174. package/dist/platform-database.mjs +1 -1
  175. package/dist/{printf-TWGXF445-RWHVX5FV.cjs → printf-TWGXF445-B0tOxQT6.cjs} +3 -3
  176. package/dist/{printf-TWGXF445-RWHVX5FV.cjs.map → printf-TWGXF445-B0tOxQT6.cjs.map} +1 -1
  177. package/dist/{printf-TWGXF445-Dj6F3iWo.mjs → printf-TWGXF445-CtvDPfv-.mjs} +2 -2
  178. package/dist/{printf-TWGXF445-Dj6F3iWo.mjs.map → printf-TWGXF445-CtvDPfv-.mjs.map} +1 -1
  179. package/dist/{python3-POMOR4OA-CBslj-gJ.mjs → python3-POMOR4OA-CYRVTFwe.mjs} +3 -3
  180. package/dist/{python3-POMOR4OA-CBslj-gJ.mjs.map → python3-POMOR4OA-CYRVTFwe.mjs.map} +1 -1
  181. package/dist/{python3-POMOR4OA-BuqCCpBS.cjs → python3-POMOR4OA-DYjQ3ccZ.cjs} +4 -4
  182. package/dist/{python3-POMOR4OA-BuqCCpBS.cjs.map → python3-POMOR4OA-DYjQ3ccZ.cjs.map} +1 -1
  183. package/dist/{rev-5EHFX4EJ-Dcpld4RG.mjs → rev-5EHFX4EJ-C41ieMgj.mjs} +2 -2
  184. package/dist/{rev-5EHFX4EJ-Dcpld4RG.mjs.map → rev-5EHFX4EJ-C41ieMgj.mjs.map} +1 -1
  185. package/dist/{rev-5EHFX4EJ-gMcdZInq.cjs → rev-5EHFX4EJ-Cgya-Fo0.cjs} +2 -2
  186. package/dist/{rev-5EHFX4EJ-gMcdZInq.cjs.map → rev-5EHFX4EJ-Cgya-Fo0.cjs.map} +1 -1
  187. package/dist/{rg-S4FXYXWB-CfvW0egS.cjs → rg-S4FXYXWB-ByK2CLxu.cjs} +3 -3
  188. package/dist/{rg-S4FXYXWB-CfvW0egS.cjs.map → rg-S4FXYXWB-ByK2CLxu.cjs.map} +1 -1
  189. package/dist/{rg-S4FXYXWB-CCi5yOZW.mjs → rg-S4FXYXWB-DixtanJa.mjs} +3 -3
  190. package/dist/{rg-S4FXYXWB-CCi5yOZW.mjs.map → rg-S4FXYXWB-DixtanJa.mjs.map} +1 -1
  191. package/dist/{rm-SSGETQVQ-bPTxcRcX.cjs → rm-SSGETQVQ-BSLrKStW.cjs} +2 -2
  192. package/dist/{rm-SSGETQVQ-bPTxcRcX.cjs.map → rm-SSGETQVQ-BSLrKStW.cjs.map} +1 -1
  193. package/dist/{rm-SSGETQVQ-DOU8kqH1.mjs → rm-SSGETQVQ-CkwXZzCb.mjs} +2 -2
  194. package/dist/{rm-SSGETQVQ-DOU8kqH1.mjs.map → rm-SSGETQVQ-CkwXZzCb.mjs.map} +1 -1
  195. package/dist/{rmdir-OC4ZLPYA-BTIoCXcX.mjs → rmdir-OC4ZLPYA-DmK6bDKx.mjs} +2 -2
  196. package/dist/{rmdir-OC4ZLPYA-BTIoCXcX.mjs.map → rmdir-OC4ZLPYA-DmK6bDKx.mjs.map} +1 -1
  197. package/dist/{rmdir-OC4ZLPYA-BuPVwHWE.cjs → rmdir-OC4ZLPYA-DrF3bZoQ.cjs} +2 -2
  198. package/dist/{rmdir-OC4ZLPYA-BuPVwHWE.cjs.map → rmdir-OC4ZLPYA-DrF3bZoQ.cjs.map} +1 -1
  199. package/dist/run.cjs +1 -1
  200. package/dist/run.mjs +1 -1
  201. package/dist/{sed-S5UIK574-CedHHKip.cjs → sed-S5UIK574-B3Klx8N4.cjs} +2 -2
  202. package/dist/{sed-S5UIK574-CedHHKip.cjs.map → sed-S5UIK574-B3Klx8N4.cjs.map} +1 -1
  203. package/dist/{sed-S5UIK574-Z6_JbTpH.mjs → sed-S5UIK574-tnYwSWkL.mjs} +2 -2
  204. package/dist/{sed-S5UIK574-Z6_JbTpH.mjs.map → sed-S5UIK574-tnYwSWkL.mjs.map} +1 -1
  205. package/dist/{sha1sum-2PTOAFR6-DE6FG5_u.mjs → sha1sum-2PTOAFR6-BP6dQ8V1.mjs} +3 -3
  206. package/dist/{sha1sum-2PTOAFR6-DE6FG5_u.mjs.map → sha1sum-2PTOAFR6-BP6dQ8V1.mjs.map} +1 -1
  207. package/dist/{sha1sum-2PTOAFR6-CkkcLEco.cjs → sha1sum-2PTOAFR6-Bl7iC2ql.cjs} +3 -3
  208. package/dist/{sha1sum-2PTOAFR6-CkkcLEco.cjs.map → sha1sum-2PTOAFR6-Bl7iC2ql.cjs.map} +1 -1
  209. package/dist/{sha256sum-NS7D3IXX-C6E752Cf.mjs → sha256sum-NS7D3IXX-BJzrJC0M.mjs} +3 -3
  210. package/dist/{sha256sum-NS7D3IXX-C6E752Cf.mjs.map → sha256sum-NS7D3IXX-BJzrJC0M.mjs.map} +1 -1
  211. package/dist/{sha256sum-NS7D3IXX-Czd21v8R.cjs → sha256sum-NS7D3IXX-DdD-z8yU.cjs} +3 -3
  212. package/dist/{sha256sum-NS7D3IXX-Czd21v8R.cjs.map → sha256sum-NS7D3IXX-DdD-z8yU.cjs.map} +1 -1
  213. package/dist/{sleep-X22JJINO-7H7IWY2o.mjs → sleep-X22JJINO-D3SDAJt4.mjs} +2 -2
  214. package/dist/{sleep-X22JJINO-7H7IWY2o.mjs.map → sleep-X22JJINO-D3SDAJt4.mjs.map} +1 -1
  215. package/dist/{sleep-X22JJINO-Dx_bFfIX.cjs → sleep-X22JJINO-UJvessts.cjs} +2 -2
  216. package/dist/{sleep-X22JJINO-Dx_bFfIX.cjs.map → sleep-X22JJINO-UJvessts.cjs.map} +1 -1
  217. package/dist/{sort-SW2YEO5B-BFOkdC51.mjs → sort-SW2YEO5B-CFc2Uu_A.mjs} +3 -3
  218. package/dist/{sort-SW2YEO5B-BFOkdC51.mjs.map → sort-SW2YEO5B-CFc2Uu_A.mjs.map} +1 -1
  219. package/dist/{sort-SW2YEO5B-CNvaPgBI.cjs → sort-SW2YEO5B-DIDExLis.cjs} +3 -3
  220. package/dist/{sort-SW2YEO5B-CNvaPgBI.cjs.map → sort-SW2YEO5B-DIDExLis.cjs.map} +1 -1
  221. package/dist/{split-4KKZZXXE-nt0tLTli.cjs → split-4KKZZXXE-CSVvRIzD.cjs} +2 -2
  222. package/dist/{split-4KKZZXXE-nt0tLTli.cjs.map → split-4KKZZXXE-CSVvRIzD.cjs.map} +1 -1
  223. package/dist/{split-4KKZZXXE-DtBxVEO8.mjs → split-4KKZZXXE-DMjoEV89.mjs} +2 -2
  224. package/dist/{split-4KKZZXXE-DtBxVEO8.mjs.map → split-4KKZZXXE-DMjoEV89.mjs.map} +1 -1
  225. package/dist/{sqlite3-CGOEFJAO-BGLep8e5.mjs → sqlite3-CGOEFJAO-BXYj3z3Q.mjs} +2 -2
  226. package/dist/{sqlite3-CGOEFJAO-BGLep8e5.mjs.map → sqlite3-CGOEFJAO-BXYj3z3Q.mjs.map} +1 -1
  227. package/dist/{sqlite3-CGOEFJAO-BWLd6W0g.cjs → sqlite3-CGOEFJAO-DTNqDMXu.cjs} +4 -4
  228. package/dist/{sqlite3-CGOEFJAO-BWLd6W0g.cjs.map → sqlite3-CGOEFJAO-DTNqDMXu.cjs.map} +1 -1
  229. package/dist/{start-BQ0b7Zex.cjs → start-Cm1hxyF_.cjs} +3224 -234
  230. package/dist/start-Cm1hxyF_.cjs.map +1 -0
  231. package/dist/{start-jG7mVE-h.mjs → start-DmsuxtBI.mjs} +3081 -91
  232. package/dist/start-DmsuxtBI.mjs.map +1 -0
  233. package/dist/start.cjs +1 -1
  234. package/dist/start.d.cts +1 -1
  235. package/dist/start.d.mts +1 -1
  236. package/dist/start.mjs +1 -1
  237. package/dist/{strings-6WDHLGMX-CGaZuwJ8.mjs → strings-6WDHLGMX-Cs9B6z8x.mjs} +2 -2
  238. package/dist/{strings-6WDHLGMX-CGaZuwJ8.mjs.map → strings-6WDHLGMX-Cs9B6z8x.mjs.map} +1 -1
  239. package/dist/{strings-6WDHLGMX-CHWp5DnU.cjs → strings-6WDHLGMX-D2bfJpyh.cjs} +2 -2
  240. package/dist/{strings-6WDHLGMX-CHWp5DnU.cjs.map → strings-6WDHLGMX-D2bfJpyh.cjs.map} +1 -1
  241. package/dist/{tac-2STMMJYW-DJvRhvlJ.cjs → tac-2STMMJYW-D0fFvjly.cjs} +2 -2
  242. package/dist/{tac-2STMMJYW-DJvRhvlJ.cjs.map → tac-2STMMJYW-D0fFvjly.cjs.map} +1 -1
  243. package/dist/{tac-2STMMJYW-D0B5neHF.mjs → tac-2STMMJYW-ceGFflzJ.mjs} +2 -2
  244. package/dist/{tac-2STMMJYW-D0B5neHF.mjs.map → tac-2STMMJYW-ceGFflzJ.mjs.map} +1 -1
  245. package/dist/{tail-R4PCA2C4-CBXSleY_.mjs → tail-R4PCA2C4-BopvFWyi.mjs} +2 -2
  246. package/dist/{tail-R4PCA2C4-CBXSleY_.mjs.map → tail-R4PCA2C4-BopvFWyi.mjs.map} +1 -1
  247. package/dist/{tail-R4PCA2C4-CtnCdzuO.cjs → tail-R4PCA2C4-CLtu5GPs.cjs} +2 -2
  248. package/dist/{tail-R4PCA2C4-CtnCdzuO.cjs.map → tail-R4PCA2C4-CLtu5GPs.cjs.map} +1 -1
  249. package/dist/{tar-STHHZTZ6-Btz1HNi9.cjs → tar-STHHZTZ6-Bxk0yG7D.cjs} +5 -5
  250. package/dist/{tar-STHHZTZ6-Btz1HNi9.cjs.map → tar-STHHZTZ6-Bxk0yG7D.cjs.map} +1 -1
  251. package/dist/{tar-STHHZTZ6-3cydfi4Z.mjs → tar-STHHZTZ6-QbV1N_D9.mjs} +3 -3
  252. package/dist/{tar-STHHZTZ6-3cydfi4Z.mjs.map → tar-STHHZTZ6-QbV1N_D9.mjs.map} +1 -1
  253. package/dist/{tee-YUZ2FKCJ-DJYybbg7.cjs → tee-YUZ2FKCJ-BbxSWxw6.cjs} +2 -2
  254. package/dist/{tee-YUZ2FKCJ-DJYybbg7.cjs.map → tee-YUZ2FKCJ-BbxSWxw6.cjs.map} +1 -1
  255. package/dist/{tee-YUZ2FKCJ-CtrtrXSY.mjs → tee-YUZ2FKCJ-DiFGWp4G.mjs} +2 -2
  256. package/dist/{tee-YUZ2FKCJ-CtrtrXSY.mjs.map → tee-YUZ2FKCJ-DiFGWp4G.mjs.map} +1 -1
  257. package/dist/{time-D4LNBSWX-DNNPSFOx.cjs → time-D4LNBSWX-BQSWzFeK.cjs} +2 -2
  258. package/dist/{time-D4LNBSWX-DNNPSFOx.cjs.map → time-D4LNBSWX-BQSWzFeK.cjs.map} +1 -1
  259. package/dist/{time-D4LNBSWX-BU6J60I4.mjs → time-D4LNBSWX-CTjUJUms.mjs} +2 -2
  260. package/dist/{time-D4LNBSWX-BU6J60I4.mjs.map → time-D4LNBSWX-CTjUJUms.mjs.map} +1 -1
  261. package/dist/{timeout-YDCRSLPQ-HSD3vHsz.mjs → timeout-YDCRSLPQ-DC-fdp1t.mjs} +2 -2
  262. package/dist/{timeout-YDCRSLPQ-HSD3vHsz.mjs.map → timeout-YDCRSLPQ-DC-fdp1t.mjs.map} +1 -1
  263. package/dist/{timeout-YDCRSLPQ-C2SC5vB7.cjs → timeout-YDCRSLPQ-DEPvQ6Ih.cjs} +2 -2
  264. package/dist/{timeout-YDCRSLPQ-C2SC5vB7.cjs.map → timeout-YDCRSLPQ-DEPvQ6Ih.cjs.map} +1 -1
  265. package/dist/{touch-UA33VN3N-sh2TXNDe.mjs → touch-UA33VN3N-BMhGO9VC.mjs} +2 -2
  266. package/dist/{touch-UA33VN3N-sh2TXNDe.mjs.map → touch-UA33VN3N-BMhGO9VC.mjs.map} +1 -1
  267. package/dist/{touch-UA33VN3N-DazOwQQS.cjs → touch-UA33VN3N-DIda6f8u.cjs} +2 -2
  268. package/dist/{touch-UA33VN3N-DazOwQQS.cjs.map → touch-UA33VN3N-DIda6f8u.cjs.map} +1 -1
  269. package/dist/{tr-36LHWFRQ-CrF6131T.cjs → tr-36LHWFRQ-COkRmY_6.cjs} +2 -2
  270. package/dist/{tr-36LHWFRQ-CrF6131T.cjs.map → tr-36LHWFRQ-COkRmY_6.cjs.map} +1 -1
  271. package/dist/{tr-36LHWFRQ-D_2pGQp9.mjs → tr-36LHWFRQ-DjY4IsPF.mjs} +2 -2
  272. package/dist/{tr-36LHWFRQ-D_2pGQp9.mjs.map → tr-36LHWFRQ-DjY4IsPF.mjs.map} +1 -1
  273. package/dist/{tree-YLD52CNT-BIC19isL.mjs → tree-YLD52CNT-N-vPBfJO.mjs} +2 -2
  274. package/dist/{tree-YLD52CNT-BIC19isL.mjs.map → tree-YLD52CNT-N-vPBfJO.mjs.map} +1 -1
  275. package/dist/{tree-YLD52CNT-u4cOkoBM.cjs → tree-YLD52CNT-kZ9vPZ-R.cjs} +2 -2
  276. package/dist/{tree-YLD52CNT-u4cOkoBM.cjs.map → tree-YLD52CNT-kZ9vPZ-R.cjs.map} +1 -1
  277. package/dist/{unexpand-CADSA4VO-C5t4tamX.mjs → unexpand-CADSA4VO-Byi4s0o8.mjs} +2 -2
  278. package/dist/{unexpand-CADSA4VO-C5t4tamX.mjs.map → unexpand-CADSA4VO-Byi4s0o8.mjs.map} +1 -1
  279. package/dist/{unexpand-CADSA4VO-BwtCgpf8.cjs → unexpand-CADSA4VO-DekKk-hg.cjs} +2 -2
  280. package/dist/{unexpand-CADSA4VO-BwtCgpf8.cjs.map → unexpand-CADSA4VO-DekKk-hg.cjs.map} +1 -1
  281. package/dist/{uniq-XSIZR6PB-D1uH-xXs.cjs → uniq-XSIZR6PB-BhdgA9iI.cjs} +3 -3
  282. package/dist/{uniq-XSIZR6PB-D1uH-xXs.cjs.map → uniq-XSIZR6PB-BhdgA9iI.cjs.map} +1 -1
  283. package/dist/{uniq-XSIZR6PB-BPhswb-D.mjs → uniq-XSIZR6PB-D0HICyAj.mjs} +3 -3
  284. package/dist/{uniq-XSIZR6PB-BPhswb-D.mjs.map → uniq-XSIZR6PB-D0HICyAj.mjs.map} +1 -1
  285. package/dist/{wc-LF7NU4LA-Dha3d9oq.cjs → wc-LF7NU4LA-Ci3_hJug.cjs} +3 -3
  286. package/dist/{wc-LF7NU4LA-Dha3d9oq.cjs.map → wc-LF7NU4LA-Ci3_hJug.cjs.map} +1 -1
  287. package/dist/{wc-LF7NU4LA-HonUXgc3.mjs → wc-LF7NU4LA-CnEel3wT.mjs} +3 -3
  288. package/dist/{wc-LF7NU4LA-HonUXgc3.mjs.map → wc-LF7NU4LA-CnEel3wT.mjs.map} +1 -1
  289. package/dist/{xan-Y6WF3IRG-DKE1_HEE.mjs → xan-Y6WF3IRG-BEGK5ruS.mjs} +6 -6
  290. package/dist/{xan-Y6WF3IRG-DKE1_HEE.mjs.map → xan-Y6WF3IRG-BEGK5ruS.mjs.map} +1 -1
  291. package/dist/{xan-Y6WF3IRG-DF8LgdcK.cjs → xan-Y6WF3IRG-EnrntEIM.cjs} +6 -6
  292. package/dist/{xan-Y6WF3IRG-DF8LgdcK.cjs.map → xan-Y6WF3IRG-EnrntEIM.cjs.map} +1 -1
  293. package/dist/{xan-view-HDVKHFC2-CBWjF4AF.mjs → xan-view-HDVKHFC2-CvEDnphU.mjs} +3 -3
  294. package/dist/{xan-view-HDVKHFC2-CBWjF4AF.mjs.map → xan-view-HDVKHFC2-CvEDnphU.mjs.map} +1 -1
  295. package/dist/{xan-view-HDVKHFC2-BTj5UUmy.cjs → xan-view-HDVKHFC2-c1gcVO0A.cjs} +3 -3
  296. package/dist/{xan-view-HDVKHFC2-BTj5UUmy.cjs.map → xan-view-HDVKHFC2-c1gcVO0A.cjs.map} +1 -1
  297. package/dist/{xargs-MGZPH7AX-w6s3TO73.mjs → xargs-MGZPH7AX-BvI6LK8I.mjs} +2 -2
  298. package/dist/{xargs-MGZPH7AX-w6s3TO73.mjs.map → xargs-MGZPH7AX-BvI6LK8I.mjs.map} +1 -1
  299. package/dist/{xargs-MGZPH7AX-BX6HS5mB.cjs → xargs-MGZPH7AX-DNyBXxK4.cjs} +2 -2
  300. package/dist/{xargs-MGZPH7AX-BX6HS5mB.cjs.map → xargs-MGZPH7AX-DNyBXxK4.cjs.map} +1 -1
  301. package/dist/{yq-4QJW3EQG-CqoPq62R.cjs → yq-4QJW3EQG-9kH_HlxF.cjs} +3 -3
  302. package/dist/{yq-4QJW3EQG-CqoPq62R.cjs.map → yq-4QJW3EQG-9kH_HlxF.cjs.map} +1 -1
  303. package/dist/{yq-4QJW3EQG-DgunUMhp.mjs → yq-4QJW3EQG-CYt1C3ZB.mjs} +3 -3
  304. package/dist/{yq-4QJW3EQG-DgunUMhp.mjs.map → yq-4QJW3EQG-CYt1C3ZB.mjs.map} +1 -1
  305. package/package.json +1 -1
  306. package/dist/dist-BPaInPOA.cjs +0 -287
  307. package/dist/dist-BPaInPOA.cjs.map +0 -1
  308. package/dist/dist-COpoWBp6.cjs.map +0 -1
  309. package/dist/dist-CW17n9gj.cjs +0 -11507
  310. package/dist/dist-CW17n9gj.cjs.map +0 -1
  311. package/dist/dist-DkMgDyky.mjs +0 -274
  312. package/dist/dist-DkMgDyky.mjs.map +0 -1
  313. package/dist/dist-a3xv8a0D.mjs +0 -10904
  314. package/dist/dist-a3xv8a0D.mjs.map +0 -1
  315. package/dist/dist-dELW1gaR.mjs.map +0 -1
  316. package/dist/index-BwAU1YGx.d.mts +0 -37
  317. package/dist/index-Ceq3LoQV.d.cts +0 -35
  318. package/dist/index-Cf2z5TA-.d.cts +0 -807
  319. package/dist/index-UhcpOLvB.d.mts +0 -809
  320. package/dist/start-BQ0b7Zex.cjs.map +0 -1
  321. package/dist/start-jG7mVE-h.mjs.map +0 -1
@@ -1,274 +0,0 @@
1
- import Docker from "dockerode";
2
- //#region ../../packages/hosting/dist/index.mjs
3
- const PROJECT_SERVER_PORT = 3e3;
4
- const PROJECT_SERVER_ROOT = "/app";
5
- const PROJECT_SERVER_FRAMEWORK_NODE_MODULES = `/opt/keystroke/node_modules`;
6
- const PROJECT_SERVER_HEALTH = {
7
- path: "/health",
8
- port: PROJECT_SERVER_PORT
9
- };
10
- const RUNTIME_ENV_KEYS = [
11
- "BETTER_AUTH_SECRET",
12
- "PUBLIC_SERVER_URL",
13
- "PUBLIC_WEB_URL",
14
- "POSTGRES_SSL",
15
- "KEYSTROKE_SCHEDULER_MODULE",
16
- "UPSTASH_REDIS_URL",
17
- "REDIS_URL",
18
- "KEYSTROKE_QUEUE_PREFIX"
19
- ];
20
- /** Provider and gateway env forwarded from the platform into project servers. */
21
- const PROVIDER_ENV_KEYS = [
22
- "ANTHROPIC_API_KEY",
23
- "OPENAI_API_KEY",
24
- "AI_GATEWAY_API_KEY",
25
- "AI_GATEWAY_BASE_URL"
26
- ];
27
- /** Shared dev token when `PLATFORM_WORKER_TOKEN` is unset (non-production only). */
28
- const DEV_PLATFORM_WORKER_TOKEN = "dev-platform-worker-token";
29
- /** Per-project postgres env injected into every project server container/machine. */
30
- function projectDatabaseRuntimeEnv(database) {
31
- return {
32
- POSTGRES_HOST: rewriteLoopbackHost(database.host),
33
- POSTGRES_PORT: String(database.port),
34
- POSTGRES_DB: database.database,
35
- POSTGRES_USER: database.user,
36
- POSTGRES_PASSWORD: database.password,
37
- DATABASE_SEARCH_PATH: database.searchPath
38
- };
39
- }
40
- /**
41
- * Builds the launch spec for a single project server. `artifactStorageKey` is the
42
- * object key for that deploy's built `dist` tarball in the org bucket — there is
43
- * no base image, so it is required.
44
- */
45
- function resolveRuntimeLaunch(options, artifactStorageKey, database, extraEnv) {
46
- if (!artifactStorageKey) throw new Error("Cannot start a project server without an artifact storage key");
47
- const env = options.env ?? process.env;
48
- return {
49
- image: resolveProjectServerImage(env, options.image),
50
- env: buildRuntimeEnv(env, artifactStorageKey, database, extraEnv),
51
- port: PROJECT_SERVER_PORT,
52
- health: PROJECT_SERVER_HEALTH
53
- };
54
- }
55
- /** Env vars passed into the project server container/machine. */
56
- function buildRuntimeEnv(source, artifactStorageKey, database, extraEnv) {
57
- const entries = new Map([
58
- ["PORT", String(PROJECT_SERVER_PORT)],
59
- ["KEYSTROKE_ROOT", PROJECT_SERVER_ROOT],
60
- ["KEYSTROKE_RUNTIME_NODE_MODULES", PROJECT_SERVER_FRAMEWORK_NODE_MODULES],
61
- ["ARTIFACT_STORAGE_KEY", artifactStorageKey],
62
- ["PROJECT_ID", database.projectId],
63
- ["ORGANIZATION_ID", database.organizationId],
64
- ["TENANT_ID", database.organizationId]
65
- ]);
66
- for (const key of RUNTIME_ENV_KEYS) {
67
- const value = source[key]?.trim();
68
- if (!value) {
69
- if (key === "POSTGRES_SSL") throw new Error("POSTGRES_SSL is required");
70
- continue;
71
- }
72
- entries.set(key, value);
73
- }
74
- if (!extraEnv) for (const key of PROVIDER_ENV_KEYS) {
75
- const value = source[key]?.trim();
76
- if (value) entries.set(key, value);
77
- }
78
- const worker = resolveWorkerRuntimeConfig(source);
79
- entries.set("PLATFORM_URL", worker.platformUrl);
80
- entries.set("WORKER_INTERNAL_TOKEN", worker.workerToken);
81
- for (const [key, value] of Object.entries(projectDatabaseRuntimeEnv(database))) entries.set(key, value);
82
- if (extraEnv) for (const [key, value] of Object.entries(extraEnv)) entries.set(key, value);
83
- return Object.fromEntries(entries);
84
- }
85
- function resolvePlatformWorkerToken(source = process.env) {
86
- const explicit = source.PLATFORM_WORKER_TOKEN?.trim() ?? source.WORKER_INTERNAL_TOKEN?.trim();
87
- if (explicit) return explicit;
88
- if (source.NODE_ENV === "production") return;
89
- return DEV_PLATFORM_WORKER_TOKEN;
90
- }
91
- /** Platform API URL reachable from a project-server container. */
92
- const DEV_PLATFORM_URL = "http://localhost:3002";
93
- function resolveWorkerPlatformUrl(source = process.env) {
94
- const raw = source.PLATFORM_URL?.trim() ?? source.PUBLIC_PLATFORM_URL?.trim() ?? (source.NODE_ENV === "production" ? void 0 : DEV_PLATFORM_URL);
95
- if (!raw) return;
96
- return rewriteLoopbackUrl(raw);
97
- }
98
- /** Rewrite loopback hosts so containers can reach Postgres and other host services. */
99
- function rewriteLoopbackHost(host) {
100
- if (host === "localhost" || host === "127.0.0.1") return "host.docker.internal";
101
- return host;
102
- }
103
- function rewriteLoopbackUrl(url) {
104
- try {
105
- const parsed = new URL(url);
106
- parsed.hostname = rewriteLoopbackHost(parsed.hostname);
107
- return parsed.toString().replace(/\/$/, "");
108
- } catch {
109
- return url;
110
- }
111
- }
112
- /** dockerode expects `KEY=value` strings. */
113
- function formatDockerEnv(env) {
114
- return Object.entries(env).map(([key, value]) => `${key}=${value}`);
115
- }
116
- function resolveProjectServerImage(env = process.env, override) {
117
- return override ?? env.PROJECT_DOCKER_IMAGE ?? env.TENANT_DOCKER_IMAGE ?? "keystroke/project-server:local";
118
- }
119
- var WorkerRuntimeConfigError = class extends Error {
120
- missing;
121
- constructor(missing) {
122
- super(`Worker runtime config incomplete (missing: ${missing.join(", ")}). In production set PLATFORM_WORKER_TOKEN and PUBLIC_PLATFORM_URL (or PLATFORM_URL).`);
123
- this.name = "WorkerRuntimeConfigError";
124
- this.missing = missing;
125
- }
126
- };
127
- /** Fail fast when the platform cannot start worker-mode project servers. */
128
- function resolveWorkerRuntimeConfig(source = process.env) {
129
- const platformUrl = resolveWorkerPlatformUrl(source);
130
- const workerToken = resolvePlatformWorkerToken(source);
131
- const missing = [];
132
- if (!platformUrl) missing.push("PUBLIC_PLATFORM_URL or PLATFORM_URL");
133
- if (!workerToken) missing.push("PLATFORM_WORKER_TOKEN");
134
- if (missing.length > 0) throw new WorkerRuntimeConfigError(missing);
135
- return {
136
- platformUrl,
137
- workerToken
138
- };
139
- }
140
- const DEFAULT_TIMEOUT_MS = 12e4;
141
- const DEFAULT_INTERVAL_MS = 500;
142
- async function waitForHealth(baseUrl, options = {}) {
143
- const fetchImpl = options.fetchImpl ?? fetch;
144
- const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
145
- const intervalMs = options.intervalMs ?? DEFAULT_INTERVAL_MS;
146
- const deadline = Date.now() + timeoutMs;
147
- const url = new URL(PROJECT_SERVER_HEALTH.path, baseUrl);
148
- while (Date.now() < deadline) {
149
- try {
150
- if ((await fetchImpl(url, { signal: AbortSignal.timeout(2e3) })).ok) return;
151
- } catch {}
152
- await sleep(intervalMs);
153
- }
154
- throw new Error(`Project server health check timed out after ${timeoutMs}ms (${url})`);
155
- }
156
- function sleep(ms) {
157
- return new Promise((resolve) => {
158
- setTimeout(resolve, ms);
159
- });
160
- }
161
- const MINIO_DOCKER_NETWORK = process.env.MINIO_DOCKER_NETWORK ?? "keystroke";
162
- function createDockerRuntime(options = {}) {
163
- const docker = options.docker ?? new Docker();
164
- return { async start(input) {
165
- const launch = resolveRuntimeLaunch(options, input.artifactStorageKey, input.database, input.env);
166
- await ensureImage(docker, launch.image);
167
- await removeExistingContainer(docker, input.projectId);
168
- const container = await docker.createContainer({
169
- Image: launch.image,
170
- name: containerName(input.projectId),
171
- Labels: {
172
- "keystroke.project.id": input.projectId,
173
- "keystroke.project.name": input.name
174
- },
175
- ExposedPorts: { [`${launch.port}/tcp`]: {} },
176
- HostConfig: {
177
- ExtraHosts: ["host.docker.internal:host-gateway"],
178
- PortBindings: { [`${launch.port}/tcp`]: [{ HostPort: "0" }] }
179
- },
180
- NetworkingConfig: { EndpointsConfig: { [MINIO_DOCKER_NETWORK]: {} } },
181
- Env: formatDockerEnv(launch.env)
182
- });
183
- await container.start();
184
- const inspect = await container.inspect();
185
- const binding = inspect.NetworkSettings.Ports?.[`${launch.port}/tcp`]?.[0];
186
- if (!binding?.HostPort) throw new Error("Failed to resolve project container host port");
187
- const baseUrl = `http://127.0.0.1:${binding.HostPort}`;
188
- await waitForHealth(baseUrl, {
189
- fetchImpl: options.fetchImpl,
190
- timeoutMs: options.healthTimeoutMs
191
- });
192
- return {
193
- runtimeId: inspect.Id,
194
- baseUrl
195
- };
196
- } };
197
- }
198
- function containerName(projectId) {
199
- return `keystroke-project-${projectId}`;
200
- }
201
- async function removeExistingContainer(docker, projectId) {
202
- try {
203
- const existing = docker.getContainer(containerName(projectId));
204
- await existing.stop({ t: 5 }).catch(() => void 0);
205
- await existing.remove({ force: true });
206
- } catch {}
207
- }
208
- async function ensureImage(docker, image) {
209
- try {
210
- await docker.getImage(image).inspect();
211
- return;
212
- } catch {}
213
- await new Promise((resolvePromise, reject) => {
214
- docker.pull(image, (error, stream) => {
215
- if (error) {
216
- reject(error);
217
- return;
218
- }
219
- if (!stream) {
220
- reject(/* @__PURE__ */ new Error(`Failed to pull image ${image}`));
221
- return;
222
- }
223
- docker.modem.followProgress(stream, (progressError) => {
224
- if (progressError) {
225
- reject(progressError);
226
- return;
227
- }
228
- resolvePromise();
229
- });
230
- });
231
- });
232
- }
233
- function dockerPlugin(options = {}) {
234
- const env = options.env ?? process.env;
235
- return {
236
- name: "docker",
237
- workerRuntime: resolveWorkerRuntimeConfig(env),
238
- createRuntime: () => createDockerRuntime({
239
- ...options,
240
- env
241
- })
242
- };
243
- }
244
- /** Local Docker hosting — default for platform and dev. */
245
- function defaultHostingPlugin(options = {}) {
246
- return dockerPlugin(options);
247
- }
248
- async function pingProject(baseUrl, options = {}) {
249
- const timeoutMs = options.timeoutMs ?? 15e3;
250
- const headers = options.plugin?.pingRequestHeaders?.(options.runtimeId ?? null) ?? {};
251
- try {
252
- return (await (options.fetchImpl ?? fetch)(new URL(PROJECT_SERVER_HEALTH.path, baseUrl), {
253
- signal: AbortSignal.timeout(timeoutMs),
254
- headers
255
- })).ok;
256
- } catch {
257
- return false;
258
- }
259
- }
260
- function canPingProjectTarget(target, plugin) {
261
- if (plugin?.canPingTarget) return plugin.canPingTarget(target);
262
- return !!target.baseUrl;
263
- }
264
- async function pingProjectTarget(target, options = {}) {
265
- if (!canPingProjectTarget(target, options.plugin)) return false;
266
- return pingProject(target.baseUrl, {
267
- ...options,
268
- runtimeId: target.runtimeId
269
- });
270
- }
271
- //#endregion
272
- export { pingProjectTarget as n, defaultHostingPlugin as t };
273
-
274
- //# sourceMappingURL=dist-DkMgDyky.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dist-DkMgDyky.mjs","names":[],"sources":["../../../packages/hosting/dist/index.mjs"],"sourcesContent":["import Docker from \"dockerode\";\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};\n//#endregion\n//#region src/runtime-env.ts\nconst RUNTIME_ENV_KEYS = [\n\t\"BETTER_AUTH_SECRET\",\n\t\"PUBLIC_SERVER_URL\",\n\t\"PUBLIC_WEB_URL\",\n\t\"POSTGRES_SSL\",\n\t\"KEYSTROKE_SCHEDULER_MODULE\",\n\t\"UPSTASH_REDIS_URL\",\n\t\"REDIS_URL\",\n\t\"KEYSTROKE_QUEUE_PREFIX\"\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\";\nconst PROJECT_DATABASE_ENV_KEYS = [\n\t\"POSTGRES_HOST\",\n\t\"POSTGRES_PORT\",\n\t\"POSTGRES_DB\",\n\t\"POSTGRES_USER\",\n\t\"POSTGRES_PASSWORD\",\n\t\"DATABASE_SEARCH_PATH\"\n];\n/** Per-project postgres env injected into every project server container/machine. */\nfunction projectDatabaseRuntimeEnv(database) {\n\treturn {\n\t\tPOSTGRES_HOST: rewriteLoopbackHost(database.host),\n\t\tPOSTGRES_PORT: String(database.port),\n\t\tPOSTGRES_DB: database.database,\n\t\tPOSTGRES_USER: database.user,\n\t\tPOSTGRES_PASSWORD: database.password,\n\t\tDATABASE_SEARCH_PATH: database.searchPath\n\t};\n}\n/**\n* Builds the launch spec for a single project server. `artifactStorageKey` is the\n* object key for that deploy's built `dist` tarball in the org bucket — there is\n* no base image, so it is required.\n*/\nfunction resolveRuntimeLaunch(options, artifactStorageKey, database, extraEnv) {\n\tif (!artifactStorageKey) throw new Error(\"Cannot start a project server without an artifact storage key\");\n\tconst env = options.env ?? process.env;\n\treturn {\n\t\timage: resolveProjectServerImage(env, options.image),\n\t\tenv: buildRuntimeEnv(env, artifactStorageKey, database, extraEnv),\n\t\tport: PROJECT_SERVER_PORT,\n\t\thealth: PROJECT_SERVER_HEALTH\n\t};\n}\n/** Env vars passed into the project server container/machine. */\nfunction buildRuntimeEnv(source, artifactStorageKey, 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[\"ARTIFACT_STORAGE_KEY\", artifactStorageKey],\n\t\t[\"PROJECT_ID\", database.projectId],\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) {\n\t\t\tif (key === \"POSTGRES_SSL\") throw new Error(\"POSTGRES_SSL is required\");\n\t\t\tcontinue;\n\t\t}\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\", worker.workerToken);\n\tfor (const [key, value] of Object.entries(projectDatabaseRuntimeEnv(database))) entries.set(key, value);\n\tif (extraEnv) for (const [key, value] of Object.entries(extraEnv)) entries.set(key, value);\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. */\nconst DEV_PLATFORM_URL = \"http://localhost:3002\";\nfunction resolveWorkerPlatformUrl(source = process.env) {\n\tconst raw = source.PLATFORM_URL?.trim() ?? source.PUBLIC_PLATFORM_URL?.trim() ?? (source.NODE_ENV === \"production\" ? void 0 : DEV_PLATFORM_URL);\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/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/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\n//#region src/docker/create-docker-runtime.ts\nconst MINIO_DOCKER_NETWORK = process.env.MINIO_DOCKER_NETWORK ?? \"keystroke\";\nfunction createDockerRuntime(options = {}) {\n\tconst docker = options.docker ?? new Docker();\n\treturn { async start(input) {\n\t\tconst launch = resolveRuntimeLaunch(options, input.artifactStorageKey, input.database, input.env);\n\t\tawait ensureImage(docker, launch.image);\n\t\tawait removeExistingContainer(docker, input.projectId);\n\t\tconst container = await docker.createContainer({\n\t\t\tImage: launch.image,\n\t\t\tname: containerName(input.projectId),\n\t\t\tLabels: {\n\t\t\t\t\"keystroke.project.id\": input.projectId,\n\t\t\t\t\"keystroke.project.name\": input.name\n\t\t\t},\n\t\t\tExposedPorts: { [`${launch.port}/tcp`]: {} },\n\t\t\tHostConfig: {\n\t\t\t\tExtraHosts: [\"host.docker.internal:host-gateway\"],\n\t\t\t\tPortBindings: { [`${launch.port}/tcp`]: [{ HostPort: \"0\" }] }\n\t\t\t},\n\t\t\tNetworkingConfig: { EndpointsConfig: { [MINIO_DOCKER_NETWORK]: {} } },\n\t\t\tEnv: formatDockerEnv(launch.env)\n\t\t});\n\t\tawait container.start();\n\t\tconst inspect = await container.inspect();\n\t\tconst binding = inspect.NetworkSettings.Ports?.[`${launch.port}/tcp`]?.[0];\n\t\tif (!binding?.HostPort) throw new Error(\"Failed to resolve project container host port\");\n\t\tconst baseUrl = `http://127.0.0.1:${binding.HostPort}`;\n\t\tawait waitForHealth(baseUrl, {\n\t\t\tfetchImpl: options.fetchImpl,\n\t\t\ttimeoutMs: options.healthTimeoutMs\n\t\t});\n\t\treturn {\n\t\t\truntimeId: inspect.Id,\n\t\t\tbaseUrl\n\t\t};\n\t} };\n}\nfunction containerName(projectId) {\n\treturn `keystroke-project-${projectId}`;\n}\nasync function removeExistingContainer(docker, projectId) {\n\ttry {\n\t\tconst existing = docker.getContainer(containerName(projectId));\n\t\tawait existing.stop({ t: 5 }).catch(() => void 0);\n\t\tawait existing.remove({ force: true });\n\t} catch {}\n}\nasync function ensureImage(docker, image) {\n\ttry {\n\t\tawait docker.getImage(image).inspect();\n\t\treturn;\n\t} catch {}\n\tawait new Promise((resolvePromise, reject) => {\n\t\tdocker.pull(image, (error, stream) => {\n\t\t\tif (error) {\n\t\t\t\treject(error);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!stream) {\n\t\t\t\treject(/* @__PURE__ */ new Error(`Failed to pull image ${image}`));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdocker.modem.followProgress(stream, (progressError) => {\n\t\t\t\tif (progressError) {\n\t\t\t\t\treject(progressError);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tresolvePromise();\n\t\t\t});\n\t\t});\n\t});\n}\n//#endregion\n//#region src/docker/plugin.ts\nfunction dockerPlugin(options = {}) {\n\tconst env = options.env ?? process.env;\n\treturn {\n\t\tname: \"docker\",\n\t\tworkerRuntime: resolveWorkerRuntimeConfig(env),\n\t\tcreateRuntime: () => createDockerRuntime({\n\t\t\t...options,\n\t\t\tenv\n\t\t})\n\t};\n}\n//#endregion\n//#region src/default-plugin.ts\n/** Local Docker hosting — default for platform and dev. */\nfunction defaultHostingPlugin(options = {}) {\n\treturn dockerPlugin(options);\n}\n//#endregion\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\nexport { DEV_PLATFORM_WORKER_TOKEN, PROJECT_DATABASE_ENV_KEYS, 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, defaultHostingPlugin, dockerPlugin, formatDockerEnv, pingProject, pingProjectTarget, projectDatabaseRuntimeEnv, resolvePlatformWorkerToken, resolveProjectServerImage, resolveRuntimeLaunch, resolveWorkerPlatformUrl, resolveWorkerRuntimeConfig, rewriteLoopbackHost, rewriteLoopbackUrl, waitForHealth };\n\n//# sourceMappingURL=index.mjs.map"],"mappings":"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"}