bloko 0.0.43 → 0.0.44

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 (517) hide show
  1. package/dist/cli/index.js +0 -0
  2. package/dist/cli/sql/schema.sql +21 -5
  3. package/dist/driver/crud/image-variants.d.ts +5 -1
  4. package/dist/driver/crud/image-variants.d.ts.map +1 -1
  5. package/dist/driver/crud/image-variants.js +50 -16
  6. package/dist/driver/crud/image-variants.js.map +1 -1
  7. package/dist/driver/crud/index.d.ts +1 -1
  8. package/dist/driver/s3/images.d.ts +5 -4
  9. package/dist/driver/s3/images.d.ts.map +1 -1
  10. package/dist/driver/s3/images.js +83 -26
  11. package/dist/driver/s3/images.js.map +1 -1
  12. package/dist/driver/types.d.ts +6 -3
  13. package/dist/driver/types.d.ts.map +1 -1
  14. package/package.json +1 -1
  15. package/dist/studio/client/_app/immutable/assets/0.qtyVX5Lk.css +0 -1
  16. package/dist/studio/client/_app/immutable/assets/0.qtyVX5Lk.css.br +0 -0
  17. package/dist/studio/client/_app/immutable/assets/0.qtyVX5Lk.css.gz +0 -0
  18. package/dist/studio/client/_app/immutable/assets/12.PImKdmsE.css +0 -1
  19. package/dist/studio/client/_app/immutable/assets/12.PImKdmsE.css.br +0 -0
  20. package/dist/studio/client/_app/immutable/assets/12.PImKdmsE.css.gz +0 -0
  21. package/dist/studio/client/_app/immutable/assets/14.lzVIHEtT.css +0 -1
  22. package/dist/studio/client/_app/immutable/assets/14.lzVIHEtT.css.br +0 -0
  23. package/dist/studio/client/_app/immutable/assets/14.lzVIHEtT.css.gz +0 -0
  24. package/dist/studio/client/_app/immutable/assets/15.BLRd8hLV.css +0 -1
  25. package/dist/studio/client/_app/immutable/assets/15.BLRd8hLV.css.br +0 -0
  26. package/dist/studio/client/_app/immutable/assets/15.BLRd8hLV.css.gz +0 -0
  27. package/dist/studio/client/_app/immutable/assets/18.CnH81ZvR.css +0 -1
  28. package/dist/studio/client/_app/immutable/assets/18.CnH81ZvR.css.br +0 -0
  29. package/dist/studio/client/_app/immutable/assets/18.CnH81ZvR.css.gz +0 -0
  30. package/dist/studio/client/_app/immutable/assets/19.D6wxTt7e.css +0 -1
  31. package/dist/studio/client/_app/immutable/assets/19.D6wxTt7e.css.br +0 -0
  32. package/dist/studio/client/_app/immutable/assets/19.D6wxTt7e.css.gz +0 -0
  33. package/dist/studio/client/_app/immutable/assets/21.BFvFiUwr.css +0 -1
  34. package/dist/studio/client/_app/immutable/assets/21.BFvFiUwr.css.br +0 -0
  35. package/dist/studio/client/_app/immutable/assets/21.BFvFiUwr.css.gz +0 -0
  36. package/dist/studio/client/_app/immutable/assets/23.lmy3jg5I.css +0 -1
  37. package/dist/studio/client/_app/immutable/assets/23.lmy3jg5I.css.br +0 -0
  38. package/dist/studio/client/_app/immutable/assets/23.lmy3jg5I.css.gz +0 -0
  39. package/dist/studio/client/_app/immutable/assets/24.BKqfVfTU.css +0 -1
  40. package/dist/studio/client/_app/immutable/assets/24.BKqfVfTU.css.br +0 -0
  41. package/dist/studio/client/_app/immutable/assets/24.BKqfVfTU.css.gz +0 -0
  42. package/dist/studio/client/_app/immutable/assets/25.CPsiW96l.css +0 -1
  43. package/dist/studio/client/_app/immutable/assets/25.CPsiW96l.css.br +0 -0
  44. package/dist/studio/client/_app/immutable/assets/25.CPsiW96l.css.gz +0 -0
  45. package/dist/studio/client/_app/immutable/assets/26.Duww4IEr.css +0 -1
  46. package/dist/studio/client/_app/immutable/assets/26.Duww4IEr.css.br +0 -0
  47. package/dist/studio/client/_app/immutable/assets/26.Duww4IEr.css.gz +0 -0
  48. package/dist/studio/client/_app/immutable/assets/27.Bto6SwzS.css +0 -1
  49. package/dist/studio/client/_app/immutable/assets/27.Bto6SwzS.css.br +0 -0
  50. package/dist/studio/client/_app/immutable/assets/27.Bto6SwzS.css.gz +0 -0
  51. package/dist/studio/client/_app/immutable/assets/28.Cbyl77s4.css +0 -1
  52. package/dist/studio/client/_app/immutable/assets/28.Cbyl77s4.css.br +0 -0
  53. package/dist/studio/client/_app/immutable/assets/28.Cbyl77s4.css.gz +0 -0
  54. package/dist/studio/client/_app/immutable/assets/29.Dbx5ypFb.css +0 -1
  55. package/dist/studio/client/_app/immutable/assets/29.Dbx5ypFb.css.br +0 -0
  56. package/dist/studio/client/_app/immutable/assets/29.Dbx5ypFb.css.gz +0 -0
  57. package/dist/studio/client/_app/immutable/assets/3.DlHp_E83.css +0 -1
  58. package/dist/studio/client/_app/immutable/assets/3.DlHp_E83.css.br +0 -0
  59. package/dist/studio/client/_app/immutable/assets/3.DlHp_E83.css.gz +0 -0
  60. package/dist/studio/client/_app/immutable/assets/30.CZyI5lvW.css +0 -1
  61. package/dist/studio/client/_app/immutable/assets/30.CZyI5lvW.css.br +0 -0
  62. package/dist/studio/client/_app/immutable/assets/30.CZyI5lvW.css.gz +0 -0
  63. package/dist/studio/client/_app/immutable/assets/31.DTyKTI60.css +0 -1
  64. package/dist/studio/client/_app/immutable/assets/31.DTyKTI60.css.br +0 -1
  65. package/dist/studio/client/_app/immutable/assets/31.DTyKTI60.css.gz +0 -0
  66. package/dist/studio/client/_app/immutable/assets/5.CleWk3al.css +0 -1
  67. package/dist/studio/client/_app/immutable/assets/5.CleWk3al.css.br +0 -0
  68. package/dist/studio/client/_app/immutable/assets/5.CleWk3al.css.gz +0 -0
  69. package/dist/studio/client/_app/immutable/assets/7.By_kndZ5.css +0 -1
  70. package/dist/studio/client/_app/immutable/assets/7.By_kndZ5.css.br +0 -0
  71. package/dist/studio/client/_app/immutable/assets/7.By_kndZ5.css.gz +0 -0
  72. package/dist/studio/client/_app/immutable/assets/9.r2JMdec9.css +0 -1
  73. package/dist/studio/client/_app/immutable/assets/9.r2JMdec9.css.br +0 -0
  74. package/dist/studio/client/_app/immutable/assets/9.r2JMdec9.css.gz +0 -0
  75. package/dist/studio/client/_app/immutable/assets/Checkbox.ByMxOWwb.css +0 -1
  76. package/dist/studio/client/_app/immutable/assets/Checkbox.ByMxOWwb.css.br +0 -0
  77. package/dist/studio/client/_app/immutable/assets/Checkbox.ByMxOWwb.css.gz +0 -0
  78. package/dist/studio/client/_app/immutable/assets/Notification.hbW3rpbK.css +0 -1
  79. package/dist/studio/client/_app/immutable/assets/Notification.hbW3rpbK.css.br +0 -0
  80. package/dist/studio/client/_app/immutable/assets/Notification.hbW3rpbK.css.gz +0 -0
  81. package/dist/studio/client/_app/immutable/assets/RootNodeForm.DAYhZjyS.css +0 -1
  82. package/dist/studio/client/_app/immutable/assets/RootNodeForm.DAYhZjyS.css.br +0 -1
  83. package/dist/studio/client/_app/immutable/assets/RootNodeForm.DAYhZjyS.css.gz +0 -0
  84. package/dist/studio/client/_app/immutable/assets/TextArrayInput.Civ0vOTG.css +0 -1
  85. package/dist/studio/client/_app/immutable/assets/TextArrayInput.Civ0vOTG.css.br +0 -0
  86. package/dist/studio/client/_app/immutable/assets/TextArrayInput.Civ0vOTG.css.gz +0 -0
  87. package/dist/studio/client/_app/immutable/assets/index.CgfvxpRj.css +0 -1
  88. package/dist/studio/client/_app/immutable/assets/index.CgfvxpRj.css.br +0 -0
  89. package/dist/studio/client/_app/immutable/assets/index.CgfvxpRj.css.gz +0 -0
  90. package/dist/studio/client/_app/immutable/chunks/1Yo7-Cpf.js +0 -1
  91. package/dist/studio/client/_app/immutable/chunks/1Yo7-Cpf.js.br +0 -0
  92. package/dist/studio/client/_app/immutable/chunks/1Yo7-Cpf.js.gz +0 -0
  93. package/dist/studio/client/_app/immutable/chunks/42wronYd.js +0 -1
  94. package/dist/studio/client/_app/immutable/chunks/42wronYd.js.br +0 -0
  95. package/dist/studio/client/_app/immutable/chunks/42wronYd.js.gz +0 -0
  96. package/dist/studio/client/_app/immutable/chunks/BFULvTz0.js +0 -1
  97. package/dist/studio/client/_app/immutable/chunks/BFULvTz0.js.br +0 -0
  98. package/dist/studio/client/_app/immutable/chunks/BFULvTz0.js.gz +0 -0
  99. package/dist/studio/client/_app/immutable/chunks/BIEVNxDN.js +0 -1
  100. package/dist/studio/client/_app/immutable/chunks/BIEVNxDN.js.br +0 -0
  101. package/dist/studio/client/_app/immutable/chunks/BIEVNxDN.js.gz +0 -0
  102. package/dist/studio/client/_app/immutable/chunks/BWSMI8WN.js +0 -1
  103. package/dist/studio/client/_app/immutable/chunks/BWSMI8WN.js.br +0 -0
  104. package/dist/studio/client/_app/immutable/chunks/BWSMI8WN.js.gz +0 -0
  105. package/dist/studio/client/_app/immutable/chunks/BX_Ef30S.js +0 -1
  106. package/dist/studio/client/_app/immutable/chunks/BX_Ef30S.js.br +0 -0
  107. package/dist/studio/client/_app/immutable/chunks/BX_Ef30S.js.gz +0 -0
  108. package/dist/studio/client/_app/immutable/chunks/BuYQBh-M.js +0 -1
  109. package/dist/studio/client/_app/immutable/chunks/BuYQBh-M.js.br +0 -0
  110. package/dist/studio/client/_app/immutable/chunks/BuYQBh-M.js.gz +0 -0
  111. package/dist/studio/client/_app/immutable/chunks/Byzp4TGB.js +0 -1
  112. package/dist/studio/client/_app/immutable/chunks/Byzp4TGB.js.br +0 -0
  113. package/dist/studio/client/_app/immutable/chunks/Byzp4TGB.js.gz +0 -0
  114. package/dist/studio/client/_app/immutable/chunks/CYKz3cIN.js +0 -1
  115. package/dist/studio/client/_app/immutable/chunks/CYKz3cIN.js.br +0 -0
  116. package/dist/studio/client/_app/immutable/chunks/CYKz3cIN.js.gz +0 -0
  117. package/dist/studio/client/_app/immutable/chunks/C_nuU7dh.js +0 -1
  118. package/dist/studio/client/_app/immutable/chunks/C_nuU7dh.js.br +0 -0
  119. package/dist/studio/client/_app/immutable/chunks/C_nuU7dh.js.gz +0 -0
  120. package/dist/studio/client/_app/immutable/chunks/Cgi6BMDu.js +0 -1
  121. package/dist/studio/client/_app/immutable/chunks/Cgi6BMDu.js.br +0 -0
  122. package/dist/studio/client/_app/immutable/chunks/Cgi6BMDu.js.gz +0 -0
  123. package/dist/studio/client/_app/immutable/chunks/CjiSjW7e.js +0 -1
  124. package/dist/studio/client/_app/immutable/chunks/CjiSjW7e.js.br +0 -2
  125. package/dist/studio/client/_app/immutable/chunks/CjiSjW7e.js.gz +0 -0
  126. package/dist/studio/client/_app/immutable/chunks/CpwXiAKF.js +0 -26
  127. package/dist/studio/client/_app/immutable/chunks/CpwXiAKF.js.br +0 -0
  128. package/dist/studio/client/_app/immutable/chunks/CpwXiAKF.js.gz +0 -0
  129. package/dist/studio/client/_app/immutable/chunks/D01FatMI.js +0 -1
  130. package/dist/studio/client/_app/immutable/chunks/D01FatMI.js.br +0 -0
  131. package/dist/studio/client/_app/immutable/chunks/D01FatMI.js.gz +0 -0
  132. package/dist/studio/client/_app/immutable/chunks/D0UIT4fc.js +0 -1
  133. package/dist/studio/client/_app/immutable/chunks/D0UIT4fc.js.br +0 -0
  134. package/dist/studio/client/_app/immutable/chunks/D0UIT4fc.js.gz +0 -0
  135. package/dist/studio/client/_app/immutable/chunks/D2jhfhJ8.js +0 -1
  136. package/dist/studio/client/_app/immutable/chunks/D2jhfhJ8.js.br +0 -0
  137. package/dist/studio/client/_app/immutable/chunks/D2jhfhJ8.js.gz +0 -0
  138. package/dist/studio/client/_app/immutable/chunks/DN42XkGt.js +0 -1
  139. package/dist/studio/client/_app/immutable/chunks/DN42XkGt.js.br +0 -2
  140. package/dist/studio/client/_app/immutable/chunks/DN42XkGt.js.gz +0 -0
  141. package/dist/studio/client/_app/immutable/chunks/DUIUcslG.js +0 -2
  142. package/dist/studio/client/_app/immutable/chunks/DUIUcslG.js.br +0 -0
  143. package/dist/studio/client/_app/immutable/chunks/DUIUcslG.js.gz +0 -0
  144. package/dist/studio/client/_app/immutable/chunks/DbcTT3jd.js +0 -1
  145. package/dist/studio/client/_app/immutable/chunks/DbcTT3jd.js.br +0 -0
  146. package/dist/studio/client/_app/immutable/chunks/DbcTT3jd.js.gz +0 -0
  147. package/dist/studio/client/_app/immutable/chunks/DhD1-ILI.js +0 -1
  148. package/dist/studio/client/_app/immutable/chunks/DhD1-ILI.js.br +0 -0
  149. package/dist/studio/client/_app/immutable/chunks/DhD1-ILI.js.gz +0 -0
  150. package/dist/studio/client/_app/immutable/chunks/DpluYK_2.js +0 -1
  151. package/dist/studio/client/_app/immutable/chunks/DpluYK_2.js.br +0 -0
  152. package/dist/studio/client/_app/immutable/chunks/DpluYK_2.js.gz +0 -0
  153. package/dist/studio/client/_app/immutable/chunks/DsnmJJEf.js +0 -1
  154. package/dist/studio/client/_app/immutable/chunks/DsnmJJEf.js.br +0 -2
  155. package/dist/studio/client/_app/immutable/chunks/DsnmJJEf.js.gz +0 -0
  156. package/dist/studio/client/_app/immutable/chunks/VaAefLho.js +0 -1
  157. package/dist/studio/client/_app/immutable/chunks/VaAefLho.js.br +0 -0
  158. package/dist/studio/client/_app/immutable/chunks/VaAefLho.js.gz +0 -0
  159. package/dist/studio/client/_app/immutable/chunks/oQFskgti.js +0 -4
  160. package/dist/studio/client/_app/immutable/chunks/oQFskgti.js.br +0 -0
  161. package/dist/studio/client/_app/immutable/chunks/oQFskgti.js.gz +0 -0
  162. package/dist/studio/client/_app/immutable/chunks/pOhLQ93H.js +0 -1
  163. package/dist/studio/client/_app/immutable/chunks/pOhLQ93H.js.br +0 -0
  164. package/dist/studio/client/_app/immutable/chunks/pOhLQ93H.js.gz +0 -0
  165. package/dist/studio/client/_app/immutable/chunks/suYCCfil.js +0 -4
  166. package/dist/studio/client/_app/immutable/chunks/suYCCfil.js.br +0 -0
  167. package/dist/studio/client/_app/immutable/chunks/suYCCfil.js.gz +0 -0
  168. package/dist/studio/client/_app/immutable/chunks/uAeMz6HQ.js +0 -1
  169. package/dist/studio/client/_app/immutable/chunks/uAeMz6HQ.js.br +0 -0
  170. package/dist/studio/client/_app/immutable/chunks/uAeMz6HQ.js.gz +0 -0
  171. package/dist/studio/client/_app/immutable/chunks/uo-oEijL.js +0 -1
  172. package/dist/studio/client/_app/immutable/chunks/uo-oEijL.js.br +0 -0
  173. package/dist/studio/client/_app/immutable/chunks/uo-oEijL.js.gz +0 -0
  174. package/dist/studio/client/_app/immutable/entry/app.pJmhj_1Y.js +0 -2
  175. package/dist/studio/client/_app/immutable/entry/app.pJmhj_1Y.js.br +0 -0
  176. package/dist/studio/client/_app/immutable/entry/app.pJmhj_1Y.js.gz +0 -0
  177. package/dist/studio/client/_app/immutable/entry/start.CBvZ9KTw.js +0 -1
  178. package/dist/studio/client/_app/immutable/entry/start.CBvZ9KTw.js.br +0 -0
  179. package/dist/studio/client/_app/immutable/entry/start.CBvZ9KTw.js.gz +0 -0
  180. package/dist/studio/client/_app/immutable/nodes/0.D1J7XjsR.js +0 -1
  181. package/dist/studio/client/_app/immutable/nodes/0.D1J7XjsR.js.br +0 -0
  182. package/dist/studio/client/_app/immutable/nodes/0.D1J7XjsR.js.gz +0 -0
  183. package/dist/studio/client/_app/immutable/nodes/1.DfSTSkyt.js +0 -1
  184. package/dist/studio/client/_app/immutable/nodes/1.DfSTSkyt.js.br +0 -0
  185. package/dist/studio/client/_app/immutable/nodes/1.DfSTSkyt.js.gz +0 -0
  186. package/dist/studio/client/_app/immutable/nodes/10.dChIEr_X.js +0 -1
  187. package/dist/studio/client/_app/immutable/nodes/10.dChIEr_X.js.br +0 -2
  188. package/dist/studio/client/_app/immutable/nodes/10.dChIEr_X.js.gz +0 -0
  189. package/dist/studio/client/_app/immutable/nodes/11.dChIEr_X.js +0 -1
  190. package/dist/studio/client/_app/immutable/nodes/11.dChIEr_X.js.br +0 -2
  191. package/dist/studio/client/_app/immutable/nodes/11.dChIEr_X.js.gz +0 -0
  192. package/dist/studio/client/_app/immutable/nodes/12.C5K3cfff.js +0 -1
  193. package/dist/studio/client/_app/immutable/nodes/12.C5K3cfff.js.br +0 -0
  194. package/dist/studio/client/_app/immutable/nodes/12.C5K3cfff.js.gz +0 -0
  195. package/dist/studio/client/_app/immutable/nodes/13.DHLm1o28.js +0 -1
  196. package/dist/studio/client/_app/immutable/nodes/13.DHLm1o28.js.br +0 -0
  197. package/dist/studio/client/_app/immutable/nodes/13.DHLm1o28.js.gz +0 -0
  198. package/dist/studio/client/_app/immutable/nodes/14.BViOerWJ.js +0 -1
  199. package/dist/studio/client/_app/immutable/nodes/14.BViOerWJ.js.br +0 -0
  200. package/dist/studio/client/_app/immutable/nodes/14.BViOerWJ.js.gz +0 -0
  201. package/dist/studio/client/_app/immutable/nodes/15.BeCZGLnH.js +0 -1
  202. package/dist/studio/client/_app/immutable/nodes/15.BeCZGLnH.js.br +0 -0
  203. package/dist/studio/client/_app/immutable/nodes/15.BeCZGLnH.js.gz +0 -0
  204. package/dist/studio/client/_app/immutable/nodes/17.DtfO4FIr.js +0 -1
  205. package/dist/studio/client/_app/immutable/nodes/17.DtfO4FIr.js.br +0 -0
  206. package/dist/studio/client/_app/immutable/nodes/17.DtfO4FIr.js.gz +0 -0
  207. package/dist/studio/client/_app/immutable/nodes/18.DAjiovL_.js +0 -1
  208. package/dist/studio/client/_app/immutable/nodes/18.DAjiovL_.js.br +0 -0
  209. package/dist/studio/client/_app/immutable/nodes/18.DAjiovL_.js.gz +0 -0
  210. package/dist/studio/client/_app/immutable/nodes/19.-AqS4IH0.js +0 -1
  211. package/dist/studio/client/_app/immutable/nodes/19.-AqS4IH0.js.br +0 -0
  212. package/dist/studio/client/_app/immutable/nodes/19.-AqS4IH0.js.gz +0 -0
  213. package/dist/studio/client/_app/immutable/nodes/2.dChIEr_X.js +0 -1
  214. package/dist/studio/client/_app/immutable/nodes/2.dChIEr_X.js.br +0 -2
  215. package/dist/studio/client/_app/immutable/nodes/2.dChIEr_X.js.gz +0 -0
  216. package/dist/studio/client/_app/immutable/nodes/20.CyixzT9d.js +0 -1
  217. package/dist/studio/client/_app/immutable/nodes/20.CyixzT9d.js.br +0 -0
  218. package/dist/studio/client/_app/immutable/nodes/20.CyixzT9d.js.gz +0 -0
  219. package/dist/studio/client/_app/immutable/nodes/21.CNQU7GaI.js +0 -1
  220. package/dist/studio/client/_app/immutable/nodes/21.CNQU7GaI.js.br +0 -0
  221. package/dist/studio/client/_app/immutable/nodes/21.CNQU7GaI.js.gz +0 -0
  222. package/dist/studio/client/_app/immutable/nodes/22.CyixzT9d.js +0 -1
  223. package/dist/studio/client/_app/immutable/nodes/22.CyixzT9d.js.br +0 -0
  224. package/dist/studio/client/_app/immutable/nodes/22.CyixzT9d.js.gz +0 -0
  225. package/dist/studio/client/_app/immutable/nodes/23.X_TTqNgF.js +0 -1
  226. package/dist/studio/client/_app/immutable/nodes/23.X_TTqNgF.js.br +0 -0
  227. package/dist/studio/client/_app/immutable/nodes/23.X_TTqNgF.js.gz +0 -0
  228. package/dist/studio/client/_app/immutable/nodes/24.Ce4vy4Y3.js +0 -1
  229. package/dist/studio/client/_app/immutable/nodes/24.Ce4vy4Y3.js.br +0 -0
  230. package/dist/studio/client/_app/immutable/nodes/24.Ce4vy4Y3.js.gz +0 -0
  231. package/dist/studio/client/_app/immutable/nodes/25.P6SB3t-r.js +0 -1
  232. package/dist/studio/client/_app/immutable/nodes/25.P6SB3t-r.js.br +0 -2
  233. package/dist/studio/client/_app/immutable/nodes/25.P6SB3t-r.js.gz +0 -0
  234. package/dist/studio/client/_app/immutable/nodes/26.B6yIsMAJ.js +0 -1
  235. package/dist/studio/client/_app/immutable/nodes/26.B6yIsMAJ.js.br +0 -0
  236. package/dist/studio/client/_app/immutable/nodes/26.B6yIsMAJ.js.gz +0 -0
  237. package/dist/studio/client/_app/immutable/nodes/27.Ck1fa1rl.js +0 -1
  238. package/dist/studio/client/_app/immutable/nodes/27.Ck1fa1rl.js.br +0 -0
  239. package/dist/studio/client/_app/immutable/nodes/27.Ck1fa1rl.js.gz +0 -0
  240. package/dist/studio/client/_app/immutable/nodes/28.4owv4d0F.js +0 -1
  241. package/dist/studio/client/_app/immutable/nodes/28.4owv4d0F.js.br +0 -0
  242. package/dist/studio/client/_app/immutable/nodes/28.4owv4d0F.js.gz +0 -0
  243. package/dist/studio/client/_app/immutable/nodes/29.YnueMC1b.js +0 -1
  244. package/dist/studio/client/_app/immutable/nodes/29.YnueMC1b.js.br +0 -0
  245. package/dist/studio/client/_app/immutable/nodes/29.YnueMC1b.js.gz +0 -0
  246. package/dist/studio/client/_app/immutable/nodes/3.DsQFhE6k.js +0 -1
  247. package/dist/studio/client/_app/immutable/nodes/3.DsQFhE6k.js.br +0 -0
  248. package/dist/studio/client/_app/immutable/nodes/3.DsQFhE6k.js.gz +0 -0
  249. package/dist/studio/client/_app/immutable/nodes/30.DR-CJy8W.js +0 -1
  250. package/dist/studio/client/_app/immutable/nodes/30.DR-CJy8W.js.br +0 -3
  251. package/dist/studio/client/_app/immutable/nodes/30.DR-CJy8W.js.gz +0 -0
  252. package/dist/studio/client/_app/immutable/nodes/31.ntZ-Qtnn.js +0 -1
  253. package/dist/studio/client/_app/immutable/nodes/31.ntZ-Qtnn.js.br +0 -0
  254. package/dist/studio/client/_app/immutable/nodes/31.ntZ-Qtnn.js.gz +0 -0
  255. package/dist/studio/client/_app/immutable/nodes/4.CfE-q9iY.js +0 -1
  256. package/dist/studio/client/_app/immutable/nodes/4.CfE-q9iY.js.br +0 -2
  257. package/dist/studio/client/_app/immutable/nodes/4.CfE-q9iY.js.gz +0 -0
  258. package/dist/studio/client/_app/immutable/nodes/5.DgrwGce_.js +0 -1
  259. package/dist/studio/client/_app/immutable/nodes/5.DgrwGce_.js.br +0 -0
  260. package/dist/studio/client/_app/immutable/nodes/5.DgrwGce_.js.gz +0 -0
  261. package/dist/studio/client/_app/immutable/nodes/6.dChIEr_X.js +0 -1
  262. package/dist/studio/client/_app/immutable/nodes/6.dChIEr_X.js.br +0 -2
  263. package/dist/studio/client/_app/immutable/nodes/6.dChIEr_X.js.gz +0 -0
  264. package/dist/studio/client/_app/immutable/nodes/7.C3aHYJnL.js +0 -1
  265. package/dist/studio/client/_app/immutable/nodes/7.C3aHYJnL.js.br +0 -0
  266. package/dist/studio/client/_app/immutable/nodes/7.C3aHYJnL.js.gz +0 -0
  267. package/dist/studio/client/_app/immutable/nodes/8.dChIEr_X.js +0 -1
  268. package/dist/studio/client/_app/immutable/nodes/8.dChIEr_X.js.br +0 -2
  269. package/dist/studio/client/_app/immutable/nodes/8.dChIEr_X.js.gz +0 -0
  270. package/dist/studio/client/_app/immutable/nodes/9.CU8mjBdN.js +0 -1
  271. package/dist/studio/client/_app/immutable/nodes/9.CU8mjBdN.js.br +0 -0
  272. package/dist/studio/client/_app/immutable/nodes/9.CU8mjBdN.js.gz +0 -0
  273. package/dist/studio/client/_app/version.json +0 -1
  274. package/dist/studio/client/_app/version.json.br +0 -0
  275. package/dist/studio/client/_app/version.json.gz +0 -0
  276. package/dist/studio/client/favicon.svg +0 -7
  277. package/dist/studio/client/favicon.svg.br +0 -0
  278. package/dist/studio/client/favicon.svg.gz +0 -0
  279. package/dist/studio/client/robots.txt +0 -3
  280. package/dist/studio/env.js +0 -45
  281. package/dist/studio/handler.js +0 -1390
  282. package/dist/studio/index.js +0 -334
  283. package/dist/studio/server/chunks/0-CftjoNNm.js +0 -17
  284. package/dist/studio/server/chunks/0-CftjoNNm.js.map +0 -1
  285. package/dist/studio/server/chunks/1-yUJb_jsL.js +0 -9
  286. package/dist/studio/server/chunks/1-yUJb_jsL.js.map +0 -1
  287. package/dist/studio/server/chunks/10-8TShL-5J.js +0 -58
  288. package/dist/studio/server/chunks/10-8TShL-5J.js.map +0 -1
  289. package/dist/studio/server/chunks/11-aLEpxkmr.js +0 -79
  290. package/dist/studio/server/chunks/11-aLEpxkmr.js.map +0 -1
  291. package/dist/studio/server/chunks/12-Cjdh5NeI.js +0 -44
  292. package/dist/studio/server/chunks/12-Cjdh5NeI.js.map +0 -1
  293. package/dist/studio/server/chunks/13-BaURphaz.js +0 -52
  294. package/dist/studio/server/chunks/13-BaURphaz.js.map +0 -1
  295. package/dist/studio/server/chunks/14-BCXeXqeQ.js +0 -44
  296. package/dist/studio/server/chunks/14-BCXeXqeQ.js.map +0 -1
  297. package/dist/studio/server/chunks/15-CFhNY-SO.js +0 -9
  298. package/dist/studio/server/chunks/15-CFhNY-SO.js.map +0 -1
  299. package/dist/studio/server/chunks/16-C6cpd4Aq.js +0 -20
  300. package/dist/studio/server/chunks/16-C6cpd4Aq.js.map +0 -1
  301. package/dist/studio/server/chunks/17-g1WN6ed6.js +0 -9
  302. package/dist/studio/server/chunks/17-g1WN6ed6.js.map +0 -1
  303. package/dist/studio/server/chunks/18-KFV-rOdk.js +0 -9
  304. package/dist/studio/server/chunks/18-KFV-rOdk.js.map +0 -1
  305. package/dist/studio/server/chunks/19-BAQ6gNXr.js +0 -9
  306. package/dist/studio/server/chunks/19-BAQ6gNXr.js.map +0 -1
  307. package/dist/studio/server/chunks/2-8xgJuRn0.js +0 -52
  308. package/dist/studio/server/chunks/2-8xgJuRn0.js.map +0 -1
  309. package/dist/studio/server/chunks/20-DRDPEcZS.js +0 -9
  310. package/dist/studio/server/chunks/20-DRDPEcZS.js.map +0 -1
  311. package/dist/studio/server/chunks/21-CCYQ763l.js +0 -9
  312. package/dist/studio/server/chunks/21-CCYQ763l.js.map +0 -1
  313. package/dist/studio/server/chunks/22-Jes7JIw3.js +0 -9
  314. package/dist/studio/server/chunks/22-Jes7JIw3.js.map +0 -1
  315. package/dist/studio/server/chunks/23-Ds_u5WR1.js +0 -9
  316. package/dist/studio/server/chunks/23-Ds_u5WR1.js.map +0 -1
  317. package/dist/studio/server/chunks/24-m3dPQOlx.js +0 -9
  318. package/dist/studio/server/chunks/24-m3dPQOlx.js.map +0 -1
  319. package/dist/studio/server/chunks/25-DSD98e0c.js +0 -9
  320. package/dist/studio/server/chunks/25-DSD98e0c.js.map +0 -1
  321. package/dist/studio/server/chunks/26-BOPmD_mH.js +0 -44
  322. package/dist/studio/server/chunks/26-BOPmD_mH.js.map +0 -1
  323. package/dist/studio/server/chunks/27-iWcGKxjD.js +0 -9
  324. package/dist/studio/server/chunks/27-iWcGKxjD.js.map +0 -1
  325. package/dist/studio/server/chunks/28-BLCBbMJ5.js +0 -46
  326. package/dist/studio/server/chunks/28-BLCBbMJ5.js.map +0 -1
  327. package/dist/studio/server/chunks/29-BArNBKwZ.js +0 -43
  328. package/dist/studio/server/chunks/29-BArNBKwZ.js.map +0 -1
  329. package/dist/studio/server/chunks/3-C0vK6tad.js +0 -46
  330. package/dist/studio/server/chunks/3-C0vK6tad.js.map +0 -1
  331. package/dist/studio/server/chunks/30-BKmygRSX.js +0 -9
  332. package/dist/studio/server/chunks/30-BKmygRSX.js.map +0 -1
  333. package/dist/studio/server/chunks/31-pCSNBfFA.js +0 -46
  334. package/dist/studio/server/chunks/31-pCSNBfFA.js.map +0 -1
  335. package/dist/studio/server/chunks/4-Ckrz8Pts.js +0 -96
  336. package/dist/studio/server/chunks/4-Ckrz8Pts.js.map +0 -1
  337. package/dist/studio/server/chunks/5-BOeIJLqn.js +0 -9
  338. package/dist/studio/server/chunks/5-BOeIJLqn.js.map +0 -1
  339. package/dist/studio/server/chunks/6-BJInGQmN.js +0 -80
  340. package/dist/studio/server/chunks/6-BJInGQmN.js.map +0 -1
  341. package/dist/studio/server/chunks/7-D1IRHEwH.js +0 -9
  342. package/dist/studio/server/chunks/7-D1IRHEwH.js.map +0 -1
  343. package/dist/studio/server/chunks/8-DPolW7fw.js +0 -58
  344. package/dist/studio/server/chunks/8-DPolW7fw.js.map +0 -1
  345. package/dist/studio/server/chunks/9-DssWNo7i.js +0 -9
  346. package/dist/studio/server/chunks/9-DssWNo7i.js.map +0 -1
  347. package/dist/studio/server/chunks/AwsRestJsonProtocol-DbtV_man.js +0 -534
  348. package/dist/studio/server/chunks/AwsRestJsonProtocol-DbtV_man.js.map +0 -1
  349. package/dist/studio/server/chunks/Dropdown-DSnc73QD.js +0 -63
  350. package/dist/studio/server/chunks/Dropdown-DSnc73QD.js.map +0 -1
  351. package/dist/studio/server/chunks/FormField-B_9VaKTy.js +0 -53
  352. package/dist/studio/server/chunks/FormField-B_9VaKTy.js.map +0 -1
  353. package/dist/studio/server/chunks/LabeledText-Df1tYT8Q.js +0 -19
  354. package/dist/studio/server/chunks/LabeledText-Df1tYT8Q.js.map +0 -1
  355. package/dist/studio/server/chunks/LanguageTabs-Dcn9kIIh.js +0 -28
  356. package/dist/studio/server/chunks/LanguageTabs-Dcn9kIIh.js.map +0 -1
  357. package/dist/studio/server/chunks/Notification-BdtRHNXP.js +0 -120
  358. package/dist/studio/server/chunks/Notification-BdtRHNXP.js.map +0 -1
  359. package/dist/studio/server/chunks/RootNodeForm-D75aY32s.js +0 -147
  360. package/dist/studio/server/chunks/RootNodeForm-D75aY32s.js.map +0 -1
  361. package/dist/studio/server/chunks/SelectableItem-CdQpjkDy.js +0 -34
  362. package/dist/studio/server/chunks/SelectableItem-CdQpjkDy.js.map +0 -1
  363. package/dist/studio/server/chunks/TextArrayInput.svelte_svelte_type_style_lang-BPAw2rLd.js +0 -489
  364. package/dist/studio/server/chunks/TextArrayInput.svelte_svelte_type_style_lang-BPAw2rLd.js.map +0 -1
  365. package/dist/studio/server/chunks/Textarea-Cg2FXNGr.js +0 -36
  366. package/dist/studio/server/chunks/Textarea-Cg2FXNGr.js.map +0 -1
  367. package/dist/studio/server/chunks/_layout.svelte-Be5YuP0u.js +0 -21
  368. package/dist/studio/server/chunks/_layout.svelte-Be5YuP0u.js.map +0 -1
  369. package/dist/studio/server/chunks/_layout.svelte-C0ZyMrYm.js +0 -194
  370. package/dist/studio/server/chunks/_layout.svelte-C0ZyMrYm.js.map +0 -1
  371. package/dist/studio/server/chunks/_layout.svelte-CcX3l86w.js +0 -120
  372. package/dist/studio/server/chunks/_layout.svelte-CcX3l86w.js.map +0 -1
  373. package/dist/studio/server/chunks/_layout.svelte-CsTs6Mj7.js +0 -107
  374. package/dist/studio/server/chunks/_layout.svelte-CsTs6Mj7.js.map +0 -1
  375. package/dist/studio/server/chunks/_layout.svelte-DOHLbT6G.js +0 -120
  376. package/dist/studio/server/chunks/_layout.svelte-DOHLbT6G.js.map +0 -1
  377. package/dist/studio/server/chunks/_layout.svelte-D_wzPsk8.js +0 -8
  378. package/dist/studio/server/chunks/_layout.svelte-D_wzPsk8.js.map +0 -1
  379. package/dist/studio/server/chunks/_layout.svelte-Gk-SrhDW.js +0 -137
  380. package/dist/studio/server/chunks/_layout.svelte-Gk-SrhDW.js.map +0 -1
  381. package/dist/studio/server/chunks/_layout.svelte-XWAIiqf7.js +0 -121
  382. package/dist/studio/server/chunks/_layout.svelte-XWAIiqf7.js.map +0 -1
  383. package/dist/studio/server/chunks/_layout.svelte-ZSdtL2Ov.js +0 -264
  384. package/dist/studio/server/chunks/_layout.svelte-ZSdtL2Ov.js.map +0 -1
  385. package/dist/studio/server/chunks/_page.svelte-5I4R2EtC.js +0 -194
  386. package/dist/studio/server/chunks/_page.svelte-5I4R2EtC.js.map +0 -1
  387. package/dist/studio/server/chunks/_page.svelte-B0fdJgIy.js +0 -6
  388. package/dist/studio/server/chunks/_page.svelte-B0fdJgIy.js.map +0 -1
  389. package/dist/studio/server/chunks/_page.svelte-BQSEkG4B.js +0 -50
  390. package/dist/studio/server/chunks/_page.svelte-BQSEkG4B.js.map +0 -1
  391. package/dist/studio/server/chunks/_page.svelte-BUvPmmfE.js +0 -72
  392. package/dist/studio/server/chunks/_page.svelte-BUvPmmfE.js.map +0 -1
  393. package/dist/studio/server/chunks/_page.svelte-C1pnrNYC.js +0 -1180
  394. package/dist/studio/server/chunks/_page.svelte-C1pnrNYC.js.map +0 -1
  395. package/dist/studio/server/chunks/_page.svelte-C5tuIA7M.js +0 -167
  396. package/dist/studio/server/chunks/_page.svelte-C5tuIA7M.js.map +0 -1
  397. package/dist/studio/server/chunks/_page.svelte-CF_q50BE.js +0 -7
  398. package/dist/studio/server/chunks/_page.svelte-CF_q50BE.js.map +0 -1
  399. package/dist/studio/server/chunks/_page.svelte-C_PbhPCC.js +0 -50
  400. package/dist/studio/server/chunks/_page.svelte-C_PbhPCC.js.map +0 -1
  401. package/dist/studio/server/chunks/_page.svelte-Cj5ZuteL.js +0 -6
  402. package/dist/studio/server/chunks/_page.svelte-Cj5ZuteL.js.map +0 -1
  403. package/dist/studio/server/chunks/_page.svelte-CmTVw6d1.js +0 -26
  404. package/dist/studio/server/chunks/_page.svelte-CmTVw6d1.js.map +0 -1
  405. package/dist/studio/server/chunks/_page.svelte-DCFrAMt0.js +0 -215
  406. package/dist/studio/server/chunks/_page.svelte-DCFrAMt0.js.map +0 -1
  407. package/dist/studio/server/chunks/_page.svelte-DLctg8L7.js +0 -12
  408. package/dist/studio/server/chunks/_page.svelte-DLctg8L7.js.map +0 -1
  409. package/dist/studio/server/chunks/_page.svelte-DSQHM23P.js +0 -245
  410. package/dist/studio/server/chunks/_page.svelte-DSQHM23P.js.map +0 -1
  411. package/dist/studio/server/chunks/_page.svelte-cXc32tdP.js +0 -210
  412. package/dist/studio/server/chunks/_page.svelte-cXc32tdP.js.map +0 -1
  413. package/dist/studio/server/chunks/_page.svelte-gagR2l4t.js +0 -101
  414. package/dist/studio/server/chunks/_page.svelte-gagR2l4t.js.map +0 -1
  415. package/dist/studio/server/chunks/_page.svelte-jSwVcx19.js +0 -7
  416. package/dist/studio/server/chunks/_page.svelte-jSwVcx19.js.map +0 -1
  417. package/dist/studio/server/chunks/_server-DjoKoFPH.js +0 -54
  418. package/dist/studio/server/chunks/_server-DjoKoFPH.js.map +0 -1
  419. package/dist/studio/server/chunks/_server-NkVSxoTW.js +0 -46
  420. package/dist/studio/server/chunks/_server-NkVSxoTW.js.map +0 -1
  421. package/dist/studio/server/chunks/bloko-Di3Yi1HX.js +0 -20538
  422. package/dist/studio/server/chunks/bloko-Di3Yi1HX.js.map +0 -1
  423. package/dist/studio/server/chunks/client-BpHYTz7B.js +0 -31
  424. package/dist/studio/server/chunks/client-BpHYTz7B.js.map +0 -1
  425. package/dist/studio/server/chunks/contents-DmyXIZ7q.js +0 -114
  426. package/dist/studio/server/chunks/contents-DmyXIZ7q.js.map +0 -1
  427. package/dist/studio/server/chunks/context-hRBz22cz.js +0 -57
  428. package/dist/studio/server/chunks/context-hRBz22cz.js.map +0 -1
  429. package/dist/studio/server/chunks/data.remote-BgcI_rzY.js +0 -180
  430. package/dist/studio/server/chunks/data.remote-BgcI_rzY.js.map +0 -1
  431. package/dist/studio/server/chunks/data.remote2-DiE6NrBW.js +0 -44
  432. package/dist/studio/server/chunks/data.remote2-DiE6NrBW.js.map +0 -1
  433. package/dist/studio/server/chunks/data.remote3-52tMxtf8.js +0 -37
  434. package/dist/studio/server/chunks/data.remote3-52tMxtf8.js.map +0 -1
  435. package/dist/studio/server/chunks/data.remote4-D15gkpNg.js +0 -23
  436. package/dist/studio/server/chunks/data.remote4-D15gkpNg.js.map +0 -1
  437. package/dist/studio/server/chunks/error.svelte-H9qc-Hoo.js +0 -17
  438. package/dist/studio/server/chunks/error.svelte-H9qc-Hoo.js.map +0 -1
  439. package/dist/studio/server/chunks/escaping-CqgfEcN3.js +0 -19
  440. package/dist/studio/server/chunks/escaping-CqgfEcN3.js.map +0 -1
  441. package/dist/studio/server/chunks/externalDataInterceptor-CmrWPcBh.js +0 -20
  442. package/dist/studio/server/chunks/externalDataInterceptor-CmrWPcBh.js.map +0 -1
  443. package/dist/studio/server/chunks/getSSOTokenFromFile-CkfcVyuX.js +0 -23
  444. package/dist/studio/server/chunks/getSSOTokenFromFile-CkfcVyuX.js.map +0 -1
  445. package/dist/studio/server/chunks/globals.svelte-DwdZJG2V.js +0 -16
  446. package/dist/studio/server/chunks/globals.svelte-DwdZJG2V.js.map +0 -1
  447. package/dist/studio/server/chunks/hooks.server-ZmWnLFqD.js +0 -17
  448. package/dist/studio/server/chunks/hooks.server-ZmWnLFqD.js.map +0 -1
  449. package/dist/studio/server/chunks/index-BHUH1vKZ.js +0 -184
  450. package/dist/studio/server/chunks/index-BHUH1vKZ.js.map +0 -1
  451. package/dist/studio/server/chunks/index-BJVNup87.js +0 -451
  452. package/dist/studio/server/chunks/index-BJVNup87.js.map +0 -1
  453. package/dist/studio/server/chunks/index-BQ1GAKvQ.js +0 -378
  454. package/dist/studio/server/chunks/index-BQ1GAKvQ.js.map +0 -1
  455. package/dist/studio/server/chunks/index-BWZU4zQ-.js +0 -589
  456. package/dist/studio/server/chunks/index-BWZU4zQ-.js.map +0 -1
  457. package/dist/studio/server/chunks/index-Bs104G6E.js +0 -59
  458. package/dist/studio/server/chunks/index-Bs104G6E.js.map +0 -1
  459. package/dist/studio/server/chunks/index-BubBMzaA.js +0 -9962
  460. package/dist/studio/server/chunks/index-BubBMzaA.js.map +0 -1
  461. package/dist/studio/server/chunks/index-CF9y57AA.js +0 -346
  462. package/dist/studio/server/chunks/index-CF9y57AA.js.map +0 -1
  463. package/dist/studio/server/chunks/index-CuYG-biY.js +0 -22
  464. package/dist/studio/server/chunks/index-CuYG-biY.js.map +0 -1
  465. package/dist/studio/server/chunks/index-D76-Vc_V.js +0 -79
  466. package/dist/studio/server/chunks/index-D76-Vc_V.js.map +0 -1
  467. package/dist/studio/server/chunks/index-DQX8s8iL.js +0 -99
  468. package/dist/studio/server/chunks/index-DQX8s8iL.js.map +0 -1
  469. package/dist/studio/server/chunks/index-Di74afjy.js +0 -1104
  470. package/dist/studio/server/chunks/index-Di74afjy.js.map +0 -1
  471. package/dist/studio/server/chunks/index-Djsj11qr.js +0 -214
  472. package/dist/studio/server/chunks/index-Djsj11qr.js.map +0 -1
  473. package/dist/studio/server/chunks/index-DkZaIGCe.js +0 -270
  474. package/dist/studio/server/chunks/index-DkZaIGCe.js.map +0 -1
  475. package/dist/studio/server/chunks/index-DrDr_Xqp.js +0 -518
  476. package/dist/studio/server/chunks/index-DrDr_Xqp.js.map +0 -1
  477. package/dist/studio/server/chunks/index2-BwU4Mw_N.js +0 -2409
  478. package/dist/studio/server/chunks/index2-BwU4Mw_N.js.map +0 -1
  479. package/dist/studio/server/chunks/index3-D3P_T2tv.js +0 -25
  480. package/dist/studio/server/chunks/index3-D3P_T2tv.js.map +0 -1
  481. package/dist/studio/server/chunks/index4-HT25OHj6.js +0 -117
  482. package/dist/studio/server/chunks/index4-HT25OHj6.js.map +0 -1
  483. package/dist/studio/server/chunks/layout.svelte-UxsTmhKc.js +0 -8
  484. package/dist/studio/server/chunks/layout.svelte-UxsTmhKc.js.map +0 -1
  485. package/dist/studio/server/chunks/loadSso-mSqBNz0L.js +0 -421
  486. package/dist/studio/server/chunks/loadSso-mSqBNz0L.js.map +0 -1
  487. package/dist/studio/server/chunks/noAuth-6BeJ9El-.js +0 -8
  488. package/dist/studio/server/chunks/noAuth-6BeJ9El-.js.map +0 -1
  489. package/dist/studio/server/chunks/package-DEozZCG8.js +0 -6
  490. package/dist/studio/server/chunks/package-DEozZCG8.js.map +0 -1
  491. package/dist/studio/server/chunks/parseKnownFiles-D9taN4Vr.js +0 -24
  492. package/dist/studio/server/chunks/parseKnownFiles-D9taN4Vr.js.map +0 -1
  493. package/dist/studio/server/chunks/query-Br86yIZh.js +0 -244
  494. package/dist/studio/server/chunks/query-Br86yIZh.js.map +0 -1
  495. package/dist/studio/server/chunks/remote-1k5k8mm-ybRbtNXT.js +0 -27
  496. package/dist/studio/server/chunks/remote-1k5k8mm-ybRbtNXT.js.map +0 -1
  497. package/dist/studio/server/chunks/remote-7g2nt7-Dsx8upgK.js +0 -28
  498. package/dist/studio/server/chunks/remote-7g2nt7-Dsx8upgK.js.map +0 -1
  499. package/dist/studio/server/chunks/remote-jdnfp7-D_zRSQIs.js +0 -27
  500. package/dist/studio/server/chunks/remote-jdnfp7-D_zRSQIs.js.map +0 -1
  501. package/dist/studio/server/chunks/remote-yje5b3-Pq_QOH76.js +0 -27
  502. package/dist/studio/server/chunks/remote-yje5b3-Pq_QOH76.js.map +0 -1
  503. package/dist/studio/server/chunks/shared-CAxGHzOK.js +0 -691
  504. package/dist/studio/server/chunks/shared-CAxGHzOK.js.map +0 -1
  505. package/dist/studio/server/chunks/state.svelte-DiB3TmIU.js +0 -10
  506. package/dist/studio/server/chunks/state.svelte-DiB3TmIU.js.map +0 -1
  507. package/dist/studio/server/chunks/stores-BMBseJnV.js +0 -29
  508. package/dist/studio/server/chunks/stores-BMBseJnV.js.map +0 -1
  509. package/dist/studio/server/chunks/utils-UnnCNxc8.js +0 -101
  510. package/dist/studio/server/chunks/utils-UnnCNxc8.js.map +0 -1
  511. package/dist/studio/server/chunks/utils2-2iR6NHZC.js +0 -187
  512. package/dist/studio/server/chunks/utils2-2iR6NHZC.js.map +0 -1
  513. package/dist/studio/server/index.js +0 -5897
  514. package/dist/studio/server/index.js.map +0 -1
  515. package/dist/studio/server/manifest.js +0 -197
  516. package/dist/studio/server/manifest.js.map +0 -1
  517. package/dist/studio/shims.js +0 -32
package/dist/cli/index.js CHANGED
File without changes
@@ -94,12 +94,19 @@ CREATE TABLE images (
94
94
  CREATE TABLE image_variants (
95
95
  id UUID PRIMARY KEY DEFAULT uuidv7(),
96
96
  _image UUID NOT NULL REFERENCES images(id) ON DELETE CASCADE,
97
- width INTEGER NOT NULL,
98
- height INTEGER NOT NULL,
97
+
98
+ -- Request params (nullable means "auto" / use original)
99
+ req_width INTEGER,
100
+ req_height INTEGER,
101
+ format VARCHAR(10) NOT NULL DEFAULT 'webp',
102
+ quality INTEGER NOT NULL DEFAULT 80,
103
+
104
+ -- Actual output dimensions after resize/crop
105
+ actual_width INTEGER NOT NULL,
106
+ actual_height INTEGER NOT NULL,
107
+
99
108
  s3_key VARCHAR(500) NOT NULL UNIQUE,
100
- format VARCHAR(10) NOT NULL,
101
- file_size INTEGER NOT NULL,
102
- UNIQUE (_image, width, height, format)
109
+ file_size INTEGER NOT NULL
103
110
  );
104
111
 
105
112
  CREATE TABLE nodes (
@@ -160,6 +167,15 @@ CREATE INDEX idx_images_caption_gin ON images USING GIN (caption);
160
167
 
161
168
  CREATE INDEX idx_image_variants_image ON image_variants(_image);
162
169
 
170
+ -- Unique constraint for variant lookup (COALESCE handles nullable req_width/req_height)
171
+ CREATE UNIQUE INDEX idx_image_variants_params ON image_variants (
172
+ _image,
173
+ COALESCE(req_width, 0),
174
+ COALESCE(req_height, 0),
175
+ format,
176
+ quality
177
+ );
178
+
163
179
  CREATE INDEX idx_nodes_collection ON nodes(_collection);
164
180
  CREATE INDEX idx_nodes_template ON nodes(_template);
165
181
  CREATE INDEX idx_nodes_node_type ON nodes(_node_type);
@@ -5,7 +5,11 @@ export declare function imageVariants(db: DB): {
5
5
  findById(id: string): Promise<ImageVariant | null>;
6
6
  findByImage(imageId: string): Promise<ImageVariant[]>;
7
7
  findByS3Key(s3Key: string): Promise<ImageVariant | null>;
8
- findByDimensions(imageId: string, width: number, height: number, format: string): Promise<ImageVariant | null>;
8
+ /**
9
+ * Find variant by request parameters.
10
+ * Uses COALESCE to match null values (which represent "auto" dimensions).
11
+ */
12
+ findByParams(imageId: string, reqWidth: number | null, reqHeight: number | null, format: string, quality: number): Promise<ImageVariant | null>;
9
13
  create(data: ImageVariantInsert): Promise<ImageVariant>;
10
14
  update(id: string, data: ImageVariantUpdate): Promise<ImageVariant | null>;
11
15
  delete(id: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"image-variants.d.ts","sourceRoot":"","sources":["../../../src/driver/crud/image-variants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAExF,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE;eAEf,OAAO,CAAC,YAAY,EAAE,CAAC;iBAKrB,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;yBAK7B,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;uBAQlC,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;8BAQ9B,MAAM,SAAS,MAAM,UAAU,MAAM,UAAU,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;iBAQjG,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;eAS5C,MAAM,QAAQ,kBAAkB,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;eAwC/D,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;2BAKb,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;EAKxD"}
1
+ {"version":3,"file":"image-variants.d.ts","sourceRoot":"","sources":["../../../src/driver/crud/image-variants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAExF,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE;eAEf,OAAO,CAAC,YAAY,EAAE,CAAC;iBAKrB,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;yBAK7B,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;uBAQlC,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAQ9D;;;OAGG;0BAEQ,MAAM,YACL,MAAM,GAAG,IAAI,aACZ,MAAM,GAAG,IAAI,UAChB,MAAM,WACL,MAAM,GACd,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;iBAaZ,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;eAsB5C,MAAM,QAAQ,kBAAkB,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;eAoD/D,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;2BAKb,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;EAKxD"}
@@ -1,7 +1,7 @@
1
1
  export function imageVariants(db) {
2
2
  return {
3
3
  async findAll() {
4
- const result = await db.query('SELECT * FROM image_variants ORDER BY width, height');
4
+ const result = await db.query('SELECT * FROM image_variants ORDER BY actual_width, actual_height');
5
5
  return result.rows;
6
6
  },
7
7
  async findById(id) {
@@ -9,20 +9,42 @@ export function imageVariants(db) {
9
9
  return result.rows[0] ?? null;
10
10
  },
11
11
  async findByImage(imageId) {
12
- const result = await db.query('SELECT * FROM image_variants WHERE _image = $1 ORDER BY width, height', [imageId]);
12
+ const result = await db.query('SELECT * FROM image_variants WHERE _image = $1 ORDER BY actual_width, actual_height', [imageId]);
13
13
  return result.rows;
14
14
  },
15
15
  async findByS3Key(s3Key) {
16
16
  const result = await db.query('SELECT * FROM image_variants WHERE s3_key = $1', [s3Key]);
17
17
  return result.rows[0] ?? null;
18
18
  },
19
- async findByDimensions(imageId, width, height, format) {
20
- const result = await db.query('SELECT * FROM image_variants WHERE _image = $1 AND width = $2 AND height = $3 AND format = $4', [imageId, width, height, format]);
19
+ /**
20
+ * Find variant by request parameters.
21
+ * Uses COALESCE to match null values (which represent "auto" dimensions).
22
+ */
23
+ async findByParams(imageId, reqWidth, reqHeight, format, quality) {
24
+ const result = await db.query(`SELECT * FROM image_variants
25
+ WHERE _image = $1
26
+ AND COALESCE(req_width, 0) = COALESCE($2, 0)
27
+ AND COALESCE(req_height, 0) = COALESCE($3, 0)
28
+ AND format = $4
29
+ AND quality = $5`, [imageId, reqWidth, reqHeight, format, quality]);
21
30
  return result.rows[0] ?? null;
22
31
  },
23
32
  async create(data) {
24
- const result = await db.query(`INSERT INTO image_variants (_image, width, height, s3_key, format, file_size)
25
- VALUES ($1, $2, $3, $4, $5, $6) RETURNING *`, [data._image, data.width, data.height, data.s3_key, data.format, data.file_size]);
33
+ const result = await db.query(`INSERT INTO image_variants (
34
+ _image, req_width, req_height, format, quality,
35
+ actual_width, actual_height, s3_key, file_size
36
+ )
37
+ VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9) RETURNING *`, [
38
+ data._image,
39
+ data.req_width,
40
+ data.req_height,
41
+ data.format,
42
+ data.quality,
43
+ data.actual_width,
44
+ data.actual_height,
45
+ data.s3_key,
46
+ data.file_size,
47
+ ]);
26
48
  return result.rows[0];
27
49
  },
28
50
  async update(id, data) {
@@ -33,22 +55,34 @@ export function imageVariants(db) {
33
55
  fields.push(`_image = $${idx++}`);
34
56
  values.push(data._image);
35
57
  }
36
- if (data.width !== undefined) {
37
- fields.push(`width = $${idx++}`);
38
- values.push(data.width);
58
+ if (data.req_width !== undefined) {
59
+ fields.push(`req_width = $${idx++}`);
60
+ values.push(data.req_width);
39
61
  }
40
- if (data.height !== undefined) {
41
- fields.push(`height = $${idx++}`);
42
- values.push(data.height);
43
- }
44
- if (data.s3_key !== undefined) {
45
- fields.push(`s3_key = $${idx++}`);
46
- values.push(data.s3_key);
62
+ if (data.req_height !== undefined) {
63
+ fields.push(`req_height = $${idx++}`);
64
+ values.push(data.req_height);
47
65
  }
48
66
  if (data.format !== undefined) {
49
67
  fields.push(`format = $${idx++}`);
50
68
  values.push(data.format);
51
69
  }
70
+ if (data.quality !== undefined) {
71
+ fields.push(`quality = $${idx++}`);
72
+ values.push(data.quality);
73
+ }
74
+ if (data.actual_width !== undefined) {
75
+ fields.push(`actual_width = $${idx++}`);
76
+ values.push(data.actual_width);
77
+ }
78
+ if (data.actual_height !== undefined) {
79
+ fields.push(`actual_height = $${idx++}`);
80
+ values.push(data.actual_height);
81
+ }
82
+ if (data.s3_key !== undefined) {
83
+ fields.push(`s3_key = $${idx++}`);
84
+ values.push(data.s3_key);
85
+ }
52
86
  if (data.file_size !== undefined) {
53
87
  fields.push(`file_size = $${idx++}`);
54
88
  values.push(data.file_size);
@@ -1 +1 @@
1
- {"version":3,"file":"image-variants.js","sourceRoot":"","sources":["../../../src/driver/crud/image-variants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-variants.js","sourceRoot":"","sources":["../../../src/driver/crud/image-variants.ts"],"names":[],"mappings":"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"}
@@ -83,7 +83,7 @@ export declare function createCrud(db: DB): {
83
83
  findById(id: string): Promise<import("../types.js").ImageVariant | null>;
84
84
  findByImage(imageId: string): Promise<import("../types.js").ImageVariant[]>;
85
85
  findByS3Key(s3Key: string): Promise<import("../types.js").ImageVariant | null>;
86
- findByDimensions(imageId: string, width: number, height: number, format: string): Promise<import("../types.js").ImageVariant | null>;
86
+ findByParams(imageId: string, reqWidth: number | null, reqHeight: number | null, format: string, quality: number): Promise<import("../types.js").ImageVariant | null>;
87
87
  create(data: import("../types.js").ImageVariantInsert): Promise<import("../types.js").ImageVariant>;
88
88
  update(id: string, data: import("../types.js").ImageVariantUpdate): Promise<import("../types.js").ImageVariant | null>;
89
89
  delete(id: string): Promise<boolean>;
@@ -3,8 +3,8 @@ import type { S3Config } from './client.js';
3
3
  import type { Crud } from '../crud/index.js';
4
4
  import type { Image, ImageVariant } from '../types.js';
5
5
  export interface VariantOptions {
6
- width?: number;
7
- height?: number;
6
+ width?: number | null;
7
+ height?: number | null;
8
8
  format?: 'webp' | 'jpeg' | 'png';
9
9
  quality?: number;
10
10
  }
@@ -26,9 +26,10 @@ export declare function createImageService(s3: S3Client, config: S3Config, crud:
26
26
  */
27
27
  getUrl(imageId: string, options?: VariantOptions): Promise<string>;
28
28
  /**
29
- * Generate a variant for an image (internal method, use getUrl instead)
29
+ * Generate a variant for an image.
30
+ * Calculates optimal dimensions based on request and original image size.
30
31
  */
31
- generateVariant(image: Image, options: Required<VariantOptions>): Promise<ImageVariant>;
32
+ generateVariant(image: Image, reqWidth: number | null, reqHeight: number | null, format: "webp" | "jpeg" | "png", quality: number): Promise<ImageVariant>;
32
33
  /**
33
34
  * Delete an image and all its variants from S3
34
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../../src/driver/s3/images.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA2D,MAAM,oBAAoB,CAAC;AAQvG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC;CACd;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI;IAiBzE;;OAEG;iBACgB,MAAM,YAAY,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAoCnE;;;;;;;OAOG;oBACmB,MAAM,YAAY,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IA2CxE;;OAEG;2BAC0B,KAAK,WAAW,QAAQ,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAkD7F;;OAEG;oBACmB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB5C;;OAEG;wBACiB,MAAM,GAAG,MAAM;EAItC;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../../src/driver/s3/images.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA2D,MAAM,oBAAoB,CAAC;AAQvG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC;CACd;AAkED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI;IAwBzE;;OAEG;iBACgB,MAAM,YAAY,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAoCnE;;;;;;;OAOG;oBACmB,MAAM,YAAY,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAyDxE;;;OAGG;2BAEM,KAAK,YACF,MAAM,GAAG,IAAI,aACZ,MAAM,GAAG,IAAI,UAChB,MAAM,GAAG,MAAM,GAAG,KAAK,WACtB,MAAM,GACd,OAAO,CAAC,YAAY,CAAC;IA0DxB;;OAEG;oBACmB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB5C;;OAEG;wBACiB,MAAM,GAAG,MAAM;EAItC;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -5,13 +5,66 @@ async function getSharp() {
5
5
  const sharp = await import('sharp');
6
6
  return sharp.default;
7
7
  }
8
+ /**
9
+ * Calculate output dimensions based on request and original image.
10
+ *
11
+ * Rules:
12
+ * - Both null: use original dimensions
13
+ * - Width only: scale proportionally, height auto
14
+ * - Height only: scale proportionally, width auto
15
+ * - Both specified: crop/cover to exact aspect ratio
16
+ * - No upscaling: clamp to largest possible within original
17
+ */
18
+ function calculateDimensions(original, reqWidth, reqHeight) {
19
+ const origW = original.width;
20
+ const origH = original.height;
21
+ const origAspect = origW / origH;
22
+ // Both null: use original dimensions
23
+ if (reqWidth === null && reqHeight === null) {
24
+ return { width: origW, height: origH, fit: 'inside' };
25
+ }
26
+ // Width only: scale proportionally
27
+ if (reqWidth !== null && reqHeight === null) {
28
+ // Clamp width to original (no upscaling)
29
+ const w = Math.min(reqWidth, origW);
30
+ const h = Math.round(w / origAspect);
31
+ return { width: w, height: h, fit: 'inside' };
32
+ }
33
+ // Height only: scale proportionally
34
+ if (reqWidth === null && reqHeight !== null) {
35
+ // Clamp height to original (no upscaling)
36
+ const h = Math.min(reqHeight, origH);
37
+ const w = Math.round(h * origAspect);
38
+ return { width: w, height: h, fit: 'inside' };
39
+ }
40
+ // Both specified: crop/cover mode
41
+ // Find the largest crop of target aspect ratio that fits within original
42
+ const targetAspect = reqWidth / reqHeight;
43
+ let maxCropW;
44
+ let maxCropH;
45
+ if (targetAspect > origAspect) {
46
+ // Target is wider than original - width-limited
47
+ maxCropW = origW;
48
+ maxCropH = Math.round(origW / targetAspect);
49
+ }
50
+ else {
51
+ // Target is taller than original - height-limited
52
+ maxCropH = origH;
53
+ maxCropW = Math.round(origH * targetAspect);
54
+ }
55
+ // Clamp to requested size (no upscaling)
56
+ const finalW = Math.min(reqWidth, maxCropW);
57
+ const finalH = Math.min(reqHeight, maxCropH);
58
+ return { width: finalW, height: finalH, fit: 'cover' };
59
+ }
8
60
  export function createImageService(s3, config, crud) {
9
61
  /**
10
62
  * Generate variant S3 key from options
11
63
  */
12
- function getVariantKey(imageId, options) {
13
- const { width, height, format, quality } = options;
14
- return `images/${imageId}/w${width}_h${height}_q${quality}.${format}`;
64
+ function getVariantKey(imageId, reqWidth, reqHeight, format, quality) {
65
+ const w = reqWidth ?? 'auto';
66
+ const h = reqHeight ?? 'auto';
67
+ return `images/${imageId}/w${w}_h${h}_q${quality}.${format}`;
15
68
  }
16
69
  /**
17
70
  * Get S3 URL for an S3 key
@@ -67,32 +120,32 @@ export function createImageService(s3, config, crud) {
67
120
  if (!image) {
68
121
  throw new Error(`Image not found: ${imageId}`);
69
122
  }
70
- // No options = return original
71
- if (!options || Object.keys(options).length === 0) {
123
+ // Apply defaults
124
+ const reqWidth = options?.width ?? null;
125
+ const reqHeight = options?.height ?? null;
126
+ const format = options?.format ?? 'webp';
127
+ const quality = options?.quality ?? 80;
128
+ // If no transformation needed (original format, full quality, no resize), return original
129
+ if (reqWidth === null &&
130
+ reqHeight === null &&
131
+ format === image.format &&
132
+ quality === 100) {
72
133
  return getS3Url(image.s3_key);
73
134
  }
74
- // Fill in defaults from original image
75
- const fullOptions = {
76
- width: options.width ?? image.width,
77
- height: options.height ?? image.height,
78
- format: options.format ?? image.format,
79
- quality: options.quality ?? 80,
80
- };
81
- // Check if variant already exists in DB by s3_key (uses requested dimensions)
82
- const variantKey = getVariantKey(imageId, fullOptions);
83
- const existingVariant = await crud.imageVariants.findByS3Key(variantKey);
135
+ // Check if variant already exists in DB
136
+ const existingVariant = await crud.imageVariants.findByParams(imageId, reqWidth, reqHeight, format, quality);
84
137
  if (existingVariant) {
85
138
  return getS3Url(existingVariant.s3_key);
86
139
  }
87
140
  // Generate variant on-demand (with race condition handling)
88
141
  try {
89
- const variant = await this.generateVariant(image, fullOptions);
142
+ const variant = await this.generateVariant(image, reqWidth, reqHeight, format, quality);
90
143
  return getS3Url(variant.s3_key);
91
144
  }
92
145
  catch (err) {
93
146
  // Handle duplicate key error (race condition - another request created it)
94
147
  if (err && typeof err === 'object' && 'code' in err && err.code === '23505') {
95
- const variant = await crud.imageVariants.findByS3Key(variantKey);
148
+ const variant = await crud.imageVariants.findByParams(imageId, reqWidth, reqHeight, format, quality);
96
149
  if (variant) {
97
150
  return getS3Url(variant.s3_key);
98
151
  }
@@ -101,11 +154,13 @@ export function createImageService(s3, config, crud) {
101
154
  }
102
155
  },
103
156
  /**
104
- * Generate a variant for an image (internal method, use getUrl instead)
157
+ * Generate a variant for an image.
158
+ * Calculates optimal dimensions based on request and original image size.
105
159
  */
106
- async generateVariant(image, options) {
107
- const { width, height, format, quality } = options;
160
+ async generateVariant(image, reqWidth, reqHeight, format, quality) {
108
161
  const sharp = await getSharp();
162
+ // Calculate actual output dimensions
163
+ const { width: actualWidth, height: actualHeight, fit } = calculateDimensions({ width: image.width, height: image.height }, reqWidth, reqHeight);
109
164
  // Fetch original from S3
110
165
  const response = await s3.send(new GetObjectCommand({
111
166
  Bucket: config.bucket,
@@ -113,7 +168,7 @@ export function createImageService(s3, config, crud) {
113
168
  }));
114
169
  const originalBuffer = Buffer.from(await response.Body.transformToByteArray());
115
170
  // Generate variant
116
- let transformer = sharp(originalBuffer).resize(width, height, { fit: 'inside' });
171
+ let transformer = sharp(originalBuffer).resize(actualWidth, actualHeight, { fit });
117
172
  switch (format) {
118
173
  case 'webp':
119
174
  transformer = transformer.webp({ quality });
@@ -126,7 +181,7 @@ export function createImageService(s3, config, crud) {
126
181
  break;
127
182
  }
128
183
  const variantBuffer = await transformer.toBuffer();
129
- const variantKey = getVariantKey(image.id, options);
184
+ const variantKey = getVariantKey(image.id, reqWidth, reqHeight, format, quality);
130
185
  // Upload variant to S3
131
186
  await s3.send(new PutObjectCommand({
132
187
  Bucket: config.bucket,
@@ -135,13 +190,15 @@ export function createImageService(s3, config, crud) {
135
190
  ContentType: `image/${format}`,
136
191
  }));
137
192
  // Save variant record to DB
138
- // Store REQUESTED dimensions (not actual output) to match s3_key and lookup
139
193
  return crud.imageVariants.create({
140
194
  _image: image.id,
141
- width,
142
- height,
143
- s3_key: variantKey,
195
+ req_width: reqWidth,
196
+ req_height: reqHeight,
144
197
  format,
198
+ quality,
199
+ actual_width: actualWidth,
200
+ actual_height: actualHeight,
201
+ s3_key: variantKey,
145
202
  file_size: variantBuffer.length,
146
203
  });
147
204
  },
@@ -1 +1 @@
1
- {"version":3,"file":"images.js","sourceRoot":"","sources":["../../../src/driver/s3/images.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"images.js","sourceRoot":"","sources":["../../../src/driver/s3/images.ts"],"names":[],"mappings":"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"}
@@ -78,10 +78,13 @@ export interface Image {
78
78
  export interface ImageVariant {
79
79
  id: string;
80
80
  _image: string;
81
- width: number;
82
- height: number;
83
- s3_key: string;
81
+ req_width: number | null;
82
+ req_height: number | null;
84
83
  format: string;
84
+ quality: number;
85
+ actual_width: number;
86
+ actual_height: number;
87
+ s3_key: string;
85
88
  file_size: number;
86
89
  }
87
90
  export interface NodeRelationType {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/driver/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/driver/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bloko",
3
- "version": "0.0.43",
3
+ "version": "0.0.44",
4
4
  "type": "module",
5
5
  "description": "Multi-language CMS driver for PostgreSQL",
6
6
  "main": "dist/driver/index.js",
@@ -1 +0,0 @@
1
- @import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wdth,wght@0,75..100,100..700;1,75..100,100..700&display=swap";:root{--base0: #ffffff;--base50: #f2f2f3;--base100: #e6e4e7;--base200: #cdc9cf;--base300: #b4afb6;--base400: #9b949e;--base500: #827986;--base600: #68616b;--base700: #4e4950;--base800: #343036;--base900: #1a181b;--base1000: #000000;--action50: #E6F5FF;--action100: #cfe9fc;--action200: #9eccfa;--action300: #6ea7f7;--action400: #3d7af5;--action500: #0d46f2;--action600: #0a38c2;--action700: #082a91;--action800: #051c61;--action900: #030e30;--success50: hsl(138, 76%, 95%);--success100: hsl(141, 84%, 88%);--success200: hsl(141, 79%, 80%);--success300: hsl(142, 77%, 68%);--success400: hsl(142, 69%, 53%);--success500: hsl(142, 71%, 40%);--success600: hsl(142, 76%, 31%);--success700: hsl(142, 72%, 24%);--success800: hsl(143, 64%, 19%);--success900: hsl(144, 61%, 15%);--warning50: hsl(48, 100%, 96%);--warning100: hsl(48, 96%, 89%);--warning200: hsl(48, 97%, 77%);--warning300: hsl(46, 97%, 65%);--warning400: hsl(43, 96%, 56%);--warning500: hsl(38, 92%, 50%);--warning600: hsl(32, 95%, 44%);--warning700: hsl(26, 90%, 37%);--warning800: hsl(23, 83%, 31%);--warning900: hsl(22, 78%, 26%);--danger50: hsl(0, 90%, 95%);--danger100: hsl(0, 90%, 90%);--danger200: hsl(0, 90%, 80%);--danger300: hsl(0, 90%, 70%);--danger400: hsl(0, 90%, 60%);--danger500: hsl(0, 90%, 50%);--danger600: hsl(0, 90%, 40%);--danger700: hsl(0, 90%, 30%);--danger800: hsl(0, 90%, 20%);--danger900: hsl(0, 90%, 10%);--info50: hsl(204, 100%, 97%);--info100: hsl(204, 94%, 94%);--info200: hsl(201, 94%, 86%);--info300: hsl(199, 95%, 74%);--info400: hsl(198, 93%, 60%);--info500: hsl(199, 89%, 48%);--info600: hsl(200, 98%, 39%);--info700: hsl(201, 96%, 32%);--info800: hsl(201, 90%, 27%);--info900: hsl(202, 80%, 24%);--focus50: #FFFBE5;--focus100: #fff7cc;--focus200: #ffee99;--focus300: #ffe566;--focus400: #ffdd33;--focus500: #ffcc00;--focus600: #cc9900;--focus700: #996b00;--focus800: #664200;--focus900: #331f00;--accent50: hsl(25, 30%, 95%);--accent100: hsl(25, 30%, 90%);--accent150: hsl(25, 30%, 85%);--accent200: hsl(25, 30%, 80%);--accent300: hsl(25, 30%, 70%);--accent400: hsl(25, 30%, 60%);--accent500: hsl(25, 30%, 50%);--accent600: hsl(25, 30%, 40%);--accent700: hsl(25, 30%, 30%);--accent800: hsl(25, 30%, 20%);--accent900: hsl(25, 30%, 15%);--accent950: hsl(25, 30%, 10%)}*{box-sizing:border-box}html{font-family:IBM Plex Sans,sans-serif;font-optical-sizing:auto;font-weight:400;font-style:normal;font-variation-settings:"wdth" 100;color:var(--base1000)}body{margin:0;padding:0}button{font:inherit;background:none;border:none;padding:0;margin:0;cursor:pointer}input,textarea,select{font:inherit;color:inherit}*:focus-visible{outline:2px solid var(--action500);outline-offset:2px}.app-layout.svelte-12qhfyh{height:100vh;background:var(--base50);display:flex;flex-direction:column;overflow:hidden}.app-content.svelte-12qhfyh{width:100%;flex:1;overflow:auto;min-height:0}.right-controls.svelte-12qhfyh{display:flex;align-items:center;gap:12px}.detailed-mode-label.svelte-12qhfyh{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:var(--base700);cursor:pointer;-webkit-user-select:none;user-select:none}
@@ -1 +0,0 @@
1
- .container.svelte-gnijxc{background-color:var(--base500);height:calc(100vh - 40px);display:flex;overflow:hidden;gap:1px}.leftArea.svelte-gnijxc{width:250px;background-color:var(--base200);height:100%;flex:0 0 auto;display:flex;flex-direction:column;gap:1px}.leftHeader.svelte-gnijxc{background-color:var(--base100);height:20px;padding:0 8px;display:flex;align-items:center;font-size:11px;font-weight:600;color:var(--base700);text-transform:uppercase}.leftContent.svelte-gnijxc{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px;background-color:var(--base0);padding:4px}.leftFooter.svelte-gnijxc{background-color:var(--base0);padding:4px}.empty.svelte-gnijxc{padding:8px 10px;color:var(--base600);font-size:13px}.createForm.svelte-gnijxc{display:flex}
@@ -1 +0,0 @@
1
- .container.svelte-1if1h51{background-color:var(--base500);height:calc(100vh - 40px);display:flex;overflow:hidden;gap:1px}.leftArea.svelte-1if1h51{width:250px;background-color:var(--base200);height:100%;flex:0 0 auto;display:flex;flex-direction:column;gap:1px}.leftHeader.svelte-1if1h51{background-color:var(--base100);height:20px;padding:0 8px;display:flex;align-items:center;font-size:11px;font-weight:600;color:var(--base700);text-transform:uppercase}.leftContent.svelte-1if1h51{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px;background-color:var(--base0);padding:4px}.leftFooter.svelte-1if1h51{background-color:var(--base0);padding:4px}.empty.svelte-1if1h51{padding:8px 10px;color:var(--base600);font-size:13px}.createForm.svelte-1if1h51{display:flex}
@@ -1 +0,0 @@
1
- .container.svelte-1uha8ag{padding:2rem;text-align:center;color:var(--base600)}
@@ -1 +0,0 @@
1
- .placeholder.svelte-hcdhn3{display:flex;align-items:center;justify-content:center;height:100%;padding:40px}.message.svelte-hcdhn3{color:var(--base600);font-size:14px;text-align:center;max-width:400px}
@@ -1 +0,0 @@
1
- .contentFormWrapper.svelte-17bp990{display:flex;gap:8px;align-items:flex-start;width:100%}.inputWrapper.svelte-17bp990{flex:1}.textListWrapper.svelte-17bp990{display:flex;flex-direction:column;gap:8px;width:100%}.listItemRow.svelte-17bp990{display:flex;gap:8px;align-items:center}.titledListWrapper.svelte-17bp990{display:flex;flex-direction:column;gap:12px;width:100%}.titledListItemCard.svelte-17bp990{border:1px solid var(--base200);border-radius:4px;padding:12px;background-color:var(--base50);display:flex;flex-direction:column;gap:8px}.titledListItemHeader.svelte-17bp990{display:flex;align-items:center;justify-content:space-between;gap:8px}.itemNumber.svelte-17bp990{font-size:14px;font-weight:600;color:var(--base500)}.titledListItemFields.svelte-17bp990{display:flex;flex-direction:column;gap:8px}.relationsWrapper.svelte-lcvot5{display:flex;flex-direction:column;gap:16px;width:100%}.sectionHeader.svelte-lcvot5{display:flex;align-items:center;justify-content:space-between;gap:16px}.sectionTitle.svelte-lcvot5{font-size:14px;font-weight:600;color:var(--base700)}.createRelationForm.svelte-lcvot5{display:flex;flex-direction:column;gap:12px;padding:16px;background-color:var(--base50);border:1px solid var(--base200);border-radius:4px}.previewText.svelte-lcvot5{padding:12px;background-color:var(--base100);border:1px solid var(--base300);border-radius:4px;font-size:14px;font-weight:600;color:var(--base700);text-align:center}.formRow.svelte-lcvot5{display:flex;gap:12px;align-items:flex-end}.formField.svelte-lcvot5{display:flex;flex-direction:column;gap:4px;flex:1}.label.svelte-lcvot5{font-size:12px;font-weight:500;color:var(--base600)}.formActions.svelte-lcvot5{display:flex;gap:8px;justify-content:flex-end}.relationsList.svelte-lcvot5{display:flex;flex-direction:column;gap:8px}.relationItem.svelte-lcvot5{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background-color:var(--base50);border:1px solid var(--base200);border-radius:4px}.relationText.svelte-lcvot5{display:flex;align-items:center;gap:8px;font-size:14px}.nodeCode.svelte-lcvot5{font-weight:600;color:var(--base700)}.relationCode.svelte-lcvot5{color:var(--base500);font-style:italic}.emptyState.svelte-lcvot5{padding:16px;text-align:center;color:var(--base400);font-size:14px}.rightArea.svelte-15y8zm1{width:700px;background-color:var(--base100);flex:0 0 auto;display:flex;flex-direction:column;overflow-y:auto;gap:1px}.header.svelte-15y8zm1{display:flex;align-items:center;gap:16px;padding:16px 32px;background-color:var(--base0)}hr.svelte-15y8zm1{border:none;border-top:1px solid var(--base200);margin:16px 0}.title.svelte-15y8zm1{font-size:18px;font-weight:600;margin:0;color:var(--base900)}.editor.svelte-15y8zm1{display:grid;grid-template-columns:1fr;grid-auto-rows:max-content;gap:16px;padding:32px;background-color:var(--base0);flex:1}.row.svelte-15y8zm1{display:grid;grid-template-columns:1fr 1fr;gap:16px}.metaRow.svelte-15y8zm1{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:16px}.sectionHeader.svelte-15y8zm1{display:flex;align-items:center;justify-content:space-between;gap:16px}.sectionTitle.svelte-15y8zm1{font-size:18px;font-weight:600;color:var(--base900)}.blocksList.svelte-15y8zm1{display:flex;flex-direction:column;gap:8px}.nestedBlocks.svelte-15y8zm1{display:flex;flex-direction:column;gap:4px;width:100%}
@@ -1 +0,0 @@
1
- .rightArea.svelte-kxwh35{width:700px;background-color:var(--base100);flex:0 0 auto;display:flex;flex-direction:column;overflow-y:auto;gap:1px}.header.svelte-kxwh35{display:flex;align-items:center;gap:16px;padding:16px 32px;background-color:var(--base0)}.title.svelte-kxwh35{font-size:18px;font-weight:600;margin:0;color:var(--base900)}.editor.svelte-kxwh35{display:grid;grid-template-columns:1fr;grid-auto-rows:max-content;gap:16px;padding:32px;background-color:var(--base0);flex:1}hr.svelte-kxwh35{border:none;border-top:1px solid var(--base200);margin:8px 0}
@@ -1 +0,0 @@
1
- .rightArea.svelte-83jkmb{width:700px;background-color:var(--base100);flex:0 0 auto;display:flex;flex-direction:column;overflow-y:auto;gap:1px}.header.svelte-83jkmb{display:flex;align-items:center;gap:16px;padding:16px 32px;background-color:var(--base0)}.title.svelte-83jkmb{font-size:18px;font-weight:600;margin:0;color:var(--base900)}.editor.svelte-83jkmb{display:grid;grid-template-columns:1fr;grid-auto-rows:max-content;gap:16px;padding:32px;background-color:var(--base0);flex:1}.row.svelte-83jkmb{display:grid;grid-template-columns:1fr 1fr;gap:16px}hr.svelte-83jkmb{border:none;border-top:1px solid var(--base200);margin:8px 0}
@@ -1 +0,0 @@
1
- .rightArea.svelte-1d51g44{width:700px;background-color:var(--base100);flex:0 0 auto;display:flex;flex-direction:column;overflow-y:auto;gap:1px}.header.svelte-1d51g44{display:flex;align-items:center;gap:16px;padding:16px 32px;background-color:var(--base0)}hr.svelte-1d51g44{border:none;border-top:1px solid var(--base200);margin:16px 0}.title.svelte-1d51g44{font-size:18px;font-weight:600;margin:0;color:var(--base900)}.editor.svelte-1d51g44{display:grid;grid-template-columns:1fr;grid-auto-rows:max-content;gap:16px;padding:32px;background-color:var(--base0);flex:1}.row.svelte-1d51g44{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.translationRow.svelte-1d51g44{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@@ -1 +0,0 @@
1
- .mainContent.svelte-vbdj49{background-color:var(--base0);width:100%;padding:32px}.emptyMessage.svelte-vbdj49{color:var(--base600);font-size:14px}
@@ -1 +0,0 @@
1
- .mainContent.svelte-qb2uup{background-color:var(--base0);width:100%;padding:32px}.editor.svelte-qb2uup{max-width:520px;display:grid;grid-template-columns:1fr;gap:16px}.actions.svelte-qb2uup{display:flex;gap:8px}.error.svelte-qb2uup{color:var(--danger500);font-size:14px}hr.svelte-qb2uup{border:none;border-top:1px solid var(--base200);margin:8px 0}
@@ -1 +0,0 @@
1
- .container.svelte-1cswnon{height:calc(100vh - 40px);display:flex;flex-direction:column;background-color:var(--base0);overflow:hidden}.header.svelte-1cswnon{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid var(--base200)}h1.svelte-1cswnon{font-size:24px;font-weight:600;color:var(--base900);margin:0}.tabContent.svelte-1cswnon{flex:1;display:flex;flex-direction:column;height:100%;margin:-24px}.uploadSection.svelte-1cswnon{padding:16px 32px;border-bottom:1px solid var(--base200);display:flex;gap:12px;align-items:center;flex-shrink:0}.uploadButton.svelte-1cswnon{padding:10px 20px;background-color:var(--action500);color:var(--base0);border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.uploadButton.svelte-1cswnon:hover:not(.uploading){background-color:var(--action600)}.uploadButton.uploading.svelte-1cswnon{opacity:.6;cursor:not-allowed}.emptyState.svelte-1cswnon{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--base600);gap:8px}.emptyState.svelte-1cswnon p:where(.svelte-1cswnon){margin:0;font-size:16px}.emptyState.svelte-1cswnon .hint:where(.svelte-1cswnon){font-size:14px;color:var(--base500)}.thumbnailGrid.svelte-1cswnon{flex:1;padding:24px 32px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;align-content:start;min-height:0}.thumbnail.svelte-1cswnon{aspect-ratio:1;border:2px solid var(--base200);border-radius:8px;overflow:hidden;cursor:pointer;background-color:var(--base50);transition:all .2s;padding:0;display:flex;align-items:center;justify-content:center}.thumbnail.svelte-1cswnon:hover{border-color:var(--action400);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.thumbnail.selected.svelte-1cswnon{border-color:var(--action500);border-width:3px;box-shadow:0 0 0 3px var(--action100)}.thumbnail.svelte-1cswnon img:where(.svelte-1cswnon){width:100%;height:100%;object-fit:cover}.noPreview.svelte-1cswnon{color:var(--base400);font-size:13px}.presetsHeader.svelte-1cswnon{padding:0 8px 16px;border-bottom:1px solid var(--base200)}.presetsHeader.svelte-1cswnon h2:where(.svelte-1cswnon){margin:0 0 8px;font-size:18px;font-weight:600;color:var(--base900)}.description.svelte-1cswnon{margin:0;font-size:14px;color:var(--base600)}.presetsList.svelte-1cswnon{padding:16px 8px}table.svelte-1cswnon{width:100%;border-collapse:collapse}thead.svelte-1cswnon{background-color:var(--base50);position:sticky;top:0}th.svelte-1cswnon{text-align:left;padding:12px 16px;font-size:13px;font-weight:600;color:var(--base700);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--base200)}td.svelte-1cswnon{padding:16px;border-bottom:1px solid var(--base100);font-size:14px;color:var(--base800)}tbody.svelte-1cswnon tr:where(.svelte-1cswnon):hover{background-color:var(--base50)}.badge.svelte-1cswnon{display:inline-block;padding:2px 8px;margin-left:8px;background-color:var(--action100);color:var(--action700);border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}