@nanoforge-dev/editor 0.0.2-beta.0ea19be → 0.0.2-beta.3d4991c

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 (301) hide show
  1. package/dist/client/_app/immutable/assets/0.yoWygKZi.css +1 -0
  2. package/dist/client/_app/immutable/assets/0.yoWygKZi.css.br +0 -0
  3. package/dist/client/_app/immutable/assets/0.yoWygKZi.css.gz +0 -0
  4. package/dist/client/_app/immutable/chunks/{BS47D1Yd2.js → BFWbalF82.js} +1 -1
  5. package/dist/client/_app/immutable/chunks/BFWbalF82.js.br +0 -0
  6. package/dist/client/_app/immutable/chunks/BFWbalF82.js.gz +0 -0
  7. package/dist/client/_app/immutable/chunks/{DT8Ddh1L2.js → BLf9jss52.js} +1 -1
  8. package/dist/client/_app/immutable/chunks/BLf9jss52.js.br +0 -0
  9. package/dist/client/_app/immutable/chunks/BLf9jss52.js.gz +0 -0
  10. package/dist/client/_app/immutable/chunks/{CKei9xPI2.js → BSNB_Uck2.js} +2 -2
  11. package/dist/client/_app/immutable/chunks/BSNB_Uck2.js.br +0 -0
  12. package/dist/client/_app/immutable/chunks/BSNB_Uck2.js.gz +0 -0
  13. package/dist/client/_app/immutable/chunks/{Fu4roQAh.js → BWNegMLP.js} +1 -1
  14. package/dist/client/_app/immutable/chunks/BWNegMLP.js.br +0 -0
  15. package/dist/client/_app/immutable/chunks/BWNegMLP.js.gz +0 -0
  16. package/dist/client/_app/immutable/chunks/{orCHVlgT.js → BesjqVrk.js} +1 -1
  17. package/dist/client/_app/immutable/chunks/BesjqVrk.js.br +0 -0
  18. package/dist/client/_app/immutable/chunks/BesjqVrk.js.gz +0 -0
  19. package/dist/client/_app/immutable/chunks/{BWDRzheF2.js → Bhafduqk2.js} +1 -1
  20. package/dist/client/_app/immutable/chunks/Bhafduqk2.js.br +0 -0
  21. package/dist/client/_app/immutable/chunks/Bhafduqk2.js.gz +0 -0
  22. package/dist/client/_app/immutable/chunks/{xhfENL-e.js → C048Bjn7.js} +7 -7
  23. package/dist/client/_app/immutable/chunks/C048Bjn7.js.br +0 -0
  24. package/dist/client/_app/immutable/chunks/C048Bjn7.js.gz +0 -0
  25. package/dist/client/_app/immutable/chunks/{BpGMGp28.js → CJx6yPZh.js} +1 -1
  26. package/dist/client/_app/immutable/chunks/CJx6yPZh.js.br +0 -0
  27. package/dist/client/_app/immutable/chunks/CJx6yPZh.js.gz +0 -0
  28. package/dist/client/_app/immutable/chunks/{uo5fvlDn2.js → CJxKUjL-2.js} +1 -1
  29. package/dist/client/_app/immutable/chunks/CJxKUjL-2.js.br +0 -0
  30. package/dist/client/_app/immutable/chunks/CJxKUjL-2.js.gz +0 -0
  31. package/dist/client/_app/immutable/chunks/{DH-ThjiG2.js → CVQMNY_q2.js} +2 -2
  32. package/dist/client/_app/immutable/chunks/CVQMNY_q2.js.br +0 -0
  33. package/dist/client/_app/immutable/chunks/CVQMNY_q2.js.gz +0 -0
  34. package/dist/client/_app/immutable/chunks/{Bk9DeFcz2.js → CbW3yNTi.js} +1 -1
  35. package/dist/client/_app/immutable/chunks/CbW3yNTi.js.br +0 -0
  36. package/dist/client/_app/immutable/chunks/CbW3yNTi.js.gz +0 -0
  37. package/dist/client/_app/immutable/chunks/CvkNa2t_.js +3 -0
  38. package/dist/client/_app/immutable/chunks/CvkNa2t_.js.br +0 -0
  39. package/dist/client/_app/immutable/chunks/CvkNa2t_.js.gz +0 -0
  40. package/dist/client/_app/immutable/chunks/{CnhOha0Z2.js → D2PipAw82.js} +1 -1
  41. package/dist/client/_app/immutable/chunks/D2PipAw82.js.br +0 -0
  42. package/dist/client/_app/immutable/chunks/D2PipAw82.js.gz +0 -0
  43. package/dist/client/_app/immutable/chunks/{BzGBrbo22.js → D6-zOYYZ2.js} +1 -1
  44. package/dist/client/_app/immutable/chunks/D6-zOYYZ2.js.br +0 -0
  45. package/dist/client/_app/immutable/chunks/D6-zOYYZ2.js.gz +0 -0
  46. package/dist/client/_app/immutable/chunks/{B4w9-fYM2.js → DGDm8Q4w2.js} +1 -1
  47. package/dist/client/_app/immutable/chunks/DGDm8Q4w2.js.br +0 -0
  48. package/dist/client/_app/immutable/chunks/DGDm8Q4w2.js.gz +0 -0
  49. package/dist/client/_app/immutable/chunks/{DFXoGGM32.js → DRQF0pcw2.js} +1 -1
  50. package/dist/client/_app/immutable/chunks/DRQF0pcw2.js.br +0 -0
  51. package/dist/client/_app/immutable/chunks/DRQF0pcw2.js.gz +0 -0
  52. package/dist/client/_app/immutable/chunks/{C83DJP9w2.js → DYPPS7OK2.js} +1 -1
  53. package/dist/client/_app/immutable/chunks/DYPPS7OK2.js.br +0 -0
  54. package/dist/client/_app/immutable/chunks/DYPPS7OK2.js.gz +0 -0
  55. package/dist/client/_app/immutable/chunks/{BZqFHUa32.js → DaisyxdZ2.js} +1 -1
  56. package/dist/client/_app/immutable/chunks/DaisyxdZ2.js.br +0 -0
  57. package/dist/client/_app/immutable/chunks/DaisyxdZ2.js.gz +0 -0
  58. package/dist/client/_app/immutable/chunks/{BlGyHMDZ.js → DtcTX-YU.js} +1 -1
  59. package/dist/client/_app/immutable/chunks/DtcTX-YU.js.br +0 -0
  60. package/dist/client/_app/immutable/chunks/DtcTX-YU.js.gz +0 -0
  61. package/dist/client/_app/immutable/chunks/{BG-gp5_B.js → Dy4Pjuql.js} +1 -1
  62. package/dist/client/_app/immutable/chunks/Dy4Pjuql.js.br +1 -0
  63. package/dist/client/_app/immutable/chunks/Dy4Pjuql.js.gz +0 -0
  64. package/dist/client/_app/immutable/chunks/{DHQLzCjY2.js → M5EMNuDS2.js} +1 -1
  65. package/dist/client/_app/immutable/chunks/M5EMNuDS2.js.br +0 -0
  66. package/dist/client/_app/immutable/chunks/M5EMNuDS2.js.gz +0 -0
  67. package/dist/client/_app/immutable/chunks/{CCCR_2rp.js → NokGgZou.js} +1 -1
  68. package/dist/client/_app/immutable/chunks/NokGgZou.js.br +0 -0
  69. package/dist/client/_app/immutable/chunks/NokGgZou.js.gz +0 -0
  70. package/dist/client/_app/immutable/chunks/{DuDzfUqN2.js → SmrQhi1p2.js} +1 -1
  71. package/dist/client/_app/immutable/chunks/SmrQhi1p2.js.br +0 -0
  72. package/dist/client/_app/immutable/chunks/SmrQhi1p2.js.gz +0 -0
  73. package/dist/client/_app/immutable/chunks/{C7bUlFLk2.js → TFu7Wn2c2.js} +1 -1
  74. package/dist/client/_app/immutable/chunks/TFu7Wn2c2.js.br +0 -0
  75. package/dist/client/_app/immutable/chunks/TFu7Wn2c2.js.gz +0 -0
  76. package/dist/client/_app/immutable/chunks/hoH54hVB.js +6 -0
  77. package/dist/client/_app/immutable/chunks/hoH54hVB.js.br +0 -0
  78. package/dist/client/_app/immutable/chunks/hoH54hVB.js.gz +0 -0
  79. package/dist/client/_app/immutable/chunks/{BwWAgYKi2.js → mESnenQM2.js} +1 -1
  80. package/dist/client/_app/immutable/chunks/mESnenQM2.js.br +0 -0
  81. package/dist/client/_app/immutable/chunks/mESnenQM2.js.gz +0 -0
  82. package/dist/client/_app/immutable/chunks/nE3VUeYj.js +0 -0
  83. package/dist/client/_app/immutable/chunks/nE3VUeYj.js.br +1 -0
  84. package/dist/client/_app/immutable/chunks/nE3VUeYj.js.gz +0 -0
  85. package/dist/client/_app/immutable/chunks/{mRVEsFly2.js → uIj7mV9x2.js} +1 -1
  86. package/dist/client/_app/immutable/chunks/uIj7mV9x2.js.br +0 -0
  87. package/dist/client/_app/immutable/chunks/uIj7mV9x2.js.gz +0 -0
  88. package/dist/client/_app/immutable/chunks/xmyAstTO.js +1 -0
  89. package/dist/client/_app/immutable/chunks/xmyAstTO.js.br +0 -0
  90. package/dist/client/_app/immutable/chunks/xmyAstTO.js.gz +0 -0
  91. package/dist/client/_app/immutable/entry/{app.CyMVjflN.js → app.BrYxTqmC.js} +2 -2
  92. package/dist/client/_app/immutable/entry/app.BrYxTqmC.js.br +0 -0
  93. package/dist/client/_app/immutable/entry/app.BrYxTqmC.js.gz +0 -0
  94. package/dist/client/_app/immutable/entry/start.BLJU4g6R.js +1 -0
  95. package/dist/client/_app/immutable/entry/start.BLJU4g6R.js.br +1 -0
  96. package/dist/client/_app/immutable/entry/start.BLJU4g6R.js.gz +0 -0
  97. package/dist/client/_app/immutable/nodes/{0.DvEZu2JO.js → 0.CsYGMzJU.js} +1 -1
  98. package/dist/client/_app/immutable/nodes/0.CsYGMzJU.js.br +0 -0
  99. package/dist/client/_app/immutable/nodes/0.CsYGMzJU.js.gz +0 -0
  100. package/dist/client/_app/immutable/nodes/{1.BoI80J69.js → 1.CfDpZeft.js} +1 -1
  101. package/dist/client/_app/immutable/nodes/1.CfDpZeft.js.br +2 -0
  102. package/dist/client/_app/immutable/nodes/1.CfDpZeft.js.gz +0 -0
  103. package/dist/client/_app/immutable/nodes/{10.BvZJgse0.js → 11.L_9ZmasQ.js} +1 -1
  104. package/dist/client/_app/immutable/nodes/11.L_9ZmasQ.js.br +0 -0
  105. package/dist/client/_app/immutable/nodes/11.L_9ZmasQ.js.gz +0 -0
  106. package/dist/client/_app/immutable/nodes/2.CGT67RwO.js +1 -0
  107. package/dist/client/_app/immutable/nodes/2.CGT67RwO.js.br +0 -0
  108. package/dist/client/_app/immutable/nodes/2.CGT67RwO.js.gz +0 -0
  109. package/dist/client/_app/immutable/nodes/3.Cfkl9yLY.js +6 -0
  110. package/dist/client/_app/immutable/nodes/3.Cfkl9yLY.js.br +0 -0
  111. package/dist/client/_app/immutable/nodes/3.Cfkl9yLY.js.gz +0 -0
  112. package/dist/client/_app/version.json +1 -1
  113. package/dist/client/_app/version.json.br +0 -0
  114. package/dist/client/_app/version.json.gz +0 -0
  115. package/dist/server/chunks/{0-B3EMf1vM.js → 0-Bcww7pkn.js} +6 -6
  116. package/dist/server/chunks/{0-B3EMf1vM.js.map → 0-Bcww7pkn.js.map} +1 -1
  117. package/dist/server/chunks/{1-CTv0GZBK.js → 1-BIiCLN21.js} +6 -6
  118. package/dist/server/chunks/{1-CTv0GZBK.js.map → 1-BIiCLN21.js.map} +1 -1
  119. package/dist/server/chunks/{9-DPn3d8kr.js → 10-_cwipoJm.js} +5 -5
  120. package/dist/server/chunks/10-_cwipoJm.js.map +1 -0
  121. package/dist/server/chunks/11-C0olQKl9.js +22 -0
  122. package/dist/server/chunks/11-C0olQKl9.js.map +1 -0
  123. package/dist/server/chunks/{2-Dvto9WRP.js → 2-BvUnZSQz.js} +10 -10
  124. package/dist/server/chunks/{2-Dvto9WRP.js.map → 2-BvUnZSQz.js.map} +1 -1
  125. package/dist/server/chunks/{3-CGg-W5r9.js → 3-DdpBg6Re.js} +10 -10
  126. package/dist/server/chunks/{3-CGg-W5r9.js.map → 3-DdpBg6Re.js.map} +1 -1
  127. package/dist/server/chunks/{4-BYQgShv3.js → 4-B2tSZCU9.js} +3 -3
  128. package/dist/server/chunks/{4-BYQgShv3.js.map → 4-B2tSZCU9.js.map} +1 -1
  129. package/dist/server/chunks/{5-B4IXyXqv.js → 5-D3-J9iUP.js} +3 -3
  130. package/dist/server/chunks/{5-B4IXyXqv.js.map → 5-D3-J9iUP.js.map} +1 -1
  131. package/dist/server/chunks/{6-DH_IMDRv.js → 6-DDoqG8iB.js} +3 -3
  132. package/dist/server/chunks/{6-DH_IMDRv.js.map → 6-DDoqG8iB.js.map} +1 -1
  133. package/dist/server/chunks/7-CjZUt-gt.js +18 -0
  134. package/dist/server/chunks/7-CjZUt-gt.js.map +1 -0
  135. package/dist/server/chunks/8-ZgtdnItY.js +91 -0
  136. package/dist/server/chunks/8-ZgtdnItY.js.map +1 -0
  137. package/dist/server/chunks/{8-CRTa48Fz.js → 9-6rlPfdHX.js} +5 -5
  138. package/dist/server/chunks/{8-CRTa48Fz.js.map → 9-6rlPfdHX.js.map} +1 -1
  139. package/dist/server/chunks/{_layout.svelte-uX7XiB9K.js → _layout.svelte-By6MJeec.js} +5 -5
  140. package/dist/server/chunks/_layout.svelte-By6MJeec.js.map +1 -0
  141. package/dist/server/chunks/{_page.svelte-DDyc2obG.js → _page.svelte-B7V_s1iG.js} +7 -7
  142. package/dist/server/chunks/{_page.svelte-DDyc2obG.js.map → _page.svelte-B7V_s1iG.js.map} +1 -1
  143. package/dist/server/chunks/{_page.svelte-BP2tLMJU.js → _page.svelte-BHLa7YUI.js} +6 -6
  144. package/dist/server/chunks/_page.svelte-BHLa7YUI.js.map +1 -0
  145. package/dist/server/chunks/{_page.svelte-CJwOZYBT.js → _page.svelte-Chqj_iRU.js} +269 -105
  146. package/dist/server/chunks/_page.svelte-Chqj_iRU.js.map +1 -0
  147. package/dist/server/chunks/{_server.ts-a-I4s4R9.js → _server.ts-BwyH-SDr.js} +2 -2
  148. package/dist/server/chunks/{_server.ts-a-I4s4R9.js.map → _server.ts-BwyH-SDr.js.map} +1 -1
  149. package/dist/server/chunks/{_server.ts-DlC2sxcm.js → _server.ts-DJwl8--i.js} +15 -3
  150. package/dist/server/chunks/_server.ts-DJwl8--i.js.map +1 -0
  151. package/dist/server/chunks/_server.ts-kFT5a-9I.js +13 -0
  152. package/dist/server/chunks/_server.ts-kFT5a-9I.js.map +1 -0
  153. package/dist/server/chunks/app-DUeJj5RD.js.map +1 -1
  154. package/dist/server/chunks/{client-BuQN5Wt-.js → client-Dse9iwN0.js} +4 -4
  155. package/dist/server/chunks/client-Dse9iwN0.js.map +1 -0
  156. package/dist/server/chunks/{error-D6RCgJwO.js → error-DXhNNMk1.js} +271 -152
  157. package/dist/server/chunks/error-DXhNNMk1.js.map +1 -0
  158. package/dist/server/chunks/{error.svelte-BOeVE8bj.js → error.svelte-DIiTgKhP.js} +3 -3
  159. package/dist/server/chunks/error.svelte-DIiTgKhP.js.map +1 -0
  160. package/dist/server/chunks/{exports-CWOtdr_a.js → exports-D0uQzbjy.js} +4 -4
  161. package/dist/server/chunks/{exports-CWOtdr_a.js.map → exports-D0uQzbjy.js.map} +1 -1
  162. package/dist/server/chunks/{hooks.server-D89vZOIS.js → hooks.server-Bksu95DH.js} +6 -6
  163. package/dist/server/chunks/hooks.server-Bksu95DH.js.map +1 -0
  164. package/dist/server/chunks/{hooks.universal-DhGFdBkK.js → hooks.universal-bt2XJEN9.js} +2 -2
  165. package/dist/server/chunks/{hooks.universal-DhGFdBkK.js.map → hooks.universal-bt2XJEN9.js.map} +1 -1
  166. package/dist/server/chunks/{events-Bhh2w-5S.js → index-server-BthNUqCR.js} +1006 -1005
  167. package/dist/server/chunks/index-server-BthNUqCR.js.map +1 -0
  168. package/dist/server/chunks/{internal-DsA4iYdx.js → internal-vr3mPczx.js} +2 -2
  169. package/dist/server/chunks/{internal-DsA4iYdx.js.map → internal-vr3mPczx.js.map} +1 -1
  170. package/dist/server/chunks/{internal2-BEwefI5h.js → internal2-yWeEySiO.js} +22 -15
  171. package/dist/server/chunks/internal2-yWeEySiO.js.map +1 -0
  172. package/dist/server/chunks/{loader-circle-CFNm9vip.js → loader-circle-C4T0os4K.js} +5 -5
  173. package/dist/server/chunks/loader-circle-C4T0os4K.js.map +1 -0
  174. package/dist/server/chunks/{logo-BKCw1zwb.js → logo-C6QUIUff.js} +4 -4
  175. package/dist/server/chunks/logo-C6QUIUff.js.map +1 -0
  176. package/dist/server/chunks/{project-loader-XjKlOuo0.js → project-loader-C-zkX4VK.js} +4 -4
  177. package/dist/server/chunks/project-loader-C-zkX4VK.js.map +1 -0
  178. package/dist/server/chunks/{request-handler-guINVc1G.js → request-handler-DTxrh7_f.js} +184 -115
  179. package/dist/server/chunks/request-handler-DTxrh7_f.js.map +1 -0
  180. package/dist/server/chunks/{runtime-CDHWD9vo.js → runtime-26c7QsEi.js} +9 -9
  181. package/dist/server/chunks/runtime-26c7QsEi.js.map +1 -0
  182. package/dist/server/chunks/{schemas-gfyGqv7Z.js → schemas-D4Qq7Kpe.js} +348 -303
  183. package/dist/server/chunks/schemas-D4Qq7Kpe.js.map +1 -0
  184. package/dist/server/chunks/{session-DLCjVGKo.js → session-By0bbFhg.js} +2 -2
  185. package/dist/server/chunks/{session-DLCjVGKo.js.map → session-By0bbFhg.js.map} +1 -1
  186. package/dist/server/chunks/shared-server-Cha0Qlv9.js.map +1 -1
  187. package/dist/server/chunks/{state-BNiB0oph.js → state-dxymBwXR.js} +3 -3
  188. package/dist/server/chunks/state-dxymBwXR.js.map +1 -0
  189. package/dist/server/index.js +368 -353
  190. package/dist/server/index.js.map +1 -1
  191. package/dist/server/manifest.js +48 -24
  192. package/dist/server/manifest.js.map +1 -1
  193. package/package.json +18 -16
  194. package/dist/client/_app/immutable/assets/0.Jb4fu3YW.css +0 -1
  195. package/dist/client/_app/immutable/assets/0.Jb4fu3YW.css.br +0 -0
  196. package/dist/client/_app/immutable/assets/0.Jb4fu3YW.css.gz +0 -0
  197. package/dist/client/_app/immutable/chunks/B4w9-fYM2.js.br +0 -0
  198. package/dist/client/_app/immutable/chunks/B4w9-fYM2.js.gz +0 -0
  199. package/dist/client/_app/immutable/chunks/BG-gp5_B.js.br +0 -0
  200. package/dist/client/_app/immutable/chunks/BG-gp5_B.js.gz +0 -0
  201. package/dist/client/_app/immutable/chunks/BS47D1Yd2.js.br +0 -0
  202. package/dist/client/_app/immutable/chunks/BS47D1Yd2.js.gz +0 -0
  203. package/dist/client/_app/immutable/chunks/BWDRzheF2.js.br +0 -0
  204. package/dist/client/_app/immutable/chunks/BWDRzheF2.js.gz +0 -0
  205. package/dist/client/_app/immutable/chunks/BZqFHUa32.js.br +0 -0
  206. package/dist/client/_app/immutable/chunks/BZqFHUa32.js.gz +0 -0
  207. package/dist/client/_app/immutable/chunks/Bk9DeFcz2.js.br +0 -0
  208. package/dist/client/_app/immutable/chunks/Bk9DeFcz2.js.gz +0 -0
  209. package/dist/client/_app/immutable/chunks/BlGyHMDZ.js.br +0 -0
  210. package/dist/client/_app/immutable/chunks/BlGyHMDZ.js.gz +0 -0
  211. package/dist/client/_app/immutable/chunks/BpGMGp28.js.br +0 -0
  212. package/dist/client/_app/immutable/chunks/BpGMGp28.js.gz +0 -0
  213. package/dist/client/_app/immutable/chunks/BwWAgYKi2.js.br +0 -3
  214. package/dist/client/_app/immutable/chunks/BwWAgYKi2.js.gz +0 -0
  215. package/dist/client/_app/immutable/chunks/BzGBrbo22.js.br +0 -0
  216. package/dist/client/_app/immutable/chunks/BzGBrbo22.js.gz +0 -0
  217. package/dist/client/_app/immutable/chunks/C7bUlFLk2.js.br +0 -0
  218. package/dist/client/_app/immutable/chunks/C7bUlFLk2.js.gz +0 -0
  219. package/dist/client/_app/immutable/chunks/C83DJP9w2.js.br +0 -0
  220. package/dist/client/_app/immutable/chunks/C83DJP9w2.js.gz +0 -0
  221. package/dist/client/_app/immutable/chunks/CCCR_2rp.js.br +0 -0
  222. package/dist/client/_app/immutable/chunks/CCCR_2rp.js.gz +0 -0
  223. package/dist/client/_app/immutable/chunks/CKei9xPI2.js.br +0 -0
  224. package/dist/client/_app/immutable/chunks/CKei9xPI2.js.gz +0 -0
  225. package/dist/client/_app/immutable/chunks/CnhOha0Z2.js.br +0 -0
  226. package/dist/client/_app/immutable/chunks/CnhOha0Z2.js.gz +0 -0
  227. package/dist/client/_app/immutable/chunks/DFXoGGM32.js.br +0 -0
  228. package/dist/client/_app/immutable/chunks/DFXoGGM32.js.gz +0 -0
  229. package/dist/client/_app/immutable/chunks/DH-ThjiG2.js.br +0 -0
  230. package/dist/client/_app/immutable/chunks/DH-ThjiG2.js.gz +0 -0
  231. package/dist/client/_app/immutable/chunks/DHQLzCjY2.js.br +0 -0
  232. package/dist/client/_app/immutable/chunks/DHQLzCjY2.js.gz +0 -0
  233. package/dist/client/_app/immutable/chunks/DN_0fFRn.js +0 -6
  234. package/dist/client/_app/immutable/chunks/DN_0fFRn.js.br +0 -0
  235. package/dist/client/_app/immutable/chunks/DN_0fFRn.js.gz +0 -0
  236. package/dist/client/_app/immutable/chunks/DT8Ddh1L2.js.br +0 -0
  237. package/dist/client/_app/immutable/chunks/DT8Ddh1L2.js.gz +0 -0
  238. package/dist/client/_app/immutable/chunks/DuDzfUqN2.js.br +0 -0
  239. package/dist/client/_app/immutable/chunks/DuDzfUqN2.js.gz +0 -0
  240. package/dist/client/_app/immutable/chunks/Fu4roQAh.js.br +0 -0
  241. package/dist/client/_app/immutable/chunks/Fu4roQAh.js.gz +0 -0
  242. package/dist/client/_app/immutable/chunks/L3zfqVc3.js +0 -1
  243. package/dist/client/_app/immutable/chunks/L3zfqVc3.js.br +0 -0
  244. package/dist/client/_app/immutable/chunks/L3zfqVc3.js.gz +0 -0
  245. package/dist/client/_app/immutable/chunks/ZLGReh43.js +0 -3
  246. package/dist/client/_app/immutable/chunks/ZLGReh43.js.br +0 -0
  247. package/dist/client/_app/immutable/chunks/ZLGReh43.js.gz +0 -0
  248. package/dist/client/_app/immutable/chunks/mRVEsFly2.js.br +0 -0
  249. package/dist/client/_app/immutable/chunks/mRVEsFly2.js.gz +0 -0
  250. package/dist/client/_app/immutable/chunks/orCHVlgT.js.br +0 -0
  251. package/dist/client/_app/immutable/chunks/orCHVlgT.js.gz +0 -0
  252. package/dist/client/_app/immutable/chunks/uo5fvlDn2.js.br +0 -0
  253. package/dist/client/_app/immutable/chunks/uo5fvlDn2.js.gz +0 -0
  254. package/dist/client/_app/immutable/chunks/xhfENL-e.js.br +0 -0
  255. package/dist/client/_app/immutable/chunks/xhfENL-e.js.gz +0 -0
  256. package/dist/client/_app/immutable/entry/app.CyMVjflN.js.br +0 -0
  257. package/dist/client/_app/immutable/entry/app.CyMVjflN.js.gz +0 -0
  258. package/dist/client/_app/immutable/entry/start.styUYAaP.js +0 -1
  259. package/dist/client/_app/immutable/entry/start.styUYAaP.js.br +0 -0
  260. package/dist/client/_app/immutable/entry/start.styUYAaP.js.gz +0 -0
  261. package/dist/client/_app/immutable/nodes/0.DvEZu2JO.js.br +0 -0
  262. package/dist/client/_app/immutable/nodes/0.DvEZu2JO.js.gz +0 -0
  263. package/dist/client/_app/immutable/nodes/1.BoI80J69.js.br +0 -4
  264. package/dist/client/_app/immutable/nodes/1.BoI80J69.js.gz +0 -0
  265. package/dist/client/_app/immutable/nodes/10.BvZJgse0.js.br +0 -0
  266. package/dist/client/_app/immutable/nodes/10.BvZJgse0.js.gz +0 -0
  267. package/dist/client/_app/immutable/nodes/2.ChCDCV0k.js +0 -1
  268. package/dist/client/_app/immutable/nodes/2.ChCDCV0k.js.br +0 -0
  269. package/dist/client/_app/immutable/nodes/2.ChCDCV0k.js.gz +0 -0
  270. package/dist/client/_app/immutable/nodes/3.BhOG1SDn.js +0 -6
  271. package/dist/client/_app/immutable/nodes/3.BhOG1SDn.js.br +0 -0
  272. package/dist/client/_app/immutable/nodes/3.BhOG1SDn.js.gz +0 -0
  273. package/dist/server/chunks/10-B_z_-eOa.js +0 -22
  274. package/dist/server/chunks/10-B_z_-eOa.js.map +0 -1
  275. package/dist/server/chunks/7-CPMeoSUO.js +0 -98
  276. package/dist/server/chunks/7-CPMeoSUO.js.map +0 -1
  277. package/dist/server/chunks/9-DPn3d8kr.js.map +0 -1
  278. package/dist/server/chunks/_layout.svelte-uX7XiB9K.js.map +0 -1
  279. package/dist/server/chunks/_page.svelte-BP2tLMJU.js.map +0 -1
  280. package/dist/server/chunks/_page.svelte-CJwOZYBT.js.map +0 -1
  281. package/dist/server/chunks/_server.ts-DlC2sxcm.js.map +0 -1
  282. package/dist/server/chunks/client-BuQN5Wt-.js.map +0 -1
  283. package/dist/server/chunks/error-D6RCgJwO.js.map +0 -1
  284. package/dist/server/chunks/error.svelte-BOeVE8bj.js.map +0 -1
  285. package/dist/server/chunks/events-Bhh2w-5S.js.map +0 -1
  286. package/dist/server/chunks/hooks.server-D89vZOIS.js.map +0 -1
  287. package/dist/server/chunks/internal2-BEwefI5h.js.map +0 -1
  288. package/dist/server/chunks/loader-circle-CFNm9vip.js.map +0 -1
  289. package/dist/server/chunks/logo-BKCw1zwb.js.map +0 -1
  290. package/dist/server/chunks/project-loader-XjKlOuo0.js.map +0 -1
  291. package/dist/server/chunks/request-handler-guINVc1G.js.map +0 -1
  292. package/dist/server/chunks/runtime-CDHWD9vo.js.map +0 -1
  293. package/dist/server/chunks/schemas-gfyGqv7Z.js.map +0 -1
  294. package/dist/server/chunks/state-BNiB0oph.js.map +0 -1
  295. /package/dist/client/_app/immutable/chunks/{CVaqCwHa.js → CVaqCwHa2.js} +0 -0
  296. /package/dist/client/_app/immutable/chunks/{CVaqCwHa.js.br → CVaqCwHa2.js.br} +0 -0
  297. /package/dist/client/_app/immutable/chunks/{CVaqCwHa.js.gz → CVaqCwHa2.js.gz} +0 -0
  298. /package/dist/client/_app/immutable/chunks/{De2hgUGE.js → De2hgUGE2.js} +0 -0
  299. /package/dist/client/_app/immutable/chunks/{De2hgUGE.js.br → De2hgUGE2.js.br} +0 -0
  300. /package/dist/client/_app/immutable/chunks/{De2hgUGE.js.gz → De2hgUGE2.js.gz} +0 -0
  301. /package/dist/server/chunks/{chunk-D7D4PA-g.js → rolldown-runtime-D7D4PA-g.js} +0 -0
@@ -1,11 +1,13 @@
1
- import { n as fail } from "./exports-CWOtdr_a.js";
1
+ import { n as fail } from "./exports-D0uQzbjy.js";
2
2
  import { t as private_env } from "./shared-server-Cha0Qlv9.js";
3
3
  import { t as Exception } from "./const-Dy5RfQqP.js";
4
4
  import { n as PUBLIC_MODE, r as formatFrom, t as HttpClient } from "./format-DGOlJxF5.js";
5
- import { a as getProject, i as getOrCreateSession, l as tryAddProjectSession, o as resolveProject, r as generateKey, s as resolveSession, t as addProjectToSession } from "./session-DLCjVGKo.js";
5
+ import { a as getProject, i as getOrCreateSession, l as tryAddProjectSession, o as resolveProject, r as generateKey, s as resolveSession, t as addProjectToSession } from "./session-By0bbFhg.js";
6
6
  import { plainToInstance } from "class-transformer";
7
7
  import { validate } from "class-validator";
8
+ import micromatch from "micromatch";
8
9
  import path, { dirname, join, resolve } from "node:path";
10
+ import * as tar from "tar";
9
11
  import fs, { existsSync } from "node:fs";
10
12
  import { $ } from "bun";
11
13
  import { config } from "dotenv";
@@ -29,6 +31,11 @@ var getContext = async (event) => {
29
31
  project
30
32
  };
31
33
  };
34
+ var getUrl = (url, query) => {
35
+ const entries = Object.entries(query ?? {}).filter(([, value]) => value !== void 0);
36
+ if (entries.length === 0) return url;
37
+ return `${url}?${new URLSearchParams(entries).toString()}`;
38
+ };
32
39
  var setTokensInCookies = (cookies, { accessToken, refreshToken, tokenExpiresAt }) => {
33
40
  cookies.set("accessToken", accessToken, {
34
41
  httpOnly: true,
@@ -121,6 +128,11 @@ var AuthRepository = class extends BaseRepository {
121
128
  return this.post(`/auth/refresh-token`, input);
122
129
  }
123
130
  };
131
+ var PackageRepository = class extends BaseRepository {
132
+ getAll(query) {
133
+ return this.get(getUrl(`/packages`, query), { offline: true });
134
+ }
135
+ };
124
136
  var ProjectRepository = class extends BaseRepository {
125
137
  getProject(id) {
126
138
  return this.get(`/editor/projects/${id}`);
@@ -140,6 +152,7 @@ var getNoAuthApi = () => {
140
152
  const isOnline = PUBLIC_MODE === "ONLINE";
141
153
  return {
142
154
  auth: new AuthRepository(client, isOnline),
155
+ packages: new PackageRepository(client, isOnline),
143
156
  registry: new RegistryRepository(client, isOnline)
144
157
  };
145
158
  };
@@ -151,6 +164,7 @@ var getApi = (cookies) => {
151
164
  } }).useMiddlewares(useTokenMiddleware(cookies));
152
165
  return {
153
166
  auth: new AuthRepository(client),
167
+ packages: new PackageRepository(client),
154
168
  projects: new ProjectRepository(client),
155
169
  registry: new RegistryRepository(client)
156
170
  };
@@ -285,6 +299,9 @@ var Cli = class {
285
299
  var resolveRootPath = (userPath) => {
286
300
  return resolve(resolve(private_env.FS_ROOT ?? ""), userPath);
287
301
  };
302
+ var resolveArchiveRootPath = () => {
303
+ return resolve(private_env.ARCHIVE_ROOT ?? "");
304
+ };
288
305
  var FileSystemError = class extends Exception {
289
306
  constructor(message) {
290
307
  super("Bad Request", message, 400);
@@ -309,15 +326,18 @@ var ProjectDirectory = class {
309
326
  this.projectPath = projectPath;
310
327
  this._checkPathIsInsideProject();
311
328
  }
312
- read(recursive = false) {
329
+ read(recursive = false, createIfNotExist = false) {
330
+ if (createIfNotExist) {
331
+ if (!fs.existsSync(this.path)) this.create();
332
+ }
313
333
  this._checkPathExists();
314
334
  this._checkPathIsDir();
315
335
  this._checkPathIsReadable();
316
336
  return this._readDirContent(this.path, recursive);
317
337
  }
318
- create() {
338
+ create(path = this.path) {
319
339
  this._checkPathNotExists();
320
- fs.mkdirSync(this.path, { recursive: true });
340
+ fs.mkdirSync(path, { recursive: true });
321
341
  }
322
342
  delete(recursive = false) {
323
343
  this._checkPathExists();
@@ -393,6 +413,64 @@ var ProjectDirectory = class {
393
413
  return dirContent;
394
414
  }
395
415
  };
416
+ var archives = /* @__PURE__ */ new Map();
417
+ var ArchiveSystem = class {
418
+ handler;
419
+ context;
420
+ _rootPath;
421
+ _sessionId;
422
+ constructor(handler, context) {
423
+ this.handler = handler;
424
+ this.context = context;
425
+ this._sessionId = context.session.id;
426
+ this._rootPath = resolveArchiveRootPath();
427
+ }
428
+ async create(ignoreFile = ".gitignore") {
429
+ const dir = this.handler.fs.getDirectory("");
430
+ let files = directoryContentToFileEntries(dir.read(true)).map((n) => n.startsWith("/") ? n.slice(1) : n);
431
+ try {
432
+ const ignore = await Bun.file(join(dir.path, ignoreFile)).text();
433
+ files = micromatch.not(files, ignore.split("\n").filter(Boolean), {
434
+ dot: true,
435
+ contains: true
436
+ });
437
+ } catch (e) {
438
+ console.warn(`Could not read ${ignoreFile} file`, e);
439
+ }
440
+ const id = `${this._resolveId()}.tgz`;
441
+ const path = join(this._rootPath, id);
442
+ await tar.c({
443
+ gzip: true,
444
+ file: path,
445
+ cwd: dir.path
446
+ }, files);
447
+ archives.set(id, {
448
+ sessionId: this._sessionId,
449
+ path
450
+ });
451
+ setTimeout(this._delete.bind(this, id), 1e3 * 60 * 15);
452
+ return id;
453
+ }
454
+ async get(id) {
455
+ const archive = archives.get(id);
456
+ if (!archive) throw new Exception("Not Found", "Archive not found", 404);
457
+ if (archive.sessionId !== this._sessionId) throw new Exception("Forbidden", "Archive is not yours", 403);
458
+ return Bun.file(archive.path);
459
+ }
460
+ async _delete(id) {
461
+ const archive = archives.get(id);
462
+ if (!archive) return;
463
+ try {
464
+ await Bun.file(archive.path).delete();
465
+ archives.delete(id);
466
+ } catch (e) {
467
+ console.error("Could not delete archive", e);
468
+ }
469
+ }
470
+ _resolveId() {
471
+ return `${this.context.project.path.split("/").pop() ?? "unknown"}-${(/* @__PURE__ */ new Date()).toISOString()}`;
472
+ }
473
+ };
396
474
  var ProjectFile = class {
397
475
  _path;
398
476
  projectPath;
@@ -664,8 +742,20 @@ var Loader = class {
664
742
  var PackageTypeEnum = /* @__PURE__ */ function(PackageTypeEnum) {
665
743
  PackageTypeEnum["COMPONENT"] = "component";
666
744
  PackageTypeEnum["SYSTEM"] = "system";
745
+ PackageTypeEnum["ASSET"] = "asset";
667
746
  return PackageTypeEnum;
668
747
  }({});
748
+ var PACKAGES_PATH = {
749
+ [PackageTypeEnum.COMPONENT]: "components",
750
+ [PackageTypeEnum.SYSTEM]: "systems",
751
+ [PackageTypeEnum.ASSET]: "assets"
752
+ };
753
+ PackageTypeEnum.COMPONENT, PackageTypeEnum.SYSTEM, PackageTypeEnum.ASSET;
754
+ var PACKAGES_PATH_FORMATTER = {
755
+ [PackageTypeEnum.COMPONENT]: (n) => formatFrom.all(n).toKebab() + ".component",
756
+ [PackageTypeEnum.SYSTEM]: (n) => formatFrom.all(n).toKebab() + ".system",
757
+ [PackageTypeEnum.ASSET]: (n) => n
758
+ };
669
759
  var MANIFEST_TITLES = {
670
760
  [PackageTypeEnum.COMPONENT]: "EDITOR_COMPONENT_MANIFEST",
671
761
  [PackageTypeEnum.SYSTEM]: "EDITOR_SYSTEM_MANIFEST"
@@ -723,77 +813,97 @@ var getManifestFromNode = (source) => {
723
813
  if (!ts.isObjectLiteralExpression(init)) return null;
724
814
  return parseElement(init);
725
815
  };
726
- var parseManifest = (title, source) => {
816
+ var parseManifest = (type, source) => {
727
817
  const id = getName(source);
728
- const manifest = getManifestFromNode(findManifestNode(title, source));
818
+ const manifest = getManifestFromNode(findManifestNode(MANIFEST_TITLES[type], source));
729
819
  if (!id || !manifest) return null;
730
820
  return {
731
821
  id,
822
+ type,
732
823
  ...manifest
733
824
  };
734
825
  };
735
826
  var resolveManifest = (type, content) => {
736
- const source = ts.createSourceFile("tmp.ts", content, ts.ScriptTarget.ESNext, true);
737
- return parseManifest(MANIFEST_TITLES[type], source);
827
+ return parseManifest(type, ts.createSourceFile("tmp.ts", content, ts.ScriptTarget.ESNext, true));
738
828
  };
739
- var PackageHandler = class {
829
+ var resolveSave = (type, name, path, manifest) => {
830
+ const base = {
831
+ name,
832
+ path
833
+ };
834
+ if (type === PackageTypeEnum.SYSTEM) return base;
835
+ return {
836
+ ...base,
837
+ paramsNames: manifest.params.map(({ name }) => name)
838
+ };
839
+ };
840
+ var ManifestHandler = class {
740
841
  handler;
741
842
  constructor(handler) {
742
843
  this.handler = handler;
743
844
  }
744
- async installComponent(name) {
745
- const rc = await this.handler._api.registry.getPackage(name);
746
- if (rc.type !== "component") throw new Error(`Can only add component: ${name} is a ${rc.type}`);
747
- this.handler._cli.install([name], { server: this.handler._part === "server" || void 0 });
748
- return this._getNewComponentPackage(rc.name, rc._file);
845
+ resolveFromName(type, rawName) {
846
+ return this.resolveFromFilename(type, PACKAGES_PATH_FORMATTER[type](rawName));
749
847
  }
750
- async installSystem(name) {
751
- const rs = await this.handler._api.registry.getPackage(name);
752
- if (rs.type !== "system") throw new Error(`Can only add system: ${name} is a ${rs.type}`);
753
- this.handler._cli.install([name], { server: this.handler._part === "server" || void 0 });
754
- return this._getNewSystemPackage(rs.name, rs._file);
848
+ resolveFromFilename(type, filename) {
849
+ const path = join(PACKAGES_PATH[type], filename);
850
+ return this.resolveFromPath(type, path);
851
+ }
852
+ resolveFromPath(type, path) {
853
+ const manifest = this._resolveManifest(type, path);
854
+ return {
855
+ manifest,
856
+ save: resolveSave(type, manifest.id, path, manifest)
857
+ };
858
+ }
859
+ _resolveManifest(type, path) {
860
+ return this._findPackageManifest((p) => this._getPackageManifest(type, p), path);
861
+ }
862
+ _getPackageManifest(type, path) {
863
+ return resolveManifest(type, this.handler._rootFs.getFile(this._resolvePartPath(path)).read());
864
+ }
865
+ _findPackageManifest(manifestGetter, path) {
866
+ const manifest = [
867
+ "",
868
+ ".ts",
869
+ ".js"
870
+ ].reduce((result, p) => {
871
+ if (result) return result;
872
+ try {
873
+ return manifestGetter(path + p);
874
+ } catch (e) {
875
+ if (!(e instanceof FileSystemError)) throw e;
876
+ }
877
+ }, void 0);
878
+ if (!manifest) throw new FileSystemError("Can't find package manifest");
879
+ return manifest;
880
+ }
881
+ _resolvePartPath(path) {
882
+ return join(this.handler._part, path);
883
+ }
884
+ };
885
+ var PackageHandler = class {
886
+ handler;
887
+ manifestHandler;
888
+ constructor(handler) {
889
+ this.handler = handler;
890
+ this.manifestHandler = new ManifestHandler(handler);
891
+ }
892
+ async installPackages(names) {
893
+ if (names.length === 0) return [];
894
+ this.handler._cli.install(names, { server: this.handler._part === "server" || void 0 });
895
+ return Promise.all(names.map(async (name) => {
896
+ const r = await this.handler._api.registry.getPackage(name);
897
+ return this._resolvesPackage(r.type, r._file);
898
+ }));
755
899
  }
756
- /**
757
- * Create a new component in the project
758
- * @beta function to be reworked
759
- *
760
- * @param {string} name - Name of the component
761
- */
762
900
  createComponent(name) {
763
901
  this._createPackage(PackageTypeEnum.COMPONENT, name);
764
- return this._getNewComponentPackage(formatFrom.all(name).toPascal() + "Component", formatFrom.all(name).toKebab() + ".component");
902
+ return this.manifestHandler.resolveFromName(PackageTypeEnum.COMPONENT, name);
765
903
  }
766
- /**
767
- * Create a new system in the project and update the save file
768
- * @beta function to be reworked
769
- *
770
- * @param {string} name - Name of the system
771
- */
772
904
  createSystem(name) {
773
905
  this._createPackage(PackageTypeEnum.SYSTEM, name);
774
- return this._getNewSystemPackage(formatFrom.all(name).toCamel() + "System", formatFrom.all(name).toKebab() + ".system");
775
- }
776
- /**
777
- * Get the manifest of the component
778
- * @beta function to be reworked
779
- *
780
- * @param {string} path - Path from `/<client|server>`
781
- *
782
- * @returns Manifest of the component
783
- */
784
- getComponentManifest(path) {
785
- return this._getPackageManifest(PackageTypeEnum.COMPONENT, path);
786
- }
787
- /**
788
- * Get the manifest of the system
789
- * @beta function to be reworked
790
- *
791
- * @param {string} path - Path from `/<client|server>`
792
- *
793
- * @returns Manifest of the system
794
- */
795
- getSystemManifest(path) {
796
- return this._getPackageManifest(PackageTypeEnum.SYSTEM, path);
906
+ return this.manifestHandler.resolveFromName(PackageTypeEnum.SYSTEM, name);
797
907
  }
798
908
  async getComponents() {
799
909
  return this._resolvesPackages(PackageTypeEnum.COMPONENT);
@@ -801,22 +911,18 @@ var PackageHandler = class {
801
911
  async getSystems() {
802
912
  return this._resolvesPackages(PackageTypeEnum.SYSTEM);
803
913
  }
914
+ async getAssets() {
915
+ return this._resolvesPackages(PackageTypeEnum.ASSET);
916
+ }
804
917
  _resolvesPackages(type) {
805
- const basePath = type === PackageTypeEnum.COMPONENT ? "./components" : "./systems";
806
- const content = this.handler.fs.getDirectory(basePath).read(true);
807
- return this._resolvesPackageFilesPathFromContent(content).map((path) => this._resolvesPackage(type, join(basePath, path)));
918
+ const basePath = PACKAGES_PATH[type];
919
+ const content = this.handler.fs.getDirectory(basePath).read(true, true);
920
+ return this._resolvesPackageFilesPathFromContent(content).map((path) => this._resolvesPackage(type, path, basePath));
808
921
  }
809
- _resolvesPackage(type, path) {
810
- const manifest = this._getPackageManifest(type, path);
811
- const res = {
812
- manifest,
813
- save: {
814
- name: manifest.id,
815
- path
816
- }
817
- };
818
- if (type === PackageTypeEnum.COMPONENT) res.save.params = manifest.params.map(({ name }) => name);
819
- return res;
922
+ _resolvesPackage(type, filename, basePath = PACKAGES_PATH[type]) {
923
+ const path = join(basePath, filename);
924
+ if (type === PackageTypeEnum.ASSET) return { path };
925
+ return this.manifestHandler.resolveFromPath(type, path);
820
926
  }
821
927
  _resolvesPackageFilesPathFromContent(content, path = "") {
822
928
  const files = content.files.map((file) => join(path, file));
@@ -826,56 +932,12 @@ var PackageHandler = class {
826
932
  });
827
933
  return [...files, ...directories.flat()];
828
934
  }
829
- _getNewComponentPackage(name, fileName) {
830
- const path = `./components/${fileName}`;
831
- const manifest = this._findPackageManifest((p) => this.getComponentManifest(p), path);
832
- return {
833
- manifest,
834
- save: {
835
- name,
836
- path,
837
- paramsNames: manifest.params.map(({ name }) => name)
838
- }
839
- };
840
- }
841
- _getNewSystemPackage(name, fileName) {
842
- const path = `./systems/${fileName}`;
843
- return {
844
- manifest: this._findPackageManifest((p) => this.getSystemManifest(p), path),
845
- save: {
846
- name,
847
- path
848
- }
849
- };
850
- }
851
- _findPackageManifest(manifestGetter, path) {
852
- const manifest = [
853
- "",
854
- ".ts",
855
- ".js"
856
- ].reduce((result, p) => {
857
- if (result) return result;
858
- try {
859
- return manifestGetter(path + p);
860
- } catch (e) {
861
- if (!(e instanceof FileSystemError)) throw e;
862
- }
863
- }, void 0);
864
- if (!manifest) throw new FileSystemError("Can't find package manifest");
865
- return manifest;
866
- }
867
935
  _createPackage(type, name) {
868
936
  this.handler._cli.create(type, {
869
937
  name,
870
938
  server: this.handler._part === "server" || void 0
871
939
  });
872
940
  }
873
- _getPackageManifest(type, path) {
874
- return resolveManifest(type, this.handler._rootFs.getFile(this._resolvePartPath(path)).read());
875
- }
876
- _resolvePartPath(path) {
877
- return join(this.handler._part, path);
878
- }
879
941
  };
880
942
  var SaveHandler = class {
881
943
  handler;
@@ -974,6 +1036,7 @@ var Handler = class {
974
1036
  _fsCache;
975
1037
  _gitCache;
976
1038
  _projectCache;
1039
+ _archiveCache;
977
1040
  constructor(context, event, body) {
978
1041
  this._context = context;
979
1042
  this._event = event;
@@ -988,6 +1051,7 @@ var Handler = class {
988
1051
  this._cliCache = void 0;
989
1052
  this._fsCache = void 0;
990
1053
  this._gitCache = void 0;
1054
+ this._archiveCache = void 0;
991
1055
  }
992
1056
  get event() {
993
1057
  return this._event;
@@ -1015,6 +1079,10 @@ var Handler = class {
1015
1079
  if (!this._projectCache) this._projectCache = new ProjectManager(this, this._context);
1016
1080
  return this._projectCache;
1017
1081
  }
1082
+ get archive() {
1083
+ if (!this._archiveCache) this._archiveCache = new ArchiveSystem(this, this._context);
1084
+ return this._archiveCache;
1085
+ }
1018
1086
  };
1019
1087
  var DEFAULT_OPTIONS = {
1020
1088
  onlineOnly: false,
@@ -1067,6 +1135,7 @@ var handleError = (e) => {
1067
1135
  error: e.error,
1068
1136
  message: e.message
1069
1137
  }, { status: e.status });
1138
+ console.error(e);
1070
1139
  return Response.json({
1071
1140
  error: "Internal Server Error",
1072
1141
  message: e
@@ -1086,4 +1155,4 @@ var useRequestHandler = (callback, options) => {
1086
1155
  //#endregion
1087
1156
  export { useRequestHandler as i, loadProjectFromId as n, useActionHandler as r, loadProject as t };
1088
1157
 
1089
- //# sourceMappingURL=request-handler-guINVc1G.js.map
1158
+ //# sourceMappingURL=request-handler-DTxrh7_f.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-handler-DTxrh7_f.js","names":[],"sources":["../../../.svelte-kit/adapter-bun/chunks/request-handler.js"],"sourcesContent":["import { t as private_env } from \"./shared-server.js\";\nimport { n as Exception } from \"./const.js\";\nimport { a as PUBLIC_MODE, n as HttpClient, t as formatFrom } from \"./format.js\";\nimport { c as resolveSession, l as generateKey, n as resolveProject, o as addProjectToSession, r as tryAddProjectSession, s as getOrCreateSession, t as getProject } from \"./session.js\";\nimport { fail } from \"@sveltejs/kit\";\nimport { plainToInstance } from \"class-transformer\";\nimport { validate } from \"class-validator\";\nimport micromatch from \"micromatch\";\nimport path, { dirname, join, resolve } from \"node:path\";\nimport * as tar from \"tar\";\nimport fs, { existsSync } from \"node:fs\";\nimport { $ } from \"bun\";\nimport { config } from \"dotenv\";\nimport ts from \"typescript\";\n//#region src/lib/server/utils/request-handler/body.ts\nvar parseFormDataBody = (rawBody, c) => {\n\treturn parseBody(Object.fromEntries(Array.from(rawBody.entries()).map(([key, value]) => [key, JSON.parse(value)])), c);\n};\nvar parseBody = async (baseBody, c) => {\n\tif (!c) return baseBody;\n\tconst errors = await validate(plainToInstance(c, baseBody, { excludeExtraneousValues: true }));\n\tif (errors.length > 0) throw new Exception(\"Bad Request\", `Invalid body :\\n${errors.toString().replace(/,/g, \"\\n\")}`, 400);\n\treturn baseBody;\n};\n//#endregion\n//#region src/lib/server/utils/request-handler/context.ts\nvar getContext = async (event) => {\n\tconst session = await resolveSession(event.locals.session);\n\tconst project = resolveProject(event.request.headers, session);\n\treturn {\n\t\tonline: PUBLIC_MODE === \"ONLINE\",\n\t\tsession,\n\t\tproject\n\t};\n};\n//#endregion\n//#region src/lib/utils/http/query.ts\nvar getUrl = (url, query) => {\n\tconst entries = Object.entries(query ?? {}).filter(([, value]) => value !== void 0);\n\tif (entries.length === 0) return url;\n\treturn `${url}?${new URLSearchParams(entries).toString()}`;\n};\n//#endregion\n//#region src/lib/server/utils/cookies/index.ts\nvar setTokensInCookies = (cookies, { accessToken, refreshToken, tokenExpiresAt }) => {\n\tcookies.set(\"accessToken\", accessToken, {\n\t\thttpOnly: true,\n\t\tsecure: private_env.NODE_ENV === \"production\",\n\t\tsameSite: \"lax\",\n\t\tpath: \"/\",\n\t\texpires: new Date(tokenExpiresAt)\n\t});\n\tcookies.set(\"refreshToken\", refreshToken, {\n\t\thttpOnly: true,\n\t\tsecure: private_env.NODE_ENV === \"production\",\n\t\tsameSite: \"lax\",\n\t\tpath: \"/\",\n\t\tmaxAge: 3600 * 24 * 30\n\t});\n};\n//#endregion\n//#region src/lib/server/api/middlewares/refresh-token.middleware.ts\nvar refreshToken = async (cookies, force = false) => {\n\tlet accessToken = force ? void 0 : cookies.get(\"accessToken\");\n\tconst refreshToken = cookies.get(\"refreshToken\");\n\tif (!accessToken) {\n\t\tif (!refreshToken) throw new Exception(\"Unauthorized\", \"No token found\", 401);\n\t\ttry {\n\t\t\tconst tokens = await getNoAuthApi().auth.refreshToken({ refreshToken });\n\t\t\tsetTokensInCookies(cookies, tokens);\n\t\t\taccessToken = tokens.accessToken;\n\t\t} catch {\n\t\t\tthrow new Exception(\"Unauthorized\", \"Invalid refresh token\", 401);\n\t\t}\n\t}\n\treturn accessToken;\n};\nvar getRequestParams = (params, token) => ({\n\t...params,\n\toptions: {\n\t\t...params.options,\n\t\theaders: {\n\t\t\t...params.options.headers,\n\t\t\tAuthorization: `Bearer ${token}`\n\t\t}\n\t}\n});\nvar useTokenMiddleware = (cookies) => {\n\treturn async (params, next) => {\n\t\tconst res = await next(getRequestParams(params, cookies.get(\"accessToken\") ?? await refreshToken(cookies)));\n\t\tif (res.status === 401) return await next(getRequestParams(params, await refreshToken(cookies, true)));\n\t\treturn res;\n\t};\n};\n//#endregion\n//#region src/lib/server/api/base.repository.ts\nvar BaseRepository = class {\n\t_client;\n\t_online;\n\tconstructor(client, online = true) {\n\t\tthis._client = client;\n\t\tthis._online = online;\n\t}\n\tget(path, options) {\n\t\treturn this.runRequest(\"get\", path, options);\n\t}\n\tpost(path, body, options) {\n\t\treturn this.runRequestBody(\"post\", path, body, options);\n\t}\n\tput(path, body, options) {\n\t\treturn this.runRequestBody(\"put\", path, body, options);\n\t}\n\tpatch(path, body, options) {\n\t\treturn this.runRequestBody(\"patch\", path, body, options);\n\t}\n\tdelete(path, options) {\n\t\treturn this.runRequest(\"delete\", path, options);\n\t}\n\tassertOnline() {\n\t\tif (!this._online) throw new Error(\"This route is only available in online mode\");\n\t}\n\tasync runRequest(request, path, options) {\n\t\tif (!options?.offline) this.assertOnline();\n\t\tconst res = await this._client[request](path, options);\n\t\tif (!res.ok) throw new Error(`Request failed with status code ${res.status}`, { cause: await res.json() });\n\t\treturn await res.json();\n\t}\n\tasync runRequestBody(request, path, body, options) {\n\t\tif (!options?.offline) this.assertOnline();\n\t\tconst res = await this._client[request](path, body === void 0 ? void 0 : JSON.stringify(body), options);\n\t\tconst data = await res.json();\n\t\tif (!res.ok) throw new Error(`Request failed with status code ${res.status}`, { cause: data });\n\t\treturn data;\n\t}\n};\n//#endregion\n//#region src/lib/server/api/repositories/auth.repository.ts\nvar AuthRepository = class extends BaseRepository {\n\trefreshToken(input) {\n\t\treturn this.post(`/auth/refresh-token`, input);\n\t}\n};\n//#endregion\n//#region src/lib/server/api/repositories/package.repository.ts\nvar PackageRepository = class extends BaseRepository {\n\tgetAll(query) {\n\t\treturn this.get(getUrl(`/packages`, query), { offline: true });\n\t}\n};\n//#endregion\n//#region src/lib/server/api/repositories/projects.repository.ts\nvar ProjectRepository = class extends BaseRepository {\n\tgetProject(id) {\n\t\treturn this.get(`/editor/projects/${id}`);\n\t}\n\tgetProjects() {\n\t\treturn this.get(`/projects`);\n\t}\n};\n//#endregion\n//#region src/lib/server/api/repositories/registry.repository.ts\nvar RegistryRepository = class extends BaseRepository {\n\tgetPackage(packageName) {\n\t\treturn this.get(`/registry/${packageName}`, { offline: true });\n\t}\n};\n//#endregion\n//#region src/lib/server/api/client.ts\nvar DEFAULT_API_URL = \"https://api.nanoforge.eu\";\nvar getNoAuthApi = () => {\n\tconst client = new HttpClient(private_env.API_URL ?? DEFAULT_API_URL, { headers: { \"Content-Type\": \"application/json\" } });\n\tconst isOnline = PUBLIC_MODE === \"ONLINE\";\n\treturn {\n\t\tauth: new AuthRepository(client, isOnline),\n\t\tpackages: new PackageRepository(client, isOnline),\n\t\tregistry: new RegistryRepository(client, isOnline)\n\t};\n};\nvar getApi = (cookies) => {\n\tif (!private_env.API_KEY) throw new Error(\"API_KEY is not defined\");\n\tconst client = new HttpClient(private_env.API_URL ?? DEFAULT_API_URL, { headers: {\n\t\t\"Content-Type\": \"application/json\",\n\t\t\"Api-Key\": private_env.API_KEY\n\t} }).useMiddlewares(useTokenMiddleware(cookies));\n\treturn {\n\t\tauth: new AuthRepository(client),\n\t\tpackages: new PackageRepository(client),\n\t\tprojects: new ProjectRepository(client),\n\t\tregistry: new RegistryRepository(client)\n\t};\n};\n//#endregion\n//#region src/lib/server/cli/cli-defaults.ts\nvar CLI_NEW_DEFAULTS = {\n\tpackageManager: \"npm\",\n\tlanguage: \"ts\",\n\tstrict: false,\n\tserver: false,\n\tskipInstall: false,\n\tdocker: false,\n\tgit: false,\n\tgitRemote: false\n};\nvar CLI_INSTALL_DEFAULTS = {};\nvar CLI_BUILD_DEFAULTS = {};\nvar CLI_START_DEFAULTS = {};\nvar CLI_DEV_DEFAULTS = {};\nvar CLI_GENERATE_DEFAULTS = {};\nvar CLI_CREATE_DEFAULTS = {};\n//#endregion\n//#region src/lib/server/cli/cli-error.ts\nvar CliError = class extends Exception {\n\tconstructor(message) {\n\t\tsuper(\"Internal Server Error\", message, 500);\n\t}\n};\n//#endregion\n//#region src/lib/server/cli/cli.ts\nvar Cli = class {\n\t_projectPath;\n\tconstructor(context) {\n\t\tthis._projectPath = context.project?.path;\n\t}\n\tnew(opts, runOpts) {\n\t\treturn this.runCommand(\"new\", [], { ...opts }, CLI_NEW_DEFAULTS, runOpts);\n\t}\n\tinstall(pkgs, opts, runOpts) {\n\t\tthis.assertProject();\n\t\treturn this.runCommand(\"install\", pkgs, {\n\t\t\t...opts,\n\t\t\tdirectory: this._projectPath\n\t\t}, CLI_INSTALL_DEFAULTS, runOpts);\n\t}\n\tbuild(opts, runOpts) {\n\t\tthis.assertProject();\n\t\treturn this.runCommand(\"build\", [], {\n\t\t\t...opts,\n\t\t\tdirectory: this._projectPath\n\t\t}, CLI_BUILD_DEFAULTS, runOpts);\n\t}\n\tstart(opts, runOpts) {\n\t\tthis.assertProject();\n\t\treturn this.runCommand(\"start\", [], {\n\t\t\t...opts,\n\t\t\tdirectory: this._projectPath\n\t\t}, CLI_START_DEFAULTS, runOpts);\n\t}\n\tdev(opts, runOpts) {\n\t\tthis.assertProject();\n\t\treturn this.runCommand(\"dev\", [], {\n\t\t\t...opts,\n\t\t\tdirectory: this._projectPath\n\t\t}, CLI_DEV_DEFAULTS, runOpts);\n\t}\n\tgenerate(opts, runOpts) {\n\t\tthis.assertProject();\n\t\treturn this.runCommand(\"generate\", [], {\n\t\t\t...opts,\n\t\t\tdirectory: this._projectPath\n\t\t}, CLI_GENERATE_DEFAULTS, runOpts);\n\t}\n\tcreate(part, opts, runOpts) {\n\t\tthis.assertProject();\n\t\treturn this.runCommand(\"create\", [part], {\n\t\t\t...opts,\n\t\t\tdirectory: this._projectPath\n\t\t}, CLI_CREATE_DEFAULTS, runOpts);\n\t}\n\trunCommand(command, params, opts, defaultOpts, { async = false } = {}) {\n\t\tconst fullCommand = [\n\t\t\tprivate_env.NF_CLI_PATH ?? \"nf\",\n\t\t\tcommand,\n\t\t\t...params,\n\t\t\t...this.resolveParams(opts, defaultOpts)\n\t\t];\n\t\tif (async) {\n\t\t\tconst res = Bun.spawn(fullCommand, {\n\t\t\t\tstdout: \"pipe\",\n\t\t\t\tstderr: \"pipe\",\n\t\t\t\tcwd: private_env.FS_ROOT ?? void 0\n\t\t\t});\n\t\t\tres.exited.then((exitCode) => {\n\t\t\t\tif (exitCode !== 0) {\n\t\t\t\t\tconsole.log(res.stdout.toString());\n\t\t\t\t\tconsole.error(res.stderr.toString());\n\t\t\t\t\tthrow new CliError(res.stderr.toString());\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tconst res = Bun.spawnSync(fullCommand, {\n\t\t\t\tstdout: \"pipe\",\n\t\t\t\tstderr: \"pipe\",\n\t\t\t\tcwd: private_env.FS_ROOT ?? void 0\n\t\t\t});\n\t\t\tif (res.exitCode !== 0) {\n\t\t\t\tconsole.log(res.stdout.toString());\n\t\t\t\tconsole.error(res.stderr.toString());\n\t\t\t\tthrow new CliError(res.stderr.toString());\n\t\t\t}\n\t\t}\n\t}\n\tmergeParams(...opts) {\n\t\tconst merged = {};\n\t\tfor (const opt of opts) for (const [key, value] of Object.entries(opt)) {\n\t\t\tif (value === void 0) continue;\n\t\t\tmerged[key] = value;\n\t\t}\n\t\treturn merged;\n\t}\n\tresolveParams(opts, defaultOpts) {\n\t\tconst params = [];\n\t\tfor (const [key, value] of Object.entries(this.mergeParams(defaultOpts, opts))) {\n\t\t\tconst name = formatFrom.camel(key).toKebab();\n\t\t\tif (typeof value === \"boolean\") if (value) params.push(`--${name}`);\n\t\t\telse params.push(`--no-${name}`);\n\t\t\telse params.push(`--${name}`, `${value}`);\n\t\t}\n\t\treturn params;\n\t}\n\tassertProject() {\n\t\tif (!this._projectPath) throw new CliError(\"No project path set\");\n\t\tif (!Bun.file(this._projectPath).exists()) throw new CliError(\"Project does not exist\");\n\t}\n};\n//#endregion\n//#region src/lib/server/file-system/file-system.functions.ts\nvar resolveRootPath = (userPath) => {\n\treturn resolve(resolve(private_env.FS_ROOT ?? \"\"), userPath);\n};\nvar resolveArchiveRootPath = () => {\n\treturn resolve(private_env.ARCHIVE_ROOT ?? \"\");\n};\n//#endregion\n//#region src/lib/server/file-system/file-system-error.ts\nvar FileSystemError = class extends Exception {\n\tconstructor(message) {\n\t\tsuper(\"Bad Request\", message, 400);\n\t}\n};\n//#endregion\n//#region src/lib/server/file-system/project-directory.ts\nfunction directoryContentToFileEntries(directoryContent, basePath = \"\") {\n\tconst entries = [];\n\tdirectoryContent.files.forEach((file) => {\n\t\tentries.push(basePath + \"/\" + file);\n\t});\n\tObject.entries(directoryContent.directories).forEach(([path, dirContent]) => {\n\t\tif (!dirContent) return;\n\t\tentries.push(...directoryContentToFileEntries(dirContent, basePath + \"/\" + path));\n\t});\n\treturn entries;\n}\nvar ProjectDirectory = class {\n\tpath;\n\tprojectPath;\n\tconstructor(dirPath, projectPath) {\n\t\tthis.path = resolve(projectPath, \"./\" + dirPath);\n\t\tthis.projectPath = projectPath;\n\t\tthis._checkPathIsInsideProject();\n\t}\n\tread(recursive = false, createIfNotExist = false) {\n\t\tif (createIfNotExist) {\n\t\t\tif (!fs.existsSync(this.path)) this.create();\n\t\t}\n\t\tthis._checkPathExists();\n\t\tthis._checkPathIsDir();\n\t\tthis._checkPathIsReadable();\n\t\treturn this._readDirContent(this.path, recursive);\n\t}\n\tcreate(path = this.path) {\n\t\tthis._checkPathNotExists();\n\t\tfs.mkdirSync(path, { recursive: true });\n\t}\n\tdelete(recursive = false) {\n\t\tthis._checkPathExists();\n\t\tthis._checkPathIsDir();\n\t\tif (!recursive) this._checkDirIsEmpty();\n\t\tfs.rmSync(this.path, { recursive });\n\t}\n\trename(newPath) {\n\t\tconst absoluteNewDirPath = resolve(this.projectPath, \"./\" + newPath);\n\t\tthis._checkPathIsInsideProject(absoluteNewDirPath);\n\t\tthis._checkPathExists();\n\t\tthis._checkPathIsDir();\n\t\tthis._checkPathIsWritable();\n\t\tconst newFolderPath = dirname(absoluteNewDirPath);\n\t\tthis._checkPathExists(newFolderPath);\n\t\tthis._checkPathIsWritable(newFolderPath);\n\t\tthis._checkPathNotExists(absoluteNewDirPath);\n\t\tfs.renameSync(this.path, absoluteNewDirPath);\n\t\tthis.path = absoluteNewDirPath;\n\t}\n\tassertExists() {\n\t\tthis._checkPathExists();\n\t\tthis._checkPathIsDir();\n\t\tthis._checkPathIsReadable();\n\t}\n\t_checkPathIsInsideProject(path = this.path) {\n\t\tif (!path.startsWith(this.projectPath)) throw new FileSystemError(`Path ${path} is outside of the project directory`);\n\t}\n\t_checkPathExists(path = this.path) {\n\t\tif (!fs.existsSync(path)) throw new FileSystemError(`Path ${path} should exist`);\n\t}\n\t_checkPathNotExists(path = this.path) {\n\t\tif (fs.existsSync(path)) throw new FileSystemError(`Path ${path} should not exist`);\n\t}\n\t_checkPathIsDir(path = this.path) {\n\t\tlet stats;\n\t\ttry {\n\t\t\tstats = fs.lstatSync(path);\n\t\t} catch {\n\t\t\tthrow new FileSystemError(`Path ${path} does not exist`);\n\t\t}\n\t\tif (!stats.isDirectory()) throw new FileSystemError(`Path ${path} is not a directory`);\n\t}\n\t_checkPathIsWritable(path = this.path) {\n\t\ttry {\n\t\t\tfs.accessSync(path, fs.constants.W_OK);\n\t\t} catch {\n\t\t\tthrow new FileSystemError(`Path ${path} writable`);\n\t\t}\n\t}\n\t_checkPathIsReadable(path = this.path) {\n\t\ttry {\n\t\t\tfs.accessSync(path, fs.constants.R_OK);\n\t\t} catch {\n\t\t\tthrow new FileSystemError(`Path ${path} writable`);\n\t\t}\n\t}\n\t_checkDirIsEmpty(path = this.path) {\n\t\tif (fs.readdirSync(path).length > 0) throw new FileSystemError(`Directory ${path} is not empty`);\n\t}\n\t_readDirContent(path = this.path, recursive = false) {\n\t\tconst dirContent = {\n\t\t\tfiles: [],\n\t\t\tdirectories: {}\n\t\t};\n\t\tfs.readdirSync(path, {\n\t\t\twithFileTypes: true,\n\t\t\trecursive: false\n\t\t}).forEach((item) => {\n\t\t\tif (item.isFile()) dirContent.files.push(item.name);\n\t\t\telse if (item.isDirectory()) dirContent.directories[item.name] = recursive ? this._readDirContent(path + \"/\" + item.name, recursive) : null;\n\t\t});\n\t\treturn dirContent;\n\t}\n};\n//#endregion\n//#region src/lib/server/file-system/archive.ts\nvar archives = /* @__PURE__ */ new Map();\nvar ArchiveSystem = class {\n\thandler;\n\tcontext;\n\t_rootPath;\n\t_sessionId;\n\tconstructor(handler, context) {\n\t\tthis.handler = handler;\n\t\tthis.context = context;\n\t\tthis._sessionId = context.session.id;\n\t\tthis._rootPath = resolveArchiveRootPath();\n\t}\n\tasync create(ignoreFile = \".gitignore\") {\n\t\tconst dir = this.handler.fs.getDirectory(\"\");\n\t\tlet files = directoryContentToFileEntries(dir.read(true)).map((n) => n.startsWith(\"/\") ? n.slice(1) : n);\n\t\ttry {\n\t\t\tconst ignore = await Bun.file(join(dir.path, ignoreFile)).text();\n\t\t\tfiles = micromatch.not(files, ignore.split(\"\\n\").filter(Boolean), {\n\t\t\t\tdot: true,\n\t\t\t\tcontains: true\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tconsole.warn(`Could not read ${ignoreFile} file`, e);\n\t\t}\n\t\tconst id = `${this._resolveId()}.tgz`;\n\t\tconst path = join(this._rootPath, id);\n\t\tawait tar.c({\n\t\t\tgzip: true,\n\t\t\tfile: path,\n\t\t\tcwd: dir.path\n\t\t}, files);\n\t\tarchives.set(id, {\n\t\t\tsessionId: this._sessionId,\n\t\t\tpath\n\t\t});\n\t\tsetTimeout(this._delete.bind(this, id), 1e3 * 60 * 15);\n\t\treturn id;\n\t}\n\tasync get(id) {\n\t\tconst archive = archives.get(id);\n\t\tif (!archive) throw new Exception(\"Not Found\", \"Archive not found\", 404);\n\t\tif (archive.sessionId !== this._sessionId) throw new Exception(\"Forbidden\", \"Archive is not yours\", 403);\n\t\treturn Bun.file(archive.path);\n\t}\n\tasync _delete(id) {\n\t\tconst archive = archives.get(id);\n\t\tif (!archive) return;\n\t\ttry {\n\t\t\tawait Bun.file(archive.path).delete();\n\t\t\tarchives.delete(id);\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Could not delete archive\", e);\n\t\t}\n\t}\n\t_resolveId() {\n\t\treturn `${this.context.project.path.split(\"/\").pop() ?? \"unknown\"}-${(/* @__PURE__ */ new Date()).toISOString()}`;\n\t}\n};\n//#endregion\n//#region src/lib/server/file-system/project-file.ts\nvar ProjectFile = class {\n\t_path;\n\tprojectPath;\n\tconstructor(filePath, projectPath) {\n\t\tthis._path = path.resolve(projectPath, \"./\" + filePath);\n\t\tthis.projectPath = projectPath;\n\t\tthis._checkPathIsInsideProject();\n\t}\n\tget path() {\n\t\tthis._checkPathExists();\n\t\treturn this._path;\n\t}\n\tread(encoding) {\n\t\tthis.isReadable();\n\t\treturn fs.readFileSync(this._path).toString(encoding);\n\t}\n\treadStream() {\n\t\tthis.isReadable();\n\t\treturn Bun.file(this._path).stream();\n\t}\n\treadJson() {\n\t\tconst raw = this.read();\n\t\treturn JSON.parse(raw);\n\t}\n\twrite(text) {\n\t\tthis._checkWritableAndCreateFolder();\n\t\tfs.writeFileSync(this._path, text, { flush: true });\n\t}\n\twriteJson(content) {\n\t\tconst raw = JSON.stringify(content);\n\t\tthis.write(raw);\n\t}\n\tgetWriteStream() {\n\t\tthis._checkWritableAndCreateFolder();\n\t\treturn fs.createWriteStream(this._path);\n\t}\n\tdelete() {\n\t\tthis._checkPathExists();\n\t\tthis._checkPathIsFile();\n\t\tthis._checkPathIsWritable();\n\t\tfs.rmSync(this._path);\n\t}\n\trename(newPath) {\n\t\tconst absoluteNewPath = path.resolve(this.projectPath, \"./\" + newPath);\n\t\tthis._checkPathIsInsideProject(newPath);\n\t\tthis._checkPathExists();\n\t\tthis._checkPathIsFile();\n\t\tthis._checkPathIsWritable();\n\t\tconst newFolderPath = path.dirname(absoluteNewPath);\n\t\tthis._checkPathExists(newFolderPath);\n\t\tthis._checkPathIsWritable(newFolderPath);\n\t\tthis._checkPathNotExists(absoluteNewPath);\n\t\tfs.renameSync(this._path, absoluteNewPath);\n\t\tthis._path = absoluteNewPath;\n\t}\n\tisReadable() {\n\t\tthis._checkPathExists();\n\t\tthis._checkPathIsFile();\n\t\tthis._checkPathIsReadable();\n\t}\n\t_checkWritableAndCreateFolder() {\n\t\tconst folderPath = path.dirname(this._path);\n\t\ttry {\n\t\t\tthis._checkPathExists(folderPath);\n\t\t} catch {\n\t\t\tfs.mkdirSync(folderPath, { recursive: true });\n\t\t}\n\t\tif (fs.existsSync(this._path)) {\n\t\t\tthis._checkPathIsFile();\n\t\t\tthis._checkPathIsWritable();\n\t\t} else {\n\t\t\tthis._checkPathExists(folderPath);\n\t\t\tthis._checkPathIsDir(folderPath);\n\t\t\tthis._checkPathIsWritable(folderPath);\n\t\t}\n\t}\n\t_checkPathIsInsideProject(path = this._path) {\n\t\tif (!path.startsWith(this.projectPath)) throw new FileSystemError(`Path ${path} is outside of the project directory`);\n\t}\n\t_checkPathExists(path = this._path) {\n\t\tif (!fs.existsSync(path)) throw new FileSystemError(`Path ${path} should exist`);\n\t}\n\t_checkPathNotExists(path = this._path) {\n\t\tif (fs.existsSync(path)) throw new FileSystemError(`Path ${path} should not exist`);\n\t}\n\t_checkPathIsFile(path = this._path) {\n\t\tlet stats;\n\t\ttry {\n\t\t\tstats = fs.lstatSync(path);\n\t\t} catch {\n\t\t\tthrow new FileSystemError(`Path ${path} does not exist`);\n\t\t}\n\t\tif (!stats.isFile()) throw new FileSystemError(`Path ${path} is not a this.path`);\n\t}\n\t_checkPathIsDir(path = this._path) {\n\t\tlet stats;\n\t\ttry {\n\t\t\tstats = fs.lstatSync(path);\n\t\t} catch {\n\t\t\tthrow new FileSystemError(`Path ${path} does not exist`);\n\t\t}\n\t\tif (!stats.isDirectory()) throw new FileSystemError(`Path ${path} is not a directory`);\n\t}\n\t_checkPathIsWritable(path = this._path) {\n\t\ttry {\n\t\t\tfs.accessSync(path, fs.constants.W_OK);\n\t\t} catch {\n\t\t\tthrow new FileSystemError(`Path ${path} writable`);\n\t\t}\n\t}\n\t_checkPathIsReadable(path = this._path) {\n\t\ttry {\n\t\t\tfs.accessSync(path, fs.constants.R_OK);\n\t\t} catch {\n\t\t\tthrow new FileSystemError(`Path ${path} writable`);\n\t\t}\n\t}\n};\n//#endregion\n//#region src/lib/server/file-system/file-system.ts\nvar FileSystem = class {\n\t_rootPath;\n\tconstructor(arg) {\n\t\tif (typeof arg === \"string\") {\n\t\t\tthis._rootPath = resolveRootPath(arg);\n\t\t\treturn;\n\t\t}\n\t\tif (!arg.project) throw new Exception(\"Bad Request\", \"Project is not defined\", 400);\n\t\tthis._rootPath = resolveRootPath(arg.project.path);\n\t}\n\tgetDirectory(path) {\n\t\treturn new ProjectDirectory(path, this._rootPath);\n\t}\n\tgetFile(path) {\n\t\treturn new ProjectFile(path, this._rootPath);\n\t}\n};\n//#endregion\n//#region src/lib/server/git/git.ts\nvar Git = class {\n\t_rootPath;\n\tconstructor() {\n\t\tthis._rootPath = resolve(private_env.FS_ROOT ?? \"\");\n\t}\n\tasync clone(url, options) {\n\t\tconst path = await this.resolvePath(url);\n\t\tif (existsSync(path)) return path;\n\t\tawait this.runCommand(\"clone\", [url, path], { ...options });\n\t\treturn path;\n\t}\n\tasync runCommand(command, params, options) {\n\t\tlet sshPath;\n\t\tif (options?.sshKey) sshPath = await this.createSshKeyFile(options.sshKey);\n\t\tconst cwd = resolve(this._rootPath, options?.path ?? \"\");\n\t\tconst sshEnv = sshPath ? { GIT_SSH_COMMAND: `ssh -i ${sshPath}` } : {};\n\t\ttry {\n\t\t\tawait $`git ${command} ${params}`.cwd(cwd).env({\n\t\t\t\t...process.env,\n\t\t\t\t...sshEnv\n\t\t\t});\n\t\t} finally {\n\t\t\tif (sshPath) await this.deleteSshKeyFile(sshPath);\n\t\t}\n\t}\n\tasync createSshKeyFile(sshKey) {\n\t\tconst path = `/tmp/nanoforge/${generateKey()}`;\n\t\tawait Bun.file(path).write(sshKey);\n\t\treturn path;\n\t}\n\tasync deleteSshKeyFile(path) {\n\t\tawait Bun.file(path).delete();\n\t}\n\tasync resolvePath(url) {\n\t\tconst basePath = url.split(\"/\").pop()?.replace(\".git\", \"\");\n\t\tif (!basePath) throw new Error(\"Invalid URL\");\n\t\tconst fullBasePath = resolve(this._rootPath, basePath);\n\t\tlet path = fullBasePath;\n\t\twhile (await Bun.file(path).exists()) path = resolve(fullBasePath, generateKey(5));\n\t\treturn path;\n\t}\n};\n//#endregion\n//#region src/lib/server/project/load-project.ts\nvar loadProject = async (projectSession, handler) => {\n\tconst session = await getOrCreateSession(handler.event.locals.session);\n\tconst projectId = tryAddProjectSession(projectSession);\n\taddProjectToSession(session, projectId);\n\thandler.context = {\n\t\t...handler.context,\n\t\tproject: projectSession\n\t};\n\treturn {\n\t\tid: projectId,\n\t\tcacheResolvable: handler.context.online ? projectSession.gateway?.id : projectSession.path\n\t};\n};\nvar loadProjectFromId = async (id, handler) => {\n\tconst session = await getOrCreateSession(handler.event.locals.session);\n\tconst projectSession = getProject(id, session);\n\tif (!projectSession) throw new Exception(\"Bad Request\", \"Project not found\", 400);\n\taddProjectToSession(session, id);\n\thandler.context = {\n\t\t...handler.context,\n\t\tproject: projectSession\n\t};\n\treturn {\n\t\tid,\n\t\tcacheResolvable: handler.context.online ? projectSession.gateway?.id : projectSession.path\n\t};\n};\n//#endregion\n//#region src/lib/server/project/library/library-handler.ts\nvar LibraryHandler = class {\n\thandler;\n\tconstructor(handler) {\n\t\tthis.handler = handler;\n\t}\n\tasync installLibrary(name) {\n\t\tthis.handler._cli.install([name], {\n\t\t\tserver: this.handler._part === \"server\" || void 0,\n\t\t\tlib: true\n\t\t});\n\t\treturn { save: {\n\t\t\tid: this._resolveIdFromName(name),\n\t\t\ttype: \"\",\n\t\t\tname: \"\",\n\t\t\tpath: name\n\t\t} };\n\t}\n\t_resolveIdFromName(name) {\n\t\tconst [org, pkg] = name.split(\"/\");\n\t\tif (!org || !pkg) throw new Error(\"Invalid library name\");\n\t\tconst id = !pkg ? org : pkg;\n\t\treturn `${formatFrom.kebab(id).toCamel()}Library`;\n\t}\n};\n//#endregion\n//#region src/lib/server/project/loader/env.ts\nvar PREFIX_CLIENT = \"NANOFORGE_CLIENT_\";\nvar PREFIX_SERVER = \"NANOFORGE_SERVER_\";\nvar PREFIX = \"NANOFORGE_\";\nvar loadEnv = (path) => {\n\tconst env = {};\n\tconfig({\n\t\tpath,\n\t\tprocessEnv: env\n\t});\n\treturn env;\n};\nvar parseEnv = (part, env) => {\n\tconst partPrefix = part === \"client\" ? PREFIX_CLIENT : PREFIX_SERVER;\n\treturn Object.fromEntries(Object.entries(env).filter(([key]) => key.startsWith(PREFIX) && (part === \"client\" && !key.startsWith(PREFIX_SERVER) || part === \"server\" && !key.startsWith(PREFIX_CLIENT))).map(([key, value]) => [key.replace(new RegExp(`^${partPrefix}|${PREFIX}`), \"\"), value]));\n};\nvar resolveEnv = (part, projectPath) => {\n\treturn parseEnv(part, loadEnv(resolve(projectPath, \".env\")));\n};\n//#endregion\n//#region src/lib/server/project/loader/loader.ts\nvar Loader = class {\n\thandler;\n\t_fs;\n\t_basePath;\n\tconstructor(handler) {\n\t\tthis.handler = handler;\n\t\tthis._basePath = join(this.handler._path, \".nanoforge\", this.handler._part);\n\t\tthis._fs = new FileSystem(this._basePath);\n\t}\n\tgetEnv() {\n\t\treturn resolveEnv(this.handler._part, this.handler._path);\n\t}\n\tgetManifest() {\n\t\treturn {\n\t\t\tversion: \"1.0.0\",\n\t\t\tfiles: directoryContentToFileEntries(this._fs.getDirectory(\".\").read(true)).map((path) => ({ path }))\n\t\t};\n\t}\n\tgetFile(path) {\n\t\treturn this._fs.getFile(path);\n\t}\n};\n//#endregion\n//#region src/lib/server/project/package/package.enum.ts\nvar PackageTypeEnum = /* @__PURE__ */ function(PackageTypeEnum) {\n\tPackageTypeEnum[\"COMPONENT\"] = \"component\";\n\tPackageTypeEnum[\"SYSTEM\"] = \"system\";\n\tPackageTypeEnum[\"ASSET\"] = \"asset\";\n\treturn PackageTypeEnum;\n}({});\n//#endregion\n//#region src/lib/server/project/package/package.const.ts\nvar PACKAGES_PATH = {\n\t[PackageTypeEnum.COMPONENT]: \"components\",\n\t[PackageTypeEnum.SYSTEM]: \"systems\",\n\t[PackageTypeEnum.ASSET]: \"assets\"\n};\nPackageTypeEnum.COMPONENT, PackageTypeEnum.SYSTEM, PackageTypeEnum.ASSET;\nvar PACKAGES_PATH_FORMATTER = {\n\t[PackageTypeEnum.COMPONENT]: (n) => formatFrom.all(n).toKebab() + \".component\",\n\t[PackageTypeEnum.SYSTEM]: (n) => formatFrom.all(n).toKebab() + \".system\",\n\t[PackageTypeEnum.ASSET]: (n) => n\n};\n//#endregion\n//#region src/lib/server/project/package/manifest/manifest-resolver.ts\nvar MANIFEST_TITLES = {\n\t[PackageTypeEnum.COMPONENT]: \"EDITOR_COMPONENT_MANIFEST\",\n\t[PackageTypeEnum.SYSTEM]: \"EDITOR_SYSTEM_MANIFEST\"\n};\nvar findManifestNode = (title, source) => {\n\tlet res = null;\n\tsource.forEachChild((node) => {\n\t\tif (!ts.isVariableStatement(node)) return;\n\t\tnode.declarationList.declarations.forEach((decl) => {\n\t\t\tif (!ts.isVariableDeclaration(decl)) return;\n\t\t\tif (decl.name.getText() === title) res = decl;\n\t\t});\n\t});\n\treturn res;\n};\nvar getName = (source) => {\n\tlet res = null;\n\tsource.forEachChild((node) => {\n\t\tif (!ts.isExportAssignment(node)) return;\n\t\tif (!node.getChildren().some((n) => n.getText() === \"export\") || !node.getChildren().some((n) => n.getText() === \"default\")) return;\n\t\tres = node.expression.getFirstToken()?.getText();\n\t});\n\treturn res;\n};\nvar parseProperty = (prop) => {\n\tif (!ts.isPropertyAssignment(prop)) return {};\n\tconst name = prop.name.getText();\n\tconst value = prop.initializer;\n\tif (!value) return {};\n\treturn { [name]: parseElement(value) };\n};\nvar parseElement = (value) => {\n\tif (ts.isStringLiteral(value)) return value.text;\n\tif (ts.isNumericLiteral(value)) return Number(value.text);\n\tif (ts.isLiteralTypeLiteral(value)) {\n\t\tconst txt = value.getText();\n\t\tif (txt === \"true\") return true;\n\t\tif (txt === \"false\") return false;\n\t\tif (txt === \"null\") return null;\n\t\tif (txt === \"undefined\") return void 0;\n\t}\n\tif (ts.isArrayLiteralExpression(value)) return value.elements.map((el) => parseElement(el));\n\tif (ts.isObjectLiteralExpression(value)) return value.properties.reduce((acc, prop) => {\n\t\treturn {\n\t\t\t...acc,\n\t\t\t...parseProperty(prop)\n\t\t};\n\t}, {});\n\tthrow new Error(\"Unknown element type\");\n};\nvar getManifestFromNode = (source) => {\n\tif (!source) return null;\n\tconst init = source.initializer;\n\tif (!init) return null;\n\tif (!ts.isObjectLiteralExpression(init)) return null;\n\treturn parseElement(init);\n};\nvar parseManifest = (type, source) => {\n\tconst id = getName(source);\n\tconst manifest = getManifestFromNode(findManifestNode(MANIFEST_TITLES[type], source));\n\tif (!id || !manifest) return null;\n\treturn {\n\t\tid,\n\t\ttype,\n\t\t...manifest\n\t};\n};\nvar resolveManifest = (type, content) => {\n\treturn parseManifest(type, ts.createSourceFile(\"tmp.ts\", content, ts.ScriptTarget.ESNext, true));\n};\n//#endregion\n//#region src/lib/server/project/package/manifest/manifest-handler.ts\nvar resolveSave = (type, name, path, manifest) => {\n\tconst base = {\n\t\tname,\n\t\tpath\n\t};\n\tif (type === PackageTypeEnum.SYSTEM) return base;\n\treturn {\n\t\t...base,\n\t\tparamsNames: manifest.params.map(({ name }) => name)\n\t};\n};\nvar ManifestHandler = class {\n\thandler;\n\tconstructor(handler) {\n\t\tthis.handler = handler;\n\t}\n\tresolveFromName(type, rawName) {\n\t\treturn this.resolveFromFilename(type, PACKAGES_PATH_FORMATTER[type](rawName));\n\t}\n\tresolveFromFilename(type, filename) {\n\t\tconst path = join(PACKAGES_PATH[type], filename);\n\t\treturn this.resolveFromPath(type, path);\n\t}\n\tresolveFromPath(type, path) {\n\t\tconst manifest = this._resolveManifest(type, path);\n\t\treturn {\n\t\t\tmanifest,\n\t\t\tsave: resolveSave(type, manifest.id, path, manifest)\n\t\t};\n\t}\n\t_resolveManifest(type, path) {\n\t\treturn this._findPackageManifest((p) => this._getPackageManifest(type, p), path);\n\t}\n\t_getPackageManifest(type, path) {\n\t\treturn resolveManifest(type, this.handler._rootFs.getFile(this._resolvePartPath(path)).read());\n\t}\n\t_findPackageManifest(manifestGetter, path) {\n\t\tconst manifest = [\n\t\t\t\"\",\n\t\t\t\".ts\",\n\t\t\t\".js\"\n\t\t].reduce((result, p) => {\n\t\t\tif (result) return result;\n\t\t\ttry {\n\t\t\t\treturn manifestGetter(path + p);\n\t\t\t} catch (e) {\n\t\t\t\tif (!(e instanceof FileSystemError)) throw e;\n\t\t\t}\n\t\t}, void 0);\n\t\tif (!manifest) throw new FileSystemError(\"Can't find package manifest\");\n\t\treturn manifest;\n\t}\n\t_resolvePartPath(path) {\n\t\treturn join(this.handler._part, path);\n\t}\n};\n//#endregion\n//#region src/lib/server/project/package/package-handler.ts\nvar PackageHandler = class {\n\thandler;\n\tmanifestHandler;\n\tconstructor(handler) {\n\t\tthis.handler = handler;\n\t\tthis.manifestHandler = new ManifestHandler(handler);\n\t}\n\tasync installPackages(names) {\n\t\tif (names.length === 0) return [];\n\t\tthis.handler._cli.install(names, { server: this.handler._part === \"server\" || void 0 });\n\t\treturn Promise.all(names.map(async (name) => {\n\t\t\tconst r = await this.handler._api.registry.getPackage(name);\n\t\t\treturn this._resolvesPackage(r.type, r._file);\n\t\t}));\n\t}\n\tcreateComponent(name) {\n\t\tthis._createPackage(PackageTypeEnum.COMPONENT, name);\n\t\treturn this.manifestHandler.resolveFromName(PackageTypeEnum.COMPONENT, name);\n\t}\n\tcreateSystem(name) {\n\t\tthis._createPackage(PackageTypeEnum.SYSTEM, name);\n\t\treturn this.manifestHandler.resolveFromName(PackageTypeEnum.SYSTEM, name);\n\t}\n\tasync getComponents() {\n\t\treturn this._resolvesPackages(PackageTypeEnum.COMPONENT);\n\t}\n\tasync getSystems() {\n\t\treturn this._resolvesPackages(PackageTypeEnum.SYSTEM);\n\t}\n\tasync getAssets() {\n\t\treturn this._resolvesPackages(PackageTypeEnum.ASSET);\n\t}\n\t_resolvesPackages(type) {\n\t\tconst basePath = PACKAGES_PATH[type];\n\t\tconst content = this.handler.fs.getDirectory(basePath).read(true, true);\n\t\treturn this._resolvesPackageFilesPathFromContent(content).map((path) => this._resolvesPackage(type, path, basePath));\n\t}\n\t_resolvesPackage(type, filename, basePath = PACKAGES_PATH[type]) {\n\t\tconst path = join(basePath, filename);\n\t\tif (type === PackageTypeEnum.ASSET) return { path };\n\t\treturn this.manifestHandler.resolveFromPath(type, path);\n\t}\n\t_resolvesPackageFilesPathFromContent(content, path = \"\") {\n\t\tconst files = content.files.map((file) => join(path, file));\n\t\tconst directories = Object.entries(content.directories).map(([key, value]) => {\n\t\t\tif (!value) return [];\n\t\t\treturn this._resolvesPackageFilesPathFromContent(value, join(path, key)).filter(Boolean);\n\t\t});\n\t\treturn [...files, ...directories.flat()];\n\t}\n\t_createPackage(type, name) {\n\t\tthis.handler._cli.create(type, {\n\t\t\tname,\n\t\t\tserver: this.handler._part === \"server\" || void 0\n\t\t});\n\t}\n};\n//#endregion\n//#region src/lib/server/project/save/save-handler.ts\nvar SaveHandler = class {\n\thandler;\n\tconstructor(handler) {\n\t\tthis.handler = handler;\n\t}\n\tasync getSave() {\n\t\treturn this.handler._rootFs.getFile(this.resolveSavePath()).readJson();\n\t}\n\tasync updateSave(save) {\n\t\tthis.handler._rootFs.getFile(this.resolveSavePath()).writeJson(save);\n\t}\n\tresolveSavePath() {\n\t\treturn `.nanoforge/${this.handler._part}.save.json`;\n\t}\n};\n//#endregion\n//#region src/lib/server/project/project-handler.ts\nvar ProjectHandler = class {\n\t_path;\n\t_part;\n\t_cli;\n\t_api;\n\t_rootFs;\n\t_fs;\n\t_loader;\n\t_save;\n\t_package;\n\t_library;\n\tconstructor(handler, context, part) {\n\t\tif (!context.project) throw new Exception(\"Bad Request\", \"Project missing in context\", 400);\n\t\tthis._path = context.project.path;\n\t\tthis._part = part;\n\t\tthis._cli = handler.cli;\n\t\tthis._api = handler.api;\n\t\tthis._rootFs = handler.fs;\n\t}\n\t/**\n\t* Get the file system of the project content\n\t* This file system has his root at /<client|server>\n\t*/\n\tget fs() {\n\t\tif (!this._fs) this._fs = new FileSystem(join(this._path, this._part));\n\t\treturn this._fs;\n\t}\n\t/**\n\t* Get the loader functions of the project\n\t*/\n\tget loader() {\n\t\tif (!this._loader) this._loader = new Loader(this);\n\t\treturn this._loader;\n\t}\n\tget save() {\n\t\tif (!this._save) this._save = new SaveHandler(this);\n\t\treturn this._save;\n\t}\n\tget package() {\n\t\tif (!this._package) this._package = new PackageHandler(this);\n\t\treturn this._package;\n\t}\n\tget library() {\n\t\tif (!this._library) this._library = new LibraryHandler(this);\n\t\treturn this._library;\n\t}\n};\n//#endregion\n//#region src/lib/server/project/project-manager.ts\nvar ProjectManager = class {\n\t_handler;\n\t_context;\n\t_client;\n\t_server;\n\tconstructor(handler, context) {\n\t\tthis._handler = handler;\n\t\tthis._context = context;\n\t}\n\t/**\n\t* Get the client project handler\n\t* @beta The separation between client and server projects is not the final goal of the project manager.\n\t*/\n\tget client() {\n\t\tif (!this._client) this._client = new ProjectHandler(this._handler, this._context, \"client\");\n\t\treturn this._client;\n\t}\n\t/**\n\t* Get the server project handler\n\t* @beta The separation between client and server projects is not the final goal of the project manager.\n\t*/\n\tget server() {\n\t\tif (!this._server) this._server = new ProjectHandler(this._handler, this._context, \"server\");\n\t\treturn this._server;\n\t}\n};\n//#endregion\n//#region src/lib/server/utils/request-handler/handler.ts\nvar Handler = class {\n\t_context;\n\t_event;\n\t_body;\n\t_apiCache;\n\t_cliCache;\n\t_fsCache;\n\t_gitCache;\n\t_projectCache;\n\t_archiveCache;\n\tconstructor(context, event, body) {\n\t\tthis._context = context;\n\t\tthis._event = event;\n\t\tthis._body = body;\n\t}\n\tget context() {\n\t\treturn this._context;\n\t}\n\tset context(context) {\n\t\tthis._context = context;\n\t\tthis._apiCache = void 0;\n\t\tthis._cliCache = void 0;\n\t\tthis._fsCache = void 0;\n\t\tthis._gitCache = void 0;\n\t\tthis._archiveCache = void 0;\n\t}\n\tget event() {\n\t\treturn this._event;\n\t}\n\tget body() {\n\t\treturn this._body;\n\t}\n\tget api() {\n\t\tif (!this._apiCache) this._apiCache = this._context.online ? getApi(this._event.cookies) : getNoAuthApi();\n\t\treturn this._apiCache;\n\t}\n\tget cli() {\n\t\tif (!this._cliCache) this._cliCache = new Cli(this._context);\n\t\treturn this._cliCache;\n\t}\n\tget fs() {\n\t\tif (!this._fsCache) this._fsCache = new FileSystem(this._context);\n\t\treturn this._fsCache;\n\t}\n\tget git() {\n\t\tif (!this._gitCache) this._gitCache = new Git();\n\t\treturn this._gitCache;\n\t}\n\tget project() {\n\t\tif (!this._projectCache) this._projectCache = new ProjectManager(this, this._context);\n\t\treturn this._projectCache;\n\t}\n\tget archive() {\n\t\tif (!this._archiveCache) this._archiveCache = new ArchiveSystem(this, this._context);\n\t\treturn this._archiveCache;\n\t}\n};\n//#endregion\n//#region src/lib/server/utils/request-handler/request.policy.ts\nvar DEFAULT_OPTIONS = {\n\tonlineOnly: false,\n\tofflineOnly: false,\n\tprojectOptional: false\n};\nvar assertProject = (context, options) => {\n\tif (options.projectOptional) return;\n\tif (!context.session) throw new Exception(\"Bad Request\", \"No session\", 400);\n\tif (!context.project) throw new Exception(\"Bad Request\", \"Request required a project\", 400);\n\tif (context.online && !context.project.gateway) throw new Exception(\"Internal Server Error\", \"Project don't have gateway on online mode\", 500);\n};\nvar assertMode = (context, options) => {\n\tif (options.onlineOnly && !context.online) throw new Exception(\"Method Not Allowed\", \"This action is not available offline\", 405);\n\tif (options.offlineOnly && context.online) throw new Exception(\"Method Not Allowed\", \"This action is not available online\", 405);\n};\nvar assertRequest = (context, rawOptions) => {\n\tconst options = {\n\t\t...DEFAULT_OPTIONS,\n\t\t...rawOptions\n\t};\n\tassertMode(context, options);\n\tassertProject(context, options);\n};\n//#endregion\n//#region src/lib/server/utils/request-handler/action-handler.ts\nvar handleError$1 = (e) => {\n\tconsole.error(e);\n\tif (e instanceof Exception) return fail(e.status, {\n\t\terror: e.error,\n\t\tmessage: e.message\n\t});\n\treturn fail(500, {\n\t\terror: \"Internal Server Error\",\n\t\tmessage: e.toString()\n\t});\n};\nvar useActionHandler = (callback, options) => {\n\treturn async (event) => {\n\t\ttry {\n\t\t\tconst context = await getContext(event);\n\t\t\tconst body = await parseFormDataBody(await event.request.formData(), options?.body);\n\t\t\tassertRequest(context, options);\n\t\t\treturn await callback(new Handler(context, event, body));\n\t\t} catch (e) {\n\t\t\treturn handleError$1(e);\n\t\t}\n\t};\n};\n//#endregion\n//#region src/lib/server/utils/request-handler/request-handler.ts\nvar handleError = (e) => {\n\tif (e instanceof Exception) return Response.json({\n\t\terror: e.error,\n\t\tmessage: e.message\n\t}, { status: e.status });\n\tconsole.error(e);\n\treturn Response.json({\n\t\terror: \"Internal Server Error\",\n\t\tmessage: e\n\t}, { status: 500 });\n};\nvar useRequestHandler = (callback, options) => {\n\treturn async (event) => {\n\t\ttry {\n\t\t\tconst context = await getContext(event);\n\t\t\tassertRequest(context, options);\n\t\t\treturn await callback(new Handler(context, event, {}));\n\t\t} catch (e) {\n\t\t\treturn handleError(e);\n\t\t}\n\t};\n};\n//#endregion\nexport { loadProjectFromId as i, useActionHandler as n, loadProject as r, useRequestHandler as t };\n"],"mappings":"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"}