@keystrokehq/platform 0.1.3 → 0.1.4

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 (305) hide show
  1. package/dist/{awk2-LA3USKJP-BE8esz9o.cjs → awk2-LA3USKJP-D1rYfUKt.cjs} +2 -2
  2. package/dist/{awk2-LA3USKJP-BE8esz9o.cjs.map → awk2-LA3USKJP-D1rYfUKt.cjs.map} +1 -1
  3. package/dist/{awk2-LA3USKJP-CU79F18c.mjs → awk2-LA3USKJP-DUeD84nt.mjs} +2 -2
  4. package/dist/{awk2-LA3USKJP-CU79F18c.mjs.map → awk2-LA3USKJP-DUeD84nt.mjs.map} +1 -1
  5. package/dist/{base64-C2AIWVNC-CGFeI4Fm.cjs → base64-C2AIWVNC-CHxJHAm1.cjs} +2 -2
  6. package/dist/{base64-C2AIWVNC-CGFeI4Fm.cjs.map → base64-C2AIWVNC-CHxJHAm1.cjs.map} +1 -1
  7. package/dist/{base64-C2AIWVNC-ESsdavRZ.mjs → base64-C2AIWVNC-DCgZ4OVw.mjs} +2 -2
  8. package/dist/{base64-C2AIWVNC-ESsdavRZ.mjs.map → base64-C2AIWVNC-DCgZ4OVw.mjs.map} +1 -1
  9. package/dist/{bash-YZ33HQZQ-Z8YFnXLG.cjs → bash-YZ33HQZQ-7G2TAT74.cjs} +2 -2
  10. package/dist/{bash-YZ33HQZQ-Z8YFnXLG.cjs.map → bash-YZ33HQZQ-7G2TAT74.cjs.map} +1 -1
  11. package/dist/{bash-YZ33HQZQ-Tqw_IzZM.mjs → bash-YZ33HQZQ-BPjbb6w0.mjs} +2 -2
  12. package/dist/{bash-YZ33HQZQ-Tqw_IzZM.mjs.map → bash-YZ33HQZQ-BPjbb6w0.mjs.map} +1 -1
  13. package/dist/{cat-TSFMZVYS-B-Qi4MIN.mjs → cat-TSFMZVYS-HIG335Ji.mjs} +3 -3
  14. package/dist/{cat-TSFMZVYS-B-Qi4MIN.mjs.map → cat-TSFMZVYS-HIG335Ji.mjs.map} +1 -1
  15. package/dist/{cat-TSFMZVYS-3tq36V6U.cjs → cat-TSFMZVYS-mIzvH-qZ.cjs} +3 -3
  16. package/dist/{cat-TSFMZVYS-3tq36V6U.cjs.map → cat-TSFMZVYS-mIzvH-qZ.cjs.map} +1 -1
  17. package/dist/{chunk-5H5SCKJM-DG2zdmBl.cjs → chunk-5H5SCKJM-CBTxdgnD.cjs} +2 -2
  18. package/dist/{chunk-5H5SCKJM-DG2zdmBl.cjs.map → chunk-5H5SCKJM-CBTxdgnD.cjs.map} +1 -1
  19. package/dist/{chunk-5H5SCKJM-jzOek3RA.mjs → chunk-5H5SCKJM-CD7aK8AR.mjs} +2 -2
  20. package/dist/{chunk-5H5SCKJM-jzOek3RA.mjs.map → chunk-5H5SCKJM-CD7aK8AR.mjs.map} +1 -1
  21. package/dist/{chunk-AQ6FYS2X-Bz4Sl0he.mjs → chunk-AQ6FYS2X-B6yFWOgA.mjs} +2 -2
  22. package/dist/{chunk-AQ6FYS2X-Bz4Sl0he.mjs.map → chunk-AQ6FYS2X-B6yFWOgA.mjs.map} +1 -1
  23. package/dist/{chunk-AQ6FYS2X-CWRY3oXA.cjs → chunk-AQ6FYS2X-BEc3YCkn.cjs} +2 -2
  24. package/dist/{chunk-AQ6FYS2X-CWRY3oXA.cjs.map → chunk-AQ6FYS2X-BEc3YCkn.cjs.map} +1 -1
  25. package/dist/{chunk-CHFEPBH4-BjRBtKoa.cjs → chunk-CHFEPBH4-DAgKa_ae.cjs} +2 -2
  26. package/dist/{chunk-CHFEPBH4-BjRBtKoa.cjs.map → chunk-CHFEPBH4-DAgKa_ae.cjs.map} +1 -1
  27. package/dist/{chunk-CHFEPBH4-Cg_Ca4ca.mjs → chunk-CHFEPBH4-DszyllYf.mjs} +2 -2
  28. package/dist/{chunk-CHFEPBH4-Cg_Ca4ca.mjs.map → chunk-CHFEPBH4-DszyllYf.mjs.map} +1 -1
  29. package/dist/{chunk-EBAPSGAO-BAjudTzg.mjs → chunk-EBAPSGAO-BQN5Sjrp.mjs} +2 -2
  30. package/dist/{chunk-EBAPSGAO-BAjudTzg.mjs.map → chunk-EBAPSGAO-BQN5Sjrp.mjs.map} +1 -1
  31. package/dist/{chunk-EBAPSGAO-TuSvdjDg.cjs → chunk-EBAPSGAO-D8V_MK82.cjs} +2 -2
  32. package/dist/{chunk-EBAPSGAO-TuSvdjDg.cjs.map → chunk-EBAPSGAO-D8V_MK82.cjs.map} +1 -1
  33. package/dist/{chunk-LEKBROJD-VngQ-bGK.cjs → chunk-LEKBROJD-BdNyb-Zx.cjs} +2 -2
  34. package/dist/{chunk-LEKBROJD-VngQ-bGK.cjs.map → chunk-LEKBROJD-BdNyb-Zx.cjs.map} +1 -1
  35. package/dist/{chunk-LEKBROJD-B7WoDbJJ.mjs → chunk-LEKBROJD-D0Z3abFc.mjs} +2 -2
  36. package/dist/{chunk-LEKBROJD-B7WoDbJJ.mjs.map → chunk-LEKBROJD-D0Z3abFc.mjs.map} +1 -1
  37. package/dist/{chunk-VPADYNBD-Ju6wgxLY.cjs → chunk-VPADYNBD-BcW9UUUJ.cjs} +2 -2
  38. package/dist/{chunk-VPADYNBD-Ju6wgxLY.cjs.map → chunk-VPADYNBD-BcW9UUUJ.cjs.map} +1 -1
  39. package/dist/{chunk-VPADYNBD-B7JoVwJq.mjs → chunk-VPADYNBD-Cz4RpzRs.mjs} +2 -2
  40. package/dist/{chunk-VPADYNBD-B7JoVwJq.mjs.map → chunk-VPADYNBD-Cz4RpzRs.mjs.map} +1 -1
  41. package/dist/{chunk-YCLFEX4T-BoIwWBSQ.mjs → chunk-YCLFEX4T-BuriAMZM.mjs} +2 -2
  42. package/dist/{chunk-YCLFEX4T-BoIwWBSQ.mjs.map → chunk-YCLFEX4T-BuriAMZM.mjs.map} +1 -1
  43. package/dist/{chunk-YCLFEX4T-81Ii8Wlf.cjs → chunk-YCLFEX4T-D5bZETGy.cjs} +2 -2
  44. package/dist/{chunk-YCLFEX4T-81Ii8Wlf.cjs.map → chunk-YCLFEX4T-D5bZETGy.cjs.map} +1 -1
  45. package/dist/{column-XT6UFXNQ-ieIKmRkh.cjs → column-XT6UFXNQ-CK3Tgvp9.cjs} +2 -2
  46. package/dist/{column-XT6UFXNQ-ieIKmRkh.cjs.map → column-XT6UFXNQ-CK3Tgvp9.cjs.map} +1 -1
  47. package/dist/{column-XT6UFXNQ-B8RfIkpb.mjs → column-XT6UFXNQ-D7U-7Zb_.mjs} +2 -2
  48. package/dist/{column-XT6UFXNQ-B8RfIkpb.mjs.map → column-XT6UFXNQ-D7U-7Zb_.mjs.map} +1 -1
  49. package/dist/{comm-VV2LDX2J-DEKxgGlr.mjs → comm-VV2LDX2J-CVpn9toT.mjs} +2 -2
  50. package/dist/{comm-VV2LDX2J-DEKxgGlr.mjs.map → comm-VV2LDX2J-CVpn9toT.mjs.map} +1 -1
  51. package/dist/{comm-VV2LDX2J-CdE-OYeG.cjs → comm-VV2LDX2J-Dz_BBbXW.cjs} +2 -2
  52. package/dist/{comm-VV2LDX2J-CdE-OYeG.cjs.map → comm-VV2LDX2J-Dz_BBbXW.cjs.map} +1 -1
  53. package/dist/{config-CXBff_fs.d.mts → config-DF8H5mS5.d.mts} +17 -13
  54. package/dist/{config-C78TqlE1.d.cts → config-DqyMT-Xg.d.cts} +17 -13
  55. package/dist/config.cjs +1 -1
  56. package/dist/config.cjs.map +1 -1
  57. package/dist/config.d.cts +1 -1
  58. package/dist/config.d.mts +1 -1
  59. package/dist/config.mjs +1 -1
  60. package/dist/config.mjs.map +1 -1
  61. package/dist/{cp-BISAAS7A-CMVh32j_.mjs → cp-BISAAS7A-DKr1SlBP.mjs} +2 -2
  62. package/dist/{cp-BISAAS7A-CMVh32j_.mjs.map → cp-BISAAS7A-DKr1SlBP.mjs.map} +1 -1
  63. package/dist/{cp-BISAAS7A-C1ygPb-h.cjs → cp-BISAAS7A-jNcszZAJ.cjs} +2 -2
  64. package/dist/{cp-BISAAS7A-C1ygPb-h.cjs.map → cp-BISAAS7A-jNcszZAJ.cjs.map} +1 -1
  65. package/dist/{cut-OKARJCCV-CluNzLiu.mjs → cut-OKARJCCV-BjKVWby5.mjs} +3 -3
  66. package/dist/{cut-OKARJCCV-CluNzLiu.mjs.map → cut-OKARJCCV-BjKVWby5.mjs.map} +1 -1
  67. package/dist/{cut-OKARJCCV-S-g4hG3d.cjs → cut-OKARJCCV-Cc-_kYHa.cjs} +3 -3
  68. package/dist/{cut-OKARJCCV-S-g4hG3d.cjs.map → cut-OKARJCCV-Cc-_kYHa.cjs.map} +1 -1
  69. package/dist/{diff-MWJFIG7X-Xtqp7FtF.cjs → diff-MWJFIG7X-B6ToWPAr.cjs} +2 -2
  70. package/dist/{diff-MWJFIG7X-Xtqp7FtF.cjs.map → diff-MWJFIG7X-B6ToWPAr.cjs.map} +1 -1
  71. package/dist/{diff-MWJFIG7X-CuSut3C1.mjs → diff-MWJFIG7X-BCHpDWKE.mjs} +2 -2
  72. package/dist/{diff-MWJFIG7X-CuSut3C1.mjs.map → diff-MWJFIG7X-BCHpDWKE.mjs.map} +1 -1
  73. package/dist/{dist-D1Iv7_7S.cjs → dist-CTYXqPDt.cjs} +253 -193
  74. package/dist/dist-CTYXqPDt.cjs.map +1 -0
  75. package/dist/{dist-70NUfApd.mjs → dist-u6HScFsc.mjs} +253 -193
  76. package/dist/dist-u6HScFsc.mjs.map +1 -0
  77. package/dist/{du-572XNP42-f68GOB47.cjs → du-572XNP42-CQyl8s3u.cjs} +2 -2
  78. package/dist/{du-572XNP42-f68GOB47.cjs.map → du-572XNP42-CQyl8s3u.cjs.map} +1 -1
  79. package/dist/{du-572XNP42-BTLDH4CK.mjs → du-572XNP42-D2LEmfx9.mjs} +2 -2
  80. package/dist/{du-572XNP42-BTLDH4CK.mjs.map → du-572XNP42-D2LEmfx9.mjs.map} +1 -1
  81. package/dist/{env-36M5BO7M-DHcnOUrA.cjs → env-36M5BO7M-BgS1oyaO.cjs} +2 -2
  82. package/dist/{env-36M5BO7M-DHcnOUrA.cjs.map → env-36M5BO7M-BgS1oyaO.cjs.map} +1 -1
  83. package/dist/{env-36M5BO7M-CjuGiDaW.mjs → env-36M5BO7M-CQz3heu4.mjs} +2 -2
  84. package/dist/{env-36M5BO7M-CjuGiDaW.mjs.map → env-36M5BO7M-CQz3heu4.mjs.map} +1 -1
  85. package/dist/{expand-JSPG6VOP-Cmm7S480.mjs → expand-JSPG6VOP-CjEvgYE7.mjs} +2 -2
  86. package/dist/{expand-JSPG6VOP-Cmm7S480.mjs.map → expand-JSPG6VOP-CjEvgYE7.mjs.map} +1 -1
  87. package/dist/{expand-JSPG6VOP-BAEvLz6y.cjs → expand-JSPG6VOP-w3B3Wcpp.cjs} +2 -2
  88. package/dist/{expand-JSPG6VOP-BAEvLz6y.cjs.map → expand-JSPG6VOP-w3B3Wcpp.cjs.map} +1 -1
  89. package/dist/{expr-5JAACS4X-C3PXSs0i.mjs → expr-5JAACS4X-CekL4kzy.mjs} +2 -2
  90. package/dist/{expr-5JAACS4X-C3PXSs0i.mjs.map → expr-5JAACS4X-CekL4kzy.mjs.map} +1 -1
  91. package/dist/{expr-5JAACS4X-BFLtaqNy.cjs → expr-5JAACS4X-CrqDcl6c.cjs} +2 -2
  92. package/dist/{expr-5JAACS4X-BFLtaqNy.cjs.map → expr-5JAACS4X-CrqDcl6c.cjs.map} +1 -1
  93. package/dist/{find-INTH3OLC-Bf3-4Zi2.cjs → find-INTH3OLC-BLqmQymL.cjs} +3 -3
  94. package/dist/{find-INTH3OLC-Bf3-4Zi2.cjs.map → find-INTH3OLC-BLqmQymL.cjs.map} +1 -1
  95. package/dist/{find-INTH3OLC-D6wBmhsd.mjs → find-INTH3OLC-BuB0ASqa.mjs} +3 -3
  96. package/dist/{find-INTH3OLC-D6wBmhsd.mjs.map → find-INTH3OLC-BuB0ASqa.mjs.map} +1 -1
  97. package/dist/{fold-4TQNYMSW-BIl_iV0S.cjs → fold-4TQNYMSW-Cvoxzetz.cjs} +2 -2
  98. package/dist/{fold-4TQNYMSW-BIl_iV0S.cjs.map → fold-4TQNYMSW-Cvoxzetz.cjs.map} +1 -1
  99. package/dist/{fold-4TQNYMSW-BVCyD8C0.mjs → fold-4TQNYMSW-DdElN4Da.mjs} +2 -2
  100. package/dist/{fold-4TQNYMSW-BVCyD8C0.mjs.map → fold-4TQNYMSW-DdElN4Da.mjs.map} +1 -1
  101. package/dist/{grep-V3LQVMRQ-BcfmH0yO.cjs → grep-V3LQVMRQ-C3P-xkVL.cjs} +4 -4
  102. package/dist/{grep-V3LQVMRQ-BcfmH0yO.cjs.map → grep-V3LQVMRQ-C3P-xkVL.cjs.map} +1 -1
  103. package/dist/{grep-V3LQVMRQ-BLwElJ9a.mjs → grep-V3LQVMRQ-Q9iHVtcz.mjs} +4 -4
  104. package/dist/{grep-V3LQVMRQ-BLwElJ9a.mjs.map → grep-V3LQVMRQ-Q9iHVtcz.mjs.map} +1 -1
  105. package/dist/{gzip-O5ASJAFY-BjVFU42g.mjs → gzip-O5ASJAFY-CQXRBTgw.mjs} +2 -2
  106. package/dist/{gzip-O5ASJAFY-BjVFU42g.mjs.map → gzip-O5ASJAFY-CQXRBTgw.mjs.map} +1 -1
  107. package/dist/{gzip-O5ASJAFY-B9ermjPq.cjs → gzip-O5ASJAFY-DTw8yzKj.cjs} +2 -2
  108. package/dist/{gzip-O5ASJAFY-B9ermjPq.cjs.map → gzip-O5ASJAFY-DTw8yzKj.cjs.map} +1 -1
  109. package/dist/{head-442HYESI-_RXn0SBi.cjs → head-442HYESI-B5Zrtvzq.cjs} +2 -2
  110. package/dist/{head-442HYESI-_RXn0SBi.cjs.map → head-442HYESI-B5Zrtvzq.cjs.map} +1 -1
  111. package/dist/{head-442HYESI-BGRcjEMI.mjs → head-442HYESI-DDn9puS-.mjs} +2 -2
  112. package/dist/{head-442HYESI-BGRcjEMI.mjs.map → head-442HYESI-DDn9puS-.mjs.map} +1 -1
  113. package/dist/{help-HZ6M2CKN-DJP0l3xk.cjs → help-HZ6M2CKN-ShPRglNQ.cjs} +2 -2
  114. package/dist/{help-HZ6M2CKN-DJP0l3xk.cjs.map → help-HZ6M2CKN-ShPRglNQ.cjs.map} +1 -1
  115. package/dist/{help-HZ6M2CKN-BCHt7Yu_.mjs → help-HZ6M2CKN-lSoKoXl4.mjs} +2 -2
  116. package/dist/{help-HZ6M2CKN-BCHt7Yu_.mjs.map → help-HZ6M2CKN-lSoKoXl4.mjs.map} +1 -1
  117. package/dist/{html-to-markdown-JW4MSQZO-Dq7eYKW0.mjs → html-to-markdown-JW4MSQZO-BthuArNM.mjs} +2 -2
  118. package/dist/{html-to-markdown-JW4MSQZO-Dq7eYKW0.mjs.map → html-to-markdown-JW4MSQZO-BthuArNM.mjs.map} +1 -1
  119. package/dist/{html-to-markdown-JW4MSQZO-yoaOs45E.cjs → html-to-markdown-JW4MSQZO-DUFlGd4H.cjs} +2 -2
  120. package/dist/{html-to-markdown-JW4MSQZO-yoaOs45E.cjs.map → html-to-markdown-JW4MSQZO-DUFlGd4H.cjs.map} +1 -1
  121. package/dist/{join-TBRGI3LQ-BU7FYSK3.mjs → join-TBRGI3LQ-BPbb462M.mjs} +2 -2
  122. package/dist/{join-TBRGI3LQ-BU7FYSK3.mjs.map → join-TBRGI3LQ-BPbb462M.mjs.map} +1 -1
  123. package/dist/{join-TBRGI3LQ-BOS3zpbh.cjs → join-TBRGI3LQ-lLkX23Kg.cjs} +2 -2
  124. package/dist/{join-TBRGI3LQ-BOS3zpbh.cjs.map → join-TBRGI3LQ-lLkX23Kg.cjs.map} +1 -1
  125. package/dist/{jq-4XLYLOS5-C-4KbpIO.cjs → jq-4XLYLOS5-C43q5lUe.cjs} +4 -4
  126. package/dist/{jq-4XLYLOS5-C-4KbpIO.cjs.map → jq-4XLYLOS5-C43q5lUe.cjs.map} +1 -1
  127. package/dist/{jq-4XLYLOS5-tfCBGz19.mjs → jq-4XLYLOS5-vNG15h8L.mjs} +4 -4
  128. package/dist/{jq-4XLYLOS5-tfCBGz19.mjs.map → jq-4XLYLOS5-vNG15h8L.mjs.map} +1 -1
  129. package/dist/{js-exec-N5KEZBH7--5grqRpb.cjs → js-exec-N5KEZBH7-DD7o_C3B.cjs} +4 -4
  130. package/dist/{js-exec-N5KEZBH7--5grqRpb.cjs.map → js-exec-N5KEZBH7-DD7o_C3B.cjs.map} +1 -1
  131. package/dist/{js-exec-N5KEZBH7-C5C01q6k.mjs → js-exec-N5KEZBH7-az3ZblrQ.mjs} +4 -4
  132. package/dist/{js-exec-N5KEZBH7-C5C01q6k.mjs.map → js-exec-N5KEZBH7-az3ZblrQ.mjs.map} +1 -1
  133. package/dist/{lib-CNke9ACR.mjs → lib-CIBglQoq.mjs} +2 -2
  134. package/dist/{lib-CNke9ACR.mjs.map → lib-CIBglQoq.mjs.map} +1 -1
  135. package/dist/{lib-CW0fuh-i.cjs → lib-CPYdOQHl.cjs} +2 -2
  136. package/dist/{lib-CW0fuh-i.cjs.map → lib-CPYdOQHl.cjs.map} +1 -1
  137. package/dist/{ln-4LGSXXGD-Cy8gNPMC.mjs → ln-4LGSXXGD-C-x9d2b0.mjs} +2 -2
  138. package/dist/{ln-4LGSXXGD-Cy8gNPMC.mjs.map → ln-4LGSXXGD-C-x9d2b0.mjs.map} +1 -1
  139. package/dist/{ln-4LGSXXGD-B0nikKzZ.cjs → ln-4LGSXXGD-CIEgUkpB.cjs} +2 -2
  140. package/dist/{ln-4LGSXXGD-B0nikKzZ.cjs.map → ln-4LGSXXGD-CIEgUkpB.cjs.map} +1 -1
  141. package/dist/{ls-ZJGQER7M-DMYpsOhX.mjs → ls-ZJGQER7M-Bcrhni0D.mjs} +2 -2
  142. package/dist/{ls-ZJGQER7M-DMYpsOhX.mjs.map → ls-ZJGQER7M-Bcrhni0D.mjs.map} +1 -1
  143. package/dist/{ls-ZJGQER7M-CaSRbmLC.cjs → ls-ZJGQER7M-Dco5ZVvc.cjs} +2 -2
  144. package/dist/{ls-ZJGQER7M-CaSRbmLC.cjs.map → ls-ZJGQER7M-Dco5ZVvc.cjs.map} +1 -1
  145. package/dist/{lzma-L8nnN88o.cjs → lzma-COEsFpf6.cjs} +2 -2
  146. package/dist/{lzma-L8nnN88o.cjs.map → lzma-COEsFpf6.cjs.map} +1 -1
  147. package/dist/{md5sum-SPU24VSG-wjaqw6M5.cjs → md5sum-SPU24VSG-7ehymDqh.cjs} +3 -3
  148. package/dist/{md5sum-SPU24VSG-wjaqw6M5.cjs.map → md5sum-SPU24VSG-7ehymDqh.cjs.map} +1 -1
  149. package/dist/{md5sum-SPU24VSG-DDehVi3L.mjs → md5sum-SPU24VSG-BikEaErI.mjs} +3 -3
  150. package/dist/{md5sum-SPU24VSG-DDehVi3L.mjs.map → md5sum-SPU24VSG-BikEaErI.mjs.map} +1 -1
  151. package/dist/{mkdir-MEPGZOB6-D6EapQqG.cjs → mkdir-MEPGZOB6-BTuz9v_t.cjs} +2 -2
  152. package/dist/{mkdir-MEPGZOB6-D6EapQqG.cjs.map → mkdir-MEPGZOB6-BTuz9v_t.cjs.map} +1 -1
  153. package/dist/{mkdir-MEPGZOB6-BoeUbSt6.mjs → mkdir-MEPGZOB6-BhU6Z4rR.mjs} +2 -2
  154. package/dist/{mkdir-MEPGZOB6-BoeUbSt6.mjs.map → mkdir-MEPGZOB6-BhU6Z4rR.mjs.map} +1 -1
  155. package/dist/{mv-W5BIQ646-ee9iH5gF.mjs → mv-W5BIQ646-DYHSL0LU.mjs} +2 -2
  156. package/dist/{mv-W5BIQ646-ee9iH5gF.mjs.map → mv-W5BIQ646-DYHSL0LU.mjs.map} +1 -1
  157. package/dist/{mv-W5BIQ646-Cl3grRdX.cjs → mv-W5BIQ646-rqsiQb7M.cjs} +2 -2
  158. package/dist/{mv-W5BIQ646-Cl3grRdX.cjs.map → mv-W5BIQ646-rqsiQb7M.cjs.map} +1 -1
  159. package/dist/{nl-WSDW7I4O-DttNn_cO.cjs → nl-WSDW7I4O-CnGKibFZ.cjs} +2 -2
  160. package/dist/{nl-WSDW7I4O-DttNn_cO.cjs.map → nl-WSDW7I4O-CnGKibFZ.cjs.map} +1 -1
  161. package/dist/{nl-WSDW7I4O-DveMZ08l.mjs → nl-WSDW7I4O-Dkal6Jz6.mjs} +2 -2
  162. package/dist/{nl-WSDW7I4O-DveMZ08l.mjs.map → nl-WSDW7I4O-Dkal6Jz6.mjs.map} +1 -1
  163. package/dist/{od-WOKFDJTP-BJWjPFho.cjs → od-WOKFDJTP-BScUR9bN.cjs} +2 -2
  164. package/dist/{od-WOKFDJTP-BJWjPFho.cjs.map → od-WOKFDJTP-BScUR9bN.cjs.map} +1 -1
  165. package/dist/{od-WOKFDJTP-DCy3_AZ5.mjs → od-WOKFDJTP-LkcVOtHj.mjs} +2 -2
  166. package/dist/{od-WOKFDJTP-DCy3_AZ5.mjs.map → od-WOKFDJTP-LkcVOtHj.mjs.map} +1 -1
  167. package/dist/{paste-7JC6S4DX-DEoyg9Vv.cjs → paste-7JC6S4DX-HzWqjKmQ.cjs} +2 -2
  168. package/dist/{paste-7JC6S4DX-DEoyg9Vv.cjs.map → paste-7JC6S4DX-HzWqjKmQ.cjs.map} +1 -1
  169. package/dist/{paste-7JC6S4DX-DL9UawIf.mjs → paste-7JC6S4DX-tqwrEvYy.mjs} +2 -2
  170. package/dist/{paste-7JC6S4DX-DL9UawIf.mjs.map → paste-7JC6S4DX-tqwrEvYy.mjs.map} +1 -1
  171. package/dist/{printf-TWGXF445-BlwG6dD2.mjs → printf-TWGXF445-B8Sf39v5.mjs} +2 -2
  172. package/dist/{printf-TWGXF445-BlwG6dD2.mjs.map → printf-TWGXF445-B8Sf39v5.mjs.map} +1 -1
  173. package/dist/{printf-TWGXF445-B1fsJl2X.cjs → printf-TWGXF445-Bje4cyXe.cjs} +2 -2
  174. package/dist/{printf-TWGXF445-B1fsJl2X.cjs.map → printf-TWGXF445-Bje4cyXe.cjs.map} +1 -1
  175. package/dist/{python3-POMOR4OA-qY8EzVSe.mjs → python3-POMOR4OA-CQy0OWJW.mjs} +3 -3
  176. package/dist/{python3-POMOR4OA-qY8EzVSe.mjs.map → python3-POMOR4OA-CQy0OWJW.mjs.map} +1 -1
  177. package/dist/{python3-POMOR4OA-B8aVGk7h.cjs → python3-POMOR4OA-bgmedTpE.cjs} +3 -3
  178. package/dist/{python3-POMOR4OA-B8aVGk7h.cjs.map → python3-POMOR4OA-bgmedTpE.cjs.map} +1 -1
  179. package/dist/{rev-5EHFX4EJ-B27blDxm.cjs → rev-5EHFX4EJ-BpzhDpp9.cjs} +2 -2
  180. package/dist/{rev-5EHFX4EJ-B27blDxm.cjs.map → rev-5EHFX4EJ-BpzhDpp9.cjs.map} +1 -1
  181. package/dist/{rev-5EHFX4EJ-Dxay6iFE.mjs → rev-5EHFX4EJ-Lno-pSvM.mjs} +2 -2
  182. package/dist/{rev-5EHFX4EJ-Dxay6iFE.mjs.map → rev-5EHFX4EJ-Lno-pSvM.mjs.map} +1 -1
  183. package/dist/{rg-S4FXYXWB-BL_fs0a0.cjs → rg-S4FXYXWB-B3c-xS0T.cjs} +3 -3
  184. package/dist/{rg-S4FXYXWB-BL_fs0a0.cjs.map → rg-S4FXYXWB-B3c-xS0T.cjs.map} +1 -1
  185. package/dist/{rg-S4FXYXWB-b3jjC2M6.mjs → rg-S4FXYXWB-vO1CwZd4.mjs} +3 -3
  186. package/dist/{rg-S4FXYXWB-b3jjC2M6.mjs.map → rg-S4FXYXWB-vO1CwZd4.mjs.map} +1 -1
  187. package/dist/{rm-SSGETQVQ-D0Grjo65.mjs → rm-SSGETQVQ-DVySAmdO.mjs} +2 -2
  188. package/dist/{rm-SSGETQVQ-D0Grjo65.mjs.map → rm-SSGETQVQ-DVySAmdO.mjs.map} +1 -1
  189. package/dist/{rm-SSGETQVQ-CskLcJOp.cjs → rm-SSGETQVQ-emZmXVbD.cjs} +2 -2
  190. package/dist/{rm-SSGETQVQ-CskLcJOp.cjs.map → rm-SSGETQVQ-emZmXVbD.cjs.map} +1 -1
  191. package/dist/{rmdir-OC4ZLPYA-BZ86Q3Wr.mjs → rmdir-OC4ZLPYA-BiT5sPTn.mjs} +2 -2
  192. package/dist/{rmdir-OC4ZLPYA-BZ86Q3Wr.mjs.map → rmdir-OC4ZLPYA-BiT5sPTn.mjs.map} +1 -1
  193. package/dist/{rmdir-OC4ZLPYA-Br6jTWJO.cjs → rmdir-OC4ZLPYA-D0vq3r9z.cjs} +2 -2
  194. package/dist/{rmdir-OC4ZLPYA-Br6jTWJO.cjs.map → rmdir-OC4ZLPYA-D0vq3r9z.cjs.map} +1 -1
  195. package/dist/run.cjs +1 -1
  196. package/dist/run.mjs +1 -1
  197. package/dist/{sed-S5UIK574-OUlTmK0x.cjs → sed-S5UIK574-C_tmmJAF.cjs} +2 -2
  198. package/dist/{sed-S5UIK574-OUlTmK0x.cjs.map → sed-S5UIK574-C_tmmJAF.cjs.map} +1 -1
  199. package/dist/{sed-S5UIK574-C0ikpRUI.mjs → sed-S5UIK574-DOl6PWt5.mjs} +2 -2
  200. package/dist/{sed-S5UIK574-C0ikpRUI.mjs.map → sed-S5UIK574-DOl6PWt5.mjs.map} +1 -1
  201. package/dist/{sha1sum-2PTOAFR6-hLKNluNQ.mjs → sha1sum-2PTOAFR6-GuPK_c0G.mjs} +3 -3
  202. package/dist/{sha1sum-2PTOAFR6-hLKNluNQ.mjs.map → sha1sum-2PTOAFR6-GuPK_c0G.mjs.map} +1 -1
  203. package/dist/{sha1sum-2PTOAFR6-B_DU8HD8.cjs → sha1sum-2PTOAFR6-eVUequm9.cjs} +3 -3
  204. package/dist/{sha1sum-2PTOAFR6-B_DU8HD8.cjs.map → sha1sum-2PTOAFR6-eVUequm9.cjs.map} +1 -1
  205. package/dist/{sha256sum-NS7D3IXX-c6RHEh31.mjs → sha256sum-NS7D3IXX-KDhoCBD7.mjs} +3 -3
  206. package/dist/{sha256sum-NS7D3IXX-c6RHEh31.mjs.map → sha256sum-NS7D3IXX-KDhoCBD7.mjs.map} +1 -1
  207. package/dist/{sha256sum-NS7D3IXX-YzzSU71d.cjs → sha256sum-NS7D3IXX-d1Vg6JxV.cjs} +3 -3
  208. package/dist/{sha256sum-NS7D3IXX-YzzSU71d.cjs.map → sha256sum-NS7D3IXX-d1Vg6JxV.cjs.map} +1 -1
  209. package/dist/{sleep-X22JJINO-lQ5Wi1rP.mjs → sleep-X22JJINO-CyAkxQSD.mjs} +2 -2
  210. package/dist/{sleep-X22JJINO-lQ5Wi1rP.mjs.map → sleep-X22JJINO-CyAkxQSD.mjs.map} +1 -1
  211. package/dist/{sleep-X22JJINO-DFWLmtic.cjs → sleep-X22JJINO-DGw5kE6M.cjs} +2 -2
  212. package/dist/{sleep-X22JJINO-DFWLmtic.cjs.map → sleep-X22JJINO-DGw5kE6M.cjs.map} +1 -1
  213. package/dist/{sort-SW2YEO5B-Njc26SUn.mjs → sort-SW2YEO5B-DKjLTe-O.mjs} +3 -3
  214. package/dist/{sort-SW2YEO5B-Njc26SUn.mjs.map → sort-SW2YEO5B-DKjLTe-O.mjs.map} +1 -1
  215. package/dist/{sort-SW2YEO5B-BlJCEbS7.cjs → sort-SW2YEO5B-RuQckK0z.cjs} +3 -3
  216. package/dist/{sort-SW2YEO5B-BlJCEbS7.cjs.map → sort-SW2YEO5B-RuQckK0z.cjs.map} +1 -1
  217. package/dist/{split-4KKZZXXE-DGFsDrFE.cjs → split-4KKZZXXE-CFDvTWk8.cjs} +2 -2
  218. package/dist/{split-4KKZZXXE-DGFsDrFE.cjs.map → split-4KKZZXXE-CFDvTWk8.cjs.map} +1 -1
  219. package/dist/{split-4KKZZXXE-C97QsnxB.mjs → split-4KKZZXXE-DXwRJvCX.mjs} +2 -2
  220. package/dist/{split-4KKZZXXE-C97QsnxB.mjs.map → split-4KKZZXXE-DXwRJvCX.mjs.map} +1 -1
  221. package/dist/{sqlite3-CGOEFJAO-D78UkTyw.cjs → sqlite3-CGOEFJAO-C2GzVRe7.cjs} +2 -2
  222. package/dist/{sqlite3-CGOEFJAO-D78UkTyw.cjs.map → sqlite3-CGOEFJAO-C2GzVRe7.cjs.map} +1 -1
  223. package/dist/{sqlite3-CGOEFJAO-HGqCZYuu.mjs → sqlite3-CGOEFJAO-CX7OvdMs.mjs} +2 -2
  224. package/dist/{sqlite3-CGOEFJAO-HGqCZYuu.mjs.map → sqlite3-CGOEFJAO-CX7OvdMs.mjs.map} +1 -1
  225. package/dist/{start-BX-bkX9K.cjs → start-B90XtxnL.cjs} +106 -81
  226. package/dist/start-B90XtxnL.cjs.map +1 -0
  227. package/dist/{start-DAlaZ5zj.mjs → start-JvUYlamf.mjs} +106 -81
  228. package/dist/start-JvUYlamf.mjs.map +1 -0
  229. package/dist/start.cjs +1 -1
  230. package/dist/start.d.cts +1 -1
  231. package/dist/start.d.mts +1 -1
  232. package/dist/start.mjs +1 -1
  233. package/dist/{strings-6WDHLGMX-Dix-GFiu.mjs → strings-6WDHLGMX-DSFHiHo6.mjs} +2 -2
  234. package/dist/{strings-6WDHLGMX-Dix-GFiu.mjs.map → strings-6WDHLGMX-DSFHiHo6.mjs.map} +1 -1
  235. package/dist/{strings-6WDHLGMX-CeJiCt-u.cjs → strings-6WDHLGMX-uhhFpIsD.cjs} +2 -2
  236. package/dist/{strings-6WDHLGMX-CeJiCt-u.cjs.map → strings-6WDHLGMX-uhhFpIsD.cjs.map} +1 -1
  237. package/dist/{tac-2STMMJYW-DlI5binK.cjs → tac-2STMMJYW-CAeepy4C.cjs} +2 -2
  238. package/dist/{tac-2STMMJYW-DlI5binK.cjs.map → tac-2STMMJYW-CAeepy4C.cjs.map} +1 -1
  239. package/dist/{tac-2STMMJYW-Bm0D_YqQ.mjs → tac-2STMMJYW-ilclcuYi.mjs} +2 -2
  240. package/dist/{tac-2STMMJYW-Bm0D_YqQ.mjs.map → tac-2STMMJYW-ilclcuYi.mjs.map} +1 -1
  241. package/dist/{tail-R4PCA2C4-7wsnh20i.mjs → tail-R4PCA2C4-BqXHf0GQ.mjs} +2 -2
  242. package/dist/{tail-R4PCA2C4-7wsnh20i.mjs.map → tail-R4PCA2C4-BqXHf0GQ.mjs.map} +1 -1
  243. package/dist/{tail-R4PCA2C4-TH4AUhAb.cjs → tail-R4PCA2C4-beByscYb.cjs} +2 -2
  244. package/dist/{tail-R4PCA2C4-TH4AUhAb.cjs.map → tail-R4PCA2C4-beByscYb.cjs.map} +1 -1
  245. package/dist/{tar-STHHZTZ6-gShA0vQ1.mjs → tar-STHHZTZ6-DEQqPt4f.mjs} +3 -3
  246. package/dist/{tar-STHHZTZ6-gShA0vQ1.mjs.map → tar-STHHZTZ6-DEQqPt4f.mjs.map} +1 -1
  247. package/dist/{tar-STHHZTZ6-DELlRab1.cjs → tar-STHHZTZ6-D_3Avd2x.cjs} +4 -4
  248. package/dist/{tar-STHHZTZ6-DELlRab1.cjs.map → tar-STHHZTZ6-D_3Avd2x.cjs.map} +1 -1
  249. package/dist/{tee-YUZ2FKCJ-6jGvzLuO.mjs → tee-YUZ2FKCJ-DeL5TxOv.mjs} +2 -2
  250. package/dist/{tee-YUZ2FKCJ-6jGvzLuO.mjs.map → tee-YUZ2FKCJ-DeL5TxOv.mjs.map} +1 -1
  251. package/dist/{tee-YUZ2FKCJ-D_BE3AiF.cjs → tee-YUZ2FKCJ-kgjQdGix.cjs} +2 -2
  252. package/dist/{tee-YUZ2FKCJ-D_BE3AiF.cjs.map → tee-YUZ2FKCJ-kgjQdGix.cjs.map} +1 -1
  253. package/dist/{time-D4LNBSWX-D7RWA_NU.mjs → time-D4LNBSWX-BDvqGzoU.mjs} +2 -2
  254. package/dist/{time-D4LNBSWX-D7RWA_NU.mjs.map → time-D4LNBSWX-BDvqGzoU.mjs.map} +1 -1
  255. package/dist/{time-D4LNBSWX-zKxg-wM1.cjs → time-D4LNBSWX-C1Jzh_FF.cjs} +2 -2
  256. package/dist/{time-D4LNBSWX-zKxg-wM1.cjs.map → time-D4LNBSWX-C1Jzh_FF.cjs.map} +1 -1
  257. package/dist/{timeout-YDCRSLPQ-D42ruxso.mjs → timeout-YDCRSLPQ-CDHmK2ET.mjs} +2 -2
  258. package/dist/{timeout-YDCRSLPQ-D42ruxso.mjs.map → timeout-YDCRSLPQ-CDHmK2ET.mjs.map} +1 -1
  259. package/dist/{timeout-YDCRSLPQ-DWs-ACr6.cjs → timeout-YDCRSLPQ-Ddgm55V3.cjs} +2 -2
  260. package/dist/{timeout-YDCRSLPQ-DWs-ACr6.cjs.map → timeout-YDCRSLPQ-Ddgm55V3.cjs.map} +1 -1
  261. package/dist/{touch-UA33VN3N-BALmWXCe.cjs → touch-UA33VN3N-CBfo-fUk.cjs} +2 -2
  262. package/dist/{touch-UA33VN3N-BALmWXCe.cjs.map → touch-UA33VN3N-CBfo-fUk.cjs.map} +1 -1
  263. package/dist/{touch-UA33VN3N-OcSMUASX.mjs → touch-UA33VN3N-CLRU8dwp.mjs} +2 -2
  264. package/dist/{touch-UA33VN3N-OcSMUASX.mjs.map → touch-UA33VN3N-CLRU8dwp.mjs.map} +1 -1
  265. package/dist/{tr-36LHWFRQ-BHhoJAPK.mjs → tr-36LHWFRQ--Lxi-rUi.mjs} +2 -2
  266. package/dist/{tr-36LHWFRQ-BHhoJAPK.mjs.map → tr-36LHWFRQ--Lxi-rUi.mjs.map} +1 -1
  267. package/dist/{tr-36LHWFRQ-DDHiAg_m.cjs → tr-36LHWFRQ-Bel6G8Xw.cjs} +2 -2
  268. package/dist/{tr-36LHWFRQ-DDHiAg_m.cjs.map → tr-36LHWFRQ-Bel6G8Xw.cjs.map} +1 -1
  269. package/dist/{tree-YLD52CNT-CuJMHpsw.mjs → tree-YLD52CNT-BX10X2C8.mjs} +2 -2
  270. package/dist/{tree-YLD52CNT-CuJMHpsw.mjs.map → tree-YLD52CNT-BX10X2C8.mjs.map} +1 -1
  271. package/dist/{tree-YLD52CNT-BqqLx-tM.cjs → tree-YLD52CNT-DarfOTzE.cjs} +2 -2
  272. package/dist/{tree-YLD52CNT-BqqLx-tM.cjs.map → tree-YLD52CNT-DarfOTzE.cjs.map} +1 -1
  273. package/dist/{unexpand-CADSA4VO-CHiw_MI4.mjs → unexpand-CADSA4VO-CE8Q-7DI.mjs} +2 -2
  274. package/dist/{unexpand-CADSA4VO-CHiw_MI4.mjs.map → unexpand-CADSA4VO-CE8Q-7DI.mjs.map} +1 -1
  275. package/dist/{unexpand-CADSA4VO-BORtdsy_.cjs → unexpand-CADSA4VO-CLZLDBM9.cjs} +2 -2
  276. package/dist/{unexpand-CADSA4VO-BORtdsy_.cjs.map → unexpand-CADSA4VO-CLZLDBM9.cjs.map} +1 -1
  277. package/dist/{uniq-XSIZR6PB-CyA5DoCP.cjs → uniq-XSIZR6PB-CvkGBiie.cjs} +3 -3
  278. package/dist/{uniq-XSIZR6PB-CyA5DoCP.cjs.map → uniq-XSIZR6PB-CvkGBiie.cjs.map} +1 -1
  279. package/dist/{uniq-XSIZR6PB-Byah97Ij.mjs → uniq-XSIZR6PB-DVI8BEWZ.mjs} +3 -3
  280. package/dist/{uniq-XSIZR6PB-Byah97Ij.mjs.map → uniq-XSIZR6PB-DVI8BEWZ.mjs.map} +1 -1
  281. package/dist/{wc-LF7NU4LA-DUBYnutH.cjs → wc-LF7NU4LA-B87JyYK9.cjs} +3 -3
  282. package/dist/{wc-LF7NU4LA-DUBYnutH.cjs.map → wc-LF7NU4LA-B87JyYK9.cjs.map} +1 -1
  283. package/dist/{wc-LF7NU4LA-CPMTeSun.mjs → wc-LF7NU4LA-D2NJbTrF.mjs} +3 -3
  284. package/dist/{wc-LF7NU4LA-CPMTeSun.mjs.map → wc-LF7NU4LA-D2NJbTrF.mjs.map} +1 -1
  285. package/dist/{xan-Y6WF3IRG-CLfddWd-.mjs → xan-Y6WF3IRG-BezI-KTd.mjs} +6 -6
  286. package/dist/{xan-Y6WF3IRG-CLfddWd-.mjs.map → xan-Y6WF3IRG-BezI-KTd.mjs.map} +1 -1
  287. package/dist/{xan-Y6WF3IRG-W4Yr19gE.cjs → xan-Y6WF3IRG-C28WXL79.cjs} +6 -6
  288. package/dist/{xan-Y6WF3IRG-W4Yr19gE.cjs.map → xan-Y6WF3IRG-C28WXL79.cjs.map} +1 -1
  289. package/dist/{xan-view-HDVKHFC2-B_Xy-tdc.mjs → xan-view-HDVKHFC2-BI6E4WF5.mjs} +3 -3
  290. package/dist/{xan-view-HDVKHFC2-B_Xy-tdc.mjs.map → xan-view-HDVKHFC2-BI6E4WF5.mjs.map} +1 -1
  291. package/dist/{xan-view-HDVKHFC2-CWkN0IJ1.cjs → xan-view-HDVKHFC2-DcPqeIFZ.cjs} +3 -3
  292. package/dist/{xan-view-HDVKHFC2-CWkN0IJ1.cjs.map → xan-view-HDVKHFC2-DcPqeIFZ.cjs.map} +1 -1
  293. package/dist/{xargs-MGZPH7AX-B_Ocy3BY.cjs → xargs-MGZPH7AX-D80gglJT.cjs} +2 -2
  294. package/dist/{xargs-MGZPH7AX-B_Ocy3BY.cjs.map → xargs-MGZPH7AX-D80gglJT.cjs.map} +1 -1
  295. package/dist/{xargs-MGZPH7AX-DDoz_2hL.mjs → xargs-MGZPH7AX-Da4TABeU.mjs} +2 -2
  296. package/dist/{xargs-MGZPH7AX-DDoz_2hL.mjs.map → xargs-MGZPH7AX-Da4TABeU.mjs.map} +1 -1
  297. package/dist/{yq-4QJW3EQG-mUhWBJBJ.mjs → yq-4QJW3EQG-D785OqS8.mjs} +3 -3
  298. package/dist/{yq-4QJW3EQG-mUhWBJBJ.mjs.map → yq-4QJW3EQG-D785OqS8.mjs.map} +1 -1
  299. package/dist/{yq-4QJW3EQG-BPBhjinw.cjs → yq-4QJW3EQG-DqHEdSO6.cjs} +3 -3
  300. package/dist/{yq-4QJW3EQG-BPBhjinw.cjs.map → yq-4QJW3EQG-DqHEdSO6.cjs.map} +1 -1
  301. package/package.json +1 -1
  302. package/dist/dist-70NUfApd.mjs.map +0 -1
  303. package/dist/dist-D1Iv7_7S.cjs.map +0 -1
  304. package/dist/start-BX-bkX9K.cjs.map +0 -1
  305. package/dist/start-DAlaZ5zj.mjs.map +0 -1
@@ -6,10 +6,10 @@ import { DEFAULT_DATABASE_URL, claimNextJob, clearCredentialInstanceDefaults, cr
6
6
  import { z } from "zod";
7
7
  import { join } from "node:path";
8
8
  import { mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
9
+ import { AsyncLocalStorage } from "node:async_hooks";
9
10
  import "node:url";
10
11
  import { tmpdir } from "node:os";
11
12
  import { createCipheriv, createDecipheriv, createHash, randomBytes, randomUUID } from "node:crypto";
12
- import { AsyncLocalStorage } from "node:async_hooks";
13
13
  import { deleteSecretValuesForRef, getOrganizationScopeId, selectSecretValue, upsertSecretValue } from "@keystrokehq/platform-database";
14
14
  import "zod/v3";
15
15
  import "zod/v4-mini";
@@ -54,6 +54,10 @@ const PROJECT_SERVER_HEALTH = {
54
54
  path: "/health",
55
55
  port: PROJECT_SERVER_PORT
56
56
  };
57
+ /** Builds base64 `KEYSTROKE_ORG_ARTIFACTS` payload for org worker containers. */
58
+ function encodeOrgArtifacts(artifacts) {
59
+ return Buffer.from(JSON.stringify(artifacts)).toString("base64");
60
+ }
57
61
  const RUNTIME_ENV_KEYS = [
58
62
  "BETTER_AUTH_SECRET",
59
63
  "PUBLIC_SERVER_URL",
@@ -84,28 +88,26 @@ function projectDatabaseRuntimeEnv(database) {
84
88
  };
85
89
  }
86
90
  /**
87
- * Builds the launch spec for a single project server. `artifactStorageKey` is the
88
- * object key for that deploy's built `dist` tarball in the org bucket there is
89
- * no base image, so it is required.
91
+ * Builds the launch spec for an org worker. Each deploy artifact is encoded in
92
+ * `KEYSTROKE_ORG_ARTIFACTS` there is no base image, so at least one artifact is required.
90
93
  */
91
- function resolveRuntimeLaunch(options, artifactStorageKey, database, extraEnv) {
92
- if (!artifactStorageKey) throw new Error("Cannot start a project server without an artifact storage key");
94
+ function resolveRuntimeLaunch(options, artifacts, database, extraEnv) {
95
+ if (artifacts.length === 0) throw new Error("Cannot start an org worker without at least one artifact");
93
96
  const env = options.env ?? process.env;
94
97
  return {
95
98
  image: resolveProjectServerImage(env, options.image),
96
- env: buildRuntimeEnv(env, artifactStorageKey, database, extraEnv),
99
+ env: buildRuntimeEnv(env, artifacts, database, extraEnv),
97
100
  port: PROJECT_SERVER_PORT,
98
101
  health: PROJECT_SERVER_HEALTH
99
102
  };
100
103
  }
101
- /** Env vars passed into the project server container/machine. */
102
- function buildRuntimeEnv(source, artifactStorageKey, database, extraEnv) {
104
+ /** Env vars passed into the org worker container/machine. */
105
+ function buildRuntimeEnv(source, artifacts, database, extraEnv) {
103
106
  const entries = new Map([
104
107
  ["PORT", String(PROJECT_SERVER_PORT)],
105
108
  ["KEYSTROKE_ROOT", PROJECT_SERVER_ROOT],
106
109
  ["KEYSTROKE_RUNTIME_NODE_MODULES", PROJECT_SERVER_FRAMEWORK_NODE_MODULES],
107
- ["ARTIFACT_STORAGE_KEY", artifactStorageKey],
108
- ["PROJECT_ID", database.projectId],
110
+ ["KEYSTROKE_ORG_ARTIFACTS", encodeOrgArtifacts(artifacts)],
109
111
  ["ORGANIZATION_ID", database.organizationId],
110
112
  ["TENANT_ID", database.organizationId]
111
113
  ]);
@@ -208,15 +210,19 @@ const MINIO_DOCKER_NETWORK = process.env.MINIO_DOCKER_NETWORK ?? "keystroke";
208
210
  function createDockerRuntime(options = {}) {
209
211
  const docker = options.docker ?? new Docker();
210
212
  return { async start(input) {
211
- const launch = resolveRuntimeLaunch(options, input.artifactStorageKey, input.database, input.env);
213
+ if (input.projects.length === 0) throw new Error("Docker org runtime requires at least one project deploy");
214
+ const launch = resolveRuntimeLaunch(options, input.projects.map((project) => ({
215
+ projectId: project.projectId,
216
+ artifactStorageKey: project.artifactStorageKey
217
+ })), input.database, input.env);
212
218
  await ensureImage(docker, launch.image);
213
- await removeExistingContainer(docker, input.projectId);
219
+ await removeExistingContainer(docker, input.organizationId);
214
220
  const container = await docker.createContainer({
215
221
  Image: launch.image,
216
- name: containerName(input.projectId),
222
+ name: containerName(input.organizationId),
217
223
  Labels: {
218
- "keystroke.project.id": input.projectId,
219
- "keystroke.project.name": input.name
224
+ "keystroke.organization.id": input.organizationId,
225
+ "keystroke.project.ids": input.projects.map((project) => project.projectId).join(",")
220
226
  },
221
227
  ExposedPorts: { [`${launch.port}/tcp`]: {} },
222
228
  HostConfig: {
@@ -229,7 +235,7 @@ function createDockerRuntime(options = {}) {
229
235
  await container.start();
230
236
  const inspect = await container.inspect();
231
237
  const binding = inspect.NetworkSettings.Ports?.[`${launch.port}/tcp`]?.[0];
232
- if (!binding?.HostPort) throw new Error("Failed to resolve project container host port");
238
+ if (!binding?.HostPort) throw new Error("Failed to resolve org container host port");
233
239
  const baseUrl = `http://127.0.0.1:${binding.HostPort}`;
234
240
  await waitForHealth(baseUrl, {
235
241
  fetchImpl: options.fetchImpl,
@@ -241,12 +247,12 @@ function createDockerRuntime(options = {}) {
241
247
  };
242
248
  } };
243
249
  }
244
- function containerName(projectId) {
245
- return `keystroke-project-${projectId}`;
250
+ function containerName(organizationId) {
251
+ return `keystroke-org-${organizationId}`;
246
252
  }
247
- async function removeExistingContainer(docker, projectId) {
253
+ async function removeExistingContainer(docker, organizationId) {
248
254
  try {
249
- const existing = docker.getContainer(containerName(projectId));
255
+ const existing = docker.getContainer(containerName(organizationId));
250
256
  await existing.stop({ t: 5 }).catch(() => void 0);
251
257
  await existing.remove({ force: true });
252
258
  } catch {}
@@ -980,7 +986,7 @@ _Object_({
980
986
  content: String$1({ description: "Content to write to the file" })
981
987
  });
982
988
  //#endregion
983
- //#region ../../packages/sandbox/dist/files-DJf_h8XJ.mjs
989
+ //#region ../../packages/sandbox/dist/files-XxiqkzS0.mjs
984
990
  const SandboxFileContentSchema = z.object({
985
991
  path: z.string(),
986
992
  file: z.string()
@@ -997,6 +1003,7 @@ const SandboxDefinitionSchema = z.object({
997
1003
  key: z.string().optional(),
998
1004
  files: z.array(SandboxFileSchema).optional()
999
1005
  });
1006
+ new AsyncLocalStorage();
1000
1007
  //#endregion
1001
1008
  //#region ../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/chunk-4RUAZWKT.js
1002
1009
  createRequire(import.meta.url);
@@ -23799,43 +23806,43 @@ var tt = [
23799
23806
  },
23800
23807
  {
23801
23808
  name: "cat",
23802
- load: async () => (await import("./cat-TSFMZVYS-B-Qi4MIN.mjs")).catCommand
23809
+ load: async () => (await import("./cat-TSFMZVYS-HIG335Ji.mjs")).catCommand
23803
23810
  },
23804
23811
  {
23805
23812
  name: "printf",
23806
- load: async () => (await import("./printf-TWGXF445-BlwG6dD2.mjs")).printfCommand
23813
+ load: async () => (await import("./printf-TWGXF445-B8Sf39v5.mjs")).printfCommand
23807
23814
  },
23808
23815
  {
23809
23816
  name: "ls",
23810
- load: async () => (await import("./ls-ZJGQER7M-DMYpsOhX.mjs")).lsCommand
23817
+ load: async () => (await import("./ls-ZJGQER7M-Bcrhni0D.mjs")).lsCommand
23811
23818
  },
23812
23819
  {
23813
23820
  name: "mkdir",
23814
- load: async () => (await import("./mkdir-MEPGZOB6-BoeUbSt6.mjs")).mkdirCommand
23821
+ load: async () => (await import("./mkdir-MEPGZOB6-BhU6Z4rR.mjs")).mkdirCommand
23815
23822
  },
23816
23823
  {
23817
23824
  name: "rmdir",
23818
- load: async () => (await import("./rmdir-OC4ZLPYA-BZ86Q3Wr.mjs")).rmdirCommand
23825
+ load: async () => (await import("./rmdir-OC4ZLPYA-BiT5sPTn.mjs")).rmdirCommand
23819
23826
  },
23820
23827
  {
23821
23828
  name: "touch",
23822
- load: async () => (await import("./touch-UA33VN3N-OcSMUASX.mjs")).touchCommand
23829
+ load: async () => (await import("./touch-UA33VN3N-CLRU8dwp.mjs")).touchCommand
23823
23830
  },
23824
23831
  {
23825
23832
  name: "rm",
23826
- load: async () => (await import("./rm-SSGETQVQ-D0Grjo65.mjs")).rmCommand
23833
+ load: async () => (await import("./rm-SSGETQVQ-DVySAmdO.mjs")).rmCommand
23827
23834
  },
23828
23835
  {
23829
23836
  name: "cp",
23830
- load: async () => (await import("./cp-BISAAS7A-CMVh32j_.mjs")).cpCommand
23837
+ load: async () => (await import("./cp-BISAAS7A-DKr1SlBP.mjs")).cpCommand
23831
23838
  },
23832
23839
  {
23833
23840
  name: "mv",
23834
- load: async () => (await import("./mv-W5BIQ646-ee9iH5gF.mjs")).mvCommand
23841
+ load: async () => (await import("./mv-W5BIQ646-DYHSL0LU.mjs")).mvCommand
23835
23842
  },
23836
23843
  {
23837
23844
  name: "ln",
23838
- load: async () => (await import("./ln-4LGSXXGD-Cy8gNPMC.mjs")).lnCommand
23845
+ load: async () => (await import("./ln-4LGSXXGD-C-x9d2b0.mjs")).lnCommand
23839
23846
  },
23840
23847
  {
23841
23848
  name: "chmod",
@@ -23851,15 +23858,15 @@ var tt = [
23851
23858
  },
23852
23859
  {
23853
23860
  name: "head",
23854
- load: async () => (await import("./head-442HYESI-BGRcjEMI.mjs")).headCommand
23861
+ load: async () => (await import("./head-442HYESI-DDn9puS-.mjs")).headCommand
23855
23862
  },
23856
23863
  {
23857
23864
  name: "tail",
23858
- load: async () => (await import("./tail-R4PCA2C4-7wsnh20i.mjs")).tailCommand
23865
+ load: async () => (await import("./tail-R4PCA2C4-BqXHf0GQ.mjs")).tailCommand
23859
23866
  },
23860
23867
  {
23861
23868
  name: "wc",
23862
- load: async () => (await import("./wc-LF7NU4LA-CPMTeSun.mjs")).wcCommand
23869
+ load: async () => (await import("./wc-LF7NU4LA-D2NJbTrF.mjs")).wcCommand
23863
23870
  },
23864
23871
  {
23865
23872
  name: "stat",
@@ -23867,95 +23874,95 @@ var tt = [
23867
23874
  },
23868
23875
  {
23869
23876
  name: "grep",
23870
- load: async () => (await import("./grep-V3LQVMRQ-BLwElJ9a.mjs")).grepCommand
23877
+ load: async () => (await import("./grep-V3LQVMRQ-Q9iHVtcz.mjs")).grepCommand
23871
23878
  },
23872
23879
  {
23873
23880
  name: "fgrep",
23874
- load: async () => (await import("./grep-V3LQVMRQ-BLwElJ9a.mjs")).fgrepCommand
23881
+ load: async () => (await import("./grep-V3LQVMRQ-Q9iHVtcz.mjs")).fgrepCommand
23875
23882
  },
23876
23883
  {
23877
23884
  name: "egrep",
23878
- load: async () => (await import("./grep-V3LQVMRQ-BLwElJ9a.mjs")).egrepCommand
23885
+ load: async () => (await import("./grep-V3LQVMRQ-Q9iHVtcz.mjs")).egrepCommand
23879
23886
  },
23880
23887
  {
23881
23888
  name: "rg",
23882
- load: async () => (await import("./rg-S4FXYXWB-b3jjC2M6.mjs")).rgCommand
23889
+ load: async () => (await import("./rg-S4FXYXWB-vO1CwZd4.mjs")).rgCommand
23883
23890
  },
23884
23891
  {
23885
23892
  name: "sed",
23886
- load: async () => (await import("./sed-S5UIK574-C0ikpRUI.mjs")).sedCommand
23893
+ load: async () => (await import("./sed-S5UIK574-DOl6PWt5.mjs")).sedCommand
23887
23894
  },
23888
23895
  {
23889
23896
  name: "awk",
23890
- load: async () => (await import("./awk2-LA3USKJP-CU79F18c.mjs")).awkCommand2
23897
+ load: async () => (await import("./awk2-LA3USKJP-DUeD84nt.mjs")).awkCommand2
23891
23898
  },
23892
23899
  {
23893
23900
  name: "sort",
23894
- load: async () => (await import("./sort-SW2YEO5B-Njc26SUn.mjs")).sortCommand
23901
+ load: async () => (await import("./sort-SW2YEO5B-DKjLTe-O.mjs")).sortCommand
23895
23902
  },
23896
23903
  {
23897
23904
  name: "uniq",
23898
- load: async () => (await import("./uniq-XSIZR6PB-Byah97Ij.mjs")).uniqCommand
23905
+ load: async () => (await import("./uniq-XSIZR6PB-DVI8BEWZ.mjs")).uniqCommand
23899
23906
  },
23900
23907
  {
23901
23908
  name: "comm",
23902
- load: async () => (await import("./comm-VV2LDX2J-DEKxgGlr.mjs")).commCommand
23909
+ load: async () => (await import("./comm-VV2LDX2J-CVpn9toT.mjs")).commCommand
23903
23910
  },
23904
23911
  {
23905
23912
  name: "cut",
23906
- load: async () => (await import("./cut-OKARJCCV-CluNzLiu.mjs")).cutCommand
23913
+ load: async () => (await import("./cut-OKARJCCV-BjKVWby5.mjs")).cutCommand
23907
23914
  },
23908
23915
  {
23909
23916
  name: "paste",
23910
- load: async () => (await import("./paste-7JC6S4DX-DL9UawIf.mjs")).pasteCommand
23917
+ load: async () => (await import("./paste-7JC6S4DX-tqwrEvYy.mjs")).pasteCommand
23911
23918
  },
23912
23919
  {
23913
23920
  name: "tr",
23914
- load: async () => (await import("./tr-36LHWFRQ-BHhoJAPK.mjs")).trCommand
23921
+ load: async () => (await import("./tr-36LHWFRQ--Lxi-rUi.mjs")).trCommand
23915
23922
  },
23916
23923
  {
23917
23924
  name: "rev",
23918
- load: async () => (await import("./rev-5EHFX4EJ-Dxay6iFE.mjs")).rev
23925
+ load: async () => (await import("./rev-5EHFX4EJ-Lno-pSvM.mjs")).rev
23919
23926
  },
23920
23927
  {
23921
23928
  name: "nl",
23922
- load: async () => (await import("./nl-WSDW7I4O-DveMZ08l.mjs")).nl
23929
+ load: async () => (await import("./nl-WSDW7I4O-Dkal6Jz6.mjs")).nl
23923
23930
  },
23924
23931
  {
23925
23932
  name: "fold",
23926
- load: async () => (await import("./fold-4TQNYMSW-BVCyD8C0.mjs")).fold
23933
+ load: async () => (await import("./fold-4TQNYMSW-DdElN4Da.mjs")).fold
23927
23934
  },
23928
23935
  {
23929
23936
  name: "expand",
23930
- load: async () => (await import("./expand-JSPG6VOP-Cmm7S480.mjs")).expand
23937
+ load: async () => (await import("./expand-JSPG6VOP-CjEvgYE7.mjs")).expand
23931
23938
  },
23932
23939
  {
23933
23940
  name: "unexpand",
23934
- load: async () => (await import("./unexpand-CADSA4VO-CHiw_MI4.mjs")).unexpand
23941
+ load: async () => (await import("./unexpand-CADSA4VO-CE8Q-7DI.mjs")).unexpand
23935
23942
  },
23936
23943
  {
23937
23944
  name: "strings",
23938
- load: async () => (await import("./strings-6WDHLGMX-Dix-GFiu.mjs")).strings
23945
+ load: async () => (await import("./strings-6WDHLGMX-DSFHiHo6.mjs")).strings
23939
23946
  },
23940
23947
  {
23941
23948
  name: "split",
23942
- load: async () => (await import("./split-4KKZZXXE-C97QsnxB.mjs")).split
23949
+ load: async () => (await import("./split-4KKZZXXE-DXwRJvCX.mjs")).split
23943
23950
  },
23944
23951
  {
23945
23952
  name: "column",
23946
- load: async () => (await import("./column-XT6UFXNQ-B8RfIkpb.mjs")).column
23953
+ load: async () => (await import("./column-XT6UFXNQ-D7U-7Zb_.mjs")).column
23947
23954
  },
23948
23955
  {
23949
23956
  name: "join",
23950
- load: async () => (await import("./join-TBRGI3LQ-BU7FYSK3.mjs")).join
23957
+ load: async () => (await import("./join-TBRGI3LQ-BPbb462M.mjs")).join
23951
23958
  },
23952
23959
  {
23953
23960
  name: "tee",
23954
- load: async () => (await import("./tee-YUZ2FKCJ-6jGvzLuO.mjs")).teeCommand
23961
+ load: async () => (await import("./tee-YUZ2FKCJ-DeL5TxOv.mjs")).teeCommand
23955
23962
  },
23956
23963
  {
23957
23964
  name: "find",
23958
- load: async () => (await import("./find-INTH3OLC-D6wBmhsd.mjs")).findCommand
23965
+ load: async () => (await import("./find-INTH3OLC-BuB0ASqa.mjs")).findCommand
23959
23966
  },
23960
23967
  {
23961
23968
  name: "basename",
@@ -23967,19 +23974,19 @@ var tt = [
23967
23974
  },
23968
23975
  {
23969
23976
  name: "tree",
23970
- load: async () => (await import("./tree-YLD52CNT-CuJMHpsw.mjs")).treeCommand
23977
+ load: async () => (await import("./tree-YLD52CNT-BX10X2C8.mjs")).treeCommand
23971
23978
  },
23972
23979
  {
23973
23980
  name: "du",
23974
- load: async () => (await import("./du-572XNP42-BTLDH4CK.mjs")).duCommand
23981
+ load: async () => (await import("./du-572XNP42-D2LEmfx9.mjs")).duCommand
23975
23982
  },
23976
23983
  {
23977
23984
  name: "env",
23978
- load: async () => (await import("./env-36M5BO7M-CjuGiDaW.mjs")).envCommand
23985
+ load: async () => (await import("./env-36M5BO7M-CQz3heu4.mjs")).envCommand
23979
23986
  },
23980
23987
  {
23981
23988
  name: "printenv",
23982
- load: async () => (await import("./env-36M5BO7M-CjuGiDaW.mjs")).printenvCommand
23989
+ load: async () => (await import("./env-36M5BO7M-CQz3heu4.mjs")).printenvCommand
23983
23990
  },
23984
23991
  {
23985
23992
  name: "alias",
@@ -23995,7 +24002,7 @@ var tt = [
23995
24002
  },
23996
24003
  {
23997
24004
  name: "xargs",
23998
- load: async () => (await import("./xargs-MGZPH7AX-DDoz_2hL.mjs")).xargsCommand
24005
+ load: async () => (await import("./xargs-MGZPH7AX-Da4TABeU.mjs")).xargsCommand
23999
24006
  },
24000
24007
  {
24001
24008
  name: "true",
@@ -24011,23 +24018,23 @@ var tt = [
24011
24018
  },
24012
24019
  {
24013
24020
  name: "bash",
24014
- load: async () => (await import("./bash-YZ33HQZQ-Tqw_IzZM.mjs")).bashCommand
24021
+ load: async () => (await import("./bash-YZ33HQZQ-BPjbb6w0.mjs")).bashCommand
24015
24022
  },
24016
24023
  {
24017
24024
  name: "sh",
24018
- load: async () => (await import("./bash-YZ33HQZQ-Tqw_IzZM.mjs")).shCommand
24025
+ load: async () => (await import("./bash-YZ33HQZQ-BPjbb6w0.mjs")).shCommand
24019
24026
  },
24020
24027
  {
24021
24028
  name: "jq",
24022
- load: async () => (await import("./jq-4XLYLOS5-tfCBGz19.mjs")).jqCommand
24029
+ load: async () => (await import("./jq-4XLYLOS5-vNG15h8L.mjs")).jqCommand
24023
24030
  },
24024
24031
  {
24025
24032
  name: "base64",
24026
- load: async () => (await import("./base64-C2AIWVNC-ESsdavRZ.mjs")).base64Command
24033
+ load: async () => (await import("./base64-C2AIWVNC-DCgZ4OVw.mjs")).base64Command
24027
24034
  },
24028
24035
  {
24029
24036
  name: "diff",
24030
- load: async () => (await import("./diff-MWJFIG7X-CuSut3C1.mjs")).diffCommand
24037
+ load: async () => (await import("./diff-MWJFIG7X-BCHpDWKE.mjs")).diffCommand
24031
24038
  },
24032
24039
  {
24033
24040
  name: "date",
@@ -24035,15 +24042,15 @@ var tt = [
24035
24042
  },
24036
24043
  {
24037
24044
  name: "sleep",
24038
- load: async () => (await import("./sleep-X22JJINO-lQ5Wi1rP.mjs")).sleepCommand
24045
+ load: async () => (await import("./sleep-X22JJINO-CyAkxQSD.mjs")).sleepCommand
24039
24046
  },
24040
24047
  {
24041
24048
  name: "timeout",
24042
- load: async () => (await import("./timeout-YDCRSLPQ-D42ruxso.mjs")).timeoutCommand
24049
+ load: async () => (await import("./timeout-YDCRSLPQ-CDHmK2ET.mjs")).timeoutCommand
24043
24050
  },
24044
24051
  {
24045
24052
  name: "time",
24046
- load: async () => (await import("./time-D4LNBSWX-D7RWA_NU.mjs")).timeCommand
24053
+ load: async () => (await import("./time-D4LNBSWX-BDvqGzoU.mjs")).timeCommand
24047
24054
  },
24048
24055
  {
24049
24056
  name: "seq",
@@ -24051,19 +24058,19 @@ var tt = [
24051
24058
  },
24052
24059
  {
24053
24060
  name: "expr",
24054
- load: async () => (await import("./expr-5JAACS4X-C3PXSs0i.mjs")).exprCommand
24061
+ load: async () => (await import("./expr-5JAACS4X-CekL4kzy.mjs")).exprCommand
24055
24062
  },
24056
24063
  {
24057
24064
  name: "md5sum",
24058
- load: async () => (await import("./md5sum-SPU24VSG-DDehVi3L.mjs")).md5sumCommand
24065
+ load: async () => (await import("./md5sum-SPU24VSG-BikEaErI.mjs")).md5sumCommand
24059
24066
  },
24060
24067
  {
24061
24068
  name: "sha1sum",
24062
- load: async () => (await import("./sha1sum-2PTOAFR6-hLKNluNQ.mjs")).sha1sumCommand
24069
+ load: async () => (await import("./sha1sum-2PTOAFR6-GuPK_c0G.mjs")).sha1sumCommand
24063
24070
  },
24064
24071
  {
24065
24072
  name: "sha256sum",
24066
- load: async () => (await import("./sha256sum-NS7D3IXX-c6RHEh31.mjs")).sha256sumCommand
24073
+ load: async () => (await import("./sha256sum-NS7D3IXX-KDhoCBD7.mjs")).sha256sumCommand
24067
24074
  },
24068
24075
  {
24069
24076
  name: "file",
@@ -24071,11 +24078,11 @@ var tt = [
24071
24078
  },
24072
24079
  {
24073
24080
  name: "html-to-markdown",
24074
- load: async () => (await import("./html-to-markdown-JW4MSQZO-Dq7eYKW0.mjs")).htmlToMarkdownCommand
24081
+ load: async () => (await import("./html-to-markdown-JW4MSQZO-BthuArNM.mjs")).htmlToMarkdownCommand
24075
24082
  },
24076
24083
  {
24077
24084
  name: "help",
24078
- load: async () => (await import("./help-HZ6M2CKN-BCHt7Yu_.mjs")).helpCommand
24085
+ load: async () => (await import("./help-HZ6M2CKN-lSoKoXl4.mjs")).helpCommand
24079
24086
  },
24080
24087
  {
24081
24088
  name: "which",
@@ -24083,7 +24090,7 @@ var tt = [
24083
24090
  },
24084
24091
  {
24085
24092
  name: "tac",
24086
- load: async () => (await import("./tac-2STMMJYW-Bm0D_YqQ.mjs")).tac
24093
+ load: async () => (await import("./tac-2STMMJYW-ilclcuYi.mjs")).tac
24087
24094
  },
24088
24095
  {
24089
24096
  name: "hostname",
@@ -24095,49 +24102,49 @@ var tt = [
24095
24102
  },
24096
24103
  {
24097
24104
  name: "od",
24098
- load: async () => (await import("./od-WOKFDJTP-DCy3_AZ5.mjs")).od
24105
+ load: async () => (await import("./od-WOKFDJTP-LkcVOtHj.mjs")).od
24099
24106
  },
24100
24107
  {
24101
24108
  name: "gzip",
24102
- load: async () => (await import("./gzip-O5ASJAFY-BjVFU42g.mjs")).gzipCommand
24109
+ load: async () => (await import("./gzip-O5ASJAFY-CQXRBTgw.mjs")).gzipCommand
24103
24110
  },
24104
24111
  {
24105
24112
  name: "gunzip",
24106
- load: async () => (await import("./gzip-O5ASJAFY-BjVFU42g.mjs")).gunzipCommand
24113
+ load: async () => (await import("./gzip-O5ASJAFY-CQXRBTgw.mjs")).gunzipCommand
24107
24114
  },
24108
24115
  {
24109
24116
  name: "zcat",
24110
- load: async () => (await import("./gzip-O5ASJAFY-BjVFU42g.mjs")).zcatCommand
24117
+ load: async () => (await import("./gzip-O5ASJAFY-CQXRBTgw.mjs")).zcatCommand
24111
24118
  }
24112
24119
  ];
24113
24120
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (tt.push({
24114
24121
  name: "tar",
24115
- load: async () => (await import("./tar-STHHZTZ6-gShA0vQ1.mjs")).tarCommand
24122
+ load: async () => (await import("./tar-STHHZTZ6-DEQqPt4f.mjs")).tarCommand
24116
24123
  }), tt.push({
24117
24124
  name: "yq",
24118
- load: async () => (await import("./yq-4QJW3EQG-mUhWBJBJ.mjs")).yqCommand
24125
+ load: async () => (await import("./yq-4QJW3EQG-D785OqS8.mjs")).yqCommand
24119
24126
  }), tt.push({
24120
24127
  name: "xan",
24121
- load: async () => (await import("./xan-Y6WF3IRG-CLfddWd-.mjs")).xanCommand
24128
+ load: async () => (await import("./xan-Y6WF3IRG-BezI-KTd.mjs")).xanCommand
24122
24129
  }), tt.push({
24123
24130
  name: "sqlite3",
24124
- load: async () => (await import("./sqlite3-CGOEFJAO-HGqCZYuu.mjs")).sqlite3Command
24131
+ load: async () => (await import("./sqlite3-CGOEFJAO-CX7OvdMs.mjs")).sqlite3Command
24125
24132
  }));
24126
24133
  var Yt = [];
24127
24134
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (Yt.push({
24128
24135
  name: "python3",
24129
- load: async () => (await import("./python3-POMOR4OA-qY8EzVSe.mjs")).python3Command
24136
+ load: async () => (await import("./python3-POMOR4OA-CQy0OWJW.mjs")).python3Command
24130
24137
  }), Yt.push({
24131
24138
  name: "python",
24132
- load: async () => (await import("./python3-POMOR4OA-qY8EzVSe.mjs")).pythonCommand
24139
+ load: async () => (await import("./python3-POMOR4OA-CQy0OWJW.mjs")).pythonCommand
24133
24140
  }));
24134
24141
  var Qt = [];
24135
24142
  (typeof __BROWSER__ > "u" || !__BROWSER__) && (Qt.push({
24136
24143
  name: "js-exec",
24137
- load: async () => (await import("./js-exec-N5KEZBH7-C5C01q6k.mjs")).jsExecCommand
24144
+ load: async () => (await import("./js-exec-N5KEZBH7-az3ZblrQ.mjs")).jsExecCommand
24138
24145
  }), Qt.push({
24139
24146
  name: "node",
24140
- load: async () => (await import("./js-exec-N5KEZBH7-C5C01q6k.mjs")).nodeStubCommand
24147
+ load: async () => (await import("./js-exec-N5KEZBH7-az3ZblrQ.mjs")).nodeStubCommand
24141
24148
  }));
24142
24149
  new TextEncoder();
24143
24150
  Object.freeze({
@@ -25139,142 +25146,174 @@ const StoredRouteManifestSkillSchema = z.object({
25139
25146
  description: z.string().optional(),
25140
25147
  moduleFile: z.string()
25141
25148
  });
25142
- const serializedRouteManifestEntrySchema = z.discriminatedUnion("kind", [
25143
- z.object({
25144
- kind: z.literal("health"),
25145
- method: z.literal("GET"),
25146
- path: z.literal("/health")
25147
- }),
25149
+ const attachmentSchemasSchema = z.record(z.string(), z.object({
25150
+ requestSchema: z.record(z.string(), z.unknown()),
25151
+ filterSchema: z.record(z.string(), z.unknown()).optional()
25152
+ }));
25153
+ const storedRouteManifestEntryV2Schema = z.discriminatedUnion("kind", [
25154
+ z.object({ kind: z.literal("health") }),
25148
25155
  z.object({
25149
25156
  kind: z.literal("agent"),
25150
- method: z.literal("POST"),
25151
- path: z.string(),
25152
- agentSlug: z.string(),
25157
+ slug: z.string(),
25153
25158
  moduleFile: z.string(),
25154
25159
  name: z.string().optional(),
25155
25160
  description: z.string().optional(),
25156
25161
  model: z.string(),
25157
25162
  systemPrompt: z.string(),
25158
25163
  toolCount: z.number().int().nonnegative(),
25159
- credentialCount: z.number().int().nonnegative(),
25160
- requestSchema: z.record(z.string(), z.unknown()),
25161
- responseSchema: z.record(z.string(), z.unknown())
25162
- }),
25163
- z.object({
25164
- kind: z.literal("agent-sessions-list"),
25165
- method: z.literal("GET"),
25166
- path: z.string(),
25167
- agentSlug: z.string(),
25168
- moduleFile: z.string()
25169
- }),
25170
- z.object({
25171
- kind: z.literal("agent-session-detail"),
25172
- method: z.literal("GET"),
25173
- path: z.string(),
25174
- agentSlug: z.string(),
25175
- moduleFile: z.string()
25164
+ credentialCount: z.number().int().nonnegative()
25176
25165
  }),
25177
25166
  z.object({
25178
25167
  kind: z.literal("workflow"),
25179
- method: z.literal("POST"),
25180
- path: z.string(),
25181
- workflowSlug: z.string(),
25182
- workflowName: z.string().optional(),
25168
+ slug: z.string(),
25169
+ name: z.string().optional(),
25183
25170
  description: z.string().optional(),
25184
25171
  subscribable: z.boolean(),
25185
25172
  moduleFile: z.string(),
25186
- requestSchema: z.record(z.string(), z.unknown()),
25187
- responseSchema: z.record(z.string(), z.unknown())
25188
- }),
25189
- z.object({
25190
- kind: z.literal("workflow-runs-list"),
25191
- method: z.literal("GET"),
25192
- path: z.string(),
25193
- workflowSlug: z.string(),
25194
- workflowName: z.string().optional(),
25195
- moduleFile: z.string()
25196
- }),
25197
- z.object({
25198
- kind: z.literal("workflow-run-detail"),
25199
- method: z.literal("GET"),
25200
- path: z.string(),
25201
- workflowSlug: z.string(),
25202
- workflowName: z.string().optional(),
25203
- moduleFile: z.string()
25173
+ requestSchema: z.record(z.string(), z.unknown())
25204
25174
  }),
25205
25175
  z.object({
25206
25176
  kind: z.literal("trigger-webhook"),
25207
- method: z.literal("POST"),
25208
- path: z.string(),
25177
+ endpoint: z.string(),
25209
25178
  attachmentIds: z.array(z.string()),
25210
25179
  moduleFile: z.string(),
25211
- requestSchema: z.record(z.string(), z.unknown()),
25212
- attachmentSchemas: z.record(z.string(), z.object({
25213
- requestSchema: z.record(z.string(), z.unknown()),
25214
- filterSchema: z.record(z.string(), z.unknown()).optional()
25215
- })),
25216
- responseSchema: z.record(z.string(), z.unknown())
25180
+ attachmentSchemas: attachmentSchemasSchema
25217
25181
  }),
25218
25182
  z.object({
25219
25183
  kind: z.literal("trigger-poll"),
25220
- method: z.literal("POST"),
25221
- path: z.string(),
25222
25184
  attachmentId: z.string(),
25223
25185
  moduleFile: z.string(),
25224
- schedule: z.string(),
25225
- responseSchema: z.record(z.string(), z.unknown())
25186
+ schedule: z.string()
25226
25187
  }),
25227
25188
  z.object({
25228
25189
  kind: z.literal("trigger-poll-group"),
25229
- method: z.literal("POST"),
25230
- path: z.string(),
25231
25190
  pollId: z.string(),
25232
25191
  attachmentIds: z.array(z.string()),
25233
25192
  moduleFile: z.string(),
25234
- schedule: z.string(),
25235
- responseSchema: z.record(z.string(), z.unknown())
25236
- }),
25237
- z.object({
25238
- kind: z.literal("trigger-runs-list"),
25239
- method: z.literal("GET"),
25240
- path: z.string(),
25241
- attachmentId: z.string(),
25242
- moduleFile: z.string()
25243
- }),
25244
- z.object({
25245
- kind: z.literal("trigger-run-detail"),
25246
- method: z.literal("GET"),
25247
- path: z.string(),
25248
- attachmentId: z.string(),
25249
- moduleFile: z.string()
25193
+ schedule: z.string()
25250
25194
  }),
25251
25195
  z.object({
25252
25196
  kind: z.literal("cron-schedule"),
25253
25197
  attachmentId: z.string(),
25254
25198
  moduleFile: z.string(),
25255
25199
  schedule: z.string()
25256
- }),
25257
- z.object({
25258
- kind: z.literal("plugin"),
25259
- method: z.enum([
25260
- "GET",
25261
- "POST",
25262
- "PUT",
25263
- "PATCH",
25264
- "DELETE"
25265
- ]),
25266
- path: z.string(),
25267
- plugin: z.string()
25268
25200
  })
25269
25201
  ]);
25270
- const StoredRouteManifestSchema = z.object({
25271
- version: z.literal(1),
25272
- entries: z.array(serializedRouteManifestEntrySchema),
25202
+ const storedRouteManifestV2Schema = z.object({
25203
+ version: z.literal(2),
25204
+ entries: z.array(storedRouteManifestEntryV2Schema),
25273
25205
  skills: z.array(StoredRouteManifestSkillSchema).default([]),
25274
25206
  integrations: z.array(z.string()).optional()
25275
25207
  });
25208
+ const DERIVED_ENTRY_KINDS = new Set([
25209
+ "agent-sessions-list",
25210
+ "agent-session-detail",
25211
+ "workflow-runs-list",
25212
+ "workflow-run-detail",
25213
+ "trigger-runs-list",
25214
+ "trigger-run-detail"
25215
+ ]);
25216
+ function webhookEndpointFromPath(path) {
25217
+ return path.replace(/^\/triggers\//, "").replace(/^\/+|\/+$/g, "");
25218
+ }
25219
+ /** TODO remove after all artifacts rebuilt — upcasts legacy v1 manifests to v2. */
25220
+ function normalizeEntryToV2(entry) {
25221
+ const kind = entry.kind;
25222
+ if (typeof kind !== "string") return null;
25223
+ if (DERIVED_ENTRY_KINDS.has(kind) || kind === "plugin") return null;
25224
+ if (kind === "health") return { kind: "health" };
25225
+ if (kind === "agent") {
25226
+ const slug = typeof entry.slug === "string" ? entry.slug : typeof entry.agentSlug === "string" ? entry.agentSlug : void 0;
25227
+ if (!slug || typeof entry.moduleFile !== "string") return null;
25228
+ return {
25229
+ kind: "agent",
25230
+ slug,
25231
+ moduleFile: entry.moduleFile,
25232
+ ...typeof entry.name === "string" ? { name: entry.name } : {},
25233
+ ...typeof entry.description === "string" ? { description: entry.description } : {},
25234
+ model: typeof entry.model === "string" ? entry.model : "",
25235
+ systemPrompt: typeof entry.systemPrompt === "string" ? entry.systemPrompt : "",
25236
+ toolCount: typeof entry.toolCount === "number" ? entry.toolCount : 0,
25237
+ credentialCount: typeof entry.credentialCount === "number" ? entry.credentialCount : 0
25238
+ };
25239
+ }
25240
+ if (kind === "workflow") {
25241
+ const slug = typeof entry.slug === "string" ? entry.slug : typeof entry.workflowSlug === "string" ? entry.workflowSlug : void 0;
25242
+ if (!slug || typeof entry.moduleFile !== "string") return null;
25243
+ const name = typeof entry.name === "string" ? entry.name : typeof entry.workflowName === "string" ? entry.workflowName : void 0;
25244
+ return {
25245
+ kind: "workflow",
25246
+ slug,
25247
+ moduleFile: entry.moduleFile,
25248
+ ...name ? { name } : {},
25249
+ ...typeof entry.description === "string" ? { description: entry.description } : {},
25250
+ subscribable: entry.subscribable === true,
25251
+ requestSchema: entry.requestSchema && typeof entry.requestSchema === "object" ? entry.requestSchema : {}
25252
+ };
25253
+ }
25254
+ if (kind === "trigger-webhook") {
25255
+ if (typeof entry.moduleFile !== "string" || !Array.isArray(entry.attachmentIds)) return null;
25256
+ const endpoint = typeof entry.endpoint === "string" ? entry.endpoint : typeof entry.path === "string" ? webhookEndpointFromPath(entry.path) : void 0;
25257
+ if (!endpoint) return null;
25258
+ return {
25259
+ kind: "trigger-webhook",
25260
+ endpoint,
25261
+ attachmentIds: entry.attachmentIds,
25262
+ moduleFile: entry.moduleFile,
25263
+ attachmentSchemas: entry.attachmentSchemas && typeof entry.attachmentSchemas === "object" ? entry.attachmentSchemas : {}
25264
+ };
25265
+ }
25266
+ if (kind === "trigger-poll") {
25267
+ if (typeof entry.attachmentId !== "string" || typeof entry.moduleFile !== "string" || typeof entry.schedule !== "string") return null;
25268
+ return {
25269
+ kind: "trigger-poll",
25270
+ attachmentId: entry.attachmentId,
25271
+ moduleFile: entry.moduleFile,
25272
+ schedule: entry.schedule
25273
+ };
25274
+ }
25275
+ if (kind === "trigger-poll-group") {
25276
+ if (typeof entry.pollId !== "string" || typeof entry.moduleFile !== "string" || typeof entry.schedule !== "string" || !Array.isArray(entry.attachmentIds)) return null;
25277
+ return {
25278
+ kind: "trigger-poll-group",
25279
+ pollId: entry.pollId,
25280
+ attachmentIds: entry.attachmentIds,
25281
+ moduleFile: entry.moduleFile,
25282
+ schedule: entry.schedule
25283
+ };
25284
+ }
25285
+ if (kind === "cron-schedule") {
25286
+ if (typeof entry.attachmentId !== "string" || typeof entry.moduleFile !== "string" || typeof entry.schedule !== "string") return null;
25287
+ return {
25288
+ kind: "cron-schedule",
25289
+ attachmentId: entry.attachmentId,
25290
+ moduleFile: entry.moduleFile,
25291
+ schedule: entry.schedule
25292
+ };
25293
+ }
25294
+ return null;
25295
+ }
25296
+ /** TODO remove after all artifacts rebuilt — upcasts legacy v1 manifests to v2. */
25297
+ function normalizeStoredRouteManifestToV2(value) {
25298
+ if (!value || typeof value !== "object") throw new Error("Invalid route manifest");
25299
+ const raw = value;
25300
+ if (raw.version === 2) return storedRouteManifestV2Schema.parse(value);
25301
+ const entriesRaw = Array.isArray(raw.entries) ? raw.entries : [];
25302
+ const entries = [];
25303
+ for (const entry of entriesRaw) {
25304
+ if (!entry || typeof entry !== "object") continue;
25305
+ const normalized = normalizeEntryToV2(entry);
25306
+ if (normalized) entries.push(normalized);
25307
+ }
25308
+ return storedRouteManifestV2Schema.parse({
25309
+ version: 2,
25310
+ entries,
25311
+ skills: raw.skills ?? [],
25312
+ integrations: raw.integrations
25313
+ });
25314
+ }
25276
25315
  function parseStoredRouteManifest(value) {
25277
- return StoredRouteManifestSchema.parse(value);
25316
+ return normalizeStoredRouteManifestToV2(value);
25278
25317
  }
25279
25318
  /** Messaging platforms that support agent gateway bindings. */
25280
25319
  const ChannelPlatformKeySchema = z.enum(["slack"]);
@@ -48823,9 +48862,10 @@ function getPgBoss() {
48823
48862
  return boss;
48824
48863
  }
48825
48864
  /** Postgres NOTIFY channel — lowercase identifier (project ids are UUIDs, well under 63 chars). */
48826
- function pgCancelChannelName(scope, projectId) {
48865
+ function pgCancelChannelName(scope, id) {
48827
48866
  if (scope === "platform") return "keystroke_cancel_platform";
48828
- return `keystroke_cancel_${(projectId ?? "default").replace(/[^a-z0-9_]/gi, "_").toLowerCase()}`;
48867
+ if (scope === "organization") return `keystroke_cancel_org_${(id ?? "default").replace(/[^a-z0-9_]/gi, "_").toLowerCase()}`;
48868
+ return `keystroke_cancel_${(id ?? "default").replace(/[^a-z0-9_]/gi, "_").toLowerCase()}`;
48829
48869
  }
48830
48870
  /** Shared queue name for the platform control-plane scope. */
48831
48871
  const DEFAULT_QUEUE_NAME = "keystroke";
@@ -48841,12 +48881,20 @@ function pgBossProjectQueueName(projectId) {
48841
48881
  if (name.length <= 50) return name;
48842
48882
  return `${DEFAULT_QUEUE_NAME}_${createHash("sha1").update(projectId).digest("hex").slice(0, 40)}`;
48843
48883
  }
48884
+ function pgBossOrgQueueName(organizationId) {
48885
+ const name = `${DEFAULT_QUEUE_NAME}_org_${organizationId.replace(/[^a-zA-Z0-9_]/g, "_")}`;
48886
+ if (name.length <= 50) return name;
48887
+ return `${DEFAULT_QUEUE_NAME}_org_${createHash("sha1").update(organizationId).digest("hex").slice(0, 36)}`;
48888
+ }
48844
48889
  function buildPgBossJobQueue(boss, options) {
48845
48890
  const queueName = options.queueName ?? "keystroke";
48846
- const cancelChannel = createPostgresCancelChannel(options.connectionString, pgCancelChannelName(options.cancelScope ?? "platform", options.projectId));
48891
+ const cancelChannel = createPostgresCancelChannel(options.connectionString, pgCancelChannelName(options.cancelScope ?? "platform", options.cancelScope === "organization" ? options.organizationId : options.projectId));
48847
48892
  return {
48848
48893
  async enqueue(input) {
48849
- const jobId = await boss.send(queueName, input, {
48894
+ const jobId = await boss.send(queueName, {
48895
+ ...input,
48896
+ payload: input.payload
48897
+ }, {
48850
48898
  retryLimit: (input.maxAttempts ?? 3) - 1,
48851
48899
  retryDelay: Math.ceil(retryDelayMs(1) / 1e3),
48852
48900
  startAfter: input.scheduledAt,
@@ -48880,7 +48928,8 @@ function buildPgBossJobQueue(boss, options) {
48880
48928
  attempt,
48881
48929
  maxAttempts,
48882
48930
  exhaustedRetries: attempt >= maxAttempts,
48883
- scheduledAt: data.scheduledAt ? new Date(data.scheduledAt) : /* @__PURE__ */ new Date()
48931
+ scheduledAt: data.scheduledAt ? new Date(data.scheduledAt) : /* @__PURE__ */ new Date(),
48932
+ projectId: data.projectId
48884
48933
  });
48885
48934
  });
48886
48935
  return async () => {
@@ -48908,8 +48957,9 @@ async function createPgBossQueue(options) {
48908
48957
  stopBossOnWorkerStop: true,
48909
48958
  queueName,
48910
48959
  connectionString: options.connectionString,
48911
- cancelScope: "project",
48912
- projectId: options.projectId
48960
+ cancelScope: options.cancelScope ?? "project",
48961
+ projectId: options.projectId,
48962
+ organizationId: options.organizationId
48913
48963
  });
48914
48964
  }
48915
48965
  async function createSharedPgBossJobQueue(boss, options) {
@@ -48924,7 +48974,7 @@ async function createSharedPgBossJobQueue(boss, options) {
48924
48974
  function resolveUrl(ctx) {
48925
48975
  return ctx.url ?? resolveProjectDatabaseUrlFromEnv(process.env) ?? DEFAULT_DATABASE_URL;
48926
48976
  }
48927
- /** Postgres pg-boss backend. Platform scope shares one queue; project scope gets a per-project queue. */
48977
+ /** Postgres pg-boss backend. Platform scope shares one queue; org scope gets one queue per org. */
48928
48978
  function pgBossSchedulerPlugin() {
48929
48979
  return defineSchedulerPlugin({
48930
48980
  name: "pg-boss",
@@ -48934,6 +48984,16 @@ function pgBossSchedulerPlugin() {
48934
48984
  await startPgBoss(url);
48935
48985
  return createSharedPgBossJobQueue(getPgBoss(), { connectionString: url });
48936
48986
  }
48987
+ if (ctx.scope === "organization") {
48988
+ const organizationId = ctx.organizationId;
48989
+ if (!organizationId) throw new Error("organizationId is required for organization-scoped pg-boss queue");
48990
+ return createPgBossQueue({
48991
+ connectionString: url,
48992
+ queueName: pgBossOrgQueueName(organizationId),
48993
+ cancelScope: "organization",
48994
+ organizationId
48995
+ });
48996
+ }
48937
48997
  const projectId = ctx.projectId ?? getProjectScopeId();
48938
48998
  return createPgBossQueue({
48939
48999
  connectionString: url,
@@ -49330,4 +49390,4 @@ function minioStoragePlugin(options = {}) {
49330
49390
  //#endregion
49331
49391
  export { ListOrganizationInvitationsResponseSchema as $, mapOrganizationInvitation as $t, CreateApiKeyResponseSchema as A, o as An, StoredProjectSourceManifestSchema as At, ErrorResponseSchema as B, __toESM as Bn, UpdateProjectSettingsRequestSchema as Bt, AcceptOrganizationInvitationResponseSchema as C, x$1 as Cn, RecentResourceListResponseSchema as Ct, AgentSummarySchema as D, b as Dn, SkillSummarySchema as Dt, AgentSummaryListResponseSchema as E, r$1 as En, SkillSummaryListResponseSchema as Et, CreateProjectArtifactResponseSchema as F, r1 as Fn, UpdateOrganizationMemberResponseSchema as Ft, HistoryRunListResponseSchema as G, UserPreferencesPatchSchema as Gt, HistoryRunCancelResponseSchema as H, UploadProjectSourceResponseSchema as Ht, CreateProjectRequestSchema as I, defaultHostingPlugin as In, UpdateOrganizationRequestSchema as It, InviteProjectMembersRequestSchema as J, WorkflowSummaryListResponseSchema as Jt, InviteOrganizationMembersRequestSchema as K, UserPreferencesSchema as Kt, CreateProjectResponseSchema as L, pingProjectTarget as Ln, UpdateProjectMemberRequestSchema as Lt, CreateCredentialsResponseSchema as M, h as Mn, SubmitTeamRequestResponseSchema as Mt, CreateOrganizationRequestSchema as N, b$1 as Nn, UpdateCredentialRequestSchema as Nt, CompleteProjectArtifactResponseSchema as O, u as On, SlugAvailabilityQuerySchema as Ot, CreateOrganizationResponseSchema as P, I1 as Pn, UpdateOrganizationMemberRequestSchema as Pt, ListCredentialsResponseSchema as Q, listenPortFromPublicUrl as Qt, DeclineOrganizationInvitationResponseSchema as R, __commonJSMin as Rn, UpdateProjectMemberResponseSchema as Rt, ACTIVE_ORG_HEADER as S, d$1 as Sn, ProjectSourceResourcesSchema as St, AgentSummaryDetailResponseSchema as T, r as Tn, SkillSummaryDetailResponseSchema as Tt, HistoryRunDetailResponseSchema as U, UserAvatarPatchSchema as Ut, GetCredentialResponseSchema as V, UploadProjectSourceManifestRequestSchema as Vt, HistoryRunListQuerySchema as W, UserAvatarSchema as Wt, ListApiKeysResponseSchema as X, buildCredentialInstanceLabel as Xt, InviteProjectMembersResponseSchema as Y, WorkflowSummarySchema as Yt, ListAppsResponseSchema as Z, displayCredentialAppName as Zt, createJobQueue as _, n$1 as _n, ProjectReachabilityResponseSchema as _t, isKeystrokeAssetsAvatarPublicUrl as a, mapProjectSettings as an, ListProjectMetricsResponseSchema as at, readCredentialInstanceSecret as b, x as bn, ProjectSlugAvailabilityQuerySchema as bt, isUserAvatarStorageKey as c, normalizeUserPreferences as cn, OrganizationSidebarBrandingSchema as ct, minioStoragePlugin as d, parseStoredRouteManifest as dn, PresignOrgLogoRequestSchema as dt, mapOrganizationMember as en, ListOrganizationMembersResponseSchema as et, orgLogoStorageKey as f, projectFileId as fn, PresignOrgLogoResponseSchema as ft, userAvatarStorageKey as g, i as gn, PresignUserAvatarResponseSchema as gt, publicKeystrokeAssetsObjectUrl as h, n as hn, PresignUserAvatarRequestSchema as ht, extractRouteManifestFromArtifact as i, mapProjectMember as in, ListProjectMembersResponseSchema as it, CreateCredentialsRequestSchema as j, r$3 as jn, SubmitTeamRequestRequestSchema as jt, CreateApiKeyRequestSchema as k, e as kn, SlugAvailabilityResponseSchema as kt, keystrokeAssetsAvatarKeyFromPublicUrl as l, organizationInvitationAcceptPath as ln, PLATFORM_RESOURCE_UNSUPPORTED_TEXT as lt, projectSourceBlobKey as m, validationErrorResponse as mn, PresignProjectSourceResponseSchema as mt, createAssetsStorageClient as n, mapProjectArtifact as nn, ListProjectDeploymentsResponseSchema as nt, isKeystrokeAssetsOrgLogoPublicUrl as o, mapUserOrganization as on, ListProjectsResponseSchema as ot, projectArtifactKey as p, resolveUniqueCredentialInstanceLabel as pn, PresignProjectSourceRequestSchema as pt, InviteOrganizationMembersResponseSchema as q, WorkflowSummaryDetailResponseSchema as qt, ensureKeystrokeAssetsBucket as r, mapProjectDeployment as rn, ListProjectFilesResponseSchema as rt, isOrgLogoStorageKey as s, mergeUserPreferences as sn, OrganizationSidebarBrandingPatchSchema as st, RouteManifestNotFoundError as t, mapProject as tn, ListOrganizationsResponseSchema as tt, keystrokeAssetsOrgLogoKeyFromPublicUrl as u, organizationSlugErrorCodeFromMessage as un, PROJECT_SLUG_TAKEN_MESSAGE as ut, defaultSchedulerPlugin as v, c as vn, ProjectResponseSchema as vt, ActiveOrganizationResponseSchema as w, c$1 as wn, RecentResourceSchema as wt, setCredentialInstanceSecret as x, a$1 as xn, ProjectSlugAvailabilityResponseSchema as xt, deleteCredentialInstanceSecret as y, p as yn, ProjectSettingsResponseSchema as yt, DownloadActiveProjectArtifactResponseSchema as z, __require as zn, UpdateProjectRequestSchema as zt };
49332
49392
 
49333
- //# sourceMappingURL=dist-70NUfApd.mjs.map
49393
+ //# sourceMappingURL=dist-u6HScFsc.mjs.map