@selvajs/selva 4.6.21-beta.0 → 4.7.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) hide show
  1. package/build/client/_app/immutable/chunks/{BRbaYEL5.js → 9i3rf9gV.js} +1 -1
  2. package/build/client/_app/immutable/chunks/9i3rf9gV.js.br +0 -0
  3. package/build/client/_app/immutable/chunks/9i3rf9gV.js.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{zOoVG74V.js → BUuRpU5m.js} +1 -1
  5. package/build/client/_app/immutable/chunks/BUuRpU5m.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/BUuRpU5m.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{COYKudi0.js → C1lje54W.js} +1 -1
  8. package/build/client/_app/immutable/chunks/C1lje54W.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/C1lje54W.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{I2TM0do6.js → CNzANXEE.js} +1 -1
  11. package/build/client/_app/immutable/chunks/CNzANXEE.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/CNzANXEE.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/{CYwmPsLn.js → CZrHjFO_.js} +1 -1
  14. package/build/client/_app/immutable/chunks/CZrHjFO_.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/CZrHjFO_.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/{B2u4e1Y9.js → CtQi8B_W.js} +5 -5
  17. package/build/client/_app/immutable/chunks/CtQi8B_W.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/CtQi8B_W.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/D0ZkELYt.js +2 -0
  20. package/build/client/_app/immutable/chunks/D0ZkELYt.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/D0ZkELYt.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/DvWy04ZP.js +2 -0
  23. package/build/client/_app/immutable/chunks/DvWy04ZP.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/DvWy04ZP.js.gz +0 -0
  25. package/build/client/_app/immutable/entry/{app.CRaXT8K-.js → app.CHLvYXSV.js} +2 -2
  26. package/build/client/_app/immutable/entry/app.CHLvYXSV.js.br +0 -0
  27. package/build/client/_app/immutable/entry/app.CHLvYXSV.js.gz +0 -0
  28. package/build/client/_app/immutable/entry/start.x7J2Q5dO.js +1 -0
  29. package/build/client/_app/immutable/entry/start.x7J2Q5dO.js.br +2 -0
  30. package/build/client/_app/immutable/entry/start.x7J2Q5dO.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/{1.DPMP9Es7.js → 1.DHaPDVfK.js} +1 -1
  32. package/build/client/_app/immutable/nodes/1.DHaPDVfK.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/1.DHaPDVfK.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/10.O0oWpOpl.js +3 -0
  35. package/build/client/_app/immutable/nodes/10.O0oWpOpl.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/10.O0oWpOpl.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/{11.BxhrIetk.js → 11.DhYj36Fk.js} +1 -1
  38. package/build/client/_app/immutable/nodes/11.DhYj36Fk.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/11.DhYj36Fk.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/{13.bzJyaCKt.js → 13.CfJOch3J.js} +1 -1
  41. package/build/client/_app/immutable/nodes/13.CfJOch3J.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/13.CfJOch3J.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/{14.XVGDZn7V.js → 14.DisTiyB2.js} +1 -1
  44. package/build/client/_app/immutable/nodes/14.DisTiyB2.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/14.DisTiyB2.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/{15.Ds7J6ry6.js → 15.A437nu0T.js} +1 -1
  47. package/build/client/_app/immutable/nodes/15.A437nu0T.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/15.A437nu0T.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/{16.C6HKDHv3.js → 16.B9S-bV_g.js} +1 -1
  50. package/build/client/_app/immutable/nodes/16.B9S-bV_g.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/16.B9S-bV_g.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/{17.BxjH0QZF.js → 17.BRN_aGIk.js} +1 -1
  53. package/build/client/_app/immutable/nodes/17.BRN_aGIk.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/17.BRN_aGIk.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/{19.BU2Lw57i.js → 19.DwCFMX9M.js} +1 -1
  56. package/build/client/_app/immutable/nodes/19.DwCFMX9M.js.br +0 -0
  57. package/build/client/_app/immutable/nodes/19.DwCFMX9M.js.gz +0 -0
  58. package/build/client/_app/immutable/nodes/{2.D9dN-poH.js → 2.DP5fYr4M.js} +1 -1
  59. package/build/client/_app/immutable/nodes/2.DP5fYr4M.js.br +0 -0
  60. package/build/client/_app/immutable/nodes/2.DP5fYr4M.js.gz +0 -0
  61. package/build/client/_app/immutable/nodes/20.nfHXDL2z.js +5414 -0
  62. package/build/client/_app/immutable/nodes/20.nfHXDL2z.js.br +0 -0
  63. package/build/client/_app/immutable/nodes/20.nfHXDL2z.js.gz +0 -0
  64. package/build/client/_app/immutable/nodes/{21.qpo7v5r_.js → 21.OD5sg0NU.js} +1 -1
  65. package/build/client/_app/immutable/nodes/21.OD5sg0NU.js.br +0 -0
  66. package/build/client/_app/immutable/nodes/21.OD5sg0NU.js.gz +0 -0
  67. package/build/client/_app/immutable/nodes/23.CNjTTgpk.js +16 -0
  68. package/build/client/_app/immutable/nodes/23.CNjTTgpk.js.br +0 -0
  69. package/build/client/_app/immutable/nodes/23.CNjTTgpk.js.gz +0 -0
  70. package/build/client/_app/immutable/nodes/{24.BSJH1lHT.js → 24.CEgabT6P.js} +1 -1
  71. package/build/client/_app/immutable/nodes/24.CEgabT6P.js.br +0 -0
  72. package/build/client/_app/immutable/nodes/24.CEgabT6P.js.gz +0 -0
  73. package/build/client/_app/immutable/nodes/{27.BKQucFUA.js → 27.CRIaBHAx.js} +1 -1
  74. package/build/client/_app/immutable/nodes/27.CRIaBHAx.js.br +0 -0
  75. package/build/client/_app/immutable/nodes/27.CRIaBHAx.js.gz +0 -0
  76. package/build/client/_app/immutable/nodes/{28.BleEhT0J.js → 28.BC6m2tWk.js} +1 -1
  77. package/build/client/_app/immutable/nodes/28.BC6m2tWk.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/28.BC6m2tWk.js.gz +0 -0
  79. package/build/client/_app/immutable/nodes/{29.fAbDo5Et.js → 29.BFYPdg-j.js} +1 -1
  80. package/build/client/_app/immutable/nodes/29.BFYPdg-j.js.br +0 -0
  81. package/build/client/_app/immutable/nodes/29.BFYPdg-j.js.gz +0 -0
  82. package/build/client/_app/immutable/nodes/{3.XubMG-dn.js → 3.J7HfMiHi.js} +1 -1
  83. package/build/client/_app/immutable/nodes/3.J7HfMiHi.js.br +0 -0
  84. package/build/client/_app/immutable/nodes/3.J7HfMiHi.js.gz +0 -0
  85. package/build/client/_app/immutable/nodes/{30.DRrc_hLr.js → 30.60AXFjfN.js} +1 -1
  86. package/build/client/_app/immutable/nodes/30.60AXFjfN.js.br +0 -0
  87. package/build/client/_app/immutable/nodes/30.60AXFjfN.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/{5.C77UuNpH.js → 5.CLnvzJQ1.js} +1 -1
  89. package/build/client/_app/immutable/nodes/5.CLnvzJQ1.js.br +1 -0
  90. package/build/client/_app/immutable/nodes/5.CLnvzJQ1.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/{6.B23L8hA_.js → 6.8mUhfqtj.js} +1 -1
  92. package/build/client/_app/immutable/nodes/6.8mUhfqtj.js.br +0 -0
  93. package/build/client/_app/immutable/nodes/6.8mUhfqtj.js.gz +0 -0
  94. package/build/client/_app/immutable/nodes/{7.BZj0oAjH.js → 7.Bu0PYCkD.js} +1 -1
  95. package/build/client/_app/immutable/nodes/7.Bu0PYCkD.js.br +0 -0
  96. package/build/client/_app/immutable/nodes/7.Bu0PYCkD.js.gz +0 -0
  97. package/build/client/_app/immutable/nodes/{8.CGy_fUC4.js → 8.CzmdM7pu.js} +1 -1
  98. package/build/client/_app/immutable/nodes/8.CzmdM7pu.js.br +0 -0
  99. package/build/client/_app/immutable/nodes/8.CzmdM7pu.js.gz +0 -0
  100. package/build/client/_app/immutable/nodes/{9.BpEiOuN0.js → 9.BogAwqgH.js} +1 -1
  101. package/build/client/_app/immutable/nodes/9.BogAwqgH.js.br +0 -0
  102. package/build/client/_app/immutable/nodes/9.BogAwqgH.js.gz +0 -0
  103. package/build/client/_app/version.json +1 -1
  104. package/build/client/_app/version.json.br +0 -0
  105. package/build/client/_app/version.json.gz +0 -0
  106. package/build/handler.js +4 -4
  107. package/build/index.js +4 -4
  108. package/build/server/chunks/chunks/{access.server.js-D99g5hZd.js → access.server.js-_nJWuQcN.js} +66 -51
  109. package/build/server/chunks/chunks/access.server.js-_nJWuQcN.js.map +1 -0
  110. package/build/server/chunks/chunks/{admin-auth.server.js-hCWF6Pqg.js → admin-auth.server.js-CitjWnKM.js} +53 -31
  111. package/build/server/chunks/chunks/admin-auth.server.js-CitjWnKM.js.map +1 -0
  112. package/build/server/chunks/chunks/{api-errors.js-yRMzxqNi.js → api-errors.js-DlfcfPJs.js} +4 -4
  113. package/build/server/chunks/chunks/{api-errors.js-yRMzxqNi.js.map → api-errors.js-DlfcfPJs.js.map} +1 -1
  114. package/build/server/chunks/chunks/{auth-bootstrap.server.js-BpQr_I_2.js → auth-bootstrap.server.js-S-F5QI4m.js} +3 -3
  115. package/build/server/chunks/chunks/{auth-bootstrap.server.js-BpQr_I_2.js.map → auth-bootstrap.server.js-S-F5QI4m.js.map} +1 -1
  116. package/build/server/chunks/chunks/{bootHealth.server.js-CxNJCaGf.js → bootHealth.server.js-CvLSuL2x.js} +27 -4
  117. package/build/server/chunks/chunks/bootHealth.server.js-CvLSuL2x.js.map +1 -0
  118. package/build/server/chunks/chunks/{clientCache.server.js-nl8vnalG.js → clientCache.server.js-BS8-NdiI.js} +21 -5
  119. package/build/server/chunks/chunks/clientCache.server.js-BS8-NdiI.js.map +1 -0
  120. package/build/server/chunks/chunks/computeLimits.js-CQh4jXlX.js +28 -0
  121. package/build/server/chunks/chunks/computeLimits.js-CQh4jXlX.js.map +1 -0
  122. package/build/server/chunks/chunks/{context.js-D8E0GFTw.js → context.js-DsQGiS2x.js} +4 -1
  123. package/build/server/chunks/chunks/context.js-DsQGiS2x.js.map +1 -0
  124. package/build/server/chunks/chunks/{evictChangedServers.js-AKiDolw-.js → evictChangedServers.js-R3UCE6wP.js} +2 -2
  125. package/build/server/chunks/chunks/{evictChangedServers.js-AKiDolw-.js.map → evictChangedServers.js-R3UCE6wP.js.map} +1 -1
  126. package/build/server/chunks/chunks/{internal2.js-CNimHS8p.js → internal2.js-BBcEKa-m.js} +3 -3
  127. package/build/server/chunks/chunks/{internal2.js-CNimHS8p.js.map → internal2.js-BBcEKa-m.js.map} +1 -1
  128. package/build/server/chunks/chunks/{org-members.server.js-HahiM88D.js → org-members.server.js-DskaqUJo.js} +2 -2
  129. package/build/server/chunks/chunks/{org-members.server.js-HahiM88D.js.map → org-members.server.js-DskaqUJo.js.map} +1 -1
  130. package/build/server/chunks/chunks/{package.js-CGjshiZJ.js → package.js-Cl0z1gce.js} +2 -2
  131. package/build/server/chunks/chunks/package.js-Cl0z1gce.js.map +1 -0
  132. package/build/server/chunks/chunks/{permissions-compat.server.js-BfoBZYSH.js → permissions-compat.server.js-DNsLyriU.js} +2 -2
  133. package/build/server/chunks/chunks/{permissions-compat.server.js-BfoBZYSH.js.map → permissions-compat.server.js-DNsLyriU.js.map} +1 -1
  134. package/build/server/chunks/chunks/{permissions.server.js-B9lpLFEj.js → permissions.server.js-C3_SFjUh.js} +2 -2
  135. package/build/server/chunks/chunks/{permissions.server.js-B9lpLFEj.js.map → permissions.server.js-C3_SFjUh.js.map} +1 -1
  136. package/build/server/chunks/chunks/{providers.server.js-D0hpk-aq.js → providers.server.js-CIHOepKv.js} +152 -34
  137. package/build/server/chunks/chunks/providers.server.js-CIHOepKv.js.map +1 -0
  138. package/build/server/chunks/chunks/redirect.js-1CZ30qn2.js +9 -0
  139. package/build/server/chunks/chunks/redirect.js-1CZ30qn2.js.map +1 -0
  140. package/build/server/chunks/chunks/{resolve.server.js-CtUK_9yC.js → resolve.server.js-Dg1o2vnd.js} +4 -4
  141. package/build/server/chunks/chunks/{resolve.server.js-CtUK_9yC.js.map → resolve.server.js-Dg1o2vnd.js.map} +1 -1
  142. package/build/server/chunks/chunks/selfUpdate.server.js-CXejyqIT.js +109 -0
  143. package/build/server/chunks/chunks/selfUpdate.server.js-CXejyqIT.js.map +1 -0
  144. package/build/server/chunks/chunks/solve-cache-key.js-BIwJfBG9.js +320 -0
  145. package/build/server/chunks/chunks/solve-cache-key.js-BIwJfBG9.js.map +1 -0
  146. package/build/server/chunks/chunks/token-codec.js-1RPNe2RW.js +32 -0
  147. package/build/server/chunks/chunks/token-codec.js-1RPNe2RW.js.map +1 -0
  148. package/build/server/chunks/chunks/{token.server.js-q3fv9Fqo.js → token.server.js-DbTfFk9r.js} +10 -6
  149. package/build/server/chunks/chunks/token.server.js-DbTfFk9r.js.map +1 -0
  150. package/build/server/chunks/chunks/{token2.server.js-Cqw1dJj-.js → token2.server.js-Cjb4XaWC.js} +10 -6
  151. package/build/server/chunks/chunks/token2.server.js-Cjb4XaWC.js.map +1 -0
  152. package/build/server/chunks/chunks/update-outcome.js-mUyfVCnt.js +99 -0
  153. package/build/server/chunks/chunks/update-outcome.js-mUyfVCnt.js.map +1 -0
  154. package/build/server/chunks/chunks/{utils4.js-BRotGwxx.js → utils4.js-8SHxuGTr.js} +2 -2
  155. package/build/server/chunks/chunks/{utils4.js-BRotGwxx.js.map → utils4.js-8SHxuGTr.js.map} +1 -1
  156. package/build/server/chunks/entries/endpoints/admin/api/compute/{_server.ts.js-9SFgd7Dh.js → _server.ts.js-CR_1eCgH.js} +12 -9
  157. package/build/server/chunks/entries/endpoints/admin/api/compute/{_server.ts.js-9SFgd7Dh.js.map → _server.ts.js-CR_1eCgH.js.map} +1 -1
  158. package/build/server/chunks/entries/endpoints/admin/api/compute/actions/{_server.ts.js-nqqXR4_e.js → _server.ts.js-D1UFM_o6.js} +6 -6
  159. package/build/server/chunks/entries/endpoints/admin/api/compute/actions/{_server.ts.js-nqqXR4_e.js.map → _server.ts.js-D1UFM_o6.js.map} +1 -1
  160. package/build/server/chunks/entries/endpoints/admin/api/compute/status/{_server.ts.js-a2K9SJfi.js → _server.ts.js-DdzXkztc.js} +6 -6
  161. package/build/server/chunks/entries/endpoints/admin/api/compute/status/{_server.ts.js-a2K9SJfi.js.map → _server.ts.js-DdzXkztc.js.map} +1 -1
  162. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/{_server.ts.js-BAhINzFq.js → _server.ts.js-CqdBKOC6.js} +6 -6
  163. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/{_server.ts.js-BAhINzFq.js.map → _server.ts.js-CqdBKOC6.js.map} +1 -1
  164. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/{_server.ts.js-DYD3g-28.js → _server.ts.js-Bi3NbLd3.js} +11 -7
  165. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/{_server.ts.js-DYD3g-28.js.map → _server.ts.js-Bi3NbLd3.js.map} +1 -1
  166. package/build/server/chunks/entries/endpoints/admin/api/orgs/{_server.ts.js-PhwONmey.js → _server.ts.js-C3ZwVpyg.js} +6 -6
  167. package/build/server/chunks/entries/endpoints/admin/api/orgs/{_server.ts.js-PhwONmey.js.map → _server.ts.js-C3ZwVpyg.js.map} +1 -1
  168. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/{_server.ts.js-DVXfLqfN.js → _server.ts.js-CAe8T4G6.js} +6 -6
  169. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/{_server.ts.js-DVXfLqfN.js.map → _server.ts.js-CAe8T4G6.js.map} +1 -1
  170. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/{_server.ts.js-C3Gcr9vO.js → _server.ts.js-DHYHT1N8.js} +6 -6
  171. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/{_server.ts.js-C3Gcr9vO.js.map → _server.ts.js-DHYHT1N8.js.map} +1 -1
  172. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/{_server.ts.js-8rwkvJsL.js → _server.ts.js-Cgt7iGfE.js} +6 -6
  173. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/{_server.ts.js-8rwkvJsL.js.map → _server.ts.js-Cgt7iGfE.js.map} +1 -1
  174. package/build/server/chunks/entries/endpoints/admin/api/projects/{_server.ts.js-BTgoWufU.js → _server.ts.js-BFi1Di59.js} +6 -6
  175. package/build/server/chunks/entries/endpoints/admin/api/projects/{_server.ts.js-BTgoWufU.js.map → _server.ts.js-BFi1Di59.js.map} +1 -1
  176. package/build/server/chunks/entries/endpoints/admin/api/system/health/{_server.ts.js-CQdxoaBS.js → _server.ts.js-Br7kd03s.js} +35 -6
  177. package/build/server/chunks/entries/endpoints/admin/api/system/health/_server.ts.js-Br7kd03s.js.map +1 -0
  178. package/build/server/chunks/entries/endpoints/admin/api/system/throughput/{_server.ts.js-DFacQgP7.js → _server.ts.js-ufKMuphM.js} +6 -6
  179. package/build/server/chunks/entries/endpoints/admin/api/system/throughput/{_server.ts.js-DFacQgP7.js.map → _server.ts.js-ufKMuphM.js.map} +1 -1
  180. package/build/server/chunks/entries/endpoints/admin/api/system/update/{_server.ts.js-y3dgQz-R.js → _server.ts.js-D-IGlEji.js} +43 -30
  181. package/build/server/chunks/entries/endpoints/admin/api/system/update/_server.ts.js-D-IGlEji.js.map +1 -0
  182. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/{_server.ts.js-BEGaGEwg.js → _server.ts.js-7Efk1xkU.js} +8 -8
  183. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/{_server.ts.js-BEGaGEwg.js.map → _server.ts.js-7Efk1xkU.js.map} +1 -1
  184. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/{_server.ts.js-CGwcR-7k.js → _server.ts.js-4UrDw7Q3.js} +6 -6
  185. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/{_server.ts.js-CGwcR-7k.js.map → _server.ts.js-4UrDw7Q3.js.map} +1 -1
  186. package/build/server/chunks/entries/endpoints/admin/api/users/{_server.ts.js-D-z-Kl_c.js → _server.ts.js-B9ZWJoST.js} +9 -9
  187. package/build/server/chunks/entries/endpoints/admin/api/users/{_server.ts.js-D-z-Kl_c.js.map → _server.ts.js-B9ZWJoST.js.map} +1 -1
  188. package/build/server/chunks/entries/endpoints/api/compute/{_server.ts.js-DkyT3FO6.js → _server.ts.js-D9qvgnX7.js} +287 -198
  189. package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-D9qvgnX7.js.map +1 -0
  190. package/build/server/chunks/entries/endpoints/api/compute/schema/{_server.ts.js-BmYC9zZb.js → _server.ts.js-CoS51dOD.js} +12 -8
  191. package/build/server/chunks/entries/endpoints/api/compute/schema/{_server.ts.js-BmYC9zZb.js.map → _server.ts.js-CoS51dOD.js.map} +1 -1
  192. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/{_server.ts.js--cRkjXHi.js → _server.ts.js-D7jS25IN.js} +11 -7
  193. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/{_server.ts.js--cRkjXHi.js.map → _server.ts.js-D7jS25IN.js.map} +1 -1
  194. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/{_server.ts.js-Dz0exqZ1.js → _server.ts.js-5hlsFhI1.js} +11 -7
  195. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/{_server.ts.js-Dz0exqZ1.js.map → _server.ts.js-5hlsFhI1.js.map} +1 -1
  196. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/{_server.ts.js-CgM8FSl0.js → _server.ts.js-CRMcPOgH.js} +11 -7
  197. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/{_server.ts.js-CgM8FSl0.js.map → _server.ts.js-CRMcPOgH.js.map} +1 -1
  198. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/{_server.ts.js-BQX0WanC.js → _server.ts.js-C8-AAq8y.js} +6 -6
  199. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/{_server.ts.js-BQX0WanC.js.map → _server.ts.js-C8-AAq8y.js.map} +1 -1
  200. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/{_server.ts.js-BsV3i0Cq.js → _server.ts.js-LV0ZGJh9.js} +6 -6
  201. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/{_server.ts.js-BsV3i0Cq.js.map → _server.ts.js-LV0ZGJh9.js.map} +1 -1
  202. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/{_server.ts.js-DWFprR5Z.js → _server.ts.js-OUvpfSN4.js} +8 -7
  203. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/{_server.ts.js-DWFprR5Z.js.map → _server.ts.js-OUvpfSN4.js.map} +1 -1
  204. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/{_server.ts.js-DA3K2FgH.js → _server.ts.js-BJxBKsrU.js} +6 -6
  205. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/{_server.ts.js-DA3K2FgH.js.map → _server.ts.js-BJxBKsrU.js.map} +1 -1
  206. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/{_server.ts.js-SHjs_zm9.js → _server.ts.js-BaHW7TEs.js} +6 -6
  207. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/{_server.ts.js-SHjs_zm9.js.map → _server.ts.js-BaHW7TEs.js.map} +1 -1
  208. package/build/server/chunks/entries/endpoints/api/definitions/{_server.ts.js-ycJ8puIN.js → _server.ts.js-CBMi-KUD.js} +11 -7
  209. package/build/server/chunks/entries/endpoints/api/definitions/{_server.ts.js-ycJ8puIN.js.map → _server.ts.js-CBMi-KUD.js.map} +1 -1
  210. package/build/server/chunks/entries/endpoints/api/diag/throughput/{_server.ts.js-BdF3kn__.js → _server.ts.js-C98KkHLg.js} +5 -5
  211. package/build/server/chunks/entries/endpoints/api/diag/throughput/{_server.ts.js-BdF3kn__.js.map → _server.ts.js-C98KkHLg.js.map} +1 -1
  212. package/build/server/chunks/entries/endpoints/api/files/_...path_/{_server.ts.js-C26jiO43.js → _server.ts.js-CeTV6qVK.js} +6 -6
  213. package/build/server/chunks/entries/endpoints/api/files/_...path_/{_server.ts.js-C26jiO43.js.map → _server.ts.js-CeTV6qVK.js.map} +1 -1
  214. package/build/server/chunks/entries/endpoints/api/health/{_server.ts.js-CoRl_nbA.js → _server.ts.js-7eclLbhJ.js} +4 -4
  215. package/build/server/chunks/entries/endpoints/api/health/{_server.ts.js-CoRl_nbA.js.map → _server.ts.js-7eclLbhJ.js.map} +1 -1
  216. package/build/server/chunks/entries/endpoints/api/invites/_id_/{_server.ts.js-CvAeI7gV.js → _server.ts.js-DNh5594J.js} +6 -6
  217. package/build/server/chunks/entries/endpoints/api/invites/_id_/{_server.ts.js-CvAeI7gV.js.map → _server.ts.js-DNh5594J.js.map} +1 -1
  218. package/build/server/chunks/entries/endpoints/api/invites/{_server.ts.js-Cd0V4sta.js → _server.ts.js-DGKHjtw8.js} +9 -8
  219. package/build/server/chunks/entries/endpoints/api/invites/{_server.ts.js-Cd0V4sta.js.map → _server.ts.js-DGKHjtw8.js.map} +1 -1
  220. package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/{_server.ts.js-BThetmba.js → _server.ts.js-CZ50nT84.js} +5 -5
  221. package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/{_server.ts.js-BThetmba.js.map → _server.ts.js-CZ50nT84.js.map} +1 -1
  222. package/build/server/chunks/entries/endpoints/api/org/compute/{_server.ts.js-B4lGohx2.js → _server.ts.js-Bf1qSz52.js} +12 -9
  223. package/build/server/chunks/entries/endpoints/api/org/compute/_server.ts.js-Bf1qSz52.js.map +1 -0
  224. package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/{_server.ts.js-BcW-ZH-q.js → _server.ts.js-8PZedKem.js} +6 -6
  225. package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/{_server.ts.js-BcW-ZH-q.js.map → _server.ts.js-8PZedKem.js.map} +1 -1
  226. package/build/server/chunks/entries/endpoints/api/projects/_id_/{_server.ts.js-bIB33ABF.js → _server.ts.js-C6v2wqYB.js} +6 -6
  227. package/build/server/chunks/entries/endpoints/api/projects/_id_/{_server.ts.js-bIB33ABF.js.map → _server.ts.js-C6v2wqYB.js.map} +1 -1
  228. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/{_server.ts.js-B1AwpUGi.js → _server.ts.js-B3WPTw6C.js} +6 -6
  229. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/{_server.ts.js-B1AwpUGi.js.map → _server.ts.js-B3WPTw6C.js.map} +1 -1
  230. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/{_server.ts.js-DMl495J4.js → _server.ts.js-CY3ngc5p.js} +6 -6
  231. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/{_server.ts.js-DMl495J4.js.map → _server.ts.js-CY3ngc5p.js.map} +1 -1
  232. package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/{_server.ts.js-DFJbS6RF.js → _server.ts.js-DMAeVu3R.js} +6 -6
  233. package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/{_server.ts.js-DFJbS6RF.js.map → _server.ts.js-DMAeVu3R.js.map} +1 -1
  234. package/build/server/chunks/entries/endpoints/api/projects/{_server.ts.js-Gcc5eHXJ.js → _server.ts.js-D32BzObk.js} +6 -6
  235. package/build/server/chunks/entries/endpoints/api/projects/{_server.ts.js-Gcc5eHXJ.js.map → _server.ts.js-D32BzObk.js.map} +1 -1
  236. package/build/server/chunks/entries/endpoints/auth/email/callback/{_server.ts.js-B7kvAKyV.js → _server.ts.js-DREl2Sbq.js} +12 -7
  237. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-DREl2Sbq.js.map +1 -0
  238. package/build/server/chunks/entries/endpoints/auth/supabase/callback/{_server.ts.js-3yXXN2SO.js → _server.ts.js-CmIWOQ81.js} +12 -7
  239. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-CmIWOQ81.js.map +1 -0
  240. package/build/server/chunks/entries/endpoints/auth/supabase/start/{_server.ts.js-1z1P1Ihi.js → _server.ts.js-D0O8rZwg.js} +5 -5
  241. package/build/server/chunks/entries/endpoints/auth/supabase/start/{_server.ts.js-1z1P1Ihi.js.map → _server.ts.js-D0O8rZwg.js.map} +1 -1
  242. package/build/server/chunks/entries/{hooks.server.js-OUXv4_qA.js → hooks.server.js-DSn6v_nP.js} +88 -40
  243. package/build/server/chunks/entries/hooks.server.js-DSn6v_nP.js.map +1 -0
  244. package/build/server/chunks/entries/pages/{_layout.server.ts.js-Cu7ejVMb.js → _layout.server.ts.js-Cts38lSM.js} +2 -2
  245. package/build/server/chunks/entries/pages/{_layout.server.ts.js-Cu7ejVMb.js.map → _layout.server.ts.js-Cts38lSM.js.map} +1 -1
  246. package/build/server/chunks/entries/pages/accept-invite/{_page.server.ts.js-koO2loGE.js → _page.server.ts.js-BIr1NoEK.js} +5 -5
  247. package/build/server/chunks/entries/pages/accept-invite/{_page.server.ts.js-koO2loGE.js.map → _page.server.ts.js-BIr1NoEK.js.map} +1 -1
  248. package/build/server/chunks/entries/pages/admin/{_layout.server.ts.js-BcS7EPWJ.js → _layout.server.ts.js-DjB5P2N0.js} +3 -3
  249. package/build/server/chunks/entries/pages/admin/{_layout.server.ts.js-BcS7EPWJ.js.map → _layout.server.ts.js-DjB5P2N0.js.map} +1 -1
  250. package/build/server/chunks/entries/pages/admin/{_page.server.ts.js-ColpdHsj.js → _page.server.ts.js-DMawiAOU.js} +4 -4
  251. package/build/server/chunks/entries/pages/admin/{_page.server.ts.js-ColpdHsj.js.map → _page.server.ts.js-DMawiAOU.js.map} +1 -1
  252. package/build/server/chunks/entries/pages/admin/audit/{_page.server.ts.js-pm9fJjcH.js → _page.server.ts.js-CJie_AQe.js} +14 -5
  253. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-CJie_AQe.js.map +1 -0
  254. package/build/server/chunks/entries/pages/admin/audit/{_page.svelte.js-smQE9KlB.js → _page.svelte.js-B3TE0-_a.js} +6 -2
  255. package/build/server/chunks/entries/pages/admin/audit/_page.svelte.js-B3TE0-_a.js.map +1 -0
  256. package/build/server/chunks/entries/pages/admin/compute/{_page.server.ts.js-btPxjqx4.js → _page.server.ts.js-DJI-BqLn.js} +5 -5
  257. package/build/server/chunks/entries/pages/admin/compute/{_page.server.ts.js-btPxjqx4.js.map → _page.server.ts.js-DJI-BqLn.js.map} +1 -1
  258. package/build/server/chunks/entries/pages/admin/organizations/{_page.server.ts.js-CQSWGW0Y.js → _page.server.ts.js-DRZlByRc.js} +3 -3
  259. package/build/server/chunks/entries/pages/admin/organizations/{_page.server.ts.js-CQSWGW0Y.js.map → _page.server.ts.js-DRZlByRc.js.map} +1 -1
  260. package/build/server/chunks/entries/pages/admin/projects/_id_/{_page.server.ts.js-DWObSxSO.js → _page.server.ts.js-cnc8alqe.js} +9 -7
  261. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-cnc8alqe.js.map +1 -0
  262. package/build/server/chunks/entries/pages/admin/projects/{_page.server.ts.js-BSYX7hSD.js → _page.server.ts.js-7suWtJxu.js} +3 -3
  263. package/build/server/chunks/entries/pages/admin/projects/{_page.server.ts.js-BSYX7hSD.js.map → _page.server.ts.js-7suWtJxu.js.map} +1 -1
  264. package/build/server/chunks/entries/pages/admin/system/{_page.server.ts.js-DFA57irm.js → _page.server.ts.js-C0ZdK8vU.js} +6 -6
  265. package/build/server/chunks/entries/pages/admin/system/{_page.server.ts.js-DFA57irm.js.map → _page.server.ts.js-C0ZdK8vU.js.map} +1 -1
  266. package/build/server/chunks/entries/pages/admin/system/{_page.svelte.js-D4Z-BGD2.js → _page.svelte.js-CqNLFuOZ.js} +2 -97
  267. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-CqNLFuOZ.js.map +1 -0
  268. package/build/server/chunks/entries/pages/admin/users/{_page.server.ts.js-B0s6jSPs.js → _page.server.ts.js-C1LiUNB_.js} +5 -5
  269. package/build/server/chunks/entries/pages/admin/users/{_page.server.ts.js-B0s6jSPs.js.map → _page.server.ts.js-C1LiUNB_.js.map} +1 -1
  270. package/build/server/chunks/entries/pages/admin/users/{_page.svelte.js-CO0kHa1b.js → _page.svelte.js-C-jy08cJ.js} +2 -2
  271. package/build/server/chunks/entries/pages/admin/users/{_page.svelte.js-CO0kHa1b.js.map → _page.svelte.js-C-jy08cJ.js.map} +1 -1
  272. package/build/server/chunks/entries/pages/auth/email/start/{_page.server.ts.js-F8fXU2YV.js → _page.server.ts.js-Bf5aciLN.js} +4 -3
  273. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-Bf5aciLN.js.map +1 -0
  274. package/build/server/chunks/entries/pages/library/_guid_/{_page.server.ts.js-BXXiZbrJ.js → _page.server.ts.js-Cd1cMb0M.js} +9 -9
  275. package/build/server/chunks/entries/pages/library/_guid_/{_page.server.ts.js-BXXiZbrJ.js.map → _page.server.ts.js-Cd1cMb0M.js.map} +1 -1
  276. package/build/server/chunks/entries/pages/library/_guid_/{_page.svelte.js-BpEnQ79H.js → _page.svelte.js-BHPELPpI.js} +53 -1
  277. package/build/server/chunks/entries/pages/library/_guid_/{_page.svelte.js-BpEnQ79H.js.map → _page.svelte.js-BHPELPpI.js.map} +1 -1
  278. package/build/server/chunks/entries/pages/library/{_page.server.ts.js-CNsQMZl_.js → _page.server.ts.js-CkNgTDfl.js} +4 -4
  279. package/build/server/chunks/entries/pages/library/{_page.server.ts.js-CNsQMZl_.js.map → _page.server.ts.js-CkNgTDfl.js.map} +1 -1
  280. package/build/server/chunks/entries/pages/login/{_page.server.ts.js-DLtWh9lt.js → _page.server.ts.js-BM0BZFoZ.js} +4 -3
  281. package/build/server/chunks/entries/pages/login/_page.server.ts.js-BM0BZFoZ.js.map +1 -0
  282. package/build/server/chunks/entries/pages/logout/{_page.server.ts.js-DbaORCjB.js → _page.server.ts.js-Cc1BjCbc.js} +2 -2
  283. package/build/server/chunks/entries/pages/logout/{_page.server.ts.js-DbaORCjB.js.map → _page.server.ts.js-Cc1BjCbc.js.map} +1 -1
  284. package/build/server/chunks/entries/pages/projects/{_layout.server.ts.js-CNMJpFAK.js → _layout.server.ts.js-DuJkKJcb.js} +2 -2
  285. package/build/server/chunks/entries/pages/projects/{_layout.server.ts.js-CNMJpFAK.js.map → _layout.server.ts.js-DuJkKJcb.js.map} +1 -1
  286. package/build/server/chunks/entries/pages/projects/{_page.server.ts.js-BPAfS2yX.js → _page.server.ts.js-6JTf7XX0.js} +5 -5
  287. package/build/server/chunks/entries/pages/projects/{_page.server.ts.js-BPAfS2yX.js.map → _page.server.ts.js-6JTf7XX0.js.map} +1 -1
  288. package/build/server/chunks/entries/pages/projects/{_page.svelte.js-nQ9Uj1kK.js → _page.svelte.js-DVU6xc3i.js} +30 -4
  289. package/build/server/chunks/entries/pages/projects/_page.svelte.js-DVU6xc3i.js.map +1 -0
  290. package/build/server/chunks/entries/pages/setup/{_page.server.ts.js-DmwzD-qo.js → _page.server.ts.js-CAIQvVcR.js} +5 -5
  291. package/build/server/chunks/entries/pages/setup/{_page.server.ts.js-DmwzD-qo.js.map → _page.server.ts.js-CAIQvVcR.js.map} +1 -1
  292. package/build/server/chunks/entries/pages/team/{_layout.server.ts.js-Bm1MwrYZ.js → _layout.server.ts.js-CBM_iY4T.js} +2 -2
  293. package/build/server/chunks/entries/pages/team/{_layout.server.ts.js-Bm1MwrYZ.js.map → _layout.server.ts.js-CBM_iY4T.js.map} +1 -1
  294. package/build/server/chunks/entries/pages/team/{_page.server.ts.js-DjFIDiK1.js → _page.server.ts.js-Pf-MSXv0.js} +2 -2
  295. package/build/server/chunks/entries/pages/team/{_page.server.ts.js-DjFIDiK1.js.map → _page.server.ts.js-Pf-MSXv0.js.map} +1 -1
  296. package/build/server/chunks/entries/pages/team/compute/{_page.server.ts.js-B331KcmA.js → _page.server.ts.js-CR-ddKJ4.js} +4 -4
  297. package/build/server/chunks/entries/pages/team/compute/{_page.server.ts.js-B331KcmA.js.map → _page.server.ts.js-CR-ddKJ4.js.map} +1 -1
  298. package/build/server/chunks/entries/pages/team/members/{_page.server.ts.js-lSFTK3rq.js → _page.server.ts.js-DCQ0yy-F.js} +3 -3
  299. package/build/server/chunks/entries/pages/team/members/{_page.server.ts.js-lSFTK3rq.js.map → _page.server.ts.js-DCQ0yy-F.js.map} +1 -1
  300. package/build/server/chunks/entries/pages/team/members/{_page.svelte.js-C70N76b0.js → _page.svelte.js-DVOfVzGn.js} +2 -2
  301. package/build/server/chunks/entries/pages/team/members/{_page.svelte.js-C70N76b0.js.map → _page.svelte.js-DVOfVzGn.js.map} +1 -1
  302. package/build/server/chunks/entries/pages/team/projects/{_page.server.ts.js-CFZGG_Ci.js → _page.server.ts.js-FUxzp5PC.js} +3 -3
  303. package/build/server/chunks/entries/pages/team/projects/{_page.server.ts.js-CFZGG_Ci.js.map → _page.server.ts.js-FUxzp5PC.js.map} +1 -1
  304. package/build/server/chunks/entries/pages/team/reclaim/{_page.server.ts.js-AFrlbBl8.js → _page.server.ts.js-Btcar0yP.js} +3 -3
  305. package/build/server/chunks/entries/pages/team/reclaim/{_page.server.ts.js-AFrlbBl8.js.map → _page.server.ts.js-Btcar0yP.js.map} +1 -1
  306. package/build/server/chunks/entries/pages/team/settings/{_page.server.ts.js-BbKtggo9.js → _page.server.ts.js-CS5FLYXE.js} +3 -3
  307. package/build/server/chunks/entries/pages/team/settings/{_page.server.ts.js-BbKtggo9.js.map → _page.server.ts.js-CS5FLYXE.js.map} +1 -1
  308. package/build/server/chunks/entries/pages/team/shares/{_page.server.ts.js-B0XsHyzb.js → _page.server.ts.js-B1QqNYRo.js} +2 -2
  309. package/build/server/chunks/entries/pages/team/shares/{_page.server.ts.js-B0XsHyzb.js.map → _page.server.ts.js-B1QqNYRo.js.map} +1 -1
  310. package/build/server/chunks/{handler-BVoIPaUa.js → handler-CiXlY3wu.js} +3 -3
  311. package/build/server/chunks/{handler-BVoIPaUa.js.map → handler-CiXlY3wu.js.map} +1 -1
  312. package/build/server/chunks/{index.js-hj4o2h8q.js → index.js-CfdDzNmO.js} +2 -2
  313. package/build/server/chunks/{index.js-hj4o2h8q.js.map → index.js-CfdDzNmO.js.map} +1 -1
  314. package/build/server/chunks/{manifest.js-BIVs9dfJ.js → manifest.js-DZ6WZ-WA.js} +76 -76
  315. package/build/server/chunks/{manifest.js-BIVs9dfJ.js.map → manifest.js-DZ6WZ-WA.js.map} +1 -1
  316. package/build/server/chunks/nodes/{0.js-OxxVvycM.js → 0.js-BMoQIPmA.js} +4 -4
  317. package/build/server/chunks/nodes/{0.js-OxxVvycM.js.map → 0.js-BMoQIPmA.js.map} +1 -1
  318. package/build/server/chunks/nodes/{1.js-Bs6uvYbc.js → 1.js-Cm5AdicB.js} +2 -2
  319. package/build/server/chunks/nodes/{1.js-Bs6uvYbc.js.map → 1.js-Cm5AdicB.js.map} +1 -1
  320. package/build/server/chunks/nodes/{10.js-CvIgMW7D.js → 10.js-BNCwQwZV.js} +9 -9
  321. package/build/server/chunks/nodes/{10.js-CvIgMW7D.js.map → 10.js-BNCwQwZV.js.map} +1 -1
  322. package/build/server/chunks/nodes/{11.js-CnBjS7-t.js → 11.js-DkWLgBVg.js} +8 -8
  323. package/build/server/chunks/nodes/{11.js-CnBjS7-t.js.map → 11.js-DkWLgBVg.js.map} +1 -1
  324. package/build/server/chunks/nodes/{12.js-Dq_XopIA.js → 12.js-kNjmUDDo.js} +4 -4
  325. package/build/server/chunks/nodes/{12.js-Dq_XopIA.js.map → 12.js-kNjmUDDo.js.map} +1 -1
  326. package/build/server/chunks/nodes/{13.js-CqZCtg80.js → 13.js-jNBOb5Ni.js} +5 -5
  327. package/build/server/chunks/nodes/{13.js-CqZCtg80.js.map → 13.js-jNBOb5Ni.js.map} +1 -1
  328. package/build/server/chunks/nodes/{14.js-OvULgcZx.js → 14.js-jkWhR5ra.js} +5 -5
  329. package/build/server/chunks/nodes/{14.js-OvULgcZx.js.map → 14.js-jkWhR5ra.js.map} +1 -1
  330. package/build/server/chunks/nodes/{15.js-3rOev7kG.js → 15.js-Bh0tBhZ6.js} +15 -11
  331. package/build/server/chunks/nodes/{15.js-3rOev7kG.js.map → 15.js-Bh0tBhZ6.js.map} +1 -1
  332. package/build/server/chunks/nodes/{16.js-DY4bmQK_.js → 16.js-BjSvS7x7.js} +11 -11
  333. package/build/server/chunks/nodes/{16.js-DY4bmQK_.js.map → 16.js-BjSvS7x7.js.map} +1 -1
  334. package/build/server/chunks/nodes/{17.js-DzcgsMqq.js → 17.js-CVAlNLd1.js} +2 -2
  335. package/build/server/chunks/nodes/{17.js-DzcgsMqq.js.map → 17.js-CVAlNLd1.js.map} +1 -1
  336. package/build/server/chunks/nodes/{18.js-C3GcE50R.js → 18.js-m1EmD7J9.js} +10 -5
  337. package/build/server/chunks/nodes/{18.js-C3GcE50R.js.map → 18.js-m1EmD7J9.js.map} +1 -1
  338. package/build/server/chunks/nodes/{19.js-4ei3NRJW.js → 19.js-Cvq4wk_v.js} +8 -8
  339. package/build/server/chunks/nodes/{19.js-4ei3NRJW.js.map → 19.js-Cvq4wk_v.js.map} +1 -1
  340. package/build/server/chunks/nodes/{2.js-BhhMlQQP.js → 2.js-_j2qbJf6.js} +8 -8
  341. package/build/server/chunks/nodes/{2.js-BhhMlQQP.js.map → 2.js-_j2qbJf6.js.map} +1 -1
  342. package/build/server/chunks/nodes/{20.js-BQZue73m.js → 20.js-BjgFHK82.js} +17 -13
  343. package/build/server/chunks/nodes/{20.js-BQZue73m.js.map → 20.js-BjgFHK82.js.map} +1 -1
  344. package/build/server/chunks/nodes/{21.js-BAkAIvfV.js → 21.js-C3u9VeIP.js} +12 -7
  345. package/build/server/chunks/nodes/{21.js-BAkAIvfV.js.map → 21.js-C3u9VeIP.js.map} +1 -1
  346. package/build/server/chunks/nodes/{22.js-d354Ho4z.js → 22.js-3vW3ZPjE.js} +8 -3
  347. package/build/server/chunks/nodes/{22.js-d354Ho4z.js.map → 22.js-3vW3ZPjE.js.map} +1 -1
  348. package/build/server/chunks/nodes/{23.js-BMNUZekw.js → 23.js-h3AKg2Bd.js} +9 -9
  349. package/build/server/chunks/nodes/{23.js-BMNUZekw.js.map → 23.js-h3AKg2Bd.js.map} +1 -1
  350. package/build/server/chunks/nodes/{24.js-BGD-JCcE.js → 24.js-DcfMC0S6.js} +11 -7
  351. package/build/server/chunks/nodes/{24.js-BGD-JCcE.js.map → 24.js-DcfMC0S6.js.map} +1 -1
  352. package/build/server/chunks/nodes/{25.js-BqxnZYdq.js → 25.js-B8F-WcNH.js} +4 -4
  353. package/build/server/chunks/nodes/{25.js-BqxnZYdq.js.map → 25.js-B8F-WcNH.js.map} +1 -1
  354. package/build/server/chunks/nodes/{27.js-Bpas2N07.js → 27.js-DmjAkuen.js} +6 -6
  355. package/build/server/chunks/nodes/{27.js-Bpas2N07.js.map → 27.js-DmjAkuen.js.map} +1 -1
  356. package/build/server/chunks/nodes/{28.js-CzzcTWyj.js → 28.js-B7Rf1M8l.js} +6 -6
  357. package/build/server/chunks/nodes/{28.js-CzzcTWyj.js.map → 28.js-B7Rf1M8l.js.map} +1 -1
  358. package/build/server/chunks/nodes/{29.js-D-yU37B7.js → 29.js-DFPsK4BF.js} +5 -5
  359. package/build/server/chunks/nodes/{29.js-D-yU37B7.js.map → 29.js-DFPsK4BF.js.map} +1 -1
  360. package/build/server/chunks/nodes/{3.js-Cz9pT7ce.js → 3.js-DEDKRIYO.js} +2 -2
  361. package/build/server/chunks/nodes/{3.js-Cz9pT7ce.js.map → 3.js-DEDKRIYO.js.map} +1 -1
  362. package/build/server/chunks/nodes/{30.js-CTnqbIs1.js → 30.js-B17mHAaN.js} +5 -5
  363. package/build/server/chunks/nodes/{30.js-CTnqbIs1.js.map → 30.js-B17mHAaN.js.map} +1 -1
  364. package/build/server/chunks/nodes/{31.js-BzVXDu0q.js → 31.js-g3F8A8P0.js} +4 -4
  365. package/build/server/chunks/nodes/{31.js-BzVXDu0q.js.map → 31.js-g3F8A8P0.js.map} +1 -1
  366. package/build/server/chunks/nodes/{32.js-D5n6ZsDK.js → 32.js-1VSkrG-2.js} +4 -4
  367. package/build/server/chunks/nodes/{32.js-D5n6ZsDK.js.map → 32.js-1VSkrG-2.js.map} +1 -1
  368. package/build/server/chunks/nodes/{5.js-BJ8b3aNu.js → 5.js-BvHhhp_p.js} +4 -4
  369. package/build/server/chunks/nodes/{5.js-BJ8b3aNu.js.map → 5.js-BvHhhp_p.js.map} +1 -1
  370. package/build/server/chunks/nodes/{6.js-BUe0tZCB.js → 6.js-BHejxveY.js} +5 -5
  371. package/build/server/chunks/nodes/{6.js-BUe0tZCB.js.map → 6.js-BHejxveY.js.map} +1 -1
  372. package/build/server/chunks/nodes/{7.js-Bo7bTIfx.js → 7.js-CV5qjTXV.js} +2 -2
  373. package/build/server/chunks/nodes/{7.js-Bo7bTIfx.js.map → 7.js-CV5qjTXV.js.map} +1 -1
  374. package/build/server/chunks/nodes/{8.js-C6iVKn1o.js → 8.js-jhS48nhZ.js} +12 -7
  375. package/build/server/chunks/nodes/{8.js-C6iVKn1o.js.map → 8.js-jhS48nhZ.js.map} +1 -1
  376. package/build/server/chunks/nodes/{9.js-DPMqw-Dj.js → 9.js-27g91Gox.js} +6 -6
  377. package/build/server/chunks/nodes/{9.js-DPMqw-Dj.js.map → 9.js-27g91Gox.js.map} +1 -1
  378. package/package.json +4 -4
  379. package/templates/.env.example +57 -0
  380. package/build/client/_app/immutable/chunks/B2u4e1Y9.js.br +0 -0
  381. package/build/client/_app/immutable/chunks/B2u4e1Y9.js.gz +0 -0
  382. package/build/client/_app/immutable/chunks/BRbaYEL5.js.br +0 -0
  383. package/build/client/_app/immutable/chunks/BRbaYEL5.js.gz +0 -0
  384. package/build/client/_app/immutable/chunks/COYKudi0.js.br +0 -0
  385. package/build/client/_app/immutable/chunks/COYKudi0.js.gz +0 -0
  386. package/build/client/_app/immutable/chunks/CYwmPsLn.js.br +0 -0
  387. package/build/client/_app/immutable/chunks/CYwmPsLn.js.gz +0 -0
  388. package/build/client/_app/immutable/chunks/CxPY7Obc.js +0 -2
  389. package/build/client/_app/immutable/chunks/CxPY7Obc.js.br +0 -0
  390. package/build/client/_app/immutable/chunks/CxPY7Obc.js.gz +0 -0
  391. package/build/client/_app/immutable/chunks/I2TM0do6.js.br +0 -0
  392. package/build/client/_app/immutable/chunks/I2TM0do6.js.gz +0 -0
  393. package/build/client/_app/immutable/chunks/IUqeb3TJ.js +0 -2
  394. package/build/client/_app/immutable/chunks/IUqeb3TJ.js.br +0 -0
  395. package/build/client/_app/immutable/chunks/IUqeb3TJ.js.gz +0 -0
  396. package/build/client/_app/immutable/chunks/zOoVG74V.js.br +0 -0
  397. package/build/client/_app/immutable/chunks/zOoVG74V.js.gz +0 -0
  398. package/build/client/_app/immutable/entry/app.CRaXT8K-.js.br +0 -0
  399. package/build/client/_app/immutable/entry/app.CRaXT8K-.js.gz +0 -0
  400. package/build/client/_app/immutable/entry/start.DuKqaS_0.js +0 -1
  401. package/build/client/_app/immutable/entry/start.DuKqaS_0.js.br +0 -0
  402. package/build/client/_app/immutable/entry/start.DuKqaS_0.js.gz +0 -0
  403. package/build/client/_app/immutable/nodes/1.DPMP9Es7.js.br +0 -0
  404. package/build/client/_app/immutable/nodes/1.DPMP9Es7.js.gz +0 -0
  405. package/build/client/_app/immutable/nodes/10.DMJdbPyC.js +0 -3
  406. package/build/client/_app/immutable/nodes/10.DMJdbPyC.js.br +0 -0
  407. package/build/client/_app/immutable/nodes/10.DMJdbPyC.js.gz +0 -0
  408. package/build/client/_app/immutable/nodes/11.BxhrIetk.js.br +0 -0
  409. package/build/client/_app/immutable/nodes/11.BxhrIetk.js.gz +0 -0
  410. package/build/client/_app/immutable/nodes/13.bzJyaCKt.js.br +0 -0
  411. package/build/client/_app/immutable/nodes/13.bzJyaCKt.js.gz +0 -0
  412. package/build/client/_app/immutable/nodes/14.XVGDZn7V.js.br +0 -0
  413. package/build/client/_app/immutable/nodes/14.XVGDZn7V.js.gz +0 -0
  414. package/build/client/_app/immutable/nodes/15.Ds7J6ry6.js.br +0 -0
  415. package/build/client/_app/immutable/nodes/15.Ds7J6ry6.js.gz +0 -0
  416. package/build/client/_app/immutable/nodes/16.C6HKDHv3.js.br +0 -0
  417. package/build/client/_app/immutable/nodes/16.C6HKDHv3.js.gz +0 -0
  418. package/build/client/_app/immutable/nodes/17.BxjH0QZF.js.br +0 -0
  419. package/build/client/_app/immutable/nodes/17.BxjH0QZF.js.gz +0 -0
  420. package/build/client/_app/immutable/nodes/19.BU2Lw57i.js.br +0 -0
  421. package/build/client/_app/immutable/nodes/19.BU2Lw57i.js.gz +0 -0
  422. package/build/client/_app/immutable/nodes/2.D9dN-poH.js.br +0 -0
  423. package/build/client/_app/immutable/nodes/2.D9dN-poH.js.gz +0 -0
  424. package/build/client/_app/immutable/nodes/20.BIo_tnO_.js +0 -5021
  425. package/build/client/_app/immutable/nodes/20.BIo_tnO_.js.br +0 -0
  426. package/build/client/_app/immutable/nodes/20.BIo_tnO_.js.gz +0 -0
  427. package/build/client/_app/immutable/nodes/21.qpo7v5r_.js.br +0 -0
  428. package/build/client/_app/immutable/nodes/21.qpo7v5r_.js.gz +0 -0
  429. package/build/client/_app/immutable/nodes/23.CdjZcdrJ.js +0 -16
  430. package/build/client/_app/immutable/nodes/23.CdjZcdrJ.js.br +0 -0
  431. package/build/client/_app/immutable/nodes/23.CdjZcdrJ.js.gz +0 -0
  432. package/build/client/_app/immutable/nodes/24.BSJH1lHT.js.br +0 -0
  433. package/build/client/_app/immutable/nodes/24.BSJH1lHT.js.gz +0 -0
  434. package/build/client/_app/immutable/nodes/27.BKQucFUA.js.br +0 -0
  435. package/build/client/_app/immutable/nodes/27.BKQucFUA.js.gz +0 -0
  436. package/build/client/_app/immutable/nodes/28.BleEhT0J.js.br +0 -0
  437. package/build/client/_app/immutable/nodes/28.BleEhT0J.js.gz +0 -0
  438. package/build/client/_app/immutable/nodes/29.fAbDo5Et.js.br +0 -0
  439. package/build/client/_app/immutable/nodes/29.fAbDo5Et.js.gz +0 -0
  440. package/build/client/_app/immutable/nodes/3.XubMG-dn.js.br +0 -0
  441. package/build/client/_app/immutable/nodes/3.XubMG-dn.js.gz +0 -0
  442. package/build/client/_app/immutable/nodes/30.DRrc_hLr.js.br +0 -0
  443. package/build/client/_app/immutable/nodes/30.DRrc_hLr.js.gz +0 -0
  444. package/build/client/_app/immutable/nodes/5.C77UuNpH.js.br +0 -1
  445. package/build/client/_app/immutable/nodes/5.C77UuNpH.js.gz +0 -0
  446. package/build/client/_app/immutable/nodes/6.B23L8hA_.js.br +0 -0
  447. package/build/client/_app/immutable/nodes/6.B23L8hA_.js.gz +0 -0
  448. package/build/client/_app/immutable/nodes/7.BZj0oAjH.js.br +0 -0
  449. package/build/client/_app/immutable/nodes/7.BZj0oAjH.js.gz +0 -0
  450. package/build/client/_app/immutable/nodes/8.CGy_fUC4.js.br +0 -0
  451. package/build/client/_app/immutable/nodes/8.CGy_fUC4.js.gz +0 -0
  452. package/build/client/_app/immutable/nodes/9.BpEiOuN0.js.br +0 -0
  453. package/build/client/_app/immutable/nodes/9.BpEiOuN0.js.gz +0 -0
  454. package/build/server/chunks/chunks/access.server.js-D99g5hZd.js.map +0 -1
  455. package/build/server/chunks/chunks/admin-auth.server.js-hCWF6Pqg.js.map +0 -1
  456. package/build/server/chunks/chunks/bootHealth.server.js-CxNJCaGf.js.map +0 -1
  457. package/build/server/chunks/chunks/clientCache.server.js-nl8vnalG.js.map +0 -1
  458. package/build/server/chunks/chunks/computeLimits.js-C5c7HPGJ.js +0 -20
  459. package/build/server/chunks/chunks/computeLimits.js-C5c7HPGJ.js.map +0 -1
  460. package/build/server/chunks/chunks/context.js-D8E0GFTw.js.map +0 -1
  461. package/build/server/chunks/chunks/package.js-CGjshiZJ.js.map +0 -1
  462. package/build/server/chunks/chunks/providers.server.js-D0hpk-aq.js.map +0 -1
  463. package/build/server/chunks/chunks/token.server.js-q3fv9Fqo.js.map +0 -1
  464. package/build/server/chunks/chunks/token2.server.js-Cqw1dJj-.js.map +0 -1
  465. package/build/server/chunks/entries/endpoints/admin/api/system/health/_server.ts.js-CQdxoaBS.js.map +0 -1
  466. package/build/server/chunks/entries/endpoints/admin/api/system/update/_server.ts.js-y3dgQz-R.js.map +0 -1
  467. package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-DkyT3FO6.js.map +0 -1
  468. package/build/server/chunks/entries/endpoints/api/org/compute/_server.ts.js-B4lGohx2.js.map +0 -1
  469. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-B7kvAKyV.js.map +0 -1
  470. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-3yXXN2SO.js.map +0 -1
  471. package/build/server/chunks/entries/hooks.server.js-OUXv4_qA.js.map +0 -1
  472. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-pm9fJjcH.js.map +0 -1
  473. package/build/server/chunks/entries/pages/admin/audit/_page.svelte.js-smQE9KlB.js.map +0 -1
  474. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-DWObSxSO.js.map +0 -1
  475. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-D4Z-BGD2.js.map +0 -1
  476. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-F8fXU2YV.js.map +0 -1
  477. package/build/server/chunks/entries/pages/login/_page.server.ts.js-DLtWh9lt.js.map +0 -1
  478. package/build/server/chunks/entries/pages/projects/_page.svelte.js-nQ9Uj1kK.js.map +0 -1
@@ -1,16 +0,0 @@
1
- import"../chunks/DsnmJJEf.js";import{s as g,F as Mt,g as e,u as F,h as o,p as tt,f,a as rt,c as s,i as Hr,r as n,aB as Wr,d as a,t as X,n as v,b as ot,j as yt,bk as Kr,e as Qr,$ as Xr}from"../chunks/j7JNK5dy.js";import{s as Ht,r as Lt,p as Xe,c as _,b as er,a as Yr,d as Zr}from"../chunks/C3JrmfEx.js";import{e as Ar,a as at,d as wt,s as O}from"../chunks/DzgYcjQZ.js";import{p as ea,c as Ge,a as r,f as d,t as A}from"../chunks/DHFMIoXm.js";import{i as H}from"../chunks/D7Ywb5BJ.js";import{k as ta}from"../chunks/DVjXNHoG.js";import{f as ra,a as jt,c as pt,e as gt,i as Ur,g as Er,b as tr,r as Dt,j as dr}from"../chunks/CKL0E1IM.js";import{h as aa}from"../chunks/DV1j3Tnl.js";import{i as ct,g as wr}from"../chunks/IUqeb3TJ.js";import{p as oa}from"../chunks/zOoVG74V.js";import{F as fr}from"../chunks/DJH6cv81.js";import{F as Fr}from"../chunks/-MU5TCVl.js";import{D as rr,a as Bt,b as qt,c as Jt,R as ar}from"../chunks/B-PCkSGA.js";import{L as Qe}from"../chunks/D5IFV-e6.js";import{I as ft}from"../chunks/5dP13_5c.js";import{c as or,d as Or,T as Lr,a as Vt,b as Gt}from"../chunks/Fv05xoru.js";import{B as Ne}from"../chunks/YRdQdDS3.js";import{U as hr,D as Yt,P as Rr,F as na}from"../chunks/ee-g1Krm.js";import{B as Mr}from"../chunks/DWrPGMmw.js";import{X as Pt}from"../chunks/Bd6-Cdge.js";import{t as Ce}from"../chunks/BY9FtCgE.js";import{b as xr,c as cr}from"../chunks/DAEfq4bk.js";import{P as Zt}from"../chunks/BAq0bkTU.js";import{S as zr}from"../chunks/YkmFSUxv.js";import{U as pr}from"../chunks/ko-CZCOO.js";import{U as Pr}from"../chunks/DGOwhknA.js";import{T as nr}from"../chunks/SWAub5RZ.js";import{E as br}from"../chunks/B9HQWvYU.js";import{U as sa}from"../chunks/ftaqljSr.js";import{s as ia,a as la,f as Vr,m as da,h as ca,S as ua,V as va,D as fa}from"../chunks/KnYCIWmd.js";import{I as sr,c as pa}from"../chunks/i7-vYus5.js";import{s as gr}from"../chunks/BNDs8Vcd.js";import{a as ga,p as ma,c as _a,b as ha,d as Kt,m as xa}from"../chunks/BARlAga8.js";import{R as It,A as Nt,a as Tt,b as At,c as Ut,d as Et,e as Ft,f as Ot}from"../chunks/LmN6sTH7.js";import{C as ba}from"../chunks/B2u4e1Y9.js";import{T as mr}from"../chunks/CUkW7LC8.js";import{C as $a}from"../chunks/BxtAMerO.js";import{L as ya}from"../chunks/BI-GJkVn.js";import{C as kr}from"../chunks/BnachvOx.js";import{A as wa}from"../chunks/qXYj8soX.js";import{S as Pa}from"../chunks/CtMkeZKL.js";import{S as ka}from"../chunks/C6ZPX7tO.js";const ja=Symbol("replace");class Sa extends URLSearchParams{#e=g(0);#a=Da();#t=!1;#r(){if(!this.#a||this.#t)return;this.#t=!0;const t=this.toString();this.#a.search=t&&`?${t}`,this.#t=!1}[ja](t){if(!this.#t&&t.toString()!==super.toString()){this.#t=!0;for(const p of[...super.keys()])super.delete(p);for(const[p,j]of t)super.append(p,j);Mt(this.#e),this.#t=!1}}append(t,p){super.append(t,p),this.#r(),Mt(this.#e)}delete(t,p){var j=super.has(t,p);super.delete(t,p),j&&(this.#r(),Mt(this.#e))}get(t){return e(this.#e),super.get(t)}getAll(t){return e(this.#e),super.getAll(t)}has(t,p){return e(this.#e),super.has(t,p)}keys(){return e(this.#e),super.keys()}forEach(t,p){e(this.#e),super.forEach(t,p)}set(t,p){var j=super.getAll(t);super.set(t,p);var T=super.getAll(t);(j.length!==T.length||j.some((U,M)=>U!==T[M]))&&(this.#r(),Mt(this.#e))}sort(){super.sort(),this.#r(),Mt(this.#e)}toString(){return e(this.#e),super.toString()}values(){return e(this.#e),super.values()}entries(){return e(this.#e),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return e(this.#e),super.size}}let Ca=null;function Da(){return Ca}var Ia=new Set(["$$slots","$$events","$$legacy"]);function Na(Pe,t){let p=Lt(t,Ia);const j=[["path",{d:"M12 13v8"}],["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"}],["path",{d:"m8 17 4-4 4 4"}]];sr(Pe,Ht({name:"cloud-upload"},()=>p,{get iconNode(){return j}}))}var Ta=new Set(["$$slots","$$events","$$legacy"]);function Aa(Pe,t){let p=Lt(t,Ta);const j=[["circle",{cx:"12",cy:"12",r:"1"}],["circle",{cx:"19",cy:"12",r:"1"}],["circle",{cx:"5",cy:"12",r:"1"}]];sr(Pe,Ht({name:"ellipsis"},()=>p,{get iconNode(){return j}}))}var Ua=new Set(["$$slots","$$events","$$legacy"]);function Ea(Pe,t){let p=Lt(t,Ua);const j=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2"}],["circle",{cx:"9",cy:"9",r:"2"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"}]];sr(Pe,Ht({name:"image"},()=>p,{get iconNode(){return j}}))}var Fa=new Set(["$$slots","$$events","$$legacy"]);function Oa(Pe,t){let p=Lt(t,Fa);const j=[["circle",{cx:"18",cy:"5",r:"3"}],["circle",{cx:"6",cy:"12",r:"3"}],["circle",{cx:"18",cy:"19",r:"3"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49"}]];sr(Pe,Ht({name:"share-2"},()=>p,{get iconNode(){return j}}))}const La=_a({component:"separator",parts:["root"]});class $r{static create(t){return new $r(t)}opts;attachment;constructor(t){this.opts=t,this.attachment=ga(t.ref)}#e=F(()=>({id:this.opts.id.current,role:this.opts.decorative.current?"none":"separator","aria-orientation":this.opts.orientation.current,"aria-hidden":ma(this.opts.decorative.current),"data-orientation":this.opts.orientation.current,[La.root]:"",...this.attachment}));get props(){return e(this.#e)}set props(t){o(this.#e,t)}}var Ra=new Set(["$$slots","$$events","$$legacy","id","ref","child","children","decorative","orientation"]),Ma=d("<div><!></div>");function za(Pe,t){const p=ea();tt(t,!0);let j=Xe(t,"id",19,()=>ha(p)),T=Xe(t,"ref",15,null),U=Xe(t,"decorative",3,!1),M=Xe(t,"orientation",3,"horizontal"),h=Lt(t,Ra);const w=$r.create({ref:Kt(()=>T(),oe=>T(oe)),id:Kt(()=>j()),decorative:Kt(()=>U()),orientation:Kt(()=>M())}),B=F(()=>xa(h,w.props));var ie=Ge(),z=f(ie);{var be=oe=>{var re=Ge(),we=f(re);gr(we,()=>t.child,()=>({props:e(B)})),r(oe,re)},$e=oe=>{var re=Ma();ra(re,()=>({...e(B)}));var we=s(re);gr(we,()=>t.children??Hr),n(re),r(oe,re)};H(z,oe=>{t.child?oe(be):oe($e,-1)})}r(Pe,ie),rt()}var Va=new Set(["$$slots","$$events","$$legacy","ref","class","data-slot"]);function _r(Pe,t){tt(t,!0);let p=Xe(t,"ref",15,null),j=Xe(t,"data-slot",3,"separator"),T=Lt(t,Va);var U=Ge(),M=f(U);{let h=F(()=>pa("shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:min-h-full data-[orientation=vertical]:w-px",t.class));_(M,()=>za,(w,B)=>{B(w,Ht({get"data-slot"(){return j()},get class(){return e(h)}},()=>T,{get ref(){return p()},set ref(ie){p(ie)}}))})}r(Pe,U),rt()}var Ga=d('<div role="button" tabindex="-1" class="inset-0 bg-black/30 fixed z-50"></div> <div><!></div>',1);function Gr(Pe,t){tt(t,!0);let p=Xe(t,"width",3,"w-125"),j=Xe(t,"ariaLabel",3,"Close drawer");function T(B){B.key==="Escape"&&t.onClose()}var U=Ga();Ar("keydown",Wr,T);var M=f(U),h=a(M,2),w=s(h);gr(w,()=>t.children),n(h),X(()=>{jt(M,"aria-label",j()),pt(h,1,`animate-in slide-in-from-right-4 top-0 right-0 fixed z-50 flex h-full border-border bg-background ${p()??""} flex-col overflow-y-auto border-l duration-150`)}),at("click",M,function(...B){t.onClose?.apply(this,B)}),at("keydown",M,T),r(Pe,U),rt()}wt(["click","keydown"]);var Ba=d('<!> <span class="sm:inline hidden"> </span>',1),qa=d('<div class="gap-2 sm:flex-row sm:items-center flex flex-col"><input type="file" accept="image/*" class="h-10 px-3 py-2 text-sm file:text-sm file:font-medium flex flex-1 rounded-md border border-input bg-background file:border-0 file:bg-transparent focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none disabled:opacity-50"/> <!></div>'),Ja=d('<div class="space-y-2"><div class="gap-1 p-0.5 flex rounded-md border"><!> <!></div> <!></div>');function Br(Pe,t){tt(t,!0);let p=Xe(t,"mode",3,"url"),j=Xe(t,"value",3,""),T=Xe(t,"disabled",3,!1),U=Xe(t,"isUploading",3,!1),M=Xe(t,"hasFile",3,!1),h=Xe(t,"inputRef",15);var w=Ja(),B=s(w),ie=s(B);{let re=F(()=>p()!=="upload"?"default":"ghost");Ne(ie,{size:"sm",get variant(){return e(re)},onclick:()=>t.onModeChange?.("url"),class:"h-7 text-xs flex-1",children:(we,S)=>{v();var E=A("URL");r(we,E)},$$slots:{default:!0}})}var z=a(ie,2);{let re=F(()=>p()==="upload"?"default":"ghost");Ne(z,{size:"sm",get variant(){return e(re)},onclick:()=>t.onModeChange?.("upload"),class:"h-7 text-xs flex-1",children:(we,S)=>{v();var E=A("Upload File");r(we,E)},$$slots:{default:!0}})}n(B);var be=a(B,2);{var $e=re=>{var we=qa(),S=s(we);er(S,fe=>h(fe),()=>h());var E=a(S,2);{let fe=F(()=>T()||!M()||U());Ne(E,{size:"sm",get disabled(){return e(fe)},get onclick(){return t.onUpload},class:"shrink-0",children:(L,ae)=>{var pe=Ba(),ce=f(pe);hr(ce,{class:"mr-2 h-4 w-4"});var Ie=a(ce,2),je=s(Ie,!0);n(Ie),X(()=>O(je,U()?"Uploading…":"Upload")),r(L,pe)},$$slots:{default:!0}})}n(we),X(()=>S.disabled=T()),at("change",S,function(...fe){t.onFileSelected?.apply(this,fe)}),r(re,we)},oe=re=>{ft(re,{type:"text",get value(){return j()},get disabled(){return T()},oninput:we=>t.onUrlChange?.(we.target.value),placeholder:"https://..."})};H(be,re=>{p()==="upload"?re($e):re(oe,-1)})}n(w),r(Pe,w),rt()}wt(["change"]);const zt=1e3;function qr(Pe,t){tt(t,!0);let p=Xe(t,"placeholder",3,"Select a project");const j=F(()=>t.projects.map(T=>({id:T.id,label:T.name})));fr(Pe,{get items(){return e(j)},get value(){return t.value},get onChange(){return t.onChange},get id(){return t.id},get placeholder(){return p()},get triggerIcon(){return Fr},searchPlaceholder:"Filter projects"}),rt()}var jr=d("<!> <!>",1),Ha=d('<div class="space-y-1"><!> <!></div>'),Wa=d('<div class="space-y-1"><!> <div class="bg-muted rounded-md px-3 py-2"><p class="text-sm font-medium"> </p></div></div>'),Ka=d("<option> </option>"),Qa=d('<div class="space-y-1"><!> <select id="new-server" class="border-input bg-background focus-visible:ring-ring h-10 w-full rounded-md border px-3 py-2 text-sm focus-visible:ring-2 focus-visible:outline-none"></select></div>'),Xa=d("<div><!> <!></div>"),Ya=d('Grasshopper File <span class="text-destructive">*</span>',1),Za=d('<p class="text-muted-foreground flex items-center gap-2 text-xs"><svg class="h-3 w-3 animate-spin" viewBox="0 0 24 24" fill="none"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8v8z"></path></svg> Validating definition…</p>'),eo=d(`<div class="border-destructive/40 bg-destructive/5 rounded-md border p-3"><p class="text-destructive text-xs font-medium">Validation failed</p> <p class="text-destructive/80 mt-0.5 text-xs"> </p> <p class="text-destructive/60 mt-1 text-xs">This definition can't be uploaded until it validates against an online compute server.</p></div>`),to=d('<div class="border-success/30 bg-success/5 flex items-center gap-3 rounded-md border p-3"><div class="min-w-0 flex-1"><p class="text-success text-xs font-medium">Valid Selva definition</p> <p class="text-muted-foreground mt-0.5 text-xs"> </p></div></div>'),ro=d('Display Name <span class="text-destructive">*</span>',1),ao=d(' <button type="button" class="ml-0.5 inline-flex items-center justify-center transition-opacity hover:opacity-70" title="Remove tag"><!></button>',1),oo=d('<div class="mb-2 flex flex-wrap gap-2"></div>'),no=d('<!> <div class="space-y-4"><!> <div class="space-y-2"><!> <input id="new-file" type="file" accept=".gh,.ghx" class="border-input bg-background focus-visible:ring-ring flex h-10 w-full rounded-md border px-3 py-2 text-sm file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:ring-2 focus-visible:outline-none disabled:opacity-50"/> <!></div> <div class="space-y-2"><!> <!></div> <div class="space-y-2"><!> <!></div> <div class="grid grid-cols-1 gap-3 md:grid-cols-2"><div class="space-y-1"><div class="flex items-center justify-between"><!> <p class="text-muted-foreground text-xs"> </p></div> <!></div> <div class="space-y-1"><div class="flex items-center justify-between"><!> <p class="text-muted-foreground text-xs"> </p></div> <!> <!></div></div> <div class="space-y-2"><!> <!></div></div> <!>',1);function so(Pe,t){tt(t,!0);let p=Xe(t,"open",3,!1),j=Xe(t,"isAdding",3,!1),T=Xe(t,"projects",19,()=>[]),U=Xe(t,"computeServers",19,()=>[]),M=Xe(t,"defaultComputeServerId",3,null),h=Xe(t,"showProjectDropdown",3,!1),w=g(""),B=g(""),ie=g(""),z=g(ot([])),be=g(""),$e=g("url"),oe=g(""),re=g("");yt(()=>{t.defaultProjectId&&o(oe,t.defaultProjectId,!0)});let we=g(null);yt(()=>{if(!e(oe)||!e(E))return;const i=[e(oe),e(re),e(E).name,e(E).size,e(E).lastModified].join("|");i===e(we)||e(ae)||(o(we,i,!0),Ae())});let S=g(void 0),E=g(null),fe=g(void 0),L=g(!1),ae=g(!1),pe=g(null),ce=g(null);function Ie(i){return`${(i/(1024*1024)).toFixed(1)} MB`}function je(i){return i.name.replace(/\.(gh|ghx)$/i,"").replace(/[_-]/g," ").replace(/\b\w/g,x=>x.toUpperCase())}function Te(){const i=e(S)?.files?.[0]??null;o(pe,null),o(ce,null),o(B,""),o(z,[],!0),o(E,i,!0),o(w,i?je(i):"",!0)}async function Ae(){const i=e(E);if(!(!i||!e(oe))){o(ae,!0);try{const x=new FormData;x.append("files",i);const P=new URLSearchParams(e(re)?{projectId:e(oe),computeServerId:e(re)}:{projectId:e(oe)}).toString(),c=await fetch(`/api/compute/schema?${P}`,{method:"POST",body:x});if(!c.ok){const y=await c.json().catch(()=>null);if(c.status===413){o(pe,y?.message??`This Grasshopper file is too large to upload (${Ie(i.size)}). Reduce its size or raise the server's upload limit.`,!0);return}o(pe,y?.message??(c.status===503?"Compute server is unreachable. It must be online to upload a definition.":"Validation failed"),!0);return}const m=(await c.json())?.[0];if(!m){o(pe,"No valid Selva schema found in this definition.");return}o(ce,m,!0),m.name&&o(w,m.name,!0),m.description&&o(B,m.description,!0),m.tags?.length&&o(z,m.tags,!0)}catch{o(pe,"Compute server is unreachable. It must be online to upload a definition.")}finally{o(ae,!1)}}}async function ge(){if(!e(w).trim()){Ce.error("Display name is required");return}if(!e(S)?.files||e(S).files.length===0){Ce.error("A Grasshopper file is required");return}if(h()&&!e(oe)){Ce.error("Please pick a project");return}if(!e(ce)){Ce.error(e(pe)??"The definition must be validated against an online compute server first");return}const i=new FormData;i.append("displayName",e(w).trim()),i.append("description",e(B)),i.append("category",e(ie)),i.append("tags",e(z).join(",")),e($e)==="upload"&&e(fe)?.files?.[0]?i.append("image",e(fe).files[0]):e($e)==="url"&&e(be).trim()&&i.append("coverImage",e(be).trim()),i.append("file",e(S).files[0]),e(oe)&&i.append("projectId",e(oe)),e(re)&&i.append("computeServerId",e(re));try{await t.onSubmit?.(i)}catch{}}function C(){o(w,""),o(B,""),o(ie,""),o(z,[],!0),o(be,""),o($e,"url"),o(oe,t.defaultProjectId??"",!0),o(re,""),o(ae,!1),o(pe,null),o(ce,null),e(S)&&(e(S).value=""),o(E,null),o(we,null),e(fe)&&(e(fe).value=""),o(L,!1)}function D(i){i||C(),t.onOpenChange?.(i)}yt(()=>{p()||C()});var G=Ge(),Y=f(G);_(Y,()=>ar,(i,x)=>{x(i,{get open(){return p()},onOpenChange:D,children:(P,c)=>{var u=Ge(),m=f(u);_(m,()=>rr,(y,W)=>{W(y,{class:"max-w-xl",children:(I,K)=>{var Z=no(),he=f(Z);_(he,()=>Bt,(_e,De)=>{De(_e,{children:(Fe,Ke)=>{var Ze=jr(),it=f(Ze);_(it,()=>qt,(Oe,Le)=>{Le(Oe,{children:(We,Re)=>{v();var st=A("Add New Definition");r(We,st)},$$slots:{default:!0}})});var et=a(it,2);_(et,()=>Jt,(Oe,Le)=>{Le(Oe,{children:(We,Re)=>{v();var st=A("Upload a Grasshopper file and fill in the metadata.");r(We,st)},$$slots:{default:!0}})}),r(Fe,Ze)},$$slots:{default:!0}})});var le=a(he,2),ne=s(le);{var xe=_e=>{var De=Xa(),Fe=s(De);{var Ke=Oe=>{var Le=Ha(),We=s(Le);Qe(We,{for:"new-project",children:(st,dt)=>{v();var lt=A("Project");r(st,lt)},$$slots:{default:!0}});var Re=a(We,2);qr(Re,{id:"new-project",get projects(){return T()},get value(){return e(oe)},onChange:st=>o(oe,st,!0)}),n(Le),r(Oe,Le)},Ze=Oe=>{const Le=F(()=>T().find(Se=>Se.id===t.defaultProjectId));var We=Wa(),Re=s(We);Qe(Re,{children:(Se,Be)=>{v();var qe=A("Project");r(Se,qe)},$$slots:{default:!0}});var st=a(Re,2),dt=s(st),lt=s(dt,!0);n(dt),n(st),n(We),X(()=>O(lt,e(Le)?.name??"Unknown")),r(Oe,We)};H(Fe,Oe=>{h()?Oe(Ke):t.defaultProjectId&&Oe(Ze,1)})}var it=a(Fe,2);{var et=Oe=>{var Le=Qa(),We=s(Le);Qe(We,{for:"new-server",children:(dt,lt)=>{v();var Se=A("Compute Server");r(dt,Se)},$$slots:{default:!0}});var Re=a(We,2);gt(Re,21,U,dt=>dt.id,(dt,lt)=>{var Se=Ka(),Be=s(Se);n(Se);var qe={};X(()=>{O(Be,`${e(lt).label??""}${e(lt).id===M()?" (Default)":""}`),qe!==(qe=e(lt).id)&&(Se.value=(Se.__value=e(lt).id)??"")}),r(dt,Se)}),n(Re);var st;Ur(Re),n(Le),X(()=>{st!==(st=e(re)||(M()??""))&&(Re.value=(Re.__value=e(re)||(M()??""))??"",Er(Re,e(re)||(M()??"")))}),at("change",Re,dt=>{const lt=dt.currentTarget.value;o(re,lt===M()?"":lt,!0)}),r(Oe,Le)};H(it,Oe=>{U().length>0&&Oe(et)})}n(De),X(()=>pt(De,1,`grid gap-3 ${h()&&U().length>0?"sm:grid-cols-2":""}`)),r(_e,De)};H(ne,_e=>{(h()||U().length>0)&&_e(xe)})}var de=a(ne,2),R=s(de);Qe(R,{for:"new-file",children:(_e,De)=>{v();var Fe=Ya();v(),r(_e,Fe)},$$slots:{default:!0}});var V=a(R,2);er(V,_e=>o(S,_e),()=>e(S));var N=a(V,2);{var k=_e=>{var De=Za();r(_e,De)},Q=_e=>{var De=eo(),Fe=a(s(De),2),Ke=s(Fe,!0);n(Fe),v(2),n(De),X(()=>O(Ke,e(pe))),r(_e,De)},se=_e=>{var De=to(),Fe=s(De),Ke=a(s(Fe),2),Ze=s(Ke);n(Ke),n(Fe),n(De),X(()=>O(Ze,`${e(ce).inputs.length??""} input${e(ce).inputs.length===1?"":"s"},
2
- ${e(ce).outputs.length??""} output${e(ce).outputs.length===1?"":"s"}`)),r(_e,De)};H(N,_e=>{e(ae)?_e(k):e(pe)?_e(Q,1):e(ce)&&_e(se,2)})}n(de);var me=a(de,2),ee=s(me);Qe(ee,{for:"new-dn",children:(_e,De)=>{v();var Fe=ro();v(),r(_e,Fe)},$$slots:{default:!0}});var ue=a(ee,2);ft(ue,{id:"new-dn",type:"text",placeholder:"e.g., Parametric Tower",get value(){return e(w)},set value(_e){o(w,_e,!0)}}),n(me);var ke=a(me,2),Ve=s(ke);Qe(Ve,{for:"new-desc",children:(_e,De)=>{v();var Fe=A("Description");r(_e,Fe)},$$slots:{default:!0}});var q=a(Ve,2);or(q,{id:"new-desc",rows:3,placeholder:"Describe what this definition does…",get value(){return e(B)},set value(_e){o(B,_e,!0)}}),n(ke);var te=a(ke,2),ve=s(te),J=s(ve),Ue=s(J);Qe(Ue,{for:"new-cat",children:(_e,De)=>{v();var Fe=A("Category");r(_e,Fe)},$$slots:{default:!0}});var l=a(Ue,2),b=s(l);n(l),n(J);var $=a(J,2);ft($,{id:"new-cat",type:"text",maxlength:40,placeholder:"e.g., Architecture",get value(){return e(ie)},set value(_e){o(ie,_e,!0)}}),n(ve);var ye=a(ve,2),Me=s(ye),Ee=s(Me);Qe(Ee,{for:"new-tags",children:(_e,De)=>{v();var Fe=A("Tags");r(_e,Fe)},$$slots:{default:!0}});var ze=a(Ee,2),Je=s(ze);n(ze),n(Me);var Ye=a(Me,2);{var He=_e=>{var De=oo();gt(De,20,()=>e(z),Fe=>Fe,(Fe,Ke)=>{Mr(Fe,{variant:"outline",class:"cursor-pointer gap-1",children:(Ze,it)=>{v();var et=ao(),Oe=f(et),Le=a(Oe),We=s(Le);Pt(We,{class:"h-3 w-3"}),n(Le),X(()=>O(Oe,`${Ke??""} `)),at("click",Le,()=>{o(z,e(z).filter(Re=>Re!==Ke),!0)}),r(Ze,et)},$$slots:{default:!0}})}),n(De),r(_e,De)};H(Ye,_e=>{e(z).length>0&&_e(He)})}var ut=a(Ye,2);{let _e=F(()=>e(z).length>=5);ft(ut,{id:"new-tags",type:"text",placeholder:"Add tag and press Enter",get disabled(){return e(_e)},onkeydown:De=>{if(De.key==="Enter"){De.preventDefault();const Fe=De.currentTarget,Ke=Fe.value.trim();Ke&&!e(z).includes(Ke)&&e(z).length<5&&(o(z,[...e(z),Ke],!0),Fe.value="")}}})}n(ye),n(te);var vt=a(te,2),nt=s(vt);Qe(nt,{children:(_e,De)=>{v();var Fe=A("Cover Image");r(_e,Fe)},$$slots:{default:!0}});var mt=a(nt,2);Br(mt,{get mode(){return e($e)},get value(){return e(be)},get hasFile(){return e(L)},onModeChange:_e=>o($e,_e,!0),onUpload:()=>{},onFileSelected:()=>o(L,!!e(fe)?.files?.length),onUrlChange:_e=>o(be,_e,!0),get inputRef(){return e(fe)},set inputRef(_e){o(fe,_e,!0)}}),n(vt),n(le);var bt=a(le,2);_(bt,()=>Yt,(_e,De)=>{De(_e,{class:"gap-2 sm:justify-end",children:(Fe,Ke)=>{var Ze=jr(),it=f(Ze);Ne(it,{variant:"outline",onclick:()=>t.onOpenChange?.(!1),children:(Oe,Le)=>{v();var We=A("Cancel");r(Oe,We)},$$slots:{default:!0}});var et=a(it,2);{let Oe=F(()=>j()||e(ae)||!e(ce));Ne(et,{onclick:ge,get disabled(){return e(Oe)},children:(Le,We)=>{v();var Re=A();X(()=>O(Re,j()?"Creating…":e(ae)?"Validating…":"Create Definition")),r(Le,Re)},$$slots:{default:!0}})}r(Fe,Ze)},$$slots:{default:!0}})}),X(()=>{O(b,`${e(ie)?.length??0??""}/40`),O(Je,`${e(z).length??""}/5`)}),at("change",V,Te),r(I,Z)},$$slots:{default:!0}})}),r(P,u)},$$slots:{default:!0}})}),r(Pe,G),rt()}wt(["change","click"]);var io=d('<button class="text-muted-foreground hover:text-foreground rounded p-0.5 transition-colors" title="New project" aria-label="New project"><!></button>'),lo=d('<div class="border-border bg-muted/40 mx-3 mb-3 space-y-2 rounded-md border p-3"><!> <select class="border-input bg-background w-full rounded-md border px-2.5 py-1.5 text-xs outline-none"><option>Public</option><option>Org</option><option>Private</option></select> <div class="flex gap-1.5"><!> <!></div></div>'),co=d('<div class="relative mx-3 mb-2"><!> <input placeholder="Filter projects" class="border-input bg-background placeholder:text-muted-foreground focus:border-ring h-7 w-full rounded-md border pr-2 pl-7 text-xs transition-colors outline-none"/></div>'),Sr=d('<span class="bg-primary absolute top-0 bottom-0 left-0 w-0.75" aria-hidden="true"></span>'),uo=d('<div class="border-border/60 my-2 border-t"></div>'),vo=d('<button><!> <span class="flex-1 truncate text-sm font-medium"> </span> <span class="shrink-0 font-mono text-[11px] tabular-nums opacity-60"> </span></button>'),fo=d('<p class="text-muted-foreground px-2 py-4 text-center text-xs">No projects yet</p>'),po=d('<p class="text-muted-foreground px-2 py-4 text-center text-xs"> </p>'),go=d('<aside class="border-border bg-background flex w-60 shrink-0 flex-col overflow-y-auto border-r"><div class="flex items-center justify-between px-4 pt-5 pb-3"><span class="text-muted-foreground text-xs font-medium tracking-wider uppercase">Projects</span> <!></div> <!> <!> <nav class="flex-1 space-y-px pr-2 pb-4"><button><!> <!> <span class="flex-1 truncate text-sm font-medium">All projects</span></button> <!> <!> <!></nav></aside>');function mo(Pe,t){tt(t,!0);let p=g(!1),j=g(""),T=g(""),U=g("public"),M=g(!1),h=g("");const w=F(()=>{const C=e(h).trim().toLowerCase();return C?t.projects.filter(D=>D.name.toLowerCase().includes(C)):t.projects});async function B(){if(e(j).trim()){o(M,!0);try{await t.onCreate({name:e(j).trim(),description:e(T),visibility:e(U)}),o(j,""),o(T,""),o(U,"public"),o(p,!1)}finally{o(M,!1)}}}var ie=go(),z=s(ie),be=a(s(z),2);{var $e=C=>{var D=io(),G=s(D);Zt(G,{class:"h-3.5 w-3.5"}),n(D),at("click",D,()=>o(p,!e(p))),r(C,D)};H(be,C=>{t.canManageProjects&&C($e)})}n(z);var oe=a(z,2);{var re=C=>{var D=lo(),G=s(D);ft(G,{placeholder:"Project name",class:"h-8 text-xs",get value(){return e(j)},set value(y){o(j,y,!0)}});var Y=a(G,2),i=s(Y);i.value=i.__value="public";var x=a(i);x.value=x.__value="org";var P=a(x);P.value=P.__value="private",n(Y);var c=a(Y,2),u=s(c);{let y=F(()=>e(M)||!e(j).trim());Ne(u,{onclick:B,get disabled(){return e(y)},size:"sm",class:"h-6 flex-1 text-xs",children:(W,I)=>{v();var K=A();X(()=>O(K,e(M)?"…":"Create")),r(W,K)},$$slots:{default:!0}})}var m=a(u,2);Ne(m,{onclick:()=>o(p,!1),variant:"ghost",size:"sm",class:"h-6 px-2 text-xs",children:(y,W)=>{Pt(y,{class:"h-3 w-3"})},$$slots:{default:!0}}),n(c),n(D),tr(Y,()=>e(U),y=>o(U,y)),r(C,D)};H(oe,C=>{e(p)&&t.canManageProjects&&C(re)})}var we=a(oe,2);{var S=C=>{var D=co(),G=s(D);zr(G,{class:"text-muted-foreground pointer-events-none absolute top-1/2 left-2 h-3.5 w-3.5 -translate-y-1/2"});var Y=a(G,2);Dt(Y),n(D),xr(Y,()=>e(h),i=>o(h,i)),r(C,D)};H(we,C=>{t.projects.length>4&&C(S)})}var E=a(we,2),fe=s(E),L=s(fe);{var ae=C=>{var D=Sr();r(C,D)};H(L,C=>{t.activeProjectId===null&&C(ae)})}var pe=a(L,2);Fr(pe,{class:"h-3.5 w-3.5 shrink-0 opacity-70"}),v(2),n(fe);var ce=a(fe,2);{var Ie=C=>{var D=uo();r(C,D)};H(ce,C=>{e(w).length>0&&C(Ie)})}var je=a(ce,2);gt(je,17,()=>e(w),C=>C.id,(C,D)=>{const G=F(()=>t.activeProjectId===e(D).id),Y=F(()=>t.records.filter(W=>W.projectId===e(D).id).length);var i=vo(),x=s(i);{var P=W=>{var I=Sr();r(W,I)};H(x,W=>{e(G)&&W(P)})}var c=a(x,2),u=s(c,!0);n(c);var m=a(c,2),y=s(m,!0);n(m),n(i),X(()=>{pt(i,1,`group relative flex w-full items-center gap-2 py-1.5 pr-2.5 text-left transition-colors ${e(G)?"bg-accent text-accent-foreground rounded-r-md pl-4":"text-muted-foreground hover:bg-muted/60 hover:text-foreground mx-2 rounded-md pl-2.5"}`),O(u,e(D).name),O(y,e(Y))}),at("click",i,()=>t.onSelect(e(D).id)),r(C,i)});var Te=a(je,2);{var Ae=C=>{var D=fo();r(C,D)},ge=C=>{var D=po(),G=s(D);n(D),X(()=>O(G,`No matches for "${e(h)??""}"`)),r(C,D)};H(Te,C=>{t.projects.length===0?C(Ae):e(w).length===0&&e(h)&&C(ge,1)})}n(E),n(ie),X(()=>pt(fe,1,`group relative flex w-full items-center gap-2 py-1.5 pr-2.5 text-left transition-colors ${t.activeProjectId===null?"bg-accent text-accent-foreground rounded-r-md pl-4":"text-muted-foreground hover:bg-muted/60 hover:text-foreground mx-2 rounded-md pl-2.5"}`)),at("click",fe,()=>t.onSelect(null)),r(Pe,ie),rt()}wt(["click"]);var _o=d('<p class="text-muted-foreground px-3 py-6 text-center text-xs"> </p>'),Cr=d('<p class="text-muted-foreground truncate font-mono text-xs"> </p>'),ho=d('<button type="button"><!> <div class="min-w-0 flex-1"><p class="truncate text-sm font-medium"> </p> <!></div></button>'),xo=d('<div class="border-border relative border-b"><!> <input placeholder="Search by name or email" class="placeholder:text-muted-foreground h-9 w-full rounded-t-md bg-transparent pr-9 pl-9 text-sm outline-none"/> <button type="button" class="text-muted-foreground hover:text-foreground absolute top-1/2 right-2 -translate-y-1/2 rounded p-1" aria-label="Cancel"><!></button></div> <div class="max-h-60 overflow-y-auto py-1"><!></div>',1),bo=d('<div class="flex items-center gap-3 p-2.5"><!> <div class="min-w-0 flex-1"><p class="truncate text-sm font-medium"> </p> <!></div> <select class="border-input bg-background h-8 rounded-md border px-2 text-xs outline-none"><option>Owner</option><option>Editor</option><option>Viewer</option></select> <!> <!></div>'),$o=d('<div class="border-border bg-card rounded-md border"><!></div>');function yo(Pe,t){tt(t,!0);let p=g(""),j=g(0),T=g(null),U=g("viewer"),M=g(void 0);const h=F(()=>{const S=e(p).trim().toLowerCase();return S?t.availableUsers.filter(E=>{const fe=(E.displayName??"").toLowerCase(),L=(E.email??"").toLowerCase();return fe.includes(S)||L.includes(S)}).slice(0,50):t.availableUsers.slice(0,50)});yt(()=>{e(h),o(j,0)});function w(S){return S.displayName??S.email??S.id.slice(0,8)}function B(S){o(T,S,!0),o(p,"")}async function ie(){e(T)&&(await t.onAdd(e(T).id,e(U)),o(T,null),o(U,"viewer"))}function z(S){if(!e(T))if(S.key==="ArrowDown")S.preventDefault(),o(j,Math.min(e(j)+1,e(h).length-1),!0),be();else if(S.key==="ArrowUp")S.preventDefault(),o(j,Math.max(e(j)-1,0),!0),be();else if(S.key==="Enter"){S.preventDefault();const E=e(h)[e(j)];E&&B(E)}else S.key==="Escape"&&(S.preventDefault(),t.onCancel())}function be(){e(M)?.querySelector(`[data-idx="${e(j)}"]`)?.scrollIntoView({block:"nearest"})}var $e=$o(),oe=s($e);{var re=S=>{var E=xo(),fe=f(E),L=s(fe);zr(L,{class:"text-muted-foreground pointer-events-none absolute top-1/2 left-3 h-3.5 w-3.5 -translate-y-1/2"});var ae=a(L,2);Dt(ae),Kr(ae,!0);var pe=a(ae,2),ce=s(pe);Pt(ce,{class:"h-3.5 w-3.5"}),n(pe),n(fe);var Ie=a(fe,2),je=s(Ie);{var Te=ge=>{var C=_o(),D=s(C,!0);n(C),X(()=>O(D,t.availableUsers.length===0?"Everyone in this org is already on the project.":`No matches for "${e(p)}"`)),r(ge,C)},Ae=ge=>{var C=Ge(),D=f(C);gt(D,19,()=>e(h),G=>G.id,(G,Y,i)=>{var x=ho(),P=s(x);{let I=F(()=>w(e(Y)));pr(P,{get name(){return e(I)},size:"sm"})}var c=a(P,2),u=s(c),m=s(u,!0);n(u);var y=a(u,2);{var W=I=>{var K=Cr(),Z=s(K,!0);n(K),X(()=>O(Z,e(Y).email)),r(I,K)};H(y,I=>{e(Y).displayName&&e(Y).email&&I(W)})}n(c),n(x),X(I=>{jt(x,"data-idx",e(i)),pt(x,1,`flex w-full items-center gap-3 px-3 py-2 text-left transition-colors ${e(j)===e(i)?"bg-accent text-accent-foreground":"hover:bg-muted/60"}`),O(m,I)},[()=>w(e(Y))]),at("click",x,()=>B(e(Y))),Ar("mouseenter",x,()=>o(j,e(i),!0)),r(G,x)}),r(ge,C)};H(je,ge=>{e(h).length===0?ge(Te):ge(Ae,-1)})}n(Ie),er(Ie,ge=>o(M,ge),()=>e(M)),at("keydown",ae,z),xr(ae,()=>e(p),ge=>o(p,ge)),at("click",pe,function(...ge){t.onCancel?.apply(this,ge)}),r(S,E)},we=S=>{var E=bo(),fe=s(E);{let G=F(()=>w(e(T)));pr(fe,{get name(){return e(G)},size:"sm"})}var L=a(fe,2),ae=s(L),pe=s(ae,!0);n(ae);var ce=a(ae,2);{var Ie=G=>{var Y=Cr(),i=s(Y,!0);n(Y),X(()=>O(i,e(T).email)),r(G,Y)};H(ce,G=>{e(T).email&&e(T).displayName&&G(Ie)})}n(L);var je=a(L,2),Te=s(je);Te.value=Te.__value="owner";var Ae=a(Te);Ae.value=Ae.__value="editor";var ge=a(Ae);ge.value=ge.__value="viewer",n(je);var C=a(je,2);Ne(C,{onclick:ie,get disabled(){return t.adding},size:"sm",children:(G,Y)=>{v();var i=A();X(()=>O(i,t.adding?"Adding…":"Add")),r(G,i)},$$slots:{default:!0}});var D=a(C,2);Ne(D,{onclick:()=>o(T,null),variant:"ghost",size:"icon",class:"text-muted-foreground h-8 w-8","aria-label":"Pick a different user",children:(G,Y)=>{Pt(G,{class:"h-3.5 w-3.5"})},$$slots:{default:!0}}),n(E),X(G=>O(pe,G),[()=>w(e(T))]),tr(je,()=>e(U),G=>o(U,G)),r(S,E)};H(oe,S=>{e(T)?S(we,-1):S(re)})}n($e),r(Pe,$e),rt()}wt(["keydown","click"]);var Qt=d("<!> <!>",1),wo=d('<!> Members <span class="text-muted-foreground ml-1 font-mono text-[11px]"> </span>',1),Po=d("<!> Delete project",1),ko=d('<div class="space-y-1.5"><!> <!></div> <div class="space-y-1.5"><!> <!></div> <div class="space-y-1.5"><!> <select id="proj-vis" class="border-input bg-background h-10 w-full rounded-md border px-3 text-sm"><option>Public — any authenticated user can solve</option><option>Org — any org member can solve</option><option>Private — only project members can solve</option></select></div> <div class="flex items-center justify-between pt-2"><!> <div class="flex gap-2"><!> <!></div></div>',1),jo=d('<p class="text-muted-foreground truncate font-mono text-xs"> </p>'),So=d('<div class="border-border flex items-center gap-3 border-b px-3 py-2.5 last:border-0"><!> <div class="min-w-0 flex-1"><p class="truncate text-sm font-medium"> </p> <!></div> <select class="border-input bg-background h-8 rounded-md border px-2 text-xs outline-none"><option>Owner</option><option>Editor</option><option>Viewer</option></select> <!></div>'),Co=d('<div class="border-border bg-card overflow-hidden rounded-md border"></div>'),Do=d("<!> Add member",1),Io=d("<!> <!> <!>",1);function No(Pe,t){tt(t,!0);let p=g(ot(t.project.name)),j=g(ot(t.project.description??"")),T=g(ot(t.project.visibility)),U=g(!1),M=g(!1),h=g(!1),w=g(null);function B(S){const E=t.users.find(fe=>fe.id===S);return E?.displayName??E?.email??S.slice(0,8)}function ie(S){return t.users.find(E=>E.id===S)?.email}const z=F(()=>{const S=new Set(t.project.members.map(E=>E.userId));return t.users.filter(E=>!S.has(E.id))});async function be(){o(U,!0);try{await t.onSave(t.project.id,{name:e(p),description:e(j),visibility:e(T)})}finally{o(U,!1)}}async function $e(S,E){o(h,!0);try{await t.onAddMember(t.project.id,S,E),o(M,!1)}finally{o(h,!1)}}async function oe(S){o(w,S,!0);try{await t.onRemoveMember(t.project.id,S)}finally{o(w,null)}}var re=Ge(),we=f(re);_(we,()=>ar,(S,E)=>{E(S,{get open(){return t.open},get onOpenChange(){return t.onOpenChange},children:(fe,L)=>{var ae=Ge(),pe=f(ae);_(pe,()=>rr,(ce,Ie)=>{Ie(ce,{class:"max-w-lg",children:(je,Te)=>{var Ae=Qt(),ge=f(Ae);_(ge,()=>Bt,(D,G)=>{G(D,{children:(Y,i)=>{var x=Qt(),P=f(x);_(P,()=>qt,(u,m)=>{m(u,{children:(y,W)=>{v();var I=A("Project settings");r(y,I)},$$slots:{default:!0}})});var c=a(P,2);_(c,()=>Jt,(u,m)=>{m(u,{children:(y,W)=>{v();var I=A("Manage this project's details and members.");r(y,I)},$$slots:{default:!0}})}),r(Y,x)},$$slots:{default:!0}})});var C=a(ge,2);_(C,()=>Or,(D,G)=>{G(D,{value:"general",class:"mt-2",children:(Y,i)=>{var x=Io(),P=f(x);_(P,()=>Lr,(m,y)=>{y(m,{class:"grid w-full grid-cols-2",children:(W,I)=>{var K=Qt(),Z=f(K);_(Z,()=>Vt,(le,ne)=>{ne(le,{value:"general",children:(xe,de)=>{v();var R=A("General");r(xe,R)},$$slots:{default:!0}})});var he=a(Z,2);_(he,()=>Vt,(le,ne)=>{ne(le,{value:"members",class:"gap-1.5",children:(xe,de)=>{var R=wo(),V=f(R);Pr(V,{class:"h-3.5 w-3.5"});var N=a(V,2),k=s(N,!0);n(N),X(()=>O(k,t.project.members.length)),r(xe,R)},$$slots:{default:!0}})}),r(W,K)},$$slots:{default:!0}})});var c=a(P,2);_(c,()=>Gt,(m,y)=>{y(m,{value:"general",class:"mt-4 space-y-4",children:(W,I)=>{var K=ko(),Z=f(K),he=s(Z);Qe(he,{for:"proj-name",children:(q,te)=>{v();var ve=A("Name");r(q,ve)},$$slots:{default:!0}});var le=a(he,2);ft(le,{id:"proj-name",get value(){return e(p)},set value(q){o(p,q,!0)}}),n(Z);var ne=a(Z,2),xe=s(ne);Qe(xe,{for:"proj-desc",children:(q,te)=>{v();var ve=A("Description");r(q,ve)},$$slots:{default:!0}});var de=a(xe,2);or(de,{id:"proj-desc",rows:2,get value(){return e(j)},set value(q){o(j,q,!0)}}),n(ne);var R=a(ne,2),V=s(R);Qe(V,{for:"proj-vis",children:(q,te)=>{v();var ve=A("Visibility");r(q,ve)},$$slots:{default:!0}});var N=a(V,2),k=s(N);k.value=k.__value="public";var Q=a(k);Q.value=Q.__value="org";var se=a(Q);se.value=se.__value="private",n(N),n(R);var me=a(R,2),ee=s(me);Ne(ee,{onclick:()=>t.onDelete(t.project.id),variant:"ghost",size:"sm",class:"text-destructive hover:text-destructive gap-1.5 px-2",children:(q,te)=>{var ve=Po(),J=f(ve);nr(J,{class:"h-3.5 w-3.5"}),v(),r(q,ve)},$$slots:{default:!0}});var ue=a(ee,2),ke=s(ue);Ne(ke,{onclick:()=>t.onOpenChange(!1),variant:"outline",size:"sm",children:(q,te)=>{v();var ve=A("Cancel");r(q,ve)},$$slots:{default:!0}});var Ve=a(ke,2);Ne(Ve,{onclick:be,get disabled(){return e(U)},size:"sm",children:(q,te)=>{v();var ve=A();X(()=>O(ve,e(U)?"Saving…":"Save")),r(q,ve)},$$slots:{default:!0}}),n(ue),n(me),tr(N,()=>e(T),q=>o(T,q)),r(W,K)},$$slots:{default:!0}})});var u=a(c,2);_(u,()=>Gt,(m,y)=>{y(m,{value:"members",class:"mt-4 space-y-3",children:(W,I)=>{var K=Qt(),Z=f(K);{var he=R=>{br(R,{size:"sm",get icon(){return Pr},title:"No members yet",description:"Add members to control who can edit this project."})},le=R=>{var V=Co();gt(V,21,()=>t.project.members,N=>`${N.projectId}:${N.userId}`,(N,k)=>{var Q=So(),se=s(Q);{let $=F(()=>B(e(k).userId));pr(se,{get name(){return e($)},size:"sm"})}var me=a(se,2),ee=s(me),ue=s(ee,!0);n(ee);var ke=a(ee,2);{var Ve=$=>{var ye=jo(),Me=s(ye,!0);n(ye),X(Ee=>O(Me,Ee),[()=>ie(e(k).userId)]),r($,ye)},q=F(()=>ie(e(k).userId)&&ie(e(k).userId)!==B(e(k).userId));H(ke,$=>{e(q)&&$(Ve)})}n(me);var te=a(me,2),ve=s(te);ve.value=ve.__value="owner";var J=a(ve);J.value=J.__value="editor";var Ue=a(J);Ue.value=Ue.__value="viewer",n(te);var l;Ur(te);var b=a(te,2);{let $=F(()=>e(w)===e(k).userId);Ne(b,{onclick:()=>oe(e(k).userId),get disabled(){return e($)},variant:"ghost",size:"icon",class:"text-muted-foreground hover:text-destructive h-7 w-7",children:(ye,Me)=>{Pt(ye,{class:"h-3.5 w-3.5"})},$$slots:{default:!0}})}n(Q),X($=>{O(ue,$),l!==(l=e(k).role)&&(te.value=(te.__value=e(k).role)??"",Er(te,e(k).role))},[()=>B(e(k).userId)]),at("change",te,$=>t.onUpdateMemberRole(t.project.id,e(k).userId,$.target.value)),r(N,Q)}),n(V),r(R,V)};H(Z,R=>{t.project.members.length===0&&!e(M)?R(he):t.project.members.length>0&&R(le,1)})}var ne=a(Z,2);{var xe=R=>{yo(R,{get availableUsers(){return e(z)},get adding(){return e(h)},onAdd:$e,onCancel:()=>o(M,!1)})},de=R=>{Ne(R,{onclick:()=>o(M,!0),variant:"outline",size:"sm",class:"gap-1.5",children:(V,N)=>{var k=Do(),Q=f(k);sa(Q,{class:"h-3.5 w-3.5"}),v(),r(V,k)},$$slots:{default:!0}})};H(ne,R=>{e(M)?R(xe):R(de,-1)})}r(W,K)},$$slots:{default:!0}})}),r(Y,x)},$$slots:{default:!0}})}),r(je,Ae)},$$slots:{default:!0}})}),r(fe,ae)},$$slots:{default:!0}})}),r(Pe,re),rt()}wt(["change"]);var To=d("<span><span></span> </span>");function Jr(Pe,t){tt(t,!0);let p=Xe(t,"class",3,"");var j=To(),T=s(j),U=a(T);n(j),X((M,h)=>{pt(j,1,`inline-flex items-center gap-1.5 rounded-full border px-2 py-0.5 font-mono text-[11px] tracking-wide ${M??""} ${p()??""}`),pt(T,1,`h-1.5 w-1.5 rounded-full ${h??""}`),O(U,` ${t.status??""}`)},[()=>ia(t.status),()=>la(t.status)]),r(Pe,j),rt()}var Ao=d('<div class="flex h-10 w-10 shrink-0 items-center justify-center overflow-hidden rounded-md"><img alt="" class="h-full w-full object-cover"/></div>'),Uo=d('<div class="tool-cover-fallback flex h-10 w-10 shrink-0 items-center justify-center overflow-hidden rounded-md"><span class="text-foreground/40 text-base font-semibold"> </span></div>'),Eo=d('<span class="text-muted-foreground ml-2 text-[12px]"> </span>'),Fo=d('<div><!> <span class="min-w-0"><span class="font-semibold"> </span> <!></span> <span class="text-muted-foreground"> </span> <span><!></span> <span class="text-muted-foreground font-mono text-[12px]"> </span> <span class="text-right font-mono text-[12px]"> </span> <span class="flex justify-end"><button type="button" class="text-muted-foreground hover:bg-muted hover:text-foreground rounded p-1 transition-colors"><!></button></span></div>'),Oo=d('<div class="border-border bg-card overflow-hidden rounded-xl border"><div class="border-border bg-muted/50 text-muted-foreground grid border-b px-4 py-2.5 font-mono text-[10.5px] tracking-widest uppercase"><span></span><span>Definition</span><span>Project</span><span>Status</span><span>Updated</span> <span class="text-right">Runs</span><span></span></div> <!></div>');function Lo(Pe,t){tt(t,!0);const p="grid-template-columns: 40px 1.6fr 0.9fr 0.8fr 0.7fr 0.6fr 36px";function j(h){return t.projects.find(w=>w.id===h)?.name??""}var T=Oo(),U=s(T);dr(U,p);var M=a(U,2);gt(M,19,()=>t.records,h=>h.guid,(h,w,B)=>{var ie=Fo();dr(ie,p);var z=s(ie);{var be=D=>{var G=Ao(),Y=s(G);n(G),X(()=>jt(Y,"src",e(w).coverImage)),r(D,G)},$e=D=>{const G=F(()=>ca(e(w).guid));var Y=Uo();let i;var x=s(Y),P=s(x,!0);n(x),n(Y),X(c=>{i=dr(Y,"",i,{"--tool-h1":e(G).h1,"--tool-h2":e(G).h2}),O(P,c)},[()=>da(e(w).displayName)]),r(D,Y)};H(z,D=>{e(w).coverImage?D(be):D($e,-1)})}var oe=a(z,2),re=s(oe),we=s(re,!0);n(re);var S=a(re,2);{var E=D=>{var G=Eo(),Y=s(G);n(G),X(i=>O(Y,`${i??""}${e(w).description.length>60?"…":""}`),[()=>e(w).description.slice(0,60)]),r(D,G)};H(S,D=>{e(w).description&&D(E)})}n(oe);var fe=a(oe,2),L=s(fe,!0);n(fe);var ae=a(fe,2),pe=s(ae);Jr(pe,{get status(){return e(w).status}}),n(ae);var ce=a(ae,2),Ie=s(ce,!0);n(ce);var je=a(ce,2),Te=s(je,!0);n(je);var Ae=a(je,2),ge=s(Ae),C=s(ge);Aa(C,{class:"h-4 w-4"}),n(ge),n(Ae),n(ie),X((D,G,Y)=>{pt(ie,1,`grid items-center gap-4 px-4 py-3 text-[13px] ${e(B)<t.records.length-1?"border-border border-b":""}`),O(we,e(w).displayName),O(L,D),O(Ie,G),O(Te,Y),jt(ge,"aria-label",`Open ${e(w).displayName??""}`)},[()=>j(e(w).projectId),()=>Vr(e(w).updatedAt),()=>e(w).solveCount.toLocaleString()]),at("click",ge,()=>t.onOpen(e(w))),r(h,ie)}),n(T),r(Pe,T),rt()}wt(["click"]);var Ro=d('<p class="text-muted-foreground mt-1 text-sm"> </p>'),Mo=d('<img class="border-border aspect-4/3 w-full rounded-lg border object-cover"/>'),zo=d('<div class="border-border bg-muted flex aspect-4/3 w-full items-center justify-center rounded-lg border"><span class="text-muted-foreground font-mono text-[11px] tracking-widest uppercase">No preview</span></div>'),Vo=d("<!> Run",1),Go=d("<!> <!>",1),Bo=d('<div><p class="text-muted-foreground font-mono text-[10.5px] tracking-widest uppercase">Category</p> <p class="mt-1 text-sm"> </p></div>'),qo=d('<span class="bg-muted text-muted-foreground rounded px-2 py-0.5 font-mono text-[11px]"> </span>'),Jo=d('<div><!> <div class="flex flex-wrap gap-1.5"></div></div>'),Ho=d('<div class="border-border flex items-start justify-between gap-4 border-b p-6"><div class="min-w-0"><div class="flex items-center gap-2"><!> <span class="text-muted-foreground font-mono text-[11px] tracking-wide uppercase"> </span></div> <h2 class="mt-2.5 text-xl font-semibold tracking-tight"> </h2> <!></div> <!></div> <div class="flex-1 space-y-5 overflow-y-auto p-6"><!> <div class="flex gap-2"><!> <!></div> <!> <div class="grid grid-cols-2 gap-x-4 gap-y-3"><div><p class="text-muted-foreground font-mono text-[10.5px] tracking-widest uppercase">Updated</p> <p class="mt-1 text-sm"> </p></div> <div><p class="text-muted-foreground font-mono text-[10.5px] tracking-widest uppercase">Runs</p> <p class="mt-1 text-sm"> </p></div> <!></div> <!></div>',1);function Wo(Pe,t){tt(t,!0),Gr(Pe,{get onClose(){return t.onClose},children:(p,j)=>{var T=Ho(),U=f(T),M=s(U),h=s(M),w=s(h);Jr(w,{get status(){return t.record.status}});var B=a(w,2),ie=s(B,!0);n(B),n(h);var z=a(h,2),be=s(z,!0);n(z);var $e=a(z,2);{var oe=c=>{var u=Ro(),m=s(u,!0);n(u),X(()=>O(m,t.record.description)),r(c,u)};H($e,c=>{t.record.description&&c(oe)})}n(M);var re=a(M,2);Ne(re,{variant:"ghost",size:"icon",get onclick(){return t.onClose},class:"mt-0.5 h-8 w-8 shrink-0",children:(c,u)=>{Pt(c,{class:"h-4 w-4"})},$$slots:{default:!0}}),n(U);var we=a(U,2),S=s(we);{var E=c=>{var u=Mo();X(()=>{jt(u,"src",t.record.coverImage),jt(u,"alt",t.record.displayName)}),r(c,u)},fe=c=>{var u=zo();r(c,u)};H(S,c=>{t.record.coverImage?c(E):c(fe,-1)})}var L=a(S,2),ae=s(L);Ne(ae,{class:"flex-1",onclick:()=>t.onOpenRunner(t.record.guid,"live"),children:(c,u)=>{var m=Vo(),y=f(m);Rr(y,{class:"mr-1.5 h-3.5 w-3.5"}),v(),r(c,m)},$$slots:{default:!0}});var pe=a(ae,2);{var ce=c=>{var u=Go(),m=f(u);{var y=I=>{Ne(I,{variant:"outline",size:"icon",onclick:()=>t.onShare(t.record),title:"Share links",children:(K,Z)=>{Oa(K,{class:"h-4 w-4"})},$$slots:{default:!0}})};H(m,I=>{t.showShare&&I(y)})}var W=a(m,2);Ne(W,{variant:"outline",onclick:()=>t.onEdit(t.record),children:(I,K)=>{v();var Z=A("Edit");r(I,Z)},$$slots:{default:!0}}),r(c,u)};H(pe,c=>{t.canEdit&&c(ce)})}n(L);var Ie=a(L,2);_r(Ie,{});var je=a(Ie,2),Te=s(je),Ae=a(s(Te),2),ge=s(Ae);n(Ae),n(Te);var C=a(Te,2),D=a(s(C),2),G=s(D,!0);n(D),n(C);var Y=a(C,2);{var i=c=>{var u=Bo(),m=a(s(u),2),y=s(m,!0);n(m),n(u),X(()=>O(y,t.record.category)),r(c,u)};H(Y,c=>{t.record.category&&c(i)})}n(je);var x=a(je,2);{var P=c=>{var u=Jo(),m=s(u);_r(m,{class:"mb-4"});var y=a(m,2);gt(y,20,()=>t.record.tags,W=>W,(W,I)=>{var K=qo(),Z=s(K);n(K),X(()=>O(Z,`#${I??""}`)),r(W,K)}),n(y),n(u),r(c,u)};H(x,c=>{t.record.tags?.length&&c(P)})}n(we),X((c,u)=>{O(ie,t.projectName),O(be,t.record.displayName),O(ge,`${c??""} ago`),O(G,u)},[()=>Vr(t.record.updatedAt),()=>t.record.solveCount.toLocaleString()]),r(p,T)},$$slots:{default:!0}}),rt()}var Ko=d(`The upload becomes <strong> </strong> as a draft. The live channel stays unchanged
3
- until you publish.`,1),Dr=d("<!> <!>",1),Qo=d('<p class="truncate text-sm font-medium"> </p> <p class="text-muted-foreground text-xs">Click to choose a different file</p>',1),Xo=d('<p class="text-sm font-medium">Pick a .gh or .ghx file</p> <p class="text-muted-foreground text-xs"> </p>',1),Yo=d('What changed? <span class="text-muted-foreground font-normal">(optional)</span>',1),Zo=d("<!> ",1),en=d('<!> <div class="mt-4 space-y-4"><div class="space-y-1.5"><!> <label for="upload-file" class="border-border hover:bg-accent/30 flex cursor-pointer items-center gap-3 rounded-md border-2 border-dashed px-4 py-5 transition-colors"><!> <div class="min-w-0 flex-1"><!></div></label> <input id="upload-file" type="file" accept=".gh,.ghx" class="hidden"/></div> <div class="space-y-1.5"><!> <!></div></div> <!>',1);function tn(Pe,t){tt(t,!0);let p=g(void 0),j=g(null),T=g(""),U=g(!1);yt(()=>{t.open||M()});function M(){o(j,null),o(T,""),o(U,!1),e(p)&&(e(p).value="")}function h(){o(j,e(p)?.files?.[0]?.name??null,!0)}async function w(){if(!e(p)?.files?.length)return;o(U,!0);const z=new FormData;z.append("file",e(p).files[0]),e(T).trim()&&z.append("changeNote",e(T).trim());try{const be=await fetch(`/api/definitions/${t.definitionGuid}`,{method:"POST",body:z});if(be.ok){const $e=await be.json();Ce.success(`v${$e.version?.versionNumber??t.nextVersionNumber} uploaded as draft`),t.onUploaded(),await ct(),t.onOpenChange(!1)}else{const $e=await be.json().catch(()=>({}));Ce.error($e.message||$e.error||"Upload failed")}}catch{Ce.error("Upload failed")}finally{o(U,!1)}}var B=Ge(),ie=f(B);_(ie,()=>ar,(z,be)=>{be(z,{get open(){return t.open},get onOpenChange(){return t.onOpenChange},children:($e,oe)=>{var re=Ge(),we=f(re);_(we,()=>rr,(S,E)=>{E(S,{class:"max-w-md",children:(fe,L)=>{var ae=en(),pe=f(ae);_(pe,()=>Bt,(u,m)=>{m(u,{children:(y,W)=>{var I=Dr(),K=f(I);_(K,()=>qt,(he,le)=>{le(he,{children:(ne,xe)=>{v();var de=A("Upload new version");r(ne,de)},$$slots:{default:!0}})});var Z=a(K,2);_(Z,()=>Jt,(he,le)=>{le(he,{children:(ne,xe)=>{v();var de=Ko(),R=a(f(de)),V=s(R);n(R),v(),X(()=>O(V,`v${t.nextVersionNumber??""}`)),r(ne,de)},$$slots:{default:!0}})}),r(y,I)},$$slots:{default:!0}})});var ce=a(pe,2),Ie=s(ce),je=s(Ie);Qe(je,{for:"upload-file",children:(u,m)=>{v();var y=A("Grasshopper file");r(u,y)},$$slots:{default:!0}});var Te=a(je,2),Ae=s(Te);na(Ae,{class:"text-muted-foreground h-5 w-5 shrink-0"});var ge=a(Ae,2),C=s(ge);{var D=u=>{var m=Qo(),y=f(m),W=s(y,!0);n(y),v(2),X(()=>O(W,e(j))),r(u,m)},G=u=>{var m=Xo(),y=a(f(m),2),W=s(y);n(y),X(()=>O(W,`Becomes v${t.nextVersionNumber??""} draft`)),r(u,m)};H(C,u=>{e(j)?u(D):u(G,-1)})}n(ge),n(Te);var Y=a(Te,2);er(Y,u=>o(p,u),()=>e(p)),n(Ie);var i=a(Ie,2),x=s(i);Qe(x,{for:"upload-note",children:(u,m)=>{v();var y=Yo();v(),r(u,y)},$$slots:{default:!0}});var P=a(x,2);or(P,{id:"upload-note",rows:2,maxlength:1e3,placeholder:"e.g. Fixed wall thickness calculation",get value(){return e(T)},set value(u){o(T,u,!0)}}),n(i),n(ce);var c=a(ce,2);_(c,()=>Yt,(u,m)=>{m(u,{class:"mt-4",children:(y,W)=>{var I=Dr(),K=f(I);Ne(K,{variant:"outline",onclick:()=>t.onOpenChange(!1),children:(he,le)=>{v();var ne=A("Cancel");r(he,ne)},$$slots:{default:!0}});var Z=a(K,2);{let he=F(()=>e(U)||!e(j));Ne(Z,{onclick:w,get disabled(){return e(he)},children:(le,ne)=>{var xe=Ge(),de=f(xe);{var R=N=>{var k=A("Uploading…");r(N,k)},V=N=>{var k=Zo(),Q=f(k);hr(Q,{class:"mr-1.5 h-3.5 w-3.5"});var se=a(Q);X(()=>O(se,` Upload v${t.nextVersionNumber??""}`)),r(N,k)};H(de,N=>{e(U)?N(R):N(V,-1)})}r(le,xe)},$$slots:{default:!0}})}r(y,I)},$$slots:{default:!0}})}),at("change",Y,h),r(fe,ae)},$$slots:{default:!0}})}),r($e,re)},$$slots:{default:!0}})}),r(Pe,B),rt()}wt(["change"]);var rn=d('<div class="border-border bg-muted/30 rounded-md border px-4 py-3"><p class="text-muted-foreground text-xs">Loading versions…</p></div>'),an=d('<div class="border-border bg-muted/30 text-muted-foreground rounded-md border px-4 py-3 text-sm">No versions yet. Upload one to get started.</div>'),on=d('<span class="text-muted-foreground">· newer version uploaded</span>'),nn=d('<span class="text-muted-foreground">· up to date</span>'),sn=d("<span><strong>Live now</strong> </span> <!>",1),ln=d('<span class="text-muted-foreground">Not yet published — promote a draft to go live</span>'),dn=d("<!> ",1),cn=d('<div class="border-border bg-muted/30 flex items-center justify-between gap-3 rounded-md border px-4 py-3"><div class="flex min-w-0 items-center gap-2 text-sm"><span class="bg-success h-2 w-2 shrink-0 rounded-full"></span> <!></div> <!></div>'),un=d("<!> Upload new version",1),vn=d('<span class="bg-success/10 text-success rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase">live</span>'),fn=d('<span class="bg-warning/10 text-warning rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase">draft</span>'),pn=d('<p class="mt-1 truncate text-sm"> </p>'),gn=d('<p class="text-muted-foreground mt-1 truncate font-mono text-xs"> </p>'),mn=d("<!> Run",1),_n=d('<div><div class="flex items-start justify-between gap-3"><div class="min-w-0 flex-1"><div class="flex flex-wrap items-center gap-2"><span class="font-mono text-sm font-semibold"> </span> <!> <!></div> <!> <p class="text-muted-foreground mt-1 text-xs"> </p></div> <div class="flex shrink-0 items-center gap-1"><!> <!> <!></div></div></div>'),hn=d('<div class="space-y-2"></div>'),St=d("<!> <!>",1),xn=d(`<div class="space-y-4"><!> <div class="flex items-center justify-between gap-3"><div><h3 class="text-base font-semibold tracking-tight">Versions</h3> <p class="text-muted-foreground mt-1 text-xs">Each upload becomes a version. The live version is what runs when someone uses this
4
- definition.</p></div> <!></div> <!></div> <!> <!> <!>`,1);function bn(Pe,t){tt(t,!0);let p=g(ot([])),j=g(null),T=g(null),U=g(!0),M=g(!1),h=g(null),w=g(!1),B=g(!1),ie=g(null),z=g(null);yt(()=>{t.definitionGuid,be()});async function be(){o(U,!0);try{const i=await fetch(`/api/definitions/${t.definitionGuid}/versions`);if(!i.ok)throw new Error(`${i.status}`);const x=await i.json();o(p,x.versions,!0),o(j,x.liveVersionId,!0),o(T,x.draftVersionId,!0)}catch{Ce.error("Failed to load versions")}finally{o(U,!1)}}const $e=F(()=>e(p).find(i=>i.id===e(j))??null),oe=F(()=>e(p).find(i=>i.id===e(T))??null),re=F(()=>e(oe)!==null&&e($e)!==null&&e(oe).id!==e($e).id),we=F(()=>(e(p)[0]?.versionNumber??0)+1);function S(i){const x=Date.now()-new Date(i).getTime(),P=Math.floor(x/6e4);if(P<1)return"Just now";if(P<60)return`${P}m ago`;const c=Math.floor(P/60);if(c<24)return`${c}h ago`;const u=Math.floor(c/24);return u===1?"Yesterday":u<30?`${u}d ago`:new Date(i).toLocaleDateString()}async function E(i){o(B,!0);try{const x=i?{versionId:i.id}:{},P=await fetch(`/api/definitions/${t.definitionGuid}/publish`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(x)});if(!P.ok){const u=await P.json().catch(()=>({}));Ce.error(u.message||u.error||"Failed to publish");return}const c=await P.json();Ce.success(`v${c.version?.versionNumber??"?"} is now live`),await be(),await ct()}catch{Ce.error("Failed to publish")}finally{o(B,!1),o(h,null),o(w,!1)}}async function fe(i){o(z,i.id,!0);try{const x=await fetch(`/api/definitions/${t.definitionGuid}/versions/${i.id}`,{method:"DELETE"});if(!x.ok){const P=await x.json().catch(()=>({}));Ce.error(P.message||P.error||"Failed to delete version. Live or draft versions cannot be deleted.");return}Ce.success(`v${i.versionNumber} deleted`),await be(),await ct()}catch{Ce.error("Failed to delete version")}finally{o(z,null),o(ie,null)}}var L=xn(),ae=f(L),pe=s(ae);{var ce=i=>{var x=rn();r(i,x)},Ie=i=>{var x=an();r(i,x)},je=i=>{var x=cn(),P=s(x),c=a(s(P),2);{var u=I=>{var K=sn(),Z=f(K),he=a(s(Z));n(Z);var le=a(Z,2);{var ne=de=>{var R=on();r(de,R)},xe=de=>{var R=nn();r(de,R)};H(le,de=>{e(re)&&e(oe)?de(ne):de(xe,-1)})}X(()=>O(he,` — v${e($e).versionNumber??""}`)),r(I,K)},m=I=>{var K=ln();r(I,K)};H(c,I=>{e($e)?I(u):I(m,-1)})}n(P);var y=a(P,2);{var W=I=>{Ne(I,{size:"sm",onclick:()=>E(null),get disabled(){return e(B)},class:"shrink-0",children:(K,Z)=>{var he=dn(),le=f(he);Na(le,{class:"mr-1.5 h-3.5 w-3.5"});var ne=a(le);X(()=>O(ne,` Publish v${e(oe).versionNumber??""}`)),r(K,he)},$$slots:{default:!0}})};H(y,I=>{e(re)&&e(oe)&&I(W)})}n(x),r(i,x)};H(pe,i=>{e(U)?i(ce):e(p).length===0?i(Ie,1):i(je,-1)})}var Te=a(pe,2),Ae=a(s(Te),2);Ne(Ae,{variant:"outline",size:"sm",onclick:()=>o(M,!0),class:"shrink-0",children:(i,x)=>{var P=un(),c=f(P);hr(c,{class:"mr-1.5 h-3.5 w-3.5"}),v(),r(i,P)},$$slots:{default:!0}}),n(Te);var ge=a(Te,2);{var C=i=>{var x=hn();gt(x,21,()=>e(p),P=>P.id,(P,c)=>{const u=F(()=>e(c).id===e(j)),m=F(()=>e(c).id===e(T)&&!e(u));var y=_n(),W=s(y),I=s(W),K=s(I),Z=s(K),he=s(Z);n(Z);var le=a(Z,2);{var ne=q=>{var te=vn();r(q,te)};H(le,q=>{e(u)&&q(ne)})}var xe=a(le,2);{var de=q=>{var te=fn();r(q,te)};H(xe,q=>{e(m)&&q(de)})}n(K);var R=a(K,2);{var V=q=>{var te=pn(),ve=s(te,!0);n(te),X(()=>O(ve,e(c).changeNote)),r(q,te)},N=q=>{var te=gn(),ve=s(te,!0);n(te),X(()=>O(ve,e(c).originalFilename)),r(q,te)};H(R,q=>{e(c).changeNote?q(V):e(c).originalFilename&&q(N,1)})}var k=a(R,2),Q=s(k);n(k),n(I);var se=a(I,2),me=s(se);{let q=F(()=>e(u)?"outline":"ghost");Ne(me,{size:"sm",get variant(){return e(q)},onclick:()=>e(u)?t.onOpenRunner(t.definitionGuid,"live"):e(m)?t.onOpenRunner(t.definitionGuid,"draft"):t.onOpenRunner(t.definitionGuid,void 0,e(c).id),children:(te,ve)=>{var J=mn(),Ue=f(J);Rr(Ue,{class:"mr-1.5 h-3.5 w-3.5"}),v(),r(te,J)},$$slots:{default:!0}})}var ee=a(me,2);{var ue=q=>{Ne(q,{size:"sm",variant:"outline",get disabled(){return e(B)},onclick:()=>{o(h,e(c),!0),o(w,!0)},children:(te,ve)=>{v();var J=A("Make live");r(te,J)},$$slots:{default:!0}})};H(ee,q=>{e(u)||q(ue)})}var ke=a(ee,2);{var Ve=q=>{{let te=F(()=>e(z)===e(c).id);Ne(q,{size:"sm",variant:"ghost",onclick:()=>o(ie,e(c),!0),get disabled(){return e(te)},class:"text-muted-foreground hover:text-destructive h-8 w-8 p-0","aria-label":"Delete version",children:(ve,J)=>{nr(ve,{class:"h-3.5 w-3.5"})},$$slots:{default:!0}})}};H(ke,q=>{!e(u)&&!e(m)&&q(Ve)})}n(se),n(W),n(y),X(q=>{pt(y,1,`rounded-md border p-3 transition-colors ${e(u)?"border-primary/40 bg-accent/40":"border-border bg-card hover:bg-muted/30"}`),O(he,`v${e(c).versionNumber??""}`),O(Q,`Uploaded ${q??""}`)},[()=>S(e(c).uploadedAt)]),r(P,y)}),n(x),r(i,x)};H(ge,i=>{!e(U)&&e(p).length>0&&i(C)})}n(ae);var D=a(ae,2);tn(D,{get definitionGuid(){return t.definitionGuid},get nextVersionNumber(){return e(we)},get open(){return e(M)},onOpenChange:i=>o(M,i,!0),onUploaded:be});var G=a(D,2);_(G,()=>It,(i,x)=>{x(i,{get open(){return e(w)},onOpenChange:P=>{P||(o(h,null),o(w,!1))},children:(P,c)=>{var u=Ge(),m=f(u);_(m,()=>Nt,(y,W)=>{W(y,{children:(I,K)=>{var Z=St(),he=f(Z);_(he,()=>Tt,(ne,xe)=>{xe(ne,{children:(de,R)=>{var V=St(),N=f(V);_(N,()=>At,(Q,se)=>{se(Q,{children:(me,ee)=>{var ue=Ge(),ke=f(ue);{var Ve=te=>{var ve=A();X(()=>O(ve,`Make v${e(h).versionNumber??""} live?`)),r(te,ve)},q=te=>{var ve=A("Publish current draft?");r(te,ve)};H(ke,te=>{e(h)?te(Ve):te(q,-1)})}r(me,ue)},$$slots:{default:!0}})});var k=a(N,2);_(k,()=>Ut,(Q,se)=>{se(Q,{children:(me,ee)=>{var ue=Ge(),ke=f(ue);{var Ve=ve=>{var J=A();X(()=>O(J,`Rolling back to an older version. Anyone running this definition will immediately get v${e(h).versionNumber??""}
5
- instead of v${e($e).versionNumber??""}.`)),r(ve,J)},q=ve=>{var J=A();X(()=>O(J,`Anyone running this definition will immediately get v${e(h).versionNumber??""}
6
- instead of v${e($e)?.versionNumber??"—"??""}.`)),r(ve,J)},te=ve=>{var J=A(`Promotes the current draft to live. Everyone running this definition gets the new version
7
- immediately.`);r(ve,J)};H(ke,ve=>{e(h)&&e($e)&&e(h).versionNumber<e($e).versionNumber?ve(Ve):e(h)?ve(q,1):ve(te,-1)})}r(me,ue)},$$slots:{default:!0}})}),r(de,V)},$$slots:{default:!0}})});var le=a(he,2);_(le,()=>Et,(ne,xe)=>{xe(ne,{children:(de,R)=>{var V=St(),N=f(V);_(N,()=>Ft,(Q,se)=>{se(Q,{children:(me,ee)=>{v();var ue=A("Cancel");r(me,ue)},$$slots:{default:!0}})});var k=a(N,2);_(k,()=>Ot,(Q,se)=>{se(Q,{onclick:()=>E(e(h)),get disabled(){return e(B)},children:(me,ee)=>{v();var ue=A();X(()=>O(ue,e(B)?"Publishing…":"Publish")),r(me,ue)},$$slots:{default:!0}})}),r(de,V)},$$slots:{default:!0}})}),r(I,Z)},$$slots:{default:!0}})}),r(P,u)},$$slots:{default:!0}})});var Y=a(G,2);{let i=F(()=>!!e(ie));_(Y,()=>It,(x,P)=>{P(x,{get open(){return e(i)},onOpenChange:c=>!c&&o(ie,null),children:(c,u)=>{var m=Ge(),y=f(m);_(y,()=>Nt,(W,I)=>{I(W,{children:(K,Z)=>{var he=St(),le=f(he);_(le,()=>Tt,(xe,de)=>{de(xe,{children:(R,V)=>{var N=St(),k=f(N);_(k,()=>At,(se,me)=>{me(se,{children:(ee,ue)=>{v();var ke=A();X(()=>O(ke,`Delete v${e(ie)?.versionNumber??""}?`)),r(ee,ke)},$$slots:{default:!0}})});var Q=a(k,2);_(Q,()=>Ut,(se,me)=>{me(se,{children:(ee,ue)=>{v();var ke=A(`This permanently removes the version's file. The live and draft versions cannot be deleted —
8
- repoint first.`);r(ee,ke)},$$slots:{default:!0}})}),r(R,N)},$$slots:{default:!0}})});var ne=a(le,2);_(ne,()=>Et,(xe,de)=>{de(xe,{children:(R,V)=>{var N=St(),k=f(N);_(k,()=>Ft,(se,me)=>{me(se,{children:(ee,ue)=>{v();var ke=A("Cancel");r(ee,ke)},$$slots:{default:!0}})});var Q=a(k,2);{let se=F(()=>!!e(z));_(Q,()=>Ot,(me,ee)=>{ee(me,{onclick:()=>e(ie)&&fe(e(ie)),get disabled(){return e(se)},children:(ue,ke)=>{v();var Ve=A();X(()=>O(Ve,e(z)?"Deleting…":"Delete")),r(ue,Ve)},$$slots:{default:!0}})})}r(R,N)},$$slots:{default:!0}})}),r(K,he)},$$slots:{default:!0}})}),r(c,m)},$$slots:{default:!0}})})}r(Pe,L),rt()}var ur=d("<!> <!>",1),$n=d('<p class="text-warning flex items-start gap-1.5 text-xs"><!> Draft links expose the unpublished version. Use only for reviewers.</p>'),yn=d('<div class="mt-2 ml-6"><!></div>'),wn=d('<div class="mt-2 ml-6"><input type="datetime-local" class="border-input bg-background h-8 rounded-md border px-2 text-sm"/></div>'),Pn=d(`<!> <div class="mt-4 space-y-4"><div class="space-y-1.5"><!> <select id="sl-channel" class="border-input bg-background h-9 w-full rounded-md border px-3 text-sm"><option>Live — recipients see the published version</option><option>Draft — recipients see the unpublished version</option></select> <!></div> <div class="space-y-1.5"><!> <!></div> <div class="border-border rounded-md border p-3"><label class="flex cursor-pointer items-start gap-3"><input type="checkbox" class="mt-0.5 shrink-0"/> <div class="min-w-0"><p class="text-sm font-medium">Allow solve</p> <p class="text-muted-foreground mt-0.5 text-xs">When off, recipients can view the schema and parameters but can't run solves. When
9
- on, every solve counts against the cap.</p></div></label></div> <div class="border-border rounded-md border p-3"><label class="flex cursor-pointer items-start gap-3"><input type="checkbox" class="mt-0.5 shrink-0"/> <div class="min-w-0 flex-1"><p class="text-sm font-medium">Cap total solves</p> <p class="text-muted-foreground mt-0.5 text-xs"> </p></div></label> <!></div> <div class="border-border rounded-md border p-3"><label class="flex cursor-pointer items-start gap-3"><input type="checkbox" class="mt-0.5 shrink-0"/> <div class="min-w-0 flex-1"><p class="text-sm font-medium">Set expiry</p> <p class="text-muted-foreground mt-0.5 text-xs">The link stops working after this date. Off = never expires.</p></div></label> <!></div></div> <!>`,1),kn=d("<!> Copied",1),jn=d("<!> Copy",1),Sn=d(`<!> <div class="mt-4 space-y-3"><div class="border-warning/40 bg-warning/5 rounded-md border p-3"><p class="text-warning flex items-start gap-2 text-xs"><!> <span>This URL grants the configured access to anyone who receives it. Treat it like a
10
- password — revoke it immediately if it's compromised.</span></p></div> <div class="border-border bg-muted/40 rounded-md border p-3"><p class="text-muted-foreground mb-2 text-xs font-medium tracking-wider uppercase">Share URL</p> <div class="flex items-start gap-2"><code class="bg-background min-w-0 flex-1 rounded p-2 font-mono text-xs break-all"> </code> <!></div></div></div> <!>`,1);function Cn(Pe,t){tt(t,!0);let p=g("live"),j=g(!0),T=g(""),U=g(!1),M=g(""),h=g(!0),w=g(ot(zt)),B=g(!1),ie=g(null),z=g(null),be=g(!1);yt(()=>{t.open||$e()});function $e(){o(p,"live"),o(j,!0),o(T,""),o(U,!1),o(M,""),o(h,!0),o(w,zt,!0),o(ie,null),o(z,null),o(be,!1)}async function oe(){if(!(e(h)&&e(w)>zt&&!confirm(`You're raising the cap above the default of ${zt}. An uncapped or high-cap link is a denial-of-wallet vector if leaked. Continue?`))&&!(!e(h)&&!confirm("Removing the cap means an unlimited number of solves on this link. Recommended only for trusted recipients. Continue?"))){o(B,!0);try{const E={channel:e(p),allowSolve:e(j),...e(T).trim()?{name:e(T).trim()}:{},maxSolves:e(h)?e(w):null,...e(U)&&e(M)?{expiresAt:new Date(e(M)).toISOString()}:{}},fe=await fetch(`/api/definitions/${t.definitionGuid}/share-links`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(E)});if(!fe.ok){const ae=await fe.json().catch(()=>({}));Ce.error(ae.message||ae.error||"Failed to mint share link");return}const L=await fe.json();o(ie,L.token,!0),o(z,`${window.location.origin}/library/${t.definitionGuid}?token=${L.token}`),t.onMinted()}catch{Ce.error("Failed to mint share link")}finally{o(B,!1)}}}async function re(){if(e(z))try{await navigator.clipboard.writeText(e(z)),o(be,!0),setTimeout(()=>o(be,!1),2e3)}catch{Ce.error("Could not copy to clipboard")}}var we=Ge(),S=f(we);_(S,()=>ar,(E,fe)=>{fe(E,{get open(){return t.open},get onOpenChange(){return t.onOpenChange},children:(L,ae)=>{var pe=Ge(),ce=f(pe);_(ce,()=>rr,(Ie,je)=>{je(Ie,{class:"max-w-lg",children:(Te,Ae)=>{var ge=Ge(),C=f(ge);{var D=Y=>{var i=Pn(),x=f(i);_(x,()=>Bt,(J,Ue)=>{Ue(J,{children:(l,b)=>{var $=ur(),ye=f($);_(ye,()=>qt,(Ee,ze)=>{ze(Ee,{children:(Je,Ye)=>{v();var He=A("New share link");r(Je,He)},$$slots:{default:!0}})});var Me=a(ye,2);_(Me,()=>Jt,(Ee,ze)=>{ze(Ee,{children:(Je,Ye)=>{v();var He=A(`Anyone with the link gets the access you configure here. Caps and expiry are the
11
- load-bearing protection — they assume the URL will eventually leak.`);r(Je,He)},$$slots:{default:!0}})}),r(l,$)},$$slots:{default:!0}})});var P=a(x,2),c=s(P),u=s(c);Qe(u,{for:"sl-channel",children:(J,Ue)=>{v();var l=A("Channel");r(J,l)},$$slots:{default:!0}});var m=a(u,2),y=s(m);y.value=y.__value="live";var W=a(y);W.value=W.__value="draft",n(m);var I=a(m,2);{var K=J=>{var Ue=$n(),l=s(Ue);mr(l,{class:"mt-0.5 h-3 w-3 shrink-0"}),v(),n(Ue),r(J,Ue)};H(I,J=>{e(p)==="draft"&&J(K)})}n(c);var Z=a(c,2),he=s(Z);Qe(he,{for:"sl-label",children:(J,Ue)=>{v();var l=A("Label (optional)");r(J,l)},$$slots:{default:!0}});var le=a(he,2);ft(le,{id:"sl-label",placeholder:"e.g. Demo for Acme",get value(){return e(T)},set value(J){o(T,J,!0)}}),n(Z);var ne=a(Z,2),xe=s(ne),de=s(xe);Dt(de),v(2),n(xe),n(ne);var R=a(ne,2),V=s(R),N=s(V);Dt(N);var k=a(N,2),Q=a(s(k),2),se=s(Q);n(Q),n(k),n(V);var me=a(V,2);{var ee=J=>{var Ue=yn(),l=s(Ue);ft(l,{type:"number",min:1,class:"h-8 w-32 text-sm",get value(){return e(w)},set value(b){o(w,b,!0)}}),n(Ue),r(J,Ue)};H(me,J=>{e(h)&&J(ee)})}n(R);var ue=a(R,2),ke=s(ue),Ve=s(ke);Dt(Ve),v(2),n(ke);var q=a(ke,2);{var te=J=>{var Ue=wn(),l=s(Ue);Dt(l),n(Ue),xr(l,()=>e(M),b=>o(M,b)),r(J,Ue)};H(q,J=>{e(U)&&J(te)})}n(ue),n(P);var ve=a(P,2);_(ve,()=>Yt,(J,Ue)=>{Ue(J,{class:"mt-4",children:(l,b)=>{var $=ur(),ye=f($);Ne(ye,{variant:"outline",onclick:()=>t.onOpenChange(!1),children:(Ee,ze)=>{v();var Je=A("Cancel");r(Ee,Je)},$$slots:{default:!0}});var Me=a(ye,2);{let Ee=F(()=>e(B)||e(U)&&!e(M)||e(h)&&e(w)<1);Ne(Me,{onclick:oe,get disabled(){return e(Ee)},children:(ze,Je)=>{v();var Ye=A();X(()=>O(Ye,e(B)?"Creating…":"Create link")),r(ze,Ye)},$$slots:{default:!0}})}r(l,$)},$$slots:{default:!0}})}),X(J=>O(se,`Default ${J??""}. Recommended. Uncapped
12
- links are a denial-of-wallet risk if leaked.`),[()=>zt.toLocaleString()]),tr(m,()=>e(p),J=>o(p,J)),cr(de,()=>e(j),J=>o(j,J)),cr(N,()=>e(h),J=>o(h,J)),cr(Ve,()=>e(U),J=>o(U,J)),r(Y,i)},G=Y=>{var i=Sn(),x=f(i);_(x,()=>Bt,(le,ne)=>{ne(le,{children:(xe,de)=>{var R=ur(),V=f(R);_(V,()=>qt,(k,Q)=>{Q(k,{children:(se,me)=>{v();var ee=A("Share link ready");r(se,ee)},$$slots:{default:!0}})});var N=a(V,2);_(N,()=>Jt,(k,Q)=>{Q(k,{children:(se,me)=>{v();var ee=A(`Copy the link now — this is the only time you'll see it. The server stores only a hash; we
13
- cannot show it again.`);r(se,ee)},$$slots:{default:!0}})}),r(xe,R)},$$slots:{default:!0}})});var P=a(x,2),c=s(P),u=s(c),m=s(u);mr(m,{class:"mt-0.5 h-3.5 w-3.5 shrink-0"}),v(2),n(u),n(c);var y=a(c,2),W=a(s(y),2),I=s(W),K=s(I,!0);n(I);var Z=a(I,2);{let le=F(()=>e(be)?"default":"outline");Ne(Z,{size:"sm",get variant(){return e(le)},onclick:re,class:"shrink-0",children:(ne,xe)=>{var de=Ge(),R=f(de);{var V=k=>{var Q=kn(),se=f(Q);$a(se,{class:"mr-1.5 h-3.5 w-3.5"}),v(),r(k,Q)},N=k=>{var Q=jn(),se=f(Q);ba(se,{class:"mr-1.5 h-3.5 w-3.5"}),v(),r(k,Q)};H(R,k=>{e(be)?k(V):k(N,-1)})}r(ne,de)},$$slots:{default:!0}})}n(W),n(y),n(P);var he=a(P,2);_(he,()=>Yt,(le,ne)=>{ne(le,{class:"mt-4",children:(xe,de)=>{Ne(xe,{onclick:()=>t.onOpenChange(!1),children:(R,V)=>{v();var N=A("Done");r(R,N)},$$slots:{default:!0}})},$$slots:{default:!0}})}),X(()=>O(K,e(z))),r(Y,i)};H(C,Y=>{e(ie)?Y(G,-1):Y(D)})}r(Te,ge)},$$slots:{default:!0}})}),r(L,pe)},$$slots:{default:!0}})}),r(Pe,we),rt()}var Dn=d('<div class="border-border rounded-md border p-6 text-center"><p class="text-muted-foreground text-xs">Loading…</p></div>'),Ir=d("<!> New link",1),In=d('<span class="bg-muted text-muted-foreground rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase">view-only</span>'),Nn=d('<span class="bg-destructive/10 text-destructive flex items-center gap-1 rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase"><!> expired</span>'),Tn=d('<span class="bg-destructive/10 text-destructive rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase">cap reached</span>'),An=d('<div><div class="min-w-0 flex-1"><div class="flex flex-wrap items-center gap-1.5"><p class="truncate text-sm font-medium"> </p> <span> </span> <!> <!> <!></div> <div class="text-muted-foreground mt-1 flex flex-wrap items-center gap-x-3 gap-y-0.5 text-xs"><span class="font-mono tabular-nums"> </span> <span>·</span> <span> </span> <span>·</span> <span> </span></div></div> <!></div>'),Un=d('<div class="border-border bg-card overflow-hidden rounded-md border"><div class="border-border bg-muted/40 flex items-center justify-between gap-3 border-b px-4 py-2"><span class="text-muted-foreground text-xs font-medium tracking-wider uppercase"> </span> <!></div> <!></div>'),En=d(`<strong> </strong> will stop working immediately. Anyone
14
- using it will see a "no longer active" page. This cannot be undone.`,1),vr=d("<!> <!>",1),Fn=d(`<div class="space-y-4"><div><h3 class="text-base font-semibold tracking-tight">Share links</h3> <p class="text-muted-foreground mt-1 text-xs">Per-definition tokens that grant access without an account. Use for client demos, embeds, and
15
- review links.</p></div> <!></div> <!> <!>`,1);function On(Pe,t){tt(t,!0);let p=g(ot([])),j=g(!0),T=g(!1),U=g(null),M=g(null);yt(()=>{t.definitionGuid,h()});async function h(){o(j,!0);try{const L=await fetch(`/api/definitions/${t.definitionGuid}/share-links`);if(!L.ok)throw new Error(`${L.status}`);const ae=await L.json();o(p,ae.links,!0)}catch{Ce.error("Failed to load share links")}finally{o(j,!1)}}async function w(L){o(M,L.id,!0);try{if(!(await fetch(`/api/definitions/${t.definitionGuid}/share-links/${L.id}`,{method:"DELETE"})).ok){Ce.error("Failed to revoke link");return}Ce.success("Link revoked"),await h()}catch{Ce.error("Failed to revoke link")}finally{o(M,null),o(U,null)}}function B(L=null){if(!L)return"Never";const ae=new Date(L),pe=new Date,ce=ae.getTime()<pe.getTime();return{text:ae.toLocaleDateString(),expired:ce}}function ie(L){const ae=Date.now()-new Date(L).getTime(),pe=Math.floor(ae/6e4);if(pe<1)return"just now";if(pe<60)return`${pe}m ago`;const ce=Math.floor(pe/60);if(ce<24)return`${ce}h ago`;const Ie=Math.floor(ce/24);return Ie<30?`${Ie}d ago`:new Date(L).toLocaleDateString()}const z=F(()=>e(p).filter(L=>!L.revokedAt));var be=Fn(),$e=f(be),oe=a(s($e),2);{var re=L=>{var ae=Dn();r(L,ae)},we=L=>{br(L,{size:"sm",get icon(){return ya},title:"No share links yet",description:"Mint a link to share this definition without requiring the recipient to have an account.",actions:pe=>{Ne(pe,{size:"sm",onclick:()=>o(T,!0),children:(ce,Ie)=>{var je=Ir(),Te=f(je);Zt(Te,{class:"mr-1.5 h-3.5 w-3.5"}),v(),r(ce,je)},$$slots:{default:!0}})},$$slots:{actions:!0}})},S=L=>{var ae=Un(),pe=s(ae),ce=s(pe),Ie=s(ce);n(ce);var je=a(ce,2);Ne(je,{size:"sm",variant:"outline",onclick:()=>o(T,!0),children:(Ae,ge)=>{var C=Ir(),D=f(C);Zt(D,{class:"mr-1.5 h-3.5 w-3.5"}),v(),r(Ae,C)},$$slots:{default:!0}}),n(pe);var Te=a(pe,2);gt(Te,19,()=>e(z),Ae=>Ae.id,(Ae,ge,C)=>{const D=F(()=>B(e(ge).expiresAt)),G=F(()=>typeof e(D)=="object"&&e(D).expired),Y=F(()=>e(ge).maxSolves),i=F(()=>e(Y)!==null&&e(Y)!==void 0),x=F(()=>e(i)&&e(ge).solveCount>=e(Y));var P=An(),c=s(P),u=s(c),m=s(u),y=s(m,!0);n(m);var W=a(m,2),I=s(W,!0);n(W);var K=a(W,2);{var Z=ee=>{var ue=In();r(ee,ue)};H(K,ee=>{e(ge).allowSolve||ee(Z)})}var he=a(K,2);{var le=ee=>{var ue=Nn(),ke=s(ue);mr(ke,{class:"h-2.5 w-2.5"}),v(),n(ue),r(ee,ue)};H(he,ee=>{e(G)&&ee(le)})}var ne=a(he,2);{var xe=ee=>{var ue=Tn();r(ee,ue)};H(ne,ee=>{e(x)&&ee(xe)})}n(u);var de=a(u,2),R=s(de),V=s(R);n(R);var N=a(R,4),k=s(N);n(N);var Q=a(N,4),se=s(Q);n(Q),n(de),n(c);var me=a(c,2);{let ee=F(()=>e(M)===e(ge).id);Ne(me,{variant:"ghost",size:"icon",onclick:()=>o(U,e(ge),!0),get disabled(){return e(ee)},class:"text-muted-foreground hover:text-destructive h-7 w-7 shrink-0","aria-label":"Revoke link",children:(ue,ke)=>{nr(ue,{class:"h-3.5 w-3.5"})},$$slots:{default:!0}})}n(P),X((ee,ue,ke)=>{pt(P,1,`flex items-start gap-3 px-4 py-3 ${e(C)<e(z).length-1?"border-border border-b":""}`),O(y,e(ge).name??"Untitled link"),pt(W,1,`rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase ${e(ge).channel==="live"?"bg-success/10 text-success":"bg-warning/10 text-warning"}`),O(I,e(ge).channel),O(V,`${ee??""}${ue??""} solves`),O(k,`Expires: ${(typeof e(D)=="object"?e(D).text:e(D))??""}`),O(se,`Minted ${ke??""}`)},[()=>e(ge).solveCount.toLocaleString(),()=>e(i)?` / ${e(Y).toLocaleString()}`:"",()=>ie(e(ge).createdAt)]),r(Ae,P)}),n(ae),X(()=>O(Ie,`${e(z).length??""} active link${e(z).length===1?"":"s"}`)),r(L,ae)};H(oe,L=>{e(j)?L(re):e(z).length===0?L(we,1):L(S,-1)})}n($e);var E=a($e,2);Cn(E,{get definitionGuid(){return t.definitionGuid},get open(){return e(T)},onOpenChange:L=>o(T,L,!0),onMinted:h});var fe=a(E,2);{let L=F(()=>!!e(U));_(fe,()=>It,(ae,pe)=>{pe(ae,{get open(){return e(L)},onOpenChange:ce=>!ce&&o(U,null),children:(ce,Ie)=>{var je=Ge(),Te=f(je);_(Te,()=>Nt,(Ae,ge)=>{ge(Ae,{children:(C,D)=>{var G=vr(),Y=f(G);_(Y,()=>Tt,(x,P)=>{P(x,{children:(c,u)=>{var m=vr(),y=f(m);_(y,()=>At,(I,K)=>{K(I,{children:(Z,he)=>{v();var le=A("Revoke this link?");r(Z,le)},$$slots:{default:!0}})});var W=a(y,2);_(W,()=>Ut,(I,K)=>{K(I,{children:(Z,he)=>{var le=Ge(),ne=f(le);{var xe=de=>{var R=En(),V=f(R),N=s(V,!0);n(V),v(),X(()=>O(N,e(U).name??"This link")),r(de,R)};H(ne,de=>{e(U)&&de(xe)})}r(Z,le)},$$slots:{default:!0}})}),r(c,m)},$$slots:{default:!0}})});var i=a(Y,2);_(i,()=>Et,(x,P)=>{P(x,{children:(c,u)=>{var m=vr(),y=f(m);_(y,()=>Ft,(I,K)=>{K(I,{children:(Z,he)=>{v();var le=A("Cancel");r(Z,le)},$$slots:{default:!0}})});var W=a(y,2);{let I=F(()=>!!e(M));_(W,()=>Ot,(K,Z)=>{Z(K,{onclick:()=>e(U)&&w(e(U)),get disabled(){return e(I)},children:(he,le)=>{v();var ne=A();X(()=>O(ne,e(M)?"Revoking…":"Revoke")),r(he,ne)},$$slots:{default:!0}})})}r(c,m)},$$slots:{default:!0}})}),r(C,G)},$$slots:{default:!0}})}),r(ce,je)},$$slots:{default:!0}})})}r(Pe,be),rt()}var Ln=d('<button type="button" class="text-muted-foreground hover:text-foreground mx-6 mt-4 inline-flex items-center gap-1.5 self-start text-xs transition-colors"><!> Back to definition</button>'),Nr=d("<!> <!> <!>",1),Rn=d(' <button class="hover:opacity-70"><!></button>',1),Mn=d('<div class="mb-1 flex flex-wrap gap-1"></div>'),Tr=d('<div class="space-y-1.5"><!> <!></div>'),zn=d('<div class="grid grid-cols-2 gap-3"><!> <!></div>'),Vn=d('<div class="space-y-1.5"><!> <!></div> <div class="space-y-1.5"><!> <!></div> <div class="space-y-1.5"><!> <!></div> <div class="grid grid-cols-2 gap-3"><div class="space-y-1.5"><!> <!></div> <div class="space-y-1.5"><div class="flex items-center justify-between"><!> <span class="text-muted-foreground text-xs"> </span></div> <!> <!></div></div> <!> <div class="space-y-2"><div class="flex items-center gap-2"><!> <!></div> <!></div> <!>',1),Gn=d("<!> <!> <!> <!>",1),Bn=d("<!> Delete",1),qn=d('<div class="border-border flex shrink-0 items-center justify-between border-b px-6 py-4"><div><p class="text-muted-foreground font-mono text-[10.5px] tracking-widest uppercase">Editing</p> <h2 class="mt-0.5 text-base font-semibold"> </h2></div> <!></div> <!> <!> <div class="border-border flex shrink-0 items-center justify-between border-t px-6 py-4"><!> <div class="flex gap-2"><!> <!></div></div>',1),Ct=d("<!> <!>",1),Jn=d("<strong> </strong> will move from <strong> </strong> to <strong> </strong> ",1);function Hn(Pe,t){tt(t,!0);let p=Xe(t,"defaultComputeServerId",3,null),j=Xe(t,"initialTab",3,"versions"),T=g(ot(j()==="shares"&&!t.enableSharing?"versions":j())),U=g(ot(t.record.displayName)),M=g(ot(t.record.description??"")),h=g(ot(t.record.category??"")),w=g(ot([...t.record.tags??[]])),B=g(ot(t.record.projectId)),ie=g(ot(t.record.computeServerId??null)),z=g(ot(t.record.status)),be=g(void 0),$e=g(ot(t.record.coverImage??"")),oe=g(void 0),re=g(!1),we=g(!1),S=g(!1),E=g(null);const fe=F(()=>e(E)?t.projects.find(i=>i.id===e(E))??null:null),L=F(()=>t.projects.find(i=>i.id===e(B))??null);function ae(i){i!==e(B)&&o(E,i,!0)}function pe(){e(E)&&o(B,e(E),!0),o(E,null)}function ce(){o(E,null)}const Ie=F(()=>e(be)??(t.record.coverImage?.startsWith("/api/definitions/")?"upload":"url")),je=[{id:"draft",label:"Draft — work in progress",icon:kr,iconStyle:"color: var(--muted-foreground); fill: var(--muted-foreground);"},{id:"published",label:"Published — live and visible to runners",icon:kr,iconStyle:"color: #22c55e; fill: #22c55e;"}],Te=F(()=>t.computeServers.map(i=>({id:i.id,label:i.id===p()?`${i.label} (Default)`:i.label})));async function Ae(){if(!e(oe)?.files?.length)return;o(S,!0);const i=new FormData;i.append("image",e(oe).files[0]);try{const x=await fetch(`/api/definitions/${t.record.guid}/image`,{method:"POST",body:i});if(x.ok)Ce.success("Cover image updated"),await ct();else{const P=await x.json().catch(()=>({}));Ce.error(P.message||"Image upload failed")}}catch{Ce.error("Image upload failed")}finally{o(S,!1),e(oe)&&(e(oe).value=""),o(re,!1)}}function ge(){t.onSave(t.record.guid,{displayName:e(U),description:e(M)||void 0,category:e(h)||void 0,tags:e(w).length?e(w):void 0,coverImage:e($e)||void 0,status:e(z),projectId:e(B)||void 0,computeServerId:e(ie)})}var C=Nr(),D=f(C);Gr(D,{get onClose(){return t.onClose},ariaLabel:"Close edit drawer",children:(i,x)=>{var P=qn(),c=f(P),u=s(c),m=a(s(u),2),y=s(m,!0);n(m),n(u);var W=a(u,2);Ne(W,{variant:"ghost",size:"icon",get onclick(){return t.onClose},class:"h-8 w-8 shrink-0",children:(V,N)=>{Pt(V,{class:"h-4 w-4"})},$$slots:{default:!0}}),n(c);var I=a(c,2);{var K=V=>{var N=Ln(),k=s(N);wa(k,{class:"h-3 w-3"}),v(),n(N),at("click",N,function(...Q){t.onBack?.apply(this,Q)}),r(V,N)};H(I,V=>{t.onBack&&V(K)})}var Z=a(I,2);_(Z,()=>Or,(V,N)=>{N(V,{class:"flex flex-1 flex-col overflow-hidden",get value(){return e(T)},set value(k){o(T,k,!0)},children:(k,Q)=>{var se=Gn(),me=f(se);{let q=F(()=>`mx-6 grid w-auto ${t.enableSharing?"grid-cols-3":"grid-cols-2"} ${t.onBack?"mt-2":"mt-4"}`);_(me,()=>Lr,(te,ve)=>{ve(te,{get class(){return e(q)},children:(J,Ue)=>{var l=Nr(),b=f(l);_(b,()=>Vt,(Ee,ze)=>{ze(Ee,{value:"details",children:(Je,Ye)=>{v();var He=A("Details");r(Je,He)},$$slots:{default:!0}})});var $=a(b,2);_($,()=>Vt,(Ee,ze)=>{ze(Ee,{value:"versions",children:(Je,Ye)=>{v();var He=A("Versions");r(Je,He)},$$slots:{default:!0}})});var ye=a($,2);{var Me=Ee=>{var ze=Ge(),Je=f(ze);_(Je,()=>Vt,(Ye,He)=>{He(Ye,{value:"shares",children:(ut,vt)=>{v();var nt=A("Share links");r(ut,nt)},$$slots:{default:!0}})}),r(Ee,ze)};H(ye,Ee=>{t.enableSharing&&Ee(Me)})}r(J,l)},$$slots:{default:!0}})})}var ee=a(me,2);_(ee,()=>Gt,(q,te)=>{te(q,{value:"versions",class:"mt-4 flex-1 overflow-y-auto px-6 py-5",children:(ve,J)=>{bn(ve,{get definitionGuid(){return t.record.guid},get onOpenRunner(){return t.onOpenRunner}})},$$slots:{default:!0}})});var ue=a(ee,2);_(ue,()=>Gt,(q,te)=>{te(q,{value:"details",class:"mt-4 flex-1 space-y-5 overflow-y-auto px-6 py-5",children:(ve,J)=>{var Ue=Vn(),l=f(Ue),b=s(l);Qe(b,{for:"edit-name",children:(Se,Be)=>{v();var qe=A("Display name");r(Se,qe)},$$slots:{default:!0}});var $=a(b,2);ft($,{id:"edit-name",get value(){return e(U)},set value(Se){o(U,Se,!0)}}),n(l);var ye=a(l,2),Me=s(ye);Qe(Me,{for:"edit-desc",children:(Se,Be)=>{v();var qe=A("Description");r(Se,qe)},$$slots:{default:!0}});var Ee=a(Me,2);or(Ee,{id:"edit-desc",rows:3,get value(){return e(M)},set value(Se){o(M,Se,!0)}}),n(ye);var ze=a(ye,2),Je=s(ze);Qe(Je,{for:"edit-status",children:(Se,Be)=>{v();var qe=A("Status");r(Se,qe)},$$slots:{default:!0}});var Ye=a(Je,2);fr(Ye,{id:"edit-status",get items(){return je},get value(){return e(z)},onChange:Se=>o(z,Se,!0)}),n(ze);var He=a(ze,2),ut=s(He),vt=s(ut);Qe(vt,{for:"edit-cat",children:(Se,Be)=>{v();var qe=A("Category");r(Se,qe)},$$slots:{default:!0}});var nt=a(vt,2);ft(nt,{id:"edit-cat",maxlength:40,placeholder:"e.g. Facade",get value(){return e(h)},set value(Se){o(h,Se,!0)}}),n(ut);var mt=a(ut,2),bt=s(mt),_e=s(bt);Qe(_e,{for:"edit-tags",children:(Se,Be)=>{v();var qe=A("Tags");r(Se,qe)},$$slots:{default:!0}});var De=a(_e,2),Fe=s(De);n(De),n(bt);var Ke=a(bt,2);{var Ze=Se=>{var Be=Mn();gt(Be,20,()=>e(w),qe=>qe,(qe,$t)=>{Mr(qe,{variant:"outline",class:"gap-1 text-xs",children:(ir,yr)=>{v();var _t=Rn(),ht=f(_t),xt=a(ht),Rt=s(xt);Pt(Rt,{class:"h-2.5 w-2.5"}),n(xt),X(()=>{O(ht,`${$t??""} `),jt(xt,"aria-label",`Remove tag ${$t??""}`)}),at("click",xt,()=>o(w,e(w).filter(kt=>kt!==$t),!0)),r(ir,_t)},$$slots:{default:!0}})}),n(Be),r(Se,Be)};H(Ke,Se=>{e(w).length>0&&Se(Ze)})}var it=a(Ke,2);{let Se=F(()=>e(w).length>=5);ft(it,{id:"edit-tags",placeholder:"Add tag + Enter",get disabled(){return e(Se)},onkeydown:Be=>{if(Be.key==="Enter"){Be.preventDefault();const qe=Be.currentTarget,$t=qe.value.trim();$t&&!e(w).includes($t)&&e(w).length<5&&(o(w,[...e(w),$t],!0),qe.value="")}}})}n(mt),n(He);var et=a(He,2);_r(et,{});var Oe=a(et,2),Le=s(Oe),We=s(Le);Ea(We,{class:"text-muted-foreground h-4 w-4"});var Re=a(We,2);Qe(Re,{children:(Se,Be)=>{v();var qe=A("Cover image");r(Se,qe)},$$slots:{default:!0}}),n(Le);var st=a(Le,2);{let Se=F(()=>t.record.coverImage??"");Br(st,{get mode(){return e(Ie)},get value(){return e(Se)},get isUploading(){return e(S)},get hasFile(){return e(re)},onModeChange:Be=>o(be,Be,!0),onUpload:Ae,onFileSelected:()=>o(re,!!e(oe)?.files?.length),onUrlChange:Be=>o($e,Be,!0),get inputRef(){return e(oe)},set inputRef(Be){o(oe,Be,!0)}})}n(Oe);var dt=a(Oe,2);{var lt=Se=>{var Be=zn(),qe=s(Be);{var $t=_t=>{var ht=Tr(),xt=s(ht);Qe(xt,{for:"edit-proj",children:(kt,Wt)=>{v();var lr=A("Project");r(kt,lr)},$$slots:{default:!0}});var Rt=a(xt,2);qr(Rt,{id:"edit-proj",get projects(){return t.projects},get value(){return e(B)},onChange:ae}),n(ht),r(_t,ht)};H(qe,_t=>{t.projects.length>1&&_t($t)})}var ir=a(qe,2);{var yr=_t=>{var ht=Tr(),xt=s(ht);Qe(xt,{for:"edit-srv",children:(kt,Wt)=>{v();var lr=A("Compute server");r(kt,lr)},$$slots:{default:!0}});var Rt=a(xt,2);{let kt=F(()=>e(ie)??p()??"");fr(Rt,{id:"edit-srv",get items(){return e(Te)},get value(){return e(kt)},onChange:Wt=>{o(ie,Wt===p()?null:Wt,!0)}})}n(ht),r(_t,ht)};H(ir,_t=>{t.computeServers.length>0&&_t(yr)})}n(Be),r(Se,Be)};H(dt,Se=>{(t.projects.length>1||t.computeServers.length>0)&&Se(lt)})}X(()=>O(Fe,`${e(w).length??""}/5`)),r(ve,Ue)},$$slots:{default:!0}})});var ke=a(ue,2);{var Ve=q=>{var te=Ge(),ve=f(te);_(ve,()=>Gt,(J,Ue)=>{Ue(J,{value:"shares",class:"mt-4 flex-1 overflow-y-auto px-6 py-5",children:(l,b)=>{On(l,{get definitionGuid(){return t.record.guid}})},$$slots:{default:!0}})}),r(q,te)};H(ke,q=>{t.enableSharing&&q(Ve)})}r(k,se)},$$slots:{default:!0}})});var he=a(Z,2),le=s(he);Ne(le,{variant:"ghost",size:"sm",onclick:()=>o(we,!0),class:"text-destructive hover:text-destructive gap-1.5 px-2",children:(V,N)=>{var k=Bn(),Q=f(k);nr(Q,{class:"h-3.5 w-3.5"}),v(),r(V,k)},$$slots:{default:!0}});var ne=a(le,2),xe=s(ne);Ne(xe,{variant:"outline",size:"sm",get onclick(){return t.onClose},children:(V,N)=>{v();var k=A("Cancel");r(V,k)},$$slots:{default:!0}});var de=a(xe,2);{var R=V=>{Ne(V,{size:"sm",get disabled(){return t.isSaving},onclick:ge,children:(N,k)=>{v();var Q=A();X(()=>O(Q,t.isSaving?"Saving…":"Save")),r(N,Q)},$$slots:{default:!0}})};H(de,V=>{e(T)==="details"&&V(R)})}n(ne),n(he),X(()=>O(y,t.record.displayName)),r(i,P)},$$slots:{default:!0}});var G=a(D,2);_(G,()=>It,(i,x)=>{x(i,{get open(){return e(we)},onOpenChange:P=>o(we,P,!0),children:(P,c)=>{var u=Ge(),m=f(u);_(m,()=>Nt,(y,W)=>{W(y,{children:(I,K)=>{var Z=Ct(),he=f(Z);_(he,()=>Tt,(ne,xe)=>{xe(ne,{children:(de,R)=>{var V=Ct(),N=f(V);_(N,()=>At,(Q,se)=>{se(Q,{children:(me,ee)=>{v();var ue=A();X(()=>O(ue,`Delete "${t.record.displayName??""}"?`)),r(me,ue)},$$slots:{default:!0}})});var k=a(N,2);_(k,()=>Ut,(Q,se)=>{se(Q,{children:(me,ee)=>{v();var ue=A("This removes the definition and all its files. This cannot be undone.");r(me,ue)},$$slots:{default:!0}})}),r(de,V)},$$slots:{default:!0}})});var le=a(he,2);_(le,()=>Et,(ne,xe)=>{xe(ne,{children:(de,R)=>{var V=Ct(),N=f(V);_(N,()=>Ft,(Q,se)=>{se(Q,{children:(me,ee)=>{v();var ue=A("Cancel");r(me,ue)},$$slots:{default:!0}})});var k=a(N,2);_(k,()=>Ot,(Q,se)=>{se(Q,{onclick:()=>t.onDelete(t.record.guid),children:(me,ee)=>{v();var ue=A("Delete");r(me,ue)},$$slots:{default:!0}})}),r(de,V)},$$slots:{default:!0}})}),r(I,Z)},$$slots:{default:!0}})}),r(P,u)},$$slots:{default:!0}})});var Y=a(G,2);{let i=F(()=>e(E)!==null);_(Y,()=>It,(x,P)=>{P(x,{get open(){return e(i)},onOpenChange:c=>{c||ce()},children:(c,u)=>{var m=Ge(),y=f(m);_(y,()=>Nt,(W,I)=>{I(W,{children:(K,Z)=>{var he=Ct(),le=f(he);_(le,()=>Tt,(xe,de)=>{de(xe,{children:(R,V)=>{var N=Ct(),k=f(N);_(k,()=>At,(se,me)=>{me(se,{children:(ee,ue)=>{v();var ke=A("Move to a different project?");r(ee,ke)},$$slots:{default:!0}})});var Q=a(k,2);_(Q,()=>Ut,(se,me)=>{me(se,{children:(ee,ue)=>{var ke=Jn(),Ve=f(ke),q=s(Ve,!0);n(Ve);var te=a(Ve,2),ve=s(te,!0);n(te);var J=a(te,2),Ue=s(J,!0);n(J);var l=a(J);X(()=>{O(q,t.record.displayName),O(ve,e(L)?.name??"—"),O(Ue,e(fe)?.name??"—"),O(l,`. Project members and visibility may change
16
- accordingly.${t.enableSharing?" Existing share links keep working.":""}`)}),r(ee,ke)},$$slots:{default:!0}})}),r(R,N)},$$slots:{default:!0}})});var ne=a(le,2);_(ne,()=>Et,(xe,de)=>{de(xe,{children:(R,V)=>{var N=Ct(),k=f(N);_(k,()=>Ft,(se,me)=>{me(se,{onclick:ce,children:(ee,ue)=>{v();var ke=A("Cancel");r(ee,ke)},$$slots:{default:!0}})});var Q=a(k,2);_(Q,()=>Ot,(se,me)=>{me(se,{onclick:pe,children:(ee,ue)=>{v();var ke=A("Move");r(ee,ke)},$$slots:{default:!0}})}),r(R,N)},$$slots:{default:!0}})}),r(K,he)},$$slots:{default:!0}})}),r(c,m)},$$slots:{default:!0}})})}r(Pe,C),rt()}wt(["click"]);var Wn=d("<!> Project settings",1),Kn=d("<!> Add definition",1),Xt=d("<!> <!>",1),Qn=d('<div class="grid gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4"></div>'),Xn=d('<div class="flex h-full overflow-hidden"><!> <div class="flex flex-1 flex-col overflow-hidden"><div class="border-border bg-background shrink-0 border-b px-(--page-px) py-5"><!></div> <div class="flex-1 overflow-y-auto px-(--page-px) py-5"><div class="mb-5 flex items-center gap-3"><div class="max-w-lg flex-1"><!></div> <span class="text-muted-foreground font-mono text-xs tabular-nums"> </span> <div class="ml-auto"><!></div></div> <!></div></div></div> <!> <!> <!> <!> <!>',1);function zs(Pe,t){tt(t,!0);const p=()=>Zr(oa,"$page",j),[j,T]=Yr(),U=F(()=>!!p().data.flags?.enableSharing);let M=g(""),h=g(null),w=g("grid");yt(()=>{const l=p().url.searchParams.get("project");if(l){const b=t.data.projects.find($=>$.slug===l);b&&o(h,b.id,!0)}});let B=g(null),ie=g(null),z=g(null),be=g(null),$e=g(!1),oe=g(!1),re=g("versions"),we=g(!1),S=g(null);const E=F(()=>{let l=t.data.records;if(e(h)&&(l=l.filter(b=>b.projectId===e(h))),e(M).trim()){const b=e(M).toLowerCase();l=l.filter($=>$.displayName?.toLowerCase().includes(b)||$.description?.toLowerCase().includes(b)||$.tags?.some(ye=>ye.toLowerCase().includes(b)))}return l}),fe=F(()=>e(ie)?t.data.records.find(l=>l.guid===e(ie))??null:null),L=F(()=>e(h)?t.data.projects.find(l=>l.id===e(h))??null:null),ae=F(()=>e(L)?e(L).canEdit:t.data.projects.some(l=>l.canEdit)),pe=F(()=>t.data.projects.filter(l=>l.canEdit)),ce=F(()=>e(z)?t.data.projects.find(l=>l.id===e(z))??null:null),Ie=F(()=>e(be)?t.data.projects.find(l=>l.id===e(be))??null:null);function je(l){return t.data.projects.find(b=>b.id===l)?.name??""}function Te(l){return t.data.projects.find(b=>b.id===l)?.visibility}function Ae(l){const b=t.data.computeServers;if(b.length===0)return;const $=l.computeServerId?b.find(Me=>Me.id===l.computeServerId):void 0,ye=b.find(Me=>Me.id===t.data.defaultComputeServerId)??b[0];return($??ye)?.label}function ge(l){return t.data.projects.find(b=>b.id===l.projectId)?.canEdit??!1}async function C(l,b){if(l.headers.get("content-type")?.includes("application/json")){const $=await l.json().catch(()=>null);return $?.message||$?.error?.message||`${b} (${l.status})`}return`${b} (${l.status})`}async function D(l,b){o(S,l,!0);try{const $=await fetch(`/api/definitions/${l}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});$.ok?(Ce.success("Definition saved"),o(ie,null),o(B,null),await ct()):Ce.error(await C($,"Save failed"))}catch($){Ce.error("Save failed: "+($ instanceof Error?$.message:"Unknown error"))}finally{o(S,null)}}async function G(l){const b=t.data.records.find($=>$.guid===l);try{const $=await fetch(`/api/definitions/${l}`,{method:"DELETE"});$.ok?(Ce.success(`"${b?.displayName??"Definition"}" deleted`),o(ie,null),await ct()):Ce.error(await C($,"Delete failed"))}catch{Ce.error("Delete failed")}}async function Y(l){o(we,!0);try{const b=await fetch("/api/definitions",{method:"POST",body:l});if(b.ok)Ce.success(`"${l.get("displayName")}" created`),o($e,!1),await ct();else{const $=await C(b,"Failed to create definition");throw Ce.error($),new Error($)}}finally{o(we,!1)}}async function i(l){const b=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)});if(b.ok){const $=await b.json().catch(()=>null);Ce.success(`Project "${l.name}" created`),await ct(),$?.id&&o(h,$.id,!0)}else throw Ce.error(await C(b,"Failed to create project")),new Error("create project failed")}async function x(l,b){const $=await fetch(`/api/projects/${l}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});$.ok?(Ce.success("Project saved"),o(z,null),await ct()):Ce.error(await C($,"Failed to save project"))}async function P(l){const b=await fetch(`/api/projects/${l}`,{method:"DELETE"});b.ok?(Ce.success("Project deleted"),e(h)===l&&o(h,t.data.projects.find($=>$.id!==l)?.id??null,!0),o(be,null),o(z,null),await ct()):Ce.error(await C(b,"Failed to delete project"))}async function c(l,b,$){const ye=await fetch(`/api/projects/${l}/members`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userId:b,role:$})});ye.ok?(Ce.success("Member added"),await ct()):Ce.error(await C(ye,"Failed to add member"))}async function u(l,b,$){(await fetch(`/api/projects/${l}/members/${b}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({role:$})})).ok?await ct():Ce.error("Failed to update role")}async function m(l,b){(await fetch(`/api/projects/${l}/members/${b}`,{method:"DELETE"})).ok?await ct():Ce.error("Failed to remove member")}var y=Xn();aa("rqn88j",l=>{Qr(()=>{Xr.title="Projects"})});var W=f(y),I=s(W);mo(I,{get projects(){return t.data.projects},get records(){return t.data.records},get activeProjectId(){return e(h)},get canManageProjects(){return t.data.canManageProjects},onSelect:l=>{o(h,l,!0);const b=t.data.projects.find($=>$.id===l);if(b){const $=new Sa(p().url.search);$.set("project",b.slug),window.history.replaceState(null,"",`?${$}`)}},onCreate:i});var K=a(I,2),Z=s(K),he=s(Z);{const l=ye=>{var Me=Xt(),Ee=f(Me);{var ze=He=>{Ne(He,{variant:"outline",size:"sm",onclick:()=>o(z,e(L).id,!0),children:(ut,vt)=>{var nt=Wn(),mt=f(nt);ka(mt,{class:"mr-1.5 h-3.5 w-3.5"}),v(),r(ut,nt)},$$slots:{default:!0}})};H(Ee,He=>{t.data.canManageProjects&&e(L)&&He(ze)})}var Je=a(Ee,2);{var Ye=He=>{Ne(He,{size:"sm",onclick:()=>o($e,!0),children:(ut,vt)=>{var nt=Kn(),mt=f(nt);Zt(mt,{class:"mr-1.5 h-3.5 w-3.5"}),v(),r(ut,nt)},$$slots:{default:!0}})};H(Je,He=>{e(ae)&&He(Ye)})}r(ye,Me)};let b=F(()=>e(L)?e(L).name:"All projects"),$=F(()=>e(L)?.description??(e(L)?void 0:"Definitions across every project in this organization."));Pa(he,{class:"mb-0",get eyebrow(){return e(b)},title:"Definitions",get description(){return e($)},actions:l,$$slots:{actions:!0}})}n(Z);var le=a(Z,2),ne=s(le),xe=s(ne),de=s(xe);ua(de,{placeholder:"Search by name, description, tags…",clearable:!0,get value(){return e(M)},set value(l){o(M,l,!0)}}),n(xe);var R=a(xe,2),V=s(R);n(R);var N=a(R,2),k=s(N);va(k,{get mode(){return e(w)},size:"sm",onChange:l=>o(w,l,!0)}),n(N),n(ne);var Q=a(ne,2);{var se=l=>{{let b=F(()=>e(M)?"Try adjusting your search":"Add your first definition to get started");br(l,{size:"lg",title:"No definitions found",get description(){return e(b)}})}},me=l=>{var b=Qn();gt(b,21,()=>e(E),$=>$.guid,($,ye)=>{{let Me=F(()=>e(h)===null?je(e(ye).projectId):void 0),Ee=F(()=>e(h)===null?Te(e(ye).projectId):void 0),ze=F(()=>Ae(e(ye)));fa($,{get record(){return e(ye)},showStatus:!0,onOpen:Je=>o(B,Je,!0),get projectName(){return e(Me)},get projectVisibility(){return e(Ee)},get serverName(){return e(ze)}})}}),n(b),r(l,b)},ee=l=>{Lo(l,{get records(){return e(E)},get projects(){return t.data.projects},onOpen:b=>o(B,b,!0)})};H(Q,l=>{e(E).length===0?l(se):e(w)==="grid"?l(me,1):l(ee,-1)})}n(le),n(K),n(W);var ue=a(W,2);{var ke=l=>{{let b=F(()=>je(e(B).projectId)),$=F(()=>ge(e(B)));Wo(l,{get record(){return e(B)},get projectName(){return e(b)},get canEdit(){return e($)},get showShare(){return e(U)},onClose:()=>o(B,null),onEdit:ye=>{o(re,"details"),o(ie,ye.guid,!0),o(oe,!0),o(B,null)},onShare:ye=>{o(re,"shares"),o(ie,ye.guid,!0),o(oe,!0),o(B,null)},onOpenRunner:(ye,Me,Ee)=>wr(`/library/${ye}${Ee?`?version=${Ee}`:Me==="draft"?"?channel=draft":""}`)})}};H(ue,l=>{e(B)&&l(ke)})}var Ve=a(ue,2);{var q=l=>{var b=Ge(),$=f(b);ta($,()=>e(re),ye=>{{let Me=F(()=>e(S)===e(fe).guid),Ee=F(()=>e(oe)?()=>{o(B,e(fe),!0),o(ie,null),o(oe,!1)}:void 0);Hn(ye,{get record(){return e(fe)},get projects(){return t.data.projects},get computeServers(){return t.data.computeServers},get defaultComputeServerId(){return t.data.defaultComputeServerId},get isSaving(){return e(Me)},get initialTab(){return e(re)},get enableSharing(){return e(U)},onClose:()=>{o(ie,null),o(oe,!1),o(re,"versions")},get onBack(){return e(Ee)},onSave:D,onDelete:G,onOpenRunner:(ze,Je,Ye)=>wr(`/library/${ze}${Ye?`?version=${Ye}`:Je==="draft"?"?channel=draft":""}`)})}}),r(l,b)};H(Ve,l=>{e(fe)&&l(q)})}var te=a(Ve,2);{var ve=l=>{{let b=F(()=>e(z)!==null);No(l,{get project(){return e(ce)},get users(){return t.data.users},get open(){return e(b)},onOpenChange:$=>{$||o(z,null)},onSave:x,onDelete:$=>{o(z,null),o(be,$,!0)},onAddMember:c,onUpdateMemberRole:u,onRemoveMember:m})}};H(te,l=>{e(ce)&&t.data.canManageProjects&&l(ve)})}var J=a(te,2);{let l=F(()=>e(be)!==null);_(J,()=>It,(b,$)=>{$(b,{get open(){return e(l)},onOpenChange:ye=>{ye||o(be,null)},children:(ye,Me)=>{var Ee=Ge(),ze=f(Ee);_(ze,()=>Nt,(Je,Ye)=>{Ye(Je,{children:(He,ut)=>{var vt=Xt(),nt=f(vt);_(nt,()=>Tt,(bt,_e)=>{_e(bt,{children:(De,Fe)=>{var Ke=Xt(),Ze=f(Ke);_(Ze,()=>At,(et,Oe)=>{Oe(et,{children:(Le,We)=>{v();var Re=A();X(()=>O(Re,`Delete "${e(Ie)?.name??""??""}"?`)),r(Le,Re)},$$slots:{default:!0}})});var it=a(Ze,2);_(it,()=>Ut,(et,Oe)=>{Oe(et,{children:(Le,We)=>{v();var Re=A("This will remove the project and all member assignments. Definitions will become unassigned.");r(Le,Re)},$$slots:{default:!0}})}),r(De,Ke)},$$slots:{default:!0}})});var mt=a(nt,2);_(mt,()=>Et,(bt,_e)=>{_e(bt,{children:(De,Fe)=>{var Ke=Xt(),Ze=f(Ke);_(Ze,()=>Ft,(et,Oe)=>{Oe(et,{children:(Le,We)=>{v();var Re=A("Cancel");r(Le,Re)},$$slots:{default:!0}})});var it=a(Ze,2);_(it,()=>Ot,(et,Oe)=>{Oe(et,{onclick:()=>e(be)&&P(e(be)),children:(Le,We)=>{v();var Re=A("Delete");r(Le,Re)},$$slots:{default:!0}})}),r(De,Ke)},$$slots:{default:!0}})}),r(He,vt)},$$slots:{default:!0}})}),r(ye,Ee)},$$slots:{default:!0}})})}var Ue=a(J,2);{let l=F(()=>e(L)?.canEdit?e(h):e(pe)[0]?.id),b=F(()=>e(pe).length>1);so(Ue,{get open(){return e($e)},get isAdding(){return e(we)},get projects(){return e(pe)},get defaultProjectId(){return e(l)},get computeServers(){return t.data.computeServers},get defaultComputeServerId(){return t.data.defaultComputeServerId},get showProjectDropdown(){return e(b)},onOpenChange:$=>o($e,$,!0),onSubmit:Y})}X(()=>O(V,`${e(E).length??""} definition${e(E).length===1?"":"s"}`)),r(Pe,y),rt(),T()}export{zs as component};
@@ -1 +0,0 @@
1
- e �h�����O\�%\�o��|J<�G{o��-��� �O��ڂ:�&��P$
@@ -1 +0,0 @@
1
- {"version":3,"file":"access.server.js-D99g5hZd.js","sources":["../../../../.svelte-kit/output/server/chunks/access.server.js"],"sourcesContent":["import { redirect, error } from \"@sveltejs/kit\";\nimport { A as ALL_PLATFORM_PERMISSIONS, h as hasPermission } from \"./context.js\";\nimport { q as getDefinitionMeta, l as getProjectProvider, d as getOrganizationProvider, f as flag, m as getPlatformProjectGrantStore } from \"./providers.server.js\";\nimport { h as handleApiError } from \"./api-errors.js\";\nfunction isInstanceAdmin(platformPermissions) {\n return platformPermissions.includes(\"instance_admin\");\n}\nfunction withAdminBypass(platformPermissions, rule) {\n if (isInstanceAdmin(platformPermissions)) return true;\n return rule();\n}\nfunction canView(input) {\n const {\n project,\n member,\n orgMember,\n allowCrossOrgPublic,\n enablePlatformProjects,\n platformPermissions,\n platformGrants,\n actingOrgId,\n userId\n } = input;\n if (!project) return false;\n if (project.visibility === \"platform\") {\n if (!enablePlatformProjects) return false;\n if (isInstanceAdmin(platformPermissions)) return true;\n return platformGrants.some(\n (g) => g.granteeType === \"user\" && g.granteeId === userId || g.granteeType === \"org\" && g.granteeId === actingOrgId\n );\n }\n if (project.visibility === \"private\") return member !== null;\n if (project.visibility === \"org\") return orgMember !== null;\n if (project.visibility === \"public\") return allowCrossOrgPublic ? true : orgMember !== null;\n return false;\n}\nfunction canSolve(input) {\n const {\n project,\n enablePlatformProjects,\n platformPermissions,\n platformGrants,\n actingOrgId,\n userId\n } = input;\n if (!project) return false;\n if (project.visibility === \"platform\") {\n if (!enablePlatformProjects) return false;\n if (isInstanceAdmin(platformPermissions)) return true;\n return platformGrants.some(\n (g) => g.canSolve && (g.granteeType === \"user\" && g.granteeId === userId || g.granteeType === \"org\" && g.granteeId === actingOrgId)\n );\n }\n return canView(input);\n}\nfunction canEdit(input) {\n const { member, project, enablePlatformProjects, platformPermissions } = input;\n if (project?.visibility === \"platform\") {\n if (!enablePlatformProjects) return false;\n return isInstanceAdmin(platformPermissions);\n }\n return member?.role === \"owner\" || member?.role === \"editor\";\n}\nfunction canManage(input) {\n if (input.project?.visibility === \"platform\") {\n if (!input.enablePlatformProjects) return false;\n return isInstanceAdmin(input.platformPermissions);\n }\n return input.member?.role === \"owner\";\n}\nfunction canEditProjectSettings(input) {\n if (input.project?.visibility === \"platform\") {\n if (!input.enablePlatformProjects) return false;\n return isInstanceAdmin(input.platformPermissions);\n }\n return input.member?.role === \"owner\";\n}\nfunction canChangeVisibilityToPublic(input) {\n const role = input.orgMember?.role;\n return role === \"owner\" || role === \"admin\";\n}\nfunction canEditDefinition(input) {\n const { project, definition, member, userId, platformPermissions, enablePlatformProjects } = input;\n if (!project || !definition) return false;\n if (project.visibility === \"platform\") {\n if (!enablePlatformProjects) return false;\n return isInstanceAdmin(platformPermissions);\n }\n if (member?.role === \"owner\" || member?.role === \"editor\") return true;\n if (project.autoJoinOnUpload && userId === definition.ownerId) return true;\n return false;\n}\nfunction canReclaim(input) {\n const { project, orgMember, actingOrgId } = input;\n if (!project || !actingOrgId) return false;\n if (project.visibility === \"platform\") return false;\n if (actingOrgId !== project.orgId) return false;\n const role = orgMember?.role;\n return role === \"owner\" || role === \"admin\";\n}\nfunction canCreateProject(input) {\n const { orgMember, orgPermissions, actingOrgId, targetOrgId } = input;\n if (actingOrgId !== targetOrgId) return false;\n const role = orgMember?.role;\n if (role === \"owner\" || role === \"admin\") return true;\n if (role === \"member\" && orgPermissions.includes(\"manage_projects\")) return true;\n return false;\n}\nfunction checkOwnerRemoval(input) {\n if (input.target.role !== \"owner\") return \"ok\";\n const ownerCount = input.allMembers.filter((m) => m.role === \"owner\").length;\n if (ownerCount <= 1) return \"sole_owner\";\n if (!input.confirmed) return \"needs_confirm\";\n return \"ok\";\n}\nconst throwProviderError = handleApiError;\nfunction requireAuthed(locals) {\n const { user, ctx } = locals;\n if (!user || !ctx) throw error(401, \"Unauthorized\");\n return { user, ctx };\n}\nfunction requirePermission(locals, permission) {\n const { user, ctx } = requireAuthed(locals);\n if (!hasPermission(ctx, permission)) {\n throw error(403, `You don't have permission to do this.`);\n }\n return user;\n}\nfunction assertPagePermission(locals, permission) {\n const { user, ctx } = requireAuthed(locals);\n if (!hasPermission(ctx, permission)) {\n redirect(303, \"/admin\");\n }\n return user;\n}\nconst requireManageInstanceUsers = (locals) => requirePermission(locals, \"manage_instance_users\");\nconst requireManageCompute = (locals) => requirePermission(locals, \"manage_compute\");\nconst requireManageOrgMembers = (locals) => requirePermission(locals, \"manage_org_members\");\nconst requireManageOrgCompute = (locals) => requirePermission(locals, \"manage_org_compute\");\nconst requireManageDefinitions = (locals) => requirePermission(locals, \"manage_definitions\");\nconst requireManageProjects = (locals) => requirePermission(locals, \"manage_projects\");\nconst assertManageInstanceUsers = (locals) => assertPagePermission(locals, \"manage_instance_users\");\nconst assertManageCompute = (locals) => assertPagePermission(locals, \"manage_compute\");\nconst assertManageDefinitions = (locals) => assertPagePermission(locals, \"manage_definitions\");\nconst assertManageProjects = (locals) => assertPagePermission(locals, \"manage_projects\");\nconst requireInstanceAdmin = (locals) => requirePermission(locals, \"instance_admin\");\nfunction requireAnyPlatformPermission(locals) {\n const { user, ctx } = requireAuthed(locals);\n const allowed = ALL_PLATFORM_PERMISSIONS.some((p) => hasPermission(ctx, p));\n if (!allowed) throw error(403, `You don't have permission to do this.`);\n return user;\n}\nfunction assertAnyPlatformPermission(locals) {\n const { user, ctx } = requireAuthed(locals);\n const allowed = ALL_PLATFORM_PERMISSIONS.some((p) => hasPermission(ctx, p));\n if (!allowed) redirect(303, \"/library\");\n return user;\n}\nasync function managementBypassOrRun(ctx, check) {\n if (hasPermission(ctx, \"instance_admin\")) return true;\n return await check();\n}\nasync function contentCheck(check) {\n return await check();\n}\nasync function loadProjectOr404(ctx, projectId) {\n const project = await getProjectProvider().getProject(ctx, projectId);\n if (!project) throw error(404, \"Project not found\");\n return project;\n}\nasync function buildProjectAccessInput(ctx, project, overrides = {}) {\n const allowCrossOrgPublic = flag(\"ALLOW_CROSS_ORG_PUBLIC\");\n const enablePlatformProjects = flag(\"ENABLE_PLATFORM_PROJECTS\");\n let member = null;\n let orgMember = null;\n let platformGrants = [];\n if (project.visibility === \"platform\") {\n if (enablePlatformProjects) {\n platformGrants = await getPlatformProjectGrantStore().listByProject(ctx, project.id);\n }\n } else if (project.visibility === \"private\") {\n member = await getProjectProvider().getProjectMember(ctx, project.id, ctx.userId);\n } else {\n const skipOrgMember = project.visibility === \"public\" && allowCrossOrgPublic;\n [member, orgMember] = await Promise.all([\n getProjectProvider().getProjectMember(ctx, project.id, ctx.userId),\n skipOrgMember ? Promise.resolve(null) : getOrganizationProvider().getOrgMember(ctx, project.orgId, ctx.userId)\n ]);\n }\n return {\n orgPermissions: ctx.orgPermissions,\n platformPermissions: ctx.platformPermissions,\n project,\n member,\n orgMember,\n allowCrossOrgPublic,\n enablePlatformProjects,\n platformGrants,\n actingOrgId: ctx.actingOrgId ?? null,\n userId: ctx.userId,\n ...overrides\n };\n}\nfunction projectAccessInputFromRows(ctx, project, rows) {\n return {\n orgPermissions: ctx.orgPermissions,\n platformPermissions: ctx.platformPermissions,\n project,\n member: rows.member ?? null,\n orgMember: rows.orgMember ?? null,\n allowCrossOrgPublic: flag(\"ALLOW_CROSS_ORG_PUBLIC\"),\n enablePlatformProjects: flag(\"ENABLE_PLATFORM_PROJECTS\"),\n platformGrants: rows.platformGrants ?? [],\n actingOrgId: ctx.actingOrgId ?? null,\n userId: ctx.userId\n };\n}\nasync function requireCanEdit(locals, projectId) {\n const { user, ctx } = requireAuthed(locals);\n const allowed = await contentCheck(async () => {\n const project = await loadProjectOr404(ctx, projectId);\n return canEdit(await buildProjectAccessInput(ctx, project));\n });\n if (!allowed) throw error(403, \"You do not have permission to edit this project.\");\n return user;\n}\nasync function requireCanCreateDefinition(locals, projectId) {\n const { user, ctx } = requireAuthed(locals);\n const project = await loadProjectOr404(ctx, projectId);\n const allowed = await contentCheck(async () => {\n if (project.autoJoinOnUpload) return true;\n return canEdit(await buildProjectAccessInput(ctx, project));\n });\n if (!allowed) {\n throw error(403, \"You do not have permission to upload definitions to this project.\");\n }\n return { user, ctx, project };\n}\nasync function requireCanViewOrg(locals, orgId) {\n const { user, ctx } = requireAuthed(locals);\n const allowed = await contentCheck(async () => {\n const member = await getOrganizationProvider().getOrgMember(ctx, orgId, ctx.userId);\n return member !== null;\n });\n if (!allowed) throw error(403, \"You do not have access to this organization.\");\n return user;\n}\nasync function requireTargetIsOrgMember(locals, orgId, targetUserId) {\n const { ctx } = requireAuthed(locals);\n const member = await getOrganizationProvider().getOrgMember(ctx, orgId, targetUserId);\n if (!member) {\n throw error(400, \"User must be a member of this organization to be added to a project.\");\n }\n}\nasync function requireCanReclaim(locals, projectId) {\n const { user, ctx } = requireAuthed(locals);\n const project = await loadProjectOr404(ctx, projectId);\n const allowed = await managementBypassOrRun(ctx, async () => {\n const orgMember = await getOrganizationProvider().getOrgMember(ctx, project.orgId, ctx.userId);\n return canReclaim({\n project,\n orgMember,\n actingOrgId: ctx.actingOrgId ?? null\n });\n });\n if (!allowed) {\n throw error(403, \"Only org owners or admins of this project’s org can reclaim it.\");\n }\n return { user, ctx, project };\n}\nasync function requireCanCreateProject(locals, targetOrgId) {\n const { user, ctx } = requireAuthed(locals);\n const allowed = await managementBypassOrRun(ctx, async () => {\n const orgMember = await getOrganizationProvider().getOrgMember(ctx, targetOrgId, ctx.userId);\n return canCreateProject({\n orgPermissions: ctx.orgPermissions,\n orgMember,\n actingOrgId: ctx.actingOrgId ?? null,\n targetOrgId\n });\n });\n if (!allowed) throw error(403, \"You do not have permission to create projects in this org.\");\n return { user, ctx };\n}\nasync function requireCanManage(locals, projectId) {\n const { user, ctx } = requireAuthed(locals);\n const allowed = await managementBypassOrRun(ctx, async () => {\n const project = await loadProjectOr404(ctx, projectId);\n return canManage(await buildProjectAccessInput(ctx, project));\n });\n if (!allowed) throw error(403, \"Only project owners can manage this project.\");\n return user;\n}\nasync function requireCanManageMembers(locals, projectId) {\n const { user, ctx } = requireAuthed(locals);\n const allowed = await managementBypassOrRun(ctx, async () => {\n const project = await loadProjectOr404(ctx, projectId);\n return canManage(await buildProjectAccessInput(ctx, project));\n });\n if (!allowed) throw error(403, \"Only project owners can manage members.\");\n return user;\n}\nasync function requireCanEditProjectSettings(locals, projectId) {\n const { user, ctx } = requireAuthed(locals);\n const project = await loadProjectOr404(ctx, projectId);\n const allowed = await managementBypassOrRun(\n ctx,\n async () => canEditProjectSettings(await buildProjectAccessInput(ctx, project))\n );\n if (!allowed) throw error(403, \"Only project owners can edit project settings.\");\n return { user, ctx, project };\n}\nasync function requireCanViewProject(locals, projectId) {\n const { user, ctx } = requireAuthed(locals);\n const allowed = await contentCheck(async () => {\n const project = await loadProjectOr404(ctx, projectId);\n return canView(await buildProjectAccessInput(ctx, project));\n });\n if (!allowed) throw error(403, \"You do not have access to this project.\");\n return user;\n}\nasync function requireCanSolve(locals, projectId, preloadedProject) {\n const { user, ctx } = requireAuthed(locals);\n const project = preloadedProject ?? await loadProjectOr404(ctx, projectId);\n const allowed = await contentCheck(\n async () => canSolve(await buildProjectAccessInput(ctx, project))\n );\n if (!allowed) throw error(403, \"You do not have access to this project.\");\n return { user, ctx, project };\n}\nasync function requireEditableDefinition(locals, guid) {\n const { ctx } = requireAuthed(locals);\n const record = await getDefinitionMeta().get(ctx, guid);\n if (!record) throw error(404, \"Definition not found\");\n const [project, member] = await Promise.all([\n getProjectProvider().getProject(ctx, record.projectId),\n getProjectProvider().getProjectMember(ctx, record.projectId, ctx.userId)\n ]);\n const allowed = await contentCheck(\n async () => canEditDefinition({\n project,\n definition: record,\n member,\n userId: ctx.userId,\n platformPermissions: ctx.platformPermissions,\n enablePlatformProjects: flag(\"ENABLE_PLATFORM_PROJECTS\")\n })\n );\n if (!allowed) throw error(403, \"You do not have permission to edit this definition.\");\n return { record, ctx, project };\n}\nasync function requireCanEditDefinition(locals, projectId, definitionGuid, preloaded) {\n const { user, ctx } = requireAuthed(locals);\n const allowed = await contentCheck(async () => {\n const [project, definition, member] = await Promise.all([\n preloaded?.project !== void 0 ? Promise.resolve(preloaded.project) : getProjectProvider().getProject(ctx, projectId),\n preloaded?.definition !== void 0 ? Promise.resolve(preloaded.definition) : getDefinitionMeta().get(ctx, definitionGuid),\n getProjectProvider().getProjectMember(ctx, projectId, ctx.userId)\n ]);\n return canEditDefinition({\n project,\n definition,\n member,\n userId: ctx.userId,\n platformPermissions: ctx.platformPermissions,\n enablePlatformProjects: flag(\"ENABLE_PLATFORM_PROJECTS\")\n });\n });\n if (!allowed) throw error(403, \"You do not have permission to edit this definition.\");\n return user;\n}\nconst access_server = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n assertAnyPlatformPermission,\n assertManageCompute,\n assertManageDefinitions,\n assertManageInstanceUsers,\n assertManageProjects,\n assertPagePermission,\n projectAccessInputFromRows,\n requireAnyPlatformPermission,\n requireCanCreateDefinition,\n requireCanCreateProject,\n requireCanEdit,\n requireCanEditDefinition,\n requireCanEditProjectSettings,\n requireCanManage,\n requireCanManageMembers,\n requireCanReclaim,\n requireCanSolve,\n requireCanViewOrg,\n requireCanViewProject,\n requireEditableDefinition,\n requireInstanceAdmin,\n requireManageCompute,\n requireManageDefinitions,\n requireManageInstanceUsers,\n requireManageOrgCompute,\n requireManageOrgMembers,\n requireManageProjects,\n requirePermission,\n requireTargetIsOrgMember,\n throwProviderError\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n projectAccessInputFromRows as A,\n canEdit as B,\n access_server as C,\n assertAnyPlatformPermission as a,\n requireInstanceAdmin as b,\n requireManageOrgMembers as c,\n requirePermission as d,\n requireManageInstanceUsers as e,\n assertPagePermission as f,\n assertManageCompute as g,\n assertManageInstanceUsers as h,\n requireCanEditDefinition as i,\n requireCanSolve as j,\n requireCanCreateDefinition as k,\n requireEditableDefinition as l,\n requireCanViewProject as m,\n requireCanViewOrg as n,\n requireManageOrgCompute as o,\n requireCanCreateProject as p,\n requireCanManage as q,\n requireManageCompute as r,\n requireCanEditProjectSettings as s,\n canChangeVisibilityToPublic as t,\n requireCanManageMembers as u,\n requireTargetIsOrgMember as v,\n withAdminBypass as w,\n checkOwnerRemoval as x,\n requireCanReclaim as y,\n canView as z\n};\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-auth.server.js-hCWF6Pqg.js","sources":["../../../../.svelte-kit/output/server/chunks/admin-auth.server.js"],"sourcesContent":["import { error } from \"@sveltejs/kit\";\nimport { b as private_env } from \"./shared-server.js\";\nconst SESSION_COOKIE_NAME = \"admin_session\";\nconst SESSION_MAX_AGE_MS = 8 * 60 * 60 * 1e3;\nconst REFRESH_COOKIE_NAME = \"admin_refresh\";\nconst REFRESH_MAX_AGE_MS = 30 * 24 * 60 * 60 * 1e3;\nconst RATE_LIMIT_MAX = 5;\nconst RATE_LIMIT_WINDOW_MS = 15 * 60 * 1e3;\nconst rateLimitStore = /* @__PURE__ */ new Map();\nfunction checkRateLimit(ip) {\n const now = Date.now();\n const entry = rateLimitStore.get(ip);\n if (!entry || now > entry.resetAt) {\n return { allowed: true };\n }\n if (entry.count >= RATE_LIMIT_MAX) {\n const retryAfter = Math.ceil((entry.resetAt - now) / 1e3);\n return { allowed: false, retryAfter };\n }\n return { allowed: true };\n}\nfunction recordFailedAttempt(ip) {\n const now = Date.now();\n const entry = rateLimitStore.get(ip);\n if (!entry || now > entry.resetAt) {\n rateLimitStore.set(ip, { count: 1, resetAt: now + RATE_LIMIT_WINDOW_MS });\n } else {\n entry.count += 1;\n }\n}\nfunction clearRateLimit(ip) {\n rateLimitStore.delete(ip);\n}\nfunction setSessionCookie(cookies, sessionToken) {\n const isSecure = (\n // eslint-disable-next-line no-restricted-properties -- NODE_ENV is OS-level, set by Node/Vite, not loaded from .env\n process.env.NODE_ENV === \"production\" && private_env.ALLOW_INSECURE_COOKIES !== \"true\"\n );\n cookies.set(SESSION_COOKIE_NAME, sessionToken, {\n path: \"/\",\n httpOnly: true,\n sameSite: \"lax\",\n secure: isSecure,\n maxAge: SESSION_MAX_AGE_MS / 1e3\n });\n}\nfunction destroySession(cookies) {\n cookies.delete(SESSION_COOKIE_NAME, { path: \"/\" });\n cookies.delete(REFRESH_COOKIE_NAME, { path: \"/\" });\n}\nfunction setRefreshCookie(cookies, refreshToken) {\n const isSecure = (\n // eslint-disable-next-line no-restricted-properties -- NODE_ENV is OS-level, set by Node/Vite, not loaded from .env\n process.env.NODE_ENV === \"production\" && private_env.ALLOW_INSECURE_COOKIES !== \"true\"\n );\n cookies.set(REFRESH_COOKIE_NAME, refreshToken, {\n path: \"/\",\n httpOnly: true,\n sameSite: \"lax\",\n secure: isSecure,\n maxAge: REFRESH_MAX_AGE_MS / 1e3\n });\n}\nfunction getRefreshToken(cookies) {\n return cookies.get(REFRESH_COOKIE_NAME);\n}\nfunction clearRefreshCookie(cookies) {\n cookies.delete(REFRESH_COOKIE_NAME, { path: \"/\" });\n}\nfunction requireMaxBodySize(request, maxBytes) {\n const declared = Number(request.headers.get(\"content-length\"));\n if (Number.isFinite(declared) && declared > maxBytes) {\n throw error(413, `Request body exceeds the limit for this endpoint.`);\n }\n}\nfunction safeRedirectTarget(raw, fallback) {\n if (typeof raw !== \"string\" || raw.length < 2) return fallback;\n if (raw[0] !== \"/\") return fallback;\n if (raw[1] === \"/\" || raw[1] === \"\\\\\") return fallback;\n return raw;\n}\nexport {\n setRefreshCookie as a,\n safeRedirectTarget as b,\n clearRefreshCookie as c,\n checkRateLimit as d,\n recordFailedAttempt as e,\n clearRateLimit as f,\n getRefreshToken as g,\n destroySession as h,\n requireMaxBodySize as r,\n setSessionCookie as s\n};\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"bootHealth.server.js-CxNJCaGf.js","sources":["../../../../.svelte-kit/output/server/chunks/bootHealth.server.js"],"sourcesContent":["import { p as providers } from \"./providers.server.js\";\nlet cached = null;\nlet inflight = null;\nasync function run() {\n let atRestSecrets = null;\n const store = providers.data.computeServer;\n if (typeof store.verifySecrets === \"function\") {\n try {\n atRestSecrets = await store.verifySecrets();\n } catch (err) {\n console.error(\"[selva][boot] verifySecrets threw — treating as failure\", err);\n atRestSecrets = {\n ok: false,\n plaintextFound: false,\n failures: [\n {\n serverId: \"(unknown)\",\n serverLabel: \"(unknown)\",\n reason: \"key_mismatch\",\n cause: err instanceof Error ? err.message : String(err)\n }\n ]\n };\n }\n }\n if (atRestSecrets && !atRestSecrets.ok) {\n for (const f of atRestSecrets.failures) {\n console.error(\n `[selva][boot] compute server \"${f.serverLabel}\" (${f.serverId}): ${f.reason}${f.cause ? ` — ${f.cause}` : \"\"}`\n );\n }\n console.error(\n \"[selva][boot] At-rest secret verification failed. /api/health will return 503. Recover by re-entering the affected apiKeys via /admin/compute, or by restoring the original SELVA_AT_REST_KEY. See docs/Troubleshooting.md.\"\n );\n }\n return {\n checkedAt: (/* @__PURE__ */ new Date()).toISOString(),\n atRestSecrets\n };\n}\nfunction getBootHealth() {\n if (cached) return Promise.resolve(cached);\n if (inflight) return inflight;\n inflight = run().then((result) => {\n cached = result;\n inflight = null;\n return result;\n });\n return inflight;\n}\nfunction isDegraded(report) {\n return report.atRestSecrets !== null && !report.atRestSecrets.ok;\n}\nexport {\n getBootHealth as g,\n isDegraded as i\n};\n"],"names":[],"mappings":";;AACA,IAAI,MAAM,GAAG,IAAI;AACjB,IAAI,QAAQ,GAAG,IAAI;AACnB,eAAe,GAAG,GAAG;AACrB,EAAE,IAAI,aAAa,GAAG,IAAI;AAC1B,EAAE,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,aAAa;AAC5C,EAAE,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,UAAU,EAAE;AACjD,IAAI,IAAI;AACR,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE;AACjD,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE;AAClB,MAAM,OAAO,CAAC,KAAK,CAAC,yDAAyD,EAAE,GAAG,CAAC;AACnF,MAAM,aAAa,GAAG;AACtB,QAAQ,EAAE,EAAE,KAAK;AACjB,QAAQ,cAAc,EAAE,KAAK;AAC7B,QAAQ,QAAQ,EAAE;AAClB,UAAU;AACV,YAAY,QAAQ,EAAE,WAAW;AACjC,YAAY,WAAW,EAAE,WAAW;AACpC,YAAY,MAAM,EAAE,cAAc;AAClC,YAAY,KAAK,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG;AAClE;AACA;AACA,OAAO;AACP,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE;AAC1C,IAAI,KAAK,MAAM,CAAC,IAAI,aAAa,CAAC,QAAQ,EAAE;AAC5C,MAAM,OAAO,CAAC,KAAK;AACnB,QAAQ,CAAC,8BAA8B,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;AACtH,OAAO;AACP,IAAI;AACJ,IAAI,OAAO,CAAC,KAAK;AACjB,MAAM;AACN,KAAK;AACL,EAAE;AACF,EAAE,OAAO;AACT,IAAI,SAAS,EAAE,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AACzD,IAAI;AACJ,GAAG;AACH;AACA,SAAS,aAAa,GAAG;AACzB,EAAE,IAAI,MAAM,EAAE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;AAC5C,EAAE,IAAI,QAAQ,EAAE,OAAO,QAAQ;AAC/B,EAAE,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK;AACpC,IAAI,MAAM,GAAG,MAAM;AACnB,IAAI,QAAQ,GAAG,IAAI;AACnB,IAAI,OAAO,MAAM;AACjB,EAAE,CAAC,CAAC;AACJ,EAAE,OAAO,QAAQ;AACjB;AACA,SAAS,UAAU,CAAC,MAAM,EAAE;AAC5B,EAAE,OAAO,MAAM,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;AAClE;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"clientCache.server.js-nl8vnalG.js","sources":["../../../../.svelte-kit/output/server/chunks/clientCache.server.js"],"sourcesContent":["import { enableDebugLogging, GrasshopperClient } from \"@selvajs/compute\";\nimport { b as private_env } from \"./shared-server.js\";\nimport { C as COMPUTE_REUSE_DEFINITION_CACHE, a as COMPUTE_CACHE_ERRORED_SOLVES, b as COMPUTE_SERVER_CACHESOLVE, c as MAX_SOLVE_DURATION_MS } from \"./computeLimits.js\";\nconst DEFAULT_MAX_CACHED_CLIENTS = 16;\nfunction createClientCache(config) {\n const maxCachedClients = config.maxCachedClients ?? DEFAULT_MAX_CACHED_CLIENTS;\n const cache2 = /* @__PURE__ */ new Map();\n if (config.debugVerbose) enableDebugLogging();\n const debugLog = (message) => {\n if (config.debug) config.onDebugLog?.(message);\n };\n async function build(server, definitionGuid) {\n const rhinoTiming = { last: null };\n const solveMeta = { last: null };\n const clientConfig = {\n serverUrl: server.serverUrl,\n apiKey: server.apiKey,\n // Lib-level debug is the verbose one (full payload logs); keep it on the\n // verbose flag so the concise cache logs can run without the noise.\n debug: config.debugVerbose,\n // Ask Rhino.Compute to cache solve results and return them on identical\n // repeats (same definition + inputs), skipping the solve.\n cachesolve: config.cachesolve,\n // Opt-in: also cache solves that reported GH errors.\n cacheerroredsolves: config.cacheerroredsolves,\n // DEBUG: the server's per-request timing breakdown, which exposes the two\n // SERVER-side caches at once — definition cache (pointer reuse) via\n // `decode`, solve cache (cachesolve) via `solve`. Flagged below so the\n // contrast is obvious in the logs.\n onServerTiming: (t) => {\n const decode = t.decode ?? 0;\n const solve = t.solve ?? 0;\n const encode = t.encode ?? 0;\n rhinoTiming.last = { decode, solve, encode };\n if (!config.debug) return;\n const defCache = decode <= 1 ? \"HIT (definition reused, no re-upload/parse)\" : \"miss (full parse)\";\n const solveCache = config.cachesolve && solve <= 1 ? \"HIT (cached result, solve skipped)\" : config.cachesolve ? \"miss (solved fresh)\" : \"off\";\n debugLog(\n `[Compute/rhino-cache] decode=${decode}ms solve=${solve}ms encode=${encode}ms | definition-cache: ${defCache} | solve-cache (cachesolve): ${solveCache}`\n );\n }\n };\n if (definitionGuid) {\n clientConfig.headers = { \"X-Selva-Definition\": definitionGuid };\n }\n const client = await GrasshopperClient.create(clientConfig);\n const scheduler = client.createScheduler({\n mode: \"queue\",\n timeoutMs: config.maxSolveDurationMs,\n cache: { maxEntries: 20, ttlMs: 5 * 6e4 },\n // Solve large definitions by server cache-key (pointer) instead of\n // re-uploading the full binary every solve. On a stale-pointer miss the\n // client transparently re-uploads.\n reuseServerDefinitionCache: config.reuseServerDefinitionCache,\n // DEBUG: observe the in-process response cache. `fromCache === true` means\n // this solve was served from the app's own cache — Rhino.Compute was never\n // called. `false` means it went to the compute server.\n onSettle: (_ctx, result) => {\n if (result.status !== \"success\") return;\n solveMeta.last = {\n fromCache: result.fromCache === true,\n definitionReuploaded: result.definitionReuploaded\n };\n if (!config.debug) return;\n debugLog(\n `[Compute/selva-cache] ${result.fromCache ? \"HIT — served from cache (no compute call)\" : \"miss — went to Rhino.Compute\"} (${Math.round(result.durationMs)}ms)`\n );\n if (!result.fromCache) {\n debugLog(\n result.definitionReuploaded === true ? \"[Compute/def-cache] miss — definition RE-UPLOADED (pointer was cold/stale)\" : result.definitionReuploaded === false ? \"[Compute/def-cache] HIT — definition reused from server cache (no upload)\" : \"[Compute/def-cache] n/a — reuse disabled or non-reusable definition\"\n );\n }\n if (!result.fromCache) {\n const errs = result.response?.errors;\n const errCount = Array.isArray(errs) ? errs.length : 0;\n if (errCount > 0) {\n debugLog(\n `[Compute/rhino-cache] ${errCount} GH error(s); not cacheable until fixed. First: ${JSON.stringify(errs[0])}`\n );\n }\n }\n }\n });\n return { client, scheduler, rhinoTiming, solveMeta };\n }\n return {\n async getClient(server, opts) {\n const key = server.id;\n const existing = cache2.get(key);\n if (existing) {\n cache2.delete(key);\n cache2.set(key, existing);\n return existing;\n }\n const entry = await build(server, opts?.definitionGuid);\n if (cache2.size >= maxCachedClients) {\n const oldestKey = cache2.keys().next().value;\n if (oldestKey !== void 0) {\n cache2.get(oldestKey)?.scheduler.dispose();\n cache2.delete(oldestKey);\n }\n }\n cache2.set(key, entry);\n return entry;\n },\n evict(id) {\n const key = id;\n const entry = cache2.get(key);\n if (entry) {\n entry.scheduler.dispose();\n cache2.delete(key);\n }\n },\n disposeAll() {\n for (const entry of cache2.values()) entry.scheduler.dispose();\n cache2.clear();\n }\n };\n}\nconst COMPUTE_DEBUG = [\"true\", \"1\", \"yes\"].includes(\n (private_env.SELVA_FLAG_COMPUTE_DEBUG ?? \"\").toLowerCase()\n);\nconst COMPUTE_DEBUG_VERBOSE = [\"true\", \"1\", \"yes\"].includes(\n (private_env.SELVA_FLAG_COMPUTE_DEBUG_VERBOSE ?? \"\").toLowerCase()\n);\nconst cache = createClientCache({\n maxSolveDurationMs: MAX_SOLVE_DURATION_MS,\n cachesolve: COMPUTE_SERVER_CACHESOLVE,\n cacheerroredsolves: COMPUTE_CACHE_ERRORED_SOLVES,\n reuseServerDefinitionCache: COMPUTE_REUSE_DEFINITION_CACHE,\n debug: COMPUTE_DEBUG,\n debugVerbose: COMPUTE_DEBUG_VERBOSE,\n onDebugLog: (message) => console.log(message)\n});\nfunction getClient(serverConfig, opts) {\n return cache.getClient(\n { id: serverConfig.id, serverUrl: serverConfig.serverUrl, apiKey: serverConfig.apiKey },\n opts\n );\n}\nfunction evictComputeClient(id) {\n cache.evict(id);\n}\nexport {\n COMPUTE_DEBUG as C,\n evictComputeClient as e,\n getClient as g\n};\n"],"names":[],"mappings":";;;;AAGA,MAAM,0BAA0B,GAAG,EAAE;AACrC,SAAS,iBAAiB,CAAC,MAAM,EAAE;AACnC,EAAE,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,0BAA0B;AAChF,EAAE,MAAM,MAAM,mBAAmB,IAAI,GAAG,EAAE;AAC1C,EAAE,IAAI,MAAM,CAAC,YAAY,EAAE,kBAAkB,EAAE;AAC/C,EAAE,MAAM,QAAQ,GAAG,CAAC,OAAO,KAAK;AAChC,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC;AAClD,EAAE,CAAC;AACH,EAAE,eAAe,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE;AAC/C,IAAI,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;AACtC,IAAI,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;AACpC,IAAI,MAAM,YAAY,GAAG;AACzB,MAAM,SAAS,EAAE,MAAM,CAAC,SAAS;AACjC,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM;AAC3B;AACA;AACA,MAAM,KAAK,EAAE,MAAM,CAAC,YAAY;AAChC;AACA;AACA,MAAM,UAAU,EAAE,MAAM,CAAC,UAAU;AACnC;AACA,MAAM,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;AACnD;AACA;AACA;AACA;AACA,MAAM,cAAc,EAAE,CAAC,CAAC,KAAK;AAC7B,QAAQ,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC;AACpC,QAAQ,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;AAClC,QAAQ,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC;AACpC,QAAQ,WAAW,CAAC,IAAI,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;AACpD,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AAC3B,QAAQ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,6CAA6C,GAAG,mBAAmB;AAC1G,QAAQ,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,KAAK,IAAI,CAAC,GAAG,oCAAoC,GAAG,MAAM,CAAC,UAAU,GAAG,qBAAqB,GAAG,KAAK;AACrJ,QAAQ,QAAQ;AAChB,UAAU,CAAC,6BAA6B,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC,6BAA6B,EAAE,UAAU,CAAC;AACjK,SAAS;AACT,MAAM;AACN,KAAK;AACL,IAAI,IAAI,cAAc,EAAE;AACxB,MAAM,YAAY,CAAC,OAAO,GAAG,EAAE,oBAAoB,EAAE,cAAc,EAAE;AACrE,IAAI;AACJ,IAAI,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC;AAC/D,IAAI,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC;AAC7C,MAAM,IAAI,EAAE,OAAO;AACnB,MAAM,SAAS,EAAE,MAAM,CAAC,kBAAkB;AAC1C,MAAM,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE;AAC/C;AACA;AACA;AACA,MAAM,0BAA0B,EAAE,MAAM,CAAC,0BAA0B;AACnE;AACA;AACA;AACA,MAAM,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;AAClC,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;AACzC,QAAQ,SAAS,CAAC,IAAI,GAAG;AACzB,UAAU,SAAS,EAAE,MAAM,CAAC,SAAS,KAAK,IAAI;AAC9C,UAAU,oBAAoB,EAAE,MAAM,CAAC;AACvC,SAAS;AACT,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AAC3B,QAAQ,QAAQ;AAChB,UAAU,CAAC,sBAAsB,EAAE,MAAM,CAAC,SAAS,GAAG,4CAA4C,GAAG,8BAA8B,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG;AACzK,SAAS;AACT,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;AAC/B,UAAU,QAAQ;AAClB,YAAY,MAAM,CAAC,oBAAoB,KAAK,IAAI,GAAG,4EAA4E,GAAG,MAAM,CAAC,oBAAoB,KAAK,KAAK,GAAG,4EAA4E,GAAG;AACzP,WAAW;AACX,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;AAC/B,UAAU,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM;AAC9C,UAAU,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;AAChE,UAAU,IAAI,QAAQ,GAAG,CAAC,EAAE;AAC5B,YAAY,QAAQ;AACpB,cAAc,CAAC,sBAAsB,EAAE,QAAQ,CAAC,gDAAgD,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1H,aAAa;AACb,UAAU;AACV,QAAQ;AACR,MAAM;AACN,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE;AACxD,EAAE;AACF,EAAE,OAAO;AACT,IAAI,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE;AAClC,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE;AAC3B,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;AACtC,MAAM,IAAI,QAAQ,EAAE;AACpB,QAAQ,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;AAC1B,QAAQ,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC;AACjC,QAAQ,OAAO,QAAQ;AACvB,MAAM;AACN,MAAM,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC;AAC7D,MAAM,IAAI,MAAM,CAAC,IAAI,IAAI,gBAAgB,EAAE;AAC3C,QAAQ,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK;AACpD,QAAQ,IAAI,SAAS,KAAK,MAAM,EAAE;AAClC,UAAU,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE;AACpD,UAAU,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;AAClC,QAAQ;AACR,MAAM;AACN,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AAC5B,MAAM,OAAO,KAAK;AAClB,IAAI,CAAC;AACL,IAAI,KAAK,CAAC,EAAE,EAAE;AACd,MAAM,MAAM,GAAG,GAAG,EAAE;AACpB,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;AACnC,MAAM,IAAI,KAAK,EAAE;AACjB,QAAQ,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE;AACjC,QAAQ,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;AAC1B,MAAM;AACN,IAAI,CAAC;AACL,IAAI,UAAU,GAAG;AACjB,MAAM,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE;AACpE,MAAM,MAAM,CAAC,KAAK,EAAE;AACpB,IAAI;AACJ,GAAG;AACH;AACK,MAAC,aAAa,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,QAAQ;AACnD,EAAE,CAAC,WAAW,CAAC,wBAAwB,IAAI,EAAE,EAAE,WAAW;AAC1D;AACA,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,QAAQ;AAC3D,EAAE,CAAC,WAAW,CAAC,gCAAgC,IAAI,EAAE,EAAE,WAAW;AAClE,CAAC;AACD,MAAM,KAAK,GAAG,iBAAiB,CAAC;AAChC,EAAE,kBAAkB,EAAE,qBAAqB;AAC3C,EAAE,UAAU,EAAE,yBAAyB;AACvC,EAAE,kBAAkB,EAAE,4BAA4B;AAClD,EAAE,0BAA0B,EAAE,8BAA8B;AAC5D,EAAE,KAAK,EAAE,aAAa;AACtB,EAAE,YAAY,EAAE,qBAAqB;AACrC,EAAE,UAAU,EAAE,CAAC,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,OAAO;AAC9C,CAAC,CAAC;AACF,SAAS,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE;AACvC,EAAE,OAAO,KAAK,CAAC,SAAS;AACxB,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE;AAC3F,IAAI;AACJ,GAAG;AACH;AACA,SAAS,kBAAkB,CAAC,EAAE,EAAE;AAChC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;AACjB;;;;"}
@@ -1,20 +0,0 @@
1
- import { b as private_env } from './shared-server.js-DaWdgxVh.js';
2
- import { r as resolveComputeLimits } from './providers.server.js-D0hpk-aq.js';
3
-
4
- const limits = resolveComputeLimits(private_env);
5
- const MAX_SOLVE_DURATION_MS = limits.maxSolveDurationMs;
6
- const RATE_LIMIT_WINDOW_MS = limits.rateLimitWindowMs;
7
- const RATE_LIMIT_MAX_REQUESTS = limits.rateLimitMaxRequests;
8
- const MAX_GH_FILE_SIZE = limits.maxGhFileSize;
9
- const MAX_IMAGE_FILE_SIZE = limits.maxImageFileSize;
10
- const COMPUTE_REQUEST_MAX_BYTES = limits.computeRequestMaxBytes;
11
- const COMPUTE_RESPONSE_MAX_BYTES = limits.computeResponseMaxBytes;
12
- const REMOTE_DEFINITION_MAX_BYTES = limits.remoteDefinitionMaxBytes;
13
- const REMOTE_DEFINITION_FETCH_TIMEOUT_MS = limits.remoteDefinitionFetchTimeoutMs;
14
- const DEFINITION_CACHE_TTL_MS = limits.definitionCacheTtlMs;
15
- const COMPUTE_REUSE_DEFINITION_CACHE = limits.computeReuseDefinitionCache;
16
- const COMPUTE_SERVER_CACHESOLVE = limits.computeServerCachesolve;
17
- const COMPUTE_CACHE_ERRORED_SOLVES = limits.computeCacheErroredSolves;
18
-
19
- export { COMPUTE_RESPONSE_MAX_BYTES as C, DEFINITION_CACHE_TTL_MS as D, MAX_IMAGE_FILE_SIZE as M, REMOTE_DEFINITION_FETCH_TIMEOUT_MS as R, REMOTE_DEFINITION_MAX_BYTES as a, COMPUTE_REQUEST_MAX_BYTES as b, MAX_GH_FILE_SIZE as c, RATE_LIMIT_MAX_REQUESTS as d, RATE_LIMIT_WINDOW_MS as e, MAX_SOLVE_DURATION_MS as f, COMPUTE_REUSE_DEFINITION_CACHE as g, COMPUTE_CACHE_ERRORED_SOLVES as h, COMPUTE_SERVER_CACHESOLVE as i };
20
- //# sourceMappingURL=computeLimits.js-C5c7HPGJ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"computeLimits.js-C5c7HPGJ.js","sources":["../../../../.svelte-kit/output/server/chunks/computeLimits.js"],"sourcesContent":["import { b as private_env } from \"./shared-server.js\";\nimport { s as resolveComputeLimits } from \"./providers.server.js\";\nconst limits = resolveComputeLimits(private_env);\nconst MAX_SOLVE_DURATION_MS = limits.maxSolveDurationMs;\nconst RATE_LIMIT_WINDOW_MS = limits.rateLimitWindowMs;\nconst RATE_LIMIT_MAX_REQUESTS = limits.rateLimitMaxRequests;\nconst MAX_GH_FILE_SIZE = limits.maxGhFileSize;\nconst MAX_IMAGE_FILE_SIZE = limits.maxImageFileSize;\nconst COMPUTE_REQUEST_MAX_BYTES = limits.computeRequestMaxBytes;\nconst COMPUTE_RESPONSE_MAX_BYTES = limits.computeResponseMaxBytes;\nconst REMOTE_DEFINITION_MAX_BYTES = limits.remoteDefinitionMaxBytes;\nconst REMOTE_DEFINITION_FETCH_TIMEOUT_MS = limits.remoteDefinitionFetchTimeoutMs;\nconst DEFINITION_CACHE_TTL_MS = limits.definitionCacheTtlMs;\nconst COMPUTE_REUSE_DEFINITION_CACHE = limits.computeReuseDefinitionCache;\nconst COMPUTE_SERVER_CACHESOLVE = limits.computeServerCachesolve;\nconst COMPUTE_CACHE_ERRORED_SOLVES = limits.computeCacheErroredSolves;\nexport {\n COMPUTE_REUSE_DEFINITION_CACHE as C,\n DEFINITION_CACHE_TTL_MS as D,\n MAX_IMAGE_FILE_SIZE as M,\n REMOTE_DEFINITION_FETCH_TIMEOUT_MS as R,\n COMPUTE_CACHE_ERRORED_SOLVES as a,\n COMPUTE_SERVER_CACHESOLVE as b,\n MAX_SOLVE_DURATION_MS as c,\n REMOTE_DEFINITION_MAX_BYTES as d,\n COMPUTE_RESPONSE_MAX_BYTES as e,\n COMPUTE_REQUEST_MAX_BYTES as f,\n MAX_GH_FILE_SIZE as g,\n RATE_LIMIT_MAX_REQUESTS as h,\n RATE_LIMIT_WINDOW_MS as i\n};\n"],"names":[],"mappings":";;;AAEA,MAAM,MAAM,GAAG,oBAAoB,CAAC,WAAW,CAAC;AAC3C,MAAC,qBAAqB,GAAG,MAAM,CAAC;AAChC,MAAC,oBAAoB,GAAG,MAAM,CAAC;AAC/B,MAAC,uBAAuB,GAAG,MAAM,CAAC;AAClC,MAAC,gBAAgB,GAAG,MAAM,CAAC;AAC3B,MAAC,mBAAmB,GAAG,MAAM,CAAC;AAC9B,MAAC,yBAAyB,GAAG,MAAM,CAAC;AACpC,MAAC,0BAA0B,GAAG,MAAM,CAAC;AACrC,MAAC,2BAA2B,GAAG,MAAM,CAAC;AACtC,MAAC,kCAAkC,GAAG,MAAM,CAAC;AAC7C,MAAC,uBAAuB,GAAG,MAAM,CAAC;AAClC,MAAC,8BAA8B,GAAG,MAAM,CAAC;AACzC,MAAC,yBAAyB,GAAG,MAAM,CAAC;AACpC,MAAC,4BAA4B,GAAG,MAAM,CAAC;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js-D8E0GFTw.js","sources":["../../../../.svelte-kit/output/server/chunks/context.js"],"sourcesContent":["import { z } from \"zod\";\nconst PlatformPermissionSchema = z.enum([\n \"instance_admin\",\n \"manage_compute\",\n \"manage_instance_users\",\n \"manage_updates\"\n]);\nconst ALL_PLATFORM_PERMISSIONS = PlatformPermissionSchema.options;\nconst SlugSchema = z.string().min(3, \"Slug must be at least 3 characters\").max(63, \"Slug must be at most 63 characters\").regex(\n /^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/,\n \"Slug must be lowercase alphanumeric with hyphens (no leading/trailing/consecutive hyphens)\"\n);\nconst OrgRoleSchema = z.enum([\"owner\", \"admin\", \"member\"]);\nconst OrgAssetKindSchema = z.enum([\"logo\", \"favicon\"]);\nconst ALL_ORG_ASSET_KINDS = OrgAssetKindSchema.options;\nconst OrgPermissionSchema = z.enum([\n \"manage_org_members\",\n \"manage_org_compute\",\n \"manage_definitions\",\n \"manage_projects\"\n]);\nconst ALL_ORG_PERMISSIONS = OrgPermissionSchema.options;\nconst OWNER_ADMIN_ONLY_PERMISSIONS = [\n \"manage_org_members\",\n \"manage_org_compute\"\n];\nconst MEMBER_ASSIGNABLE_PERMISSIONS = ALL_ORG_PERMISSIONS.filter(\n (p) => !OWNER_ADMIN_ONLY_PERMISSIONS.includes(p)\n);\nconst DEFAULT_ORG_PERMISSIONS = {\n owner: [...ALL_ORG_PERMISSIONS],\n admin: [...ALL_ORG_PERMISSIONS],\n member: []\n};\nconst CreateOrgSchema = z.object({\n name: z.string().min(1, \"Organization name is required\").max(128),\n slug: SlugSchema\n});\nconst UpdateOrgSchema = CreateOrgSchema.partial();\nconst ProjectVisibilitySchema = z.enum([\"public\", \"org\", \"private\", \"platform\"]);\nconst ProjectRoleSchema = z.enum([\"owner\", \"editor\", \"viewer\"]);\nfunction validateProjectFlags(merged) {\n const issues = [];\n if (merged.autoJoinOnUpload && merged.visibility !== \"public\") {\n issues.push({\n path: \"autoJoinOnUpload\",\n message: \"autoJoinOnUpload requires visibility=public\"\n });\n }\n if (merged.visibility === \"platform\" && merged.autoJoinOnUpload) {\n issues.push({\n path: \"autoJoinOnUpload\",\n message: \"autoJoinOnUpload is not allowed on platform projects\"\n });\n }\n return issues;\n}\nconst PlatformProjectGranteeTypeSchema = z.enum([\"org\", \"user\"]);\nz.object({\n id: z.string(),\n projectId: z.string(),\n granteeType: PlatformProjectGranteeTypeSchema,\n granteeId: z.string(),\n canSolve: z.boolean(),\n createdBy: z.string(),\n createdAt: z.string()\n});\nconst GH_EXTENSIONS = [\".gh\", \".ghx\"];\nconst COVER_IMAGE_EXTENSIONS = [\".jpg\", \".jpeg\", \".png\", \".webp\", \".gif\"];\nconst COVER_IMAGE_CONTENT_TYPES = {\n \".jpg\": \"image/jpeg\",\n \".jpeg\": \"image/jpeg\",\n \".png\": \"image/png\",\n \".webp\": \"image/webp\",\n \".gif\": \"image/gif\"\n};\nconst UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;\nconst GuidSchema = z.string().regex(UUID_REGEX, \"Invalid GUID format\");\nconst DefinitionStatusSchema = z.enum([\"draft\", \"published\", \"archived\"]);\nconst DefinitionFileExtSchema = z.enum([\"gh\", \"ghx\"]);\nz.object({\n id: GuidSchema,\n definitionId: GuidSchema,\n versionNumber: z.number().int().min(1),\n fileExt: DefinitionFileExtSchema,\n fileKey: z.string().min(1),\n originalFilename: z.string().max(256).optional(),\n uploadedBy: z.string().min(1),\n uploadedAt: z.string(),\n changeNote: z.string().max(1e3).optional(),\n // Cached compute-extracted UI schema. Structural correctness is validated by\n // Rhino.Compute at upload, not here — this only asserts it's an object.\n schema: z.record(z.string(), z.unknown()).optional(),\n schemaExtractedAt: z.string().optional()\n});\nconst DefinitionChannelSchema = z.enum([\"live\", \"draft\"]);\nconst CreateDefinitionInputSchema = z.object({\n displayName: z.string().min(1, \"Display name is required\").max(256),\n description: z.string().max(2e3).optional(),\n coverImage: z.string().max(2048).optional(),\n category: z.string().max(128).optional(),\n tags: z.array(z.string().max(64)).max(20).optional(),\n projectId: GuidSchema,\n computeServerId: GuidSchema.optional()\n});\nconst UpdateMetadataInputSchema = z.object({\n displayName: z.string().min(1, \"Display name is required\").max(256).optional(),\n description: z.string().max(2e3).nullable().optional(),\n coverImage: z.string().max(2048).nullable().optional(),\n category: z.string().max(128).nullable().optional(),\n tags: z.array(z.string().max(64)).max(20).nullable().optional(),\n projectId: GuidSchema.optional(),\n computeServerId: GuidSchema.nullable().optional(),\n status: DefinitionStatusSchema.optional()\n});\nconst PublishVersionInputSchema = z.object({\n versionId: GuidSchema.optional()\n}).default({});\nconst CreateShareLinkInputSchema = z.object({\n channel: DefinitionChannelSchema.default(\"live\"),\n name: z.string().max(128).optional(),\n allowSolve: z.boolean().default(true),\n /**\n * Null explicitly removes the cap. Omitted = apply default — null is the\n * minter's deliberate \"uncap\" choice.\n */\n maxSolves: z.number().int().min(1).nullable().optional(),\n /** Optional ISO timestamp. Resolution compares to `now()`. */\n expiresAt: z.iso.datetime().nullable().optional()\n});\nconst BRANDING_KINDS = ALL_ORG_ASSET_KINDS.join(\"|\");\nconst COVER_EXTS = COVER_IMAGE_EXTENSIONS.map(\n (ext) => ext.replace(/^\\./, \"\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")\n).join(\"|\");\nconst SAFE_SEGMENT = String.raw`[A-Za-z0-9._-]+`;\nconst GUID = String.raw`[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}`;\nconst ASSET_CLASSES = [\n {\n id: \"org-branding\",\n visibility: \"public\",\n scope: \"none\",\n pattern: new RegExp(\n String.raw`^orgs\\/(${SAFE_SEGMENT})\\/branding\\/(?:${BRANDING_KINDS})\\.webp$`\n )\n },\n {\n id: \"org-private\",\n visibility: \"org\",\n scope: \"org\",\n pattern: new RegExp(String.raw`^orgs\\/(${SAFE_SEGMENT})\\/private\\/${SAFE_SEGMENT}$`)\n },\n {\n id: \"definition-cover\",\n visibility: \"project\",\n scope: \"project\",\n pattern: new RegExp(String.raw`^definitions\\/(${GUID})\\/cover\\.(?:${COVER_EXTS})$`, \"i\")\n }\n];\nfunction hasUnsafeSegment(storagePath) {\n if (storagePath.includes(\"\\\\\")) return true;\n for (const segment of storagePath.split(\"/\")) {\n if (segment === \"\" || segment === \".\" || segment === \"..\") return true;\n }\n return false;\n}\nfunction classifyAssetPath(storagePath) {\n if (hasUnsafeSegment(storagePath)) return null;\n for (const cls of ASSET_CLASSES) {\n const m = cls.pattern.exec(storagePath);\n if (!m) continue;\n return { class: cls, scopeId: cls.scope === \"none\" ? null : m[1] ?? null };\n }\n return null;\n}\nconst SYSTEM_CONTEXT = {\n userId: \"\",\n platformPermissions: [...ALL_PLATFORM_PERMISSIONS],\n orgPermissions: [...ALL_ORG_PERMISSIONS],\n system: true\n};\nfunction hasPermission(ctx, permission) {\n if (ctx.system) return true;\n if (ctx.platformPermissions.includes(\"instance_admin\")) return true;\n if (isPlatformPermission(permission)) {\n return ctx.platformPermissions.includes(permission);\n }\n return ctx.orgPermissions.includes(permission);\n}\nconst PLATFORM_PERMISSION_VALUES = new Set(ALL_PLATFORM_PERMISSIONS);\nfunction isPlatformPermission(p) {\n return PLATFORM_PERMISSION_VALUES.has(p);\n}\nexport {\n ALL_PLATFORM_PERMISSIONS as A,\n CreateOrgSchema as C,\n DEFAULT_ORG_PERMISSIONS as D,\n GH_EXTENSIONS as G,\n MEMBER_ASSIGNABLE_PERMISSIONS as M,\n OrgAssetKindSchema as O,\n PlatformPermissionSchema as P,\n SYSTEM_CONTEXT as S,\n UpdateOrgSchema as U,\n OrgPermissionSchema as a,\n ALL_ORG_PERMISSIONS as b,\n classifyAssetPath as c,\n OWNER_ADMIN_ONLY_PERMISSIONS as d,\n CreateDefinitionInputSchema as e,\n GuidSchema as f,\n UpdateMetadataInputSchema as g,\n hasPermission as h,\n COVER_IMAGE_CONTENT_TYPES as i,\n PublishVersionInputSchema as j,\n CreateShareLinkInputSchema as k,\n OrgRoleSchema as l,\n ProjectVisibilitySchema as m,\n ProjectRoleSchema as n,\n validateProjectFlags as v\n};\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"package.js-CGjshiZJ.js","sources":["../../../../.svelte-kit/output/server/chunks/package.js"],"sourcesContent":["const name = \"@selvajs/selva\";\nconst version = \"4.6.21-beta.0\";\nconst description = \"Selva — self-contained Grasshopper-driven web app. Install, configure via .env, deploy.\";\nconst license = \"MIT\";\nconst publishConfig = { \"access\": \"public\" };\nconst type = \"module\";\nconst main = \"./build/index.js\";\nconst files = [\"build\", \"templates\"];\nconst engines = { \"node\": \">=20.6.0\" };\nconst scripts = { \"dev\": \"vite dev\", \"build\": \"rimraf build && vite build && node ./scripts/generate-templates.js\", \"preview\": \"vite preview\", \"start\": \"node build/index.js\", \"clean\": \"rimraf build templates\", \"prepare\": \"svelte-kit sync || echo ''\", \"check\": \"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json\", \"type-check\": \"tsc --noEmit\", \"test\": \"vitest run\", \"test:watch\": \"vitest\", \"test:e2e\": \"playwright test\" };\nconst dependencies = { \"@lucide/svelte\": \"catalog:\", \"@selvajs/compute\": \"catalog:\", \"@supabase/supabase-js\": \"^2.104.1\", \"@sveltejs/kit\": \"catalog:\", \"bits-ui\": \"^2.18.0\", \"clsx\": \"catalog:\", \"mode-watcher\": \"catalog:\", \"rhino3dm\": \"8.17.0\", \"sharp\": \"^0.34.5\", \"tailwind-merge\": \"catalog:\", \"tailwind-variants\": \"^3.2.2\", \"three\": \"catalog:\", \"zod\": \"^4.3.6\" };\nconst optionalDependencies = { \"@sentry/node\": \"^10.63.0\" };\nconst devDependencies = { \"@selvajs/config\": \"workspace:*\", \"@selvajs/header-auth-provider\": \"workspace:*\", \"@selvajs/local-provider\": \"workspace:*\", \"@selvajs/platform\": \"workspace:*\", \"@selvajs/schemas\": \"workspace:*\", \"@selvajs/server\": \"workspace:*\", \"@selvajs/supabase-provider\": \"workspace:*\", \"@selvajs/ui\": \"workspace:*\", \"@playwright/test\": \"catalog:\", \"@sveltejs/adapter-node\": \"^5.5.4\", \"@types/three\": \"catalog:\", \"rimraf\": \"catalog:\", \"tw-animate-css\": \"catalog:\", \"vitest\": \"catalog:\" };\nconst pkg = {\n name,\n version,\n description,\n license,\n publishConfig,\n type,\n main,\n files,\n engines,\n scripts,\n dependencies,\n optionalDependencies,\n devDependencies\n};\nexport {\n pkg as p\n};\n"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,gBAAgB;AAC7B,MAAM,OAAO,GAAG,eAAe;AAC/B,MAAM,WAAW,GAAG,yFAAyF;AAC7G,MAAM,OAAO,GAAG,KAAK;AACrB,MAAM,aAAa,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE;AAC5C,MAAM,IAAI,GAAG,QAAQ;AACrB,MAAM,IAAI,GAAG,kBAAkB;AAC/B,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC;AACpC,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE;AACtC,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,oEAAoE,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,4BAA4B,EAAE,OAAO,EAAE,4DAA4D,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE;AAC7a,MAAM,YAAY,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,uBAAuB,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE;AAC1W,MAAM,oBAAoB,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE;AAC3D,MAAM,eAAe,GAAG,EAAE,iBAAiB,EAAE,aAAa,EAAE,+BAA+B,EAAE,aAAa,EAAE,yBAAyB,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,4BAA4B,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,wBAAwB,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE;AAC/e,MAAC,GAAG,GAAG;AACZ,EAAE,IAAI;AACN,EAAE,OAAO;AACT,EAAE,WAAW;AACb,EAAE,OAAO;AACT,EAAE,aAAa;AACf,EAAE,IAAI;AACN,EAAE,IAAI;AACN,EAAE,KAAK;AACP,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,YAAY;AACd,EAAE,oBAAoB;AACtB,EAAE;AACF;;;;"}