@openpalm/ui 0.12.33 → 0.12.35

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 (307) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/chunks/{D4CIk8TT.js → BJ1FElAi.js} +2 -2
  3. package/build/client/_app/immutable/chunks/BJ1FElAi.js.br +0 -0
  4. package/build/client/_app/immutable/chunks/BJ1FElAi.js.gz +0 -0
  5. package/build/client/_app/immutable/chunks/BllPz2fN.js +1 -0
  6. package/build/client/_app/immutable/chunks/BllPz2fN.js.br +2 -0
  7. package/build/client/_app/immutable/chunks/BllPz2fN.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/{ZPPIed-h.js → Cn5j2N5s.js} +1 -1
  9. package/build/client/_app/immutable/chunks/Cn5j2N5s.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/Cn5j2N5s.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/{3Qsdbxe_.js → Dma1yH6T.js} +1 -1
  12. package/build/client/_app/immutable/chunks/Dma1yH6T.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/Dma1yH6T.js.gz +0 -0
  14. package/build/client/_app/immutable/entry/{app.cVcaZRgs.js → app.DCTrXp6P.js} +2 -2
  15. package/build/client/_app/immutable/entry/app.DCTrXp6P.js.br +0 -0
  16. package/build/client/_app/immutable/entry/app.DCTrXp6P.js.gz +0 -0
  17. package/build/client/_app/immutable/entry/start.DSb-TcOn.js +1 -0
  18. package/build/client/_app/immutable/entry/start.DSb-TcOn.js.br +1 -0
  19. package/build/client/_app/immutable/entry/start.DSb-TcOn.js.gz +0 -0
  20. package/build/client/_app/immutable/nodes/{1.zswGfw7U.js → 1.DeODpuBZ.js} +1 -1
  21. package/build/client/_app/immutable/nodes/{1.zswGfw7U.js.br → 1.DeODpuBZ.js.br} +0 -0
  22. package/build/client/_app/immutable/nodes/1.DeODpuBZ.js.gz +0 -0
  23. package/build/client/_app/immutable/nodes/{4.5P2ICHpd.js → 4.BPWbyAG8.js} +1 -1
  24. package/build/client/_app/immutable/nodes/4.BPWbyAG8.js.br +0 -0
  25. package/build/client/_app/immutable/nodes/4.BPWbyAG8.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/{5.CnGn3dPx.js → 5.DSNlc6_T.js} +1 -1
  27. package/build/client/_app/immutable/nodes/5.DSNlc6_T.js.br +0 -0
  28. package/build/client/_app/immutable/nodes/5.DSNlc6_T.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/{6.DBeD1QH1.js → 6.BXpzaUL0.js} +1 -1
  30. package/build/client/_app/immutable/nodes/6.BXpzaUL0.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/6.BXpzaUL0.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{7.C9duzgAN.js → 7.BrFVK4tb.js} +1 -1
  33. package/build/client/_app/immutable/nodes/7.BrFVK4tb.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/7.BrFVK4tb.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{8.D3vyq1jo.js → 8.w_eWNqum.js} +1 -1
  36. package/build/client/_app/immutable/nodes/8.w_eWNqum.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/8.w_eWNqum.js.gz +0 -0
  38. package/build/client/_app/version.json +1 -1
  39. package/build/client/_app/version.json.br +1 -1
  40. package/build/client/_app/version.json.gz +0 -0
  41. package/build/server/chunks/1-DHr2ahqY.js +9 -0
  42. package/build/server/chunks/{1-kRV8cXig.js.map → 1-DHr2ahqY.js.map} +1 -1
  43. package/build/server/chunks/{10-TBWTaLyR.js → 10-Bhcyw8HA.js} +5 -5
  44. package/build/server/chunks/{10-TBWTaLyR.js.map → 10-Bhcyw8HA.js.map} +1 -1
  45. package/build/server/chunks/{4-CI2vrMU8.js → 4-Cd3Q4DoQ.js} +3 -3
  46. package/build/server/chunks/{4-CI2vrMU8.js.map → 4-Cd3Q4DoQ.js.map} +1 -1
  47. package/build/server/chunks/{5-C1aKfXiD.js → 5-BBhfqYBp.js} +3 -3
  48. package/build/server/chunks/{5-C1aKfXiD.js.map → 5-BBhfqYBp.js.map} +1 -1
  49. package/build/server/chunks/{6-LkI3Bfr3.js → 6-Djg8mg9E.js} +3 -3
  50. package/build/server/chunks/{6-LkI3Bfr3.js.map → 6-Djg8mg9E.js.map} +1 -1
  51. package/build/server/chunks/{7-33TxoS1b.js → 7-D2mE5z4a.js} +3 -3
  52. package/build/server/chunks/{7-33TxoS1b.js.map → 7-D2mE5z4a.js.map} +1 -1
  53. package/build/server/chunks/{8-ir2tmqsZ.js → 8-BZ53nosC.js} +3 -3
  54. package/build/server/chunks/{8-ir2tmqsZ.js.map → 8-BZ53nosC.js.map} +1 -1
  55. package/build/server/chunks/{Navbar-DMdUytvL.js → Navbar-DmstJWgp.js} +3 -3
  56. package/build/server/chunks/{Navbar-DMdUytvL.js.map → Navbar-DmstJWgp.js.map} +1 -1
  57. package/build/server/chunks/{_page.svelte-ctDJgnm3.js → _page.svelte-6H8jZf49.js} +3 -3
  58. package/build/server/chunks/{_page.svelte-ctDJgnm3.js.map → _page.svelte-6H8jZf49.js.map} +1 -1
  59. package/build/server/chunks/{_page.svelte-DP0z21v5.js → _page.svelte-CupozR5-.js} +3 -3
  60. package/build/server/chunks/{_page.svelte-DP0z21v5.js.map → _page.svelte-CupozR5-.js.map} +1 -1
  61. package/build/server/chunks/{_page.svelte-Jl01SLZc.js → _page.svelte-CzA8BxOP.js} +5 -5
  62. package/build/server/chunks/{_page.svelte-Jl01SLZc.js.map → _page.svelte-CzA8BxOP.js.map} +1 -1
  63. package/build/server/chunks/{_page.svelte-B6dQ22KO.js → _page.svelte-DGMNp0WD.js} +5 -5
  64. package/build/server/chunks/{_page.svelte-B6dQ22KO.js.map → _page.svelte-DGMNp0WD.js.map} +1 -1
  65. package/build/server/chunks/{_page.svelte-4voK06wS.js → _page.svelte-DmAj2xUu.js} +5 -5
  66. package/build/server/chunks/{_page.svelte-4voK06wS.js.map → _page.svelte-DmAj2xUu.js.map} +1 -1
  67. package/build/server/chunks/{_server.ts-DH0BcRef.js → _server.ts-17Sm7tBJ.js} +5 -5
  68. package/build/server/chunks/{_server.ts-DH0BcRef.js.map → _server.ts-17Sm7tBJ.js.map} +1 -1
  69. package/build/server/chunks/{_server.ts-Bxjtd8e7.js → _server.ts-4mcrPKs8.js} +5 -5
  70. package/build/server/chunks/{_server.ts-Bxjtd8e7.js.map → _server.ts-4mcrPKs8.js.map} +1 -1
  71. package/build/server/chunks/{_server.ts-CXEd2b2I.js → _server.ts-644qDVn-.js} +5 -5
  72. package/build/server/chunks/{_server.ts-CXEd2b2I.js.map → _server.ts-644qDVn-.js.map} +1 -1
  73. package/build/server/chunks/{_server.ts-BWFoOd0h.js → _server.ts-7HHVmf6s.js} +5 -5
  74. package/build/server/chunks/{_server.ts-BWFoOd0h.js.map → _server.ts-7HHVmf6s.js.map} +1 -1
  75. package/build/server/chunks/{_server.ts-CRBD7fnR.js → _server.ts-7PYmr9Z-.js} +5 -5
  76. package/build/server/chunks/{_server.ts-CRBD7fnR.js.map → _server.ts-7PYmr9Z-.js.map} +1 -1
  77. package/build/server/chunks/{_server.ts-eu37dpWZ.js → _server.ts-7YfKZbRf.js} +6 -6
  78. package/build/server/chunks/{_server.ts-eu37dpWZ.js.map → _server.ts-7YfKZbRf.js.map} +1 -1
  79. package/build/server/chunks/{_server.ts-dAgZ3FLf.js → _server.ts-B4IkHWrK.js} +5 -5
  80. package/build/server/chunks/{_server.ts-dAgZ3FLf.js.map → _server.ts-B4IkHWrK.js.map} +1 -1
  81. package/build/server/chunks/{_server.ts-DajNezWs.js → _server.ts-B4sIzTwj.js} +5 -5
  82. package/build/server/chunks/{_server.ts-DajNezWs.js.map → _server.ts-B4sIzTwj.js.map} +1 -1
  83. package/build/server/chunks/{_server.ts-DQQyXTBl.js → _server.ts-BHglX11P.js} +7 -7
  84. package/build/server/chunks/{_server.ts-DQQyXTBl.js.map → _server.ts-BHglX11P.js.map} +1 -1
  85. package/build/server/chunks/{_server.ts-Bfk52-oC.js → _server.ts-BIKnhFxu.js} +5 -5
  86. package/build/server/chunks/{_server.ts-Bfk52-oC.js.map → _server.ts-BIKnhFxu.js.map} +1 -1
  87. package/build/server/chunks/{_server.ts-g_6XApuy.js → _server.ts-BItwSO5E.js} +2 -2
  88. package/build/server/chunks/{_server.ts-g_6XApuy.js.map → _server.ts-BItwSO5E.js.map} +1 -1
  89. package/build/server/chunks/{_server.ts-tVnhG351.js → _server.ts-BJlwCXg-.js} +5 -5
  90. package/build/server/chunks/{_server.ts-tVnhG351.js.map → _server.ts-BJlwCXg-.js.map} +1 -1
  91. package/build/server/chunks/{_server.ts-_aGGtLlC.js → _server.ts-BR0sBzB0.js} +5 -5
  92. package/build/server/chunks/{_server.ts-_aGGtLlC.js.map → _server.ts-BR0sBzB0.js.map} +1 -1
  93. package/build/server/chunks/{_server.ts-CBUWSwD6.js → _server.ts-Baozh1FE.js} +5 -5
  94. package/build/server/chunks/{_server.ts-CBUWSwD6.js.map → _server.ts-Baozh1FE.js.map} +1 -1
  95. package/build/server/chunks/{_server.ts-dUbjw57g.js → _server.ts-BbtNmpd6.js} +5 -5
  96. package/build/server/chunks/{_server.ts-dUbjw57g.js.map → _server.ts-BbtNmpd6.js.map} +1 -1
  97. package/build/server/chunks/{_server.ts-KuKyM6p7.js → _server.ts-BexCNXZL.js} +5 -5
  98. package/build/server/chunks/{_server.ts-KuKyM6p7.js.map → _server.ts-BexCNXZL.js.map} +1 -1
  99. package/build/server/chunks/{_server.ts-Egs4V81a.js → _server.ts-Bh-5jiYC.js} +5 -5
  100. package/build/server/chunks/{_server.ts-Egs4V81a.js.map → _server.ts-Bh-5jiYC.js.map} +1 -1
  101. package/build/server/chunks/{_server.ts-CYoS_0ec.js → _server.ts-Bh5t8TMR.js} +5 -5
  102. package/build/server/chunks/{_server.ts-CYoS_0ec.js.map → _server.ts-Bh5t8TMR.js.map} +1 -1
  103. package/build/server/chunks/{_server.ts-D3NLFUyX.js → _server.ts-BkKDLEw2.js} +5 -5
  104. package/build/server/chunks/{_server.ts-D3NLFUyX.js.map → _server.ts-BkKDLEw2.js.map} +1 -1
  105. package/build/server/chunks/{_server.ts-ByBnz3kO.js → _server.ts-BlGrZPhR.js} +7 -7
  106. package/build/server/chunks/{_server.ts-ByBnz3kO.js.map → _server.ts-BlGrZPhR.js.map} +1 -1
  107. package/build/server/chunks/{_server.ts-DBD6tM3d.js → _server.ts-BmQzKzgF.js} +5 -5
  108. package/build/server/chunks/{_server.ts-DBD6tM3d.js.map → _server.ts-BmQzKzgF.js.map} +1 -1
  109. package/build/server/chunks/{_server.ts-uYydgZ6W.js → _server.ts-Bp8WEV3T.js} +5 -5
  110. package/build/server/chunks/{_server.ts-uYydgZ6W.js.map → _server.ts-Bp8WEV3T.js.map} +1 -1
  111. package/build/server/chunks/{_server.ts-Bqga4IXo.js → _server.ts-BrMoDp9S.js} +5 -5
  112. package/build/server/chunks/{_server.ts-Bqga4IXo.js.map → _server.ts-BrMoDp9S.js.map} +1 -1
  113. package/build/server/chunks/{_server.ts-BgtXJuH7.js → _server.ts-Bv2PmRE5.js} +7 -7
  114. package/build/server/chunks/{_server.ts-BgtXJuH7.js.map → _server.ts-Bv2PmRE5.js.map} +1 -1
  115. package/build/server/chunks/{_server.ts-BudUdUE1.js → _server.ts-BvJoozcb.js} +5 -5
  116. package/build/server/chunks/{_server.ts-BudUdUE1.js.map → _server.ts-BvJoozcb.js.map} +1 -1
  117. package/build/server/chunks/{_server.ts-CQxmUH05.js → _server.ts-Bzx8e_vT.js} +5 -5
  118. package/build/server/chunks/{_server.ts-CQxmUH05.js.map → _server.ts-Bzx8e_vT.js.map} +1 -1
  119. package/build/server/chunks/{_server.ts-CH-BS3Cd.js → _server.ts-C759kKrI.js} +5 -5
  120. package/build/server/chunks/{_server.ts-CH-BS3Cd.js.map → _server.ts-C759kKrI.js.map} +1 -1
  121. package/build/server/chunks/{_server.ts-Dp1JVIbY.js → _server.ts-C7BHJSCS.js} +6 -6
  122. package/build/server/chunks/{_server.ts-Dp1JVIbY.js.map → _server.ts-C7BHJSCS.js.map} +1 -1
  123. package/build/server/chunks/{_server.ts-DeRkHCFb.js → _server.ts-C7EVl-bi.js} +5 -5
  124. package/build/server/chunks/{_server.ts-DeRkHCFb.js.map → _server.ts-C7EVl-bi.js.map} +1 -1
  125. package/build/server/chunks/{_server.ts-ibxxZbSk.js → _server.ts-C8owE7KE.js} +5 -5
  126. package/build/server/chunks/{_server.ts-ibxxZbSk.js.map → _server.ts-C8owE7KE.js.map} +1 -1
  127. package/build/server/chunks/{_server.ts-C_KSHYJS.js → _server.ts-CCSbDOWm.js} +5 -5
  128. package/build/server/chunks/{_server.ts-C_KSHYJS.js.map → _server.ts-CCSbDOWm.js.map} +1 -1
  129. package/build/server/chunks/{_server.ts-DY0r_WPt.js → _server.ts-CFPp8keI.js} +5 -5
  130. package/build/server/chunks/{_server.ts-DY0r_WPt.js.map → _server.ts-CFPp8keI.js.map} +1 -1
  131. package/build/server/chunks/{_server.ts-C7TiREA9.js → _server.ts-CKnr7Uu8.js} +2 -2
  132. package/build/server/chunks/{_server.ts-C7TiREA9.js.map → _server.ts-CKnr7Uu8.js.map} +1 -1
  133. package/build/server/chunks/{_server.ts-B0u61jlW.js → _server.ts-CMfWgDOR.js} +6 -6
  134. package/build/server/chunks/{_server.ts-B0u61jlW.js.map → _server.ts-CMfWgDOR.js.map} +1 -1
  135. package/build/server/chunks/{_server.ts-BV0Fd3vV.js → _server.ts-CPEbL-Pt.js} +6 -6
  136. package/build/server/chunks/{_server.ts-BV0Fd3vV.js.map → _server.ts-CPEbL-Pt.js.map} +1 -1
  137. package/build/server/chunks/{_server.ts-ClZcSMfb.js → _server.ts-CUSgj-vr.js} +7 -7
  138. package/build/server/chunks/{_server.ts-ClZcSMfb.js.map → _server.ts-CUSgj-vr.js.map} +1 -1
  139. package/build/server/chunks/{_server.ts-C1vl-NpE.js → _server.ts-CWb18g88.js} +8 -8
  140. package/build/server/chunks/{_server.ts-C1vl-NpE.js.map → _server.ts-CWb18g88.js.map} +1 -1
  141. package/build/server/chunks/{_server.ts-nV-DXmwa.js → _server.ts-CWz-e7Hy.js} +7 -7
  142. package/build/server/chunks/{_server.ts-nV-DXmwa.js.map → _server.ts-CWz-e7Hy.js.map} +1 -1
  143. package/build/server/chunks/{_server.ts-w5eZQeJ0.js → _server.ts-CZJ1Q1LT.js} +7 -7
  144. package/build/server/chunks/{_server.ts-w5eZQeJ0.js.map → _server.ts-CZJ1Q1LT.js.map} +1 -1
  145. package/build/server/chunks/{_server.ts-DXeqUJDJ.js → _server.ts-Caecp_9T.js} +6 -6
  146. package/build/server/chunks/{_server.ts-DXeqUJDJ.js.map → _server.ts-Caecp_9T.js.map} +1 -1
  147. package/build/server/chunks/{_server.ts-DYJgDpMv.js → _server.ts-CbW89QHq.js} +5 -5
  148. package/build/server/chunks/{_server.ts-DYJgDpMv.js.map → _server.ts-CbW89QHq.js.map} +1 -1
  149. package/build/server/chunks/{_server.ts-DdmdO8Oi.js → _server.ts-CeuX4TD2.js} +6 -6
  150. package/build/server/chunks/{_server.ts-DdmdO8Oi.js.map → _server.ts-CeuX4TD2.js.map} +1 -1
  151. package/build/server/chunks/{_server.ts-C3UVIiBi.js → _server.ts-CjrBMt_s.js} +5 -5
  152. package/build/server/chunks/{_server.ts-C3UVIiBi.js.map → _server.ts-CjrBMt_s.js.map} +1 -1
  153. package/build/server/chunks/{_server.ts-DAVeiCrX.js → _server.ts-Clnw_CPP.js} +4 -4
  154. package/build/server/chunks/{_server.ts-DAVeiCrX.js.map → _server.ts-Clnw_CPP.js.map} +1 -1
  155. package/build/server/chunks/{_server.ts-DLxoQHcm.js → _server.ts-Co5cJt5A.js} +2 -2
  156. package/build/server/chunks/{_server.ts-DLxoQHcm.js.map → _server.ts-Co5cJt5A.js.map} +1 -1
  157. package/build/server/chunks/{_server.ts-8hVHsbiU.js → _server.ts-CswojIO6.js} +5 -5
  158. package/build/server/chunks/{_server.ts-8hVHsbiU.js.map → _server.ts-CswojIO6.js.map} +1 -1
  159. package/build/server/chunks/{_server.ts-B1TJgJXi.js → _server.ts-CwLV4b1f.js} +27 -5
  160. package/build/server/chunks/_server.ts-CwLV4b1f.js.map +1 -0
  161. package/build/server/chunks/{_server.ts-BHy95SVk.js → _server.ts-CyCT3WI1.js} +5 -5
  162. package/build/server/chunks/{_server.ts-BHy95SVk.js.map → _server.ts-CyCT3WI1.js.map} +1 -1
  163. package/build/server/chunks/{_server.ts-DNhKKG1X.js → _server.ts-D-kETy9m.js} +5 -5
  164. package/build/server/chunks/{_server.ts-DNhKKG1X.js.map → _server.ts-D-kETy9m.js.map} +1 -1
  165. package/build/server/chunks/{_server.ts-CssWFXtv.js → _server.ts-D02ydqWj.js} +5 -5
  166. package/build/server/chunks/{_server.ts-CssWFXtv.js.map → _server.ts-D02ydqWj.js.map} +1 -1
  167. package/build/server/chunks/{_server.ts-6Q9awtt_.js → _server.ts-D1SQw1xr.js} +5 -5
  168. package/build/server/chunks/{_server.ts-6Q9awtt_.js.map → _server.ts-D1SQw1xr.js.map} +1 -1
  169. package/build/server/chunks/{_server.ts-BUFbchly.js → _server.ts-D92SRQrD.js} +5 -5
  170. package/build/server/chunks/{_server.ts-BUFbchly.js.map → _server.ts-D92SRQrD.js.map} +1 -1
  171. package/build/server/chunks/{_server.ts-3oRNaVUB.js → _server.ts-DEmX_Z0O.js} +6 -6
  172. package/build/server/chunks/{_server.ts-3oRNaVUB.js.map → _server.ts-DEmX_Z0O.js.map} +1 -1
  173. package/build/server/chunks/{_server.ts-D9Xzn_HW.js → _server.ts-DEmtjEMi.js} +5 -5
  174. package/build/server/chunks/{_server.ts-D9Xzn_HW.js.map → _server.ts-DEmtjEMi.js.map} +1 -1
  175. package/build/server/chunks/{_server.ts-CUyoWX15.js → _server.ts-DGdvFSCJ.js} +5 -5
  176. package/build/server/chunks/{_server.ts-CUyoWX15.js.map → _server.ts-DGdvFSCJ.js.map} +1 -1
  177. package/build/server/chunks/{_server.ts-BtFTBGMl.js → _server.ts-DI7DVHmY.js} +5 -5
  178. package/build/server/chunks/{_server.ts-BtFTBGMl.js.map → _server.ts-DI7DVHmY.js.map} +1 -1
  179. package/build/server/chunks/{_server.ts-DYHPfQKT.js → _server.ts-DKAThwNY.js} +5 -5
  180. package/build/server/chunks/{_server.ts-DYHPfQKT.js.map → _server.ts-DKAThwNY.js.map} +1 -1
  181. package/build/server/chunks/{_server.ts-CcRrusog.js → _server.ts-DMk0lyPh.js} +5 -5
  182. package/build/server/chunks/{_server.ts-CcRrusog.js.map → _server.ts-DMk0lyPh.js.map} +1 -1
  183. package/build/server/chunks/{_server.ts-DAiMtuBI.js → _server.ts-DP5YV8h3.js} +5 -5
  184. package/build/server/chunks/{_server.ts-DAiMtuBI.js.map → _server.ts-DP5YV8h3.js.map} +1 -1
  185. package/build/server/chunks/{_server.ts-BrXzdvhm.js → _server.ts-DTa1SYz_.js} +5 -5
  186. package/build/server/chunks/{_server.ts-BrXzdvhm.js.map → _server.ts-DTa1SYz_.js.map} +1 -1
  187. package/build/server/chunks/{_server.ts-BwWQsIzg.js → _server.ts-DYjYHIIg.js} +5 -5
  188. package/build/server/chunks/{_server.ts-BwWQsIzg.js.map → _server.ts-DYjYHIIg.js.map} +1 -1
  189. package/build/server/chunks/{_server.ts-Dp_M9nGi.js → _server.ts-De3Ci2sP.js} +5 -5
  190. package/build/server/chunks/{_server.ts-Dp_M9nGi.js.map → _server.ts-De3Ci2sP.js.map} +1 -1
  191. package/build/server/chunks/{_server.ts-ngsK9pn1.js → _server.ts-De6opDLP.js} +5 -5
  192. package/build/server/chunks/{_server.ts-ngsK9pn1.js.map → _server.ts-De6opDLP.js.map} +1 -1
  193. package/build/server/chunks/{_server.ts-CqoMicll.js → _server.ts-Der6MKsu.js} +2 -2
  194. package/build/server/chunks/{_server.ts-CqoMicll.js.map → _server.ts-Der6MKsu.js.map} +1 -1
  195. package/build/server/chunks/{_server.ts-BU-VABWc.js → _server.ts-DfwiRzeI.js} +5 -5
  196. package/build/server/chunks/{_server.ts-BU-VABWc.js.map → _server.ts-DfwiRzeI.js.map} +1 -1
  197. package/build/server/chunks/{_server.ts-Dyo1TV5h.js → _server.ts-Dg1Zjg-X.js} +2 -2
  198. package/build/server/chunks/{_server.ts-Dyo1TV5h.js.map → _server.ts-Dg1Zjg-X.js.map} +1 -1
  199. package/build/server/chunks/{_server.ts-CFRaY9S9.js → _server.ts-DgYWHXWn.js} +5 -5
  200. package/build/server/chunks/{_server.ts-CFRaY9S9.js.map → _server.ts-DgYWHXWn.js.map} +1 -1
  201. package/build/server/chunks/{_server.ts-CaUx_rjv.js → _server.ts-DkpnaxtR.js} +6 -6
  202. package/build/server/chunks/{_server.ts-CaUx_rjv.js.map → _server.ts-DkpnaxtR.js.map} +1 -1
  203. package/build/server/chunks/{_server.ts-rz25Ooj_.js → _server.ts-DnTpL24U.js} +6 -6
  204. package/build/server/chunks/_server.ts-DnTpL24U.js.map +1 -0
  205. package/build/server/chunks/{_server.ts-C7_OtnJZ.js → _server.ts-Do9vXHTl.js} +5 -5
  206. package/build/server/chunks/{_server.ts-C7_OtnJZ.js.map → _server.ts-Do9vXHTl.js.map} +1 -1
  207. package/build/server/chunks/{_server.ts-Bv39maDs.js → _server.ts-Dr9Nrd0B.js} +4 -4
  208. package/build/server/chunks/{_server.ts-Bv39maDs.js.map → _server.ts-Dr9Nrd0B.js.map} +1 -1
  209. package/build/server/chunks/{_server.ts-tZqGkjmk.js → _server.ts-DuzwVKnI.js} +6 -6
  210. package/build/server/chunks/{_server.ts-tZqGkjmk.js.map → _server.ts-DuzwVKnI.js.map} +1 -1
  211. package/build/server/chunks/{_server.ts-Dcf9DPAh.js → _server.ts-DyAq_u9y.js} +5 -5
  212. package/build/server/chunks/{_server.ts-Dcf9DPAh.js.map → _server.ts-DyAq_u9y.js.map} +1 -1
  213. package/build/server/chunks/{_server.ts-D9qGClif.js → _server.ts-F9jr1TXS.js} +5 -5
  214. package/build/server/chunks/{_server.ts-D9qGClif.js.map → _server.ts-F9jr1TXS.js.map} +1 -1
  215. package/build/server/chunks/{_server.ts-pZOndtA9.js → _server.ts-Ff36E_kQ.js} +5 -5
  216. package/build/server/chunks/{_server.ts-pZOndtA9.js.map → _server.ts-Ff36E_kQ.js.map} +1 -1
  217. package/build/server/chunks/{_server.ts-TseBBzZ2.js → _server.ts-IrIGIyzI.js} +6 -6
  218. package/build/server/chunks/{_server.ts-TseBBzZ2.js.map → _server.ts-IrIGIyzI.js.map} +1 -1
  219. package/build/server/chunks/{_server.ts-BPNPjY1P.js → _server.ts-IuJoqgcf.js} +5 -5
  220. package/build/server/chunks/{_server.ts-BPNPjY1P.js.map → _server.ts-IuJoqgcf.js.map} +1 -1
  221. package/build/server/chunks/{_server.ts-D0ActIuw.js → _server.ts-Q6gku721.js} +5 -5
  222. package/build/server/chunks/{_server.ts-D0ActIuw.js.map → _server.ts-Q6gku721.js.map} +1 -1
  223. package/build/server/chunks/{_server.ts-CcFBkDB3.js → _server.ts-WRqR790z.js} +5 -5
  224. package/build/server/chunks/{_server.ts-CcFBkDB3.js.map → _server.ts-WRqR790z.js.map} +1 -1
  225. package/build/server/chunks/{_server.ts-DUvn_cs9.js → _server.ts-aIvJGwVD.js} +5 -5
  226. package/build/server/chunks/{_server.ts-DUvn_cs9.js.map → _server.ts-aIvJGwVD.js.map} +1 -1
  227. package/build/server/chunks/{_server.ts-Cav4bXwf.js → _server.ts-p6BIfEPN.js} +6 -6
  228. package/build/server/chunks/{_server.ts-Cav4bXwf.js.map → _server.ts-p6BIfEPN.js.map} +1 -1
  229. package/build/server/chunks/{_server.ts-JmXPLI01.js → _server.ts-wZerakZf.js} +5 -5
  230. package/build/server/chunks/{_server.ts-JmXPLI01.js.map → _server.ts-wZerakZf.js.map} +1 -1
  231. package/build/server/chunks/{_server.ts-BM763ZAT.js → _server.ts-x2T-1ecq.js} +27 -5
  232. package/build/server/chunks/_server.ts-x2T-1ecq.js.map +1 -0
  233. package/build/server/chunks/{_server.ts-BP6Keilz.js → _server.ts-ygo2IFet.js} +5 -5
  234. package/build/server/chunks/{_server.ts-BP6Keilz.js.map → _server.ts-ygo2IFet.js.map} +1 -1
  235. package/build/server/chunks/{_server.ts-B5nYOAKm.js → _server.ts-zlBR3T4Z.js} +6 -6
  236. package/build/server/chunks/{_server.ts-B5nYOAKm.js.map → _server.ts-zlBR3T4Z.js.map} +1 -1
  237. package/build/server/chunks/{addon-helpers-CUvHBlT4.js → addon-helpers-XImVlKha.js} +3 -3
  238. package/build/server/chunks/{addon-helpers-CUvHBlT4.js.map → addon-helpers-XImVlKha.js.map} +1 -1
  239. package/build/server/chunks/{akm-Cu2cwDKp.js → akm-BHWIeMbV.js} +2 -2
  240. package/build/server/chunks/{akm-Cu2cwDKp.js.map → akm-BHWIeMbV.js.map} +1 -1
  241. package/build/server/chunks/{catalog-D5EjXecc.js → catalog-Fe3z4JM_.js} +5 -5
  242. package/build/server/chunks/{catalog-D5EjXecc.js.map → catalog-Fe3z4JM_.js.map} +1 -1
  243. package/build/server/chunks/{client-7GAidAn4.js → client-lMbA6Jug.js} +2 -2
  244. package/build/server/chunks/{client-7GAidAn4.js.map → client-lMbA6Jug.js.map} +1 -1
  245. package/build/server/chunks/{config-B1ln4_lo.js → config-B2V9qVRT.js} +2 -2
  246. package/build/server/chunks/{config-B1ln4_lo.js.map → config-B2V9qVRT.js.map} +1 -1
  247. package/build/server/chunks/{docker-BUOlKGLy.js → docker-CEt-3e57.js} +2 -2
  248. package/build/server/chunks/{docker-BUOlKGLy.js.map → docker-CEt-3e57.js.map} +1 -1
  249. package/build/server/chunks/{endpoints-Bizp_hD0.js → endpoints-ev9YSBb8.js} +2 -2
  250. package/build/server/chunks/{endpoints-Bizp_hD0.js.map → endpoints-ev9YSBb8.js.map} +1 -1
  251. package/build/server/chunks/{error.svelte-BOxWFSyF.js → error.svelte-CIoDqhLx.js} +4 -4
  252. package/build/server/chunks/{error.svelte-BOxWFSyF.js.map → error.svelte-CIoDqhLx.js.map} +1 -1
  253. package/build/server/chunks/{helpers-CTBQwiZk.js → helpers-BluGgY3g.js} +3 -3
  254. package/build/server/chunks/{helpers-CTBQwiZk.js.map → helpers-BluGgY3g.js.map} +1 -1
  255. package/build/server/chunks/{hooks.server-CeX_k85j.js → hooks.server-DMdbB9Fv.js} +7 -7
  256. package/build/server/chunks/{hooks.server-CeX_k85j.js.map → hooks.server-DMdbB9Fv.js.map} +1 -1
  257. package/build/server/chunks/{http-Bf5k_DfL.js → http-BmFqfzyw.js} +2 -2
  258. package/build/server/chunks/{http-Bf5k_DfL.js.map → http-BmFqfzyw.js.map} +1 -1
  259. package/build/server/chunks/{internal-DuuZJj1L.js → internal-CGvCj4Lu.js} +3 -3
  260. package/build/server/chunks/{internal-DuuZJj1L.js.map → internal-CGvCj4Lu.js.map} +1 -1
  261. package/build/server/chunks/{migration-status-pIFysklg.js → migration-status-UK_z_iXN.js} +2 -2
  262. package/build/server/chunks/{migration-status-pIFysklg.js.map → migration-status-UK_z_iXN.js.map} +1 -1
  263. package/build/server/chunks/{session-cookie-BLFubsUp.js → session-cookie-Cn2O_Cv6.js} +2 -2
  264. package/build/server/chunks/{session-cookie-BLFubsUp.js.map → session-cookie-Cn2O_Cv6.js.map} +1 -1
  265. package/build/server/chunks/{setup-deploy-9WaWBkCk.js → setup-deploy-B9QxcV6K.js} +2 -2
  266. package/build/server/chunks/{setup-deploy-9WaWBkCk.js.map → setup-deploy-B9QxcV6K.js.map} +1 -1
  267. package/build/server/chunks/{src-BqqiNh6G.js → src-Bms-Wpj4.js} +205 -134
  268. package/build/server/chunks/src-Bms-Wpj4.js.map +1 -0
  269. package/build/server/chunks/{state-DUdqPbOC.js → state-dBGSHxF6.js} +2 -2
  270. package/build/server/chunks/{state-DUdqPbOC.js.map → state-dBGSHxF6.js.map} +1 -1
  271. package/build/server/chunks/{state2-mKrQLvo_.js → state2-tak_X-zN.js} +2 -2
  272. package/build/server/chunks/{state2-mKrQLvo_.js.map → state2-tak_X-zN.js.map} +1 -1
  273. package/build/server/index.js +1 -1
  274. package/build/server/index.js.map +1 -1
  275. package/build/server/manifest.js +93 -93
  276. package/build/server/manifest.js.map +1 -1
  277. package/package.json +2 -2
  278. package/build/client/_app/immutable/chunks/3Qsdbxe_.js.br +0 -0
  279. package/build/client/_app/immutable/chunks/3Qsdbxe_.js.gz +0 -0
  280. package/build/client/_app/immutable/chunks/BOG8bf8N.js +0 -1
  281. package/build/client/_app/immutable/chunks/BOG8bf8N.js.br +0 -2
  282. package/build/client/_app/immutable/chunks/BOG8bf8N.js.gz +0 -0
  283. package/build/client/_app/immutable/chunks/D4CIk8TT.js.br +0 -0
  284. package/build/client/_app/immutable/chunks/D4CIk8TT.js.gz +0 -0
  285. package/build/client/_app/immutable/chunks/ZPPIed-h.js.br +0 -0
  286. package/build/client/_app/immutable/chunks/ZPPIed-h.js.gz +0 -0
  287. package/build/client/_app/immutable/entry/app.cVcaZRgs.js.br +0 -0
  288. package/build/client/_app/immutable/entry/app.cVcaZRgs.js.gz +0 -0
  289. package/build/client/_app/immutable/entry/start.B5b6y-US.js +0 -1
  290. package/build/client/_app/immutable/entry/start.B5b6y-US.js.br +0 -1
  291. package/build/client/_app/immutable/entry/start.B5b6y-US.js.gz +0 -0
  292. package/build/client/_app/immutable/nodes/1.zswGfw7U.js.gz +0 -0
  293. package/build/client/_app/immutable/nodes/4.5P2ICHpd.js.br +0 -0
  294. package/build/client/_app/immutable/nodes/4.5P2ICHpd.js.gz +0 -0
  295. package/build/client/_app/immutable/nodes/5.CnGn3dPx.js.br +0 -0
  296. package/build/client/_app/immutable/nodes/5.CnGn3dPx.js.gz +0 -0
  297. package/build/client/_app/immutable/nodes/6.DBeD1QH1.js.br +0 -0
  298. package/build/client/_app/immutable/nodes/6.DBeD1QH1.js.gz +0 -0
  299. package/build/client/_app/immutable/nodes/7.C9duzgAN.js.br +0 -0
  300. package/build/client/_app/immutable/nodes/7.C9duzgAN.js.gz +0 -0
  301. package/build/client/_app/immutable/nodes/8.D3vyq1jo.js.br +0 -0
  302. package/build/client/_app/immutable/nodes/8.D3vyq1jo.js.gz +0 -0
  303. package/build/server/chunks/1-kRV8cXig.js +0 -9
  304. package/build/server/chunks/_server.ts-B1TJgJXi.js.map +0 -1
  305. package/build/server/chunks/_server.ts-BM763ZAT.js.map +0 -1
  306. package/build/server/chunks/_server.ts-rz25Ooj_.js.map +0 -1
  307. package/build/server/chunks/src-BqqiNh6G.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { S as SESSION_TTL_SECONDS } from './helpers-CTBQwiZk.js';
1
+ import { S as SESSION_TTL_SECONDS } from './helpers-BluGgY3g.js';
2
2
 
3
3
  //#region src/lib/server/session-cookie.ts
4
4
  /**
@@ -71,4 +71,4 @@ function clearSessionCookieHeader(request) {
71
71
  }
72
72
 
73
73
  export { SESSION_COOKIE_NAME as S, clearSessionCookieHeader as c, sessionCookieHeader as s };
74
- //# sourceMappingURL=session-cookie-BLFubsUp.js.map
74
+ //# sourceMappingURL=session-cookie-Cn2O_Cv6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-cookie-BLFubsUp.js","sources":["../../../.svelte-kit/adapter-node/chunks/session-cookie.js"],"sourcesContent":["import { m as SESSION_TTL_SECONDS } from \"./helpers.js\";\n//#region src/lib/server/session-cookie.ts\n/**\n* Single source of truth for the `op_session` cookie's Set-Cookie attributes.\n*\n* Every issuer (login, session, setup/complete) and the sliding-renewal path in\n* hooks.server.ts builds the cookie through these helpers so the attributes can\n* never drift apart. Logout uses `clearSessionCookie()` with the SAME path so\n* the browser actually drops the cookie.\n*\n* Attribute rationale:\n* - HttpOnly — the cookie is the only credential the browser holds; XSS\n* must not be able to read it.\n* - SameSite=Lax — the cookie must ride along on top-level GET navigations\n* (typing the admin URL, following a bookmark) so a valid\n* session loads admin with no prompt. SameSite=Strict drops\n* the cookie on cross-site top-level GETs (e.g. opening the\n* console from a link in another app on the LAN), which\n* would force a needless re-prompt. State-mutating requests\n* are independently CSRF-guarded by the Origin check\n* (SEC-2) in hooks.server.ts, so Lax is safe here.\n* - Secure — set ONLY when the request arrived over HTTPS. LAN installs\n* are commonly plain HTTP; hardcoding Secure would make the\n* browser refuse to send the cookie and break login entirely\n* on those deployments. We honour `x-forwarded-proto` first\n* (reverse-proxy TLS termination) then the request URL.\n* - Path=/ — valid for the whole app; matched by the clear on logout.\n* - Max-Age — SESSION_TTL_SECONDS (14 days), in lockstep with the token expiry.\n*/\nvar SESSION_COOKIE_NAME = \"op_session\";\n/** True when the request reached us over HTTPS (direct or via TLS-terminating proxy). */\nfunction isSecureRequest(request) {\n\tconst forwarded = request.headers.get(\"x-forwarded-proto\");\n\tif (forwarded) return forwarded.split(\",\")[0].trim().toLowerCase() === \"https\";\n\ttry {\n\t\treturn new URL(request.url).protocol === \"https:\";\n\t} catch {\n\t\treturn false;\n\t}\n}\n/**\n* Build the `Set-Cookie` value that issues/renews the session cookie.\n* `secure` is derived from the request so LAN-over-HTTP installs still work.\n*/\nfunction sessionCookieHeader(token, request) {\n\tconst parts = [\n\t\t`${SESSION_COOKIE_NAME}=${token}`,\n\t\t\"HttpOnly\",\n\t\t\"SameSite=Lax\",\n\t\t\"Path=/\",\n\t\t`Max-Age=${SESSION_TTL_SECONDS}`\n\t];\n\tif (isSecureRequest(request)) parts.push(\"Secure\");\n\treturn parts.join(\"; \");\n}\n/**\n* Build the `Set-Cookie` value that clears the session cookie (logout).\n* Must mirror name/path/attributes of the issued cookie so the browser deletes it.\n*/\nfunction clearSessionCookieHeader(request) {\n\tconst parts = [\n\t\t`${SESSION_COOKIE_NAME}=`,\n\t\t\"HttpOnly\",\n\t\t\"SameSite=Lax\",\n\t\t\"Path=/\",\n\t\t\"Max-Age=0\"\n\t];\n\tif (isSecureRequest(request)) parts.push(\"Secure\");\n\treturn parts.join(\"; \");\n}\n//#endregion\nexport { clearSessionCookieHeader as n, sessionCookieHeader as r, SESSION_COOKIE_NAME as t };\n"],"names":[],"mappings":";;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,mBAAmB,GAAG;AAC1B;AACA,SAAS,eAAe,CAAC,OAAO,EAAE;AAClC,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;AAC3D,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO;AAC/E,CAAC,IAAI;AACL,EAAE,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ;AACnD,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,KAAK;AACd,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE;AAC7C,CAAC,MAAM,KAAK,GAAG;AACf,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACnC,EAAE,UAAU;AACZ,EAAE,cAAc;AAChB,EAAE,QAAQ;AACV,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC;AACjC,EAAE;AACF,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;AACnD,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB;AACA;AACA;AACA;AACA;AACA,SAAS,wBAAwB,CAAC,OAAO,EAAE;AAC3C,CAAC,MAAM,KAAK,GAAG;AACf,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAC3B,EAAE,UAAU;AACZ,EAAE,cAAc;AAChB,EAAE,QAAQ;AACV,EAAE;AACF,EAAE;AACF,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;AACnD,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB;;;;"}
1
+ {"version":3,"file":"session-cookie-Cn2O_Cv6.js","sources":["../../../.svelte-kit/adapter-node/chunks/session-cookie.js"],"sourcesContent":["import { m as SESSION_TTL_SECONDS } from \"./helpers.js\";\n//#region src/lib/server/session-cookie.ts\n/**\n* Single source of truth for the `op_session` cookie's Set-Cookie attributes.\n*\n* Every issuer (login, session, setup/complete) and the sliding-renewal path in\n* hooks.server.ts builds the cookie through these helpers so the attributes can\n* never drift apart. Logout uses `clearSessionCookie()` with the SAME path so\n* the browser actually drops the cookie.\n*\n* Attribute rationale:\n* - HttpOnly — the cookie is the only credential the browser holds; XSS\n* must not be able to read it.\n* - SameSite=Lax — the cookie must ride along on top-level GET navigations\n* (typing the admin URL, following a bookmark) so a valid\n* session loads admin with no prompt. SameSite=Strict drops\n* the cookie on cross-site top-level GETs (e.g. opening the\n* console from a link in another app on the LAN), which\n* would force a needless re-prompt. State-mutating requests\n* are independently CSRF-guarded by the Origin check\n* (SEC-2) in hooks.server.ts, so Lax is safe here.\n* - Secure — set ONLY when the request arrived over HTTPS. LAN installs\n* are commonly plain HTTP; hardcoding Secure would make the\n* browser refuse to send the cookie and break login entirely\n* on those deployments. We honour `x-forwarded-proto` first\n* (reverse-proxy TLS termination) then the request URL.\n* - Path=/ — valid for the whole app; matched by the clear on logout.\n* - Max-Age — SESSION_TTL_SECONDS (14 days), in lockstep with the token expiry.\n*/\nvar SESSION_COOKIE_NAME = \"op_session\";\n/** True when the request reached us over HTTPS (direct or via TLS-terminating proxy). */\nfunction isSecureRequest(request) {\n\tconst forwarded = request.headers.get(\"x-forwarded-proto\");\n\tif (forwarded) return forwarded.split(\",\")[0].trim().toLowerCase() === \"https\";\n\ttry {\n\t\treturn new URL(request.url).protocol === \"https:\";\n\t} catch {\n\t\treturn false;\n\t}\n}\n/**\n* Build the `Set-Cookie` value that issues/renews the session cookie.\n* `secure` is derived from the request so LAN-over-HTTP installs still work.\n*/\nfunction sessionCookieHeader(token, request) {\n\tconst parts = [\n\t\t`${SESSION_COOKIE_NAME}=${token}`,\n\t\t\"HttpOnly\",\n\t\t\"SameSite=Lax\",\n\t\t\"Path=/\",\n\t\t`Max-Age=${SESSION_TTL_SECONDS}`\n\t];\n\tif (isSecureRequest(request)) parts.push(\"Secure\");\n\treturn parts.join(\"; \");\n}\n/**\n* Build the `Set-Cookie` value that clears the session cookie (logout).\n* Must mirror name/path/attributes of the issued cookie so the browser deletes it.\n*/\nfunction clearSessionCookieHeader(request) {\n\tconst parts = [\n\t\t`${SESSION_COOKIE_NAME}=`,\n\t\t\"HttpOnly\",\n\t\t\"SameSite=Lax\",\n\t\t\"Path=/\",\n\t\t\"Max-Age=0\"\n\t];\n\tif (isSecureRequest(request)) parts.push(\"Secure\");\n\treturn parts.join(\"; \");\n}\n//#endregion\nexport { clearSessionCookieHeader as n, sessionCookieHeader as r, SESSION_COOKIE_NAME as t };\n"],"names":[],"mappings":";;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,mBAAmB,GAAG;AAC1B;AACA,SAAS,eAAe,CAAC,OAAO,EAAE;AAClC,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;AAC3D,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO;AAC/E,CAAC,IAAI;AACL,EAAE,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ;AACnD,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,KAAK;AACd,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE;AAC7C,CAAC,MAAM,KAAK,GAAG;AACf,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACnC,EAAE,UAAU;AACZ,EAAE,cAAc;AAChB,EAAE,QAAQ;AACV,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC;AACjC,EAAE;AACF,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;AACnD,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB;AACA;AACA;AACA;AACA;AACA,SAAS,wBAAwB,CAAC,OAAO,EAAE;AAC3C,CAAC,MAAM,KAAK,GAAG;AACf,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAC3B,EAAE,UAAU;AACZ,EAAE,cAAc;AAChB,EAAE,QAAQ;AACV,EAAE;AACF,EAAE;AACF,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;AACnD,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB;;;;"}
@@ -1,4 +1,4 @@
1
- import { i as backupSetupInputs, aS as runDeploy, aO as resolveDeployJournalPath, ai as isSetupComplete, aQ as resolveStackDir, az as readDeployJournal, aq as markSetupComplete } from './src-BqqiNh6G.js';
1
+ import { i as backupSetupInputs, aS as runDeploy, aO as resolveDeployJournalPath, ai as isSetupComplete, aQ as resolveStackDir, az as readDeployJournal, aq as markSetupComplete } from './src-Bms-Wpj4.js';
2
2
 
3
3
  //#region src/lib/server/setup-deploy.ts
4
4
  var _state = {
@@ -72,4 +72,4 @@ function prepareSetupRestorePoint(state) {
72
72
  }
73
73
 
74
74
  export { getDeployState as g, prepareSetupRestorePoint as p, resetDeployState as r, startDeploy as s };
75
- //# sourceMappingURL=setup-deploy-9WaWBkCk.js.map
75
+ //# sourceMappingURL=setup-deploy-B9QxcV6K.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-deploy-9WaWBkCk.js","sources":["../../../.svelte-kit/adapter-node/chunks/setup-deploy.js"],"sourcesContent":["import { A as readDeployJournal, M as runDeploy, O as backupSetupInputs, en as resolveStackDir, j as resolveDeployJournalPath, k as markSetupComplete, lt as isSetupComplete } from \"./src.js\";\n//#region src/lib/server/setup-deploy.ts\nvar _state = {\n\tdeploying: false,\n\tsetupComplete: false,\n\tdeployStatus: [],\n\tdeployError: null,\n\timageWarning: null,\n\tphase: \"writing-config\"\n};\nvar _deployPromise = null;\nfunction deployStateFromJournal(state) {\n\tconst journal = readDeployJournal(resolveDeployJournalPath(state));\n\treturn {\n\t\tdeploying: journal.deploying,\n\t\tinterrupted: journal.interrupted,\n\t\tsetupComplete: journal.setupComplete || isSetupComplete(resolveStackDir()),\n\t\tdeployStatus: journal.deployStatus,\n\t\tdeployError: journal.deployError,\n\t\timageWarning: journal.imageWarning,\n\t\tphase: journal.phase\n\t};\n}\nfunction getDeployState(state) {\n\tif (state) _state = deployStateFromJournal(state);\n\telse if (!_state.setupComplete && !_state.deploying && isSetupComplete(resolveStackDir())) _state.setupComplete = true;\n\treturn {\n\t\t..._state,\n\t\tdeployStatus: _state.deployStatus.map((entry) => ({ ...entry }))\n\t};\n}\nfunction resetDeployState() {\n\t_state = {\n\t\tdeploying: false,\n\t\tsetupComplete: false,\n\t\tdeployStatus: [],\n\t\tdeployError: null,\n\t\timageWarning: null,\n\t\tphase: \"writing-config\"\n\t};\n}\nfunction startDeploy(state) {\n\tif (_deployPromise) {\n\t\t_state.deployError = \"install_in_progress: A deploy is already running. Wait for it to finish.\";\n\t\treturn;\n\t}\n\t_deployPromise = (async () => {\n\t\tawait runDeploy(state, {\n\t\t\tjournalPath: resolveDeployJournalPath(state),\n\t\t\tonUpdate(progress) {\n\t\t\t\t_state = {\n\t\t\t\t\tdeploying: progress.deploying,\n\t\t\t\t\tinterrupted: progress.interrupted,\n\t\t\t\t\tsetupComplete: progress.setupComplete,\n\t\t\t\t\tdeployStatus: progress.deployStatus,\n\t\t\t\t\tdeployError: progress.deployError,\n\t\t\t\t\timageWarning: progress.imageWarning,\n\t\t\t\t\tphase: progress.phase\n\t\t\t\t};\n\t\t\t},\n\t\t\tmarkSetupComplete() {\n\t\t\t\tmarkSetupComplete(state);\n\t\t\t}\n\t\t});\n\t})().finally(() => {\n\t\t_deployPromise = null;\n\t});\n}\nfunction prepareSetupRestorePoint(state) {\n\treturn backupSetupInputs(state);\n}\n//#endregion\nexport { startDeploy as i, prepareSetupRestorePoint as n, resetDeployState as r, getDeployState as t };\n"],"names":[],"mappings":";;AACA;AACA,IAAI,MAAM,GAAG;AACb,CAAC,SAAS,EAAE,KAAK;AACjB,CAAC,aAAa,EAAE,KAAK;AACrB,CAAC,YAAY,EAAE,EAAE;AACjB,CAAC,WAAW,EAAE,IAAI;AAClB,CAAC,YAAY,EAAE,IAAI;AACnB,CAAC,KAAK,EAAE;AACR,CAAC;AACD,IAAI,cAAc,GAAG,IAAI;AACzB,SAAS,sBAAsB,CAAC,KAAK,EAAE;AACvC,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC,OAAO;AACR,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS;AAC9B,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW;AAClC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC;AAC5E,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY;AACpC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW;AAClC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY;AACpC,EAAE,KAAK,EAAE,OAAO,CAAC;AACjB,EAAE;AACF;AACA,SAAS,cAAc,CAAC,KAAK,EAAE;AAC/B,CAAC,IAAI,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC;AAClD,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE,MAAM,CAAC,aAAa,GAAG,IAAI;AACvH,CAAC,OAAO;AACR,EAAE,GAAG,MAAM;AACX,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;AACjE,EAAE;AACF;AACA,SAAS,gBAAgB,GAAG;AAC5B,CAAC,MAAM,GAAG;AACV,EAAE,SAAS,EAAE,KAAK;AAClB,EAAE,aAAa,EAAE,KAAK;AACtB,EAAE,YAAY,EAAE,EAAE;AAClB,EAAE,WAAW,EAAE,IAAI;AACnB,EAAE,YAAY,EAAE,IAAI;AACpB,EAAE,KAAK,EAAE;AACT,EAAE;AACF;AACA,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,CAAC,IAAI,cAAc,EAAE;AACrB,EAAE,MAAM,CAAC,WAAW,GAAG,0EAA0E;AACjG,EAAE;AACF,CAAC;AACD,CAAC,cAAc,GAAG,CAAC,YAAY;AAC/B,EAAE,MAAM,SAAS,CAAC,KAAK,EAAE;AACzB,GAAG,WAAW,EAAE,wBAAwB,CAAC,KAAK,CAAC;AAC/C,GAAG,QAAQ,CAAC,QAAQ,EAAE;AACtB,IAAI,MAAM,GAAG;AACb,KAAK,SAAS,EAAE,QAAQ,CAAC,SAAS;AAClC,KAAK,WAAW,EAAE,QAAQ,CAAC,WAAW;AACtC,KAAK,aAAa,EAAE,QAAQ,CAAC,aAAa;AAC1C,KAAK,YAAY,EAAE,QAAQ,CAAC,YAAY;AACxC,KAAK,WAAW,EAAE,QAAQ,CAAC,WAAW;AACtC,KAAK,YAAY,EAAE,QAAQ,CAAC,YAAY;AACxC,KAAK,KAAK,EAAE,QAAQ,CAAC;AACrB,KAAK;AACL,GAAG,CAAC;AACJ,GAAG,iBAAiB,GAAG;AACvB,IAAI,iBAAiB,CAAC,KAAK,CAAC;AAC5B,GAAG;AACH,GAAG,CAAC;AACJ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM;AACpB,EAAE,cAAc,GAAG,IAAI;AACvB,CAAC,CAAC,CAAC;AACH;AACA,SAAS,wBAAwB,CAAC,KAAK,EAAE;AACzC,CAAC,OAAO,iBAAiB,CAAC,KAAK,CAAC;AAChC;;;;"}
1
+ {"version":3,"file":"setup-deploy-B9QxcV6K.js","sources":["../../../.svelte-kit/adapter-node/chunks/setup-deploy.js"],"sourcesContent":["import { A as readDeployJournal, M as runDeploy, O as backupSetupInputs, en as resolveStackDir, j as resolveDeployJournalPath, k as markSetupComplete, lt as isSetupComplete } from \"./src.js\";\n//#region src/lib/server/setup-deploy.ts\nvar _state = {\n\tdeploying: false,\n\tsetupComplete: false,\n\tdeployStatus: [],\n\tdeployError: null,\n\timageWarning: null,\n\tphase: \"writing-config\"\n};\nvar _deployPromise = null;\nfunction deployStateFromJournal(state) {\n\tconst journal = readDeployJournal(resolveDeployJournalPath(state));\n\treturn {\n\t\tdeploying: journal.deploying,\n\t\tinterrupted: journal.interrupted,\n\t\tsetupComplete: journal.setupComplete || isSetupComplete(resolveStackDir()),\n\t\tdeployStatus: journal.deployStatus,\n\t\tdeployError: journal.deployError,\n\t\timageWarning: journal.imageWarning,\n\t\tphase: journal.phase\n\t};\n}\nfunction getDeployState(state) {\n\tif (state) _state = deployStateFromJournal(state);\n\telse if (!_state.setupComplete && !_state.deploying && isSetupComplete(resolveStackDir())) _state.setupComplete = true;\n\treturn {\n\t\t..._state,\n\t\tdeployStatus: _state.deployStatus.map((entry) => ({ ...entry }))\n\t};\n}\nfunction resetDeployState() {\n\t_state = {\n\t\tdeploying: false,\n\t\tsetupComplete: false,\n\t\tdeployStatus: [],\n\t\tdeployError: null,\n\t\timageWarning: null,\n\t\tphase: \"writing-config\"\n\t};\n}\nfunction startDeploy(state) {\n\tif (_deployPromise) {\n\t\t_state.deployError = \"install_in_progress: A deploy is already running. Wait for it to finish.\";\n\t\treturn;\n\t}\n\t_deployPromise = (async () => {\n\t\tawait runDeploy(state, {\n\t\t\tjournalPath: resolveDeployJournalPath(state),\n\t\t\tonUpdate(progress) {\n\t\t\t\t_state = {\n\t\t\t\t\tdeploying: progress.deploying,\n\t\t\t\t\tinterrupted: progress.interrupted,\n\t\t\t\t\tsetupComplete: progress.setupComplete,\n\t\t\t\t\tdeployStatus: progress.deployStatus,\n\t\t\t\t\tdeployError: progress.deployError,\n\t\t\t\t\timageWarning: progress.imageWarning,\n\t\t\t\t\tphase: progress.phase\n\t\t\t\t};\n\t\t\t},\n\t\t\tmarkSetupComplete() {\n\t\t\t\tmarkSetupComplete(state);\n\t\t\t}\n\t\t});\n\t})().finally(() => {\n\t\t_deployPromise = null;\n\t});\n}\nfunction prepareSetupRestorePoint(state) {\n\treturn backupSetupInputs(state);\n}\n//#endregion\nexport { startDeploy as i, prepareSetupRestorePoint as n, resetDeployState as r, getDeployState as t };\n"],"names":[],"mappings":";;AACA;AACA,IAAI,MAAM,GAAG;AACb,CAAC,SAAS,EAAE,KAAK;AACjB,CAAC,aAAa,EAAE,KAAK;AACrB,CAAC,YAAY,EAAE,EAAE;AACjB,CAAC,WAAW,EAAE,IAAI;AAClB,CAAC,YAAY,EAAE,IAAI;AACnB,CAAC,KAAK,EAAE;AACR,CAAC;AACD,IAAI,cAAc,GAAG,IAAI;AACzB,SAAS,sBAAsB,CAAC,KAAK,EAAE;AACvC,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC,OAAO;AACR,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS;AAC9B,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW;AAClC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC;AAC5E,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY;AACpC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW;AAClC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY;AACpC,EAAE,KAAK,EAAE,OAAO,CAAC;AACjB,EAAE;AACF;AACA,SAAS,cAAc,CAAC,KAAK,EAAE;AAC/B,CAAC,IAAI,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC;AAClD,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE,MAAM,CAAC,aAAa,GAAG,IAAI;AACvH,CAAC,OAAO;AACR,EAAE,GAAG,MAAM;AACX,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;AACjE,EAAE;AACF;AACA,SAAS,gBAAgB,GAAG;AAC5B,CAAC,MAAM,GAAG;AACV,EAAE,SAAS,EAAE,KAAK;AAClB,EAAE,aAAa,EAAE,KAAK;AACtB,EAAE,YAAY,EAAE,EAAE;AAClB,EAAE,WAAW,EAAE,IAAI;AACnB,EAAE,YAAY,EAAE,IAAI;AACpB,EAAE,KAAK,EAAE;AACT,EAAE;AACF;AACA,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,CAAC,IAAI,cAAc,EAAE;AACrB,EAAE,MAAM,CAAC,WAAW,GAAG,0EAA0E;AACjG,EAAE;AACF,CAAC;AACD,CAAC,cAAc,GAAG,CAAC,YAAY;AAC/B,EAAE,MAAM,SAAS,CAAC,KAAK,EAAE;AACzB,GAAG,WAAW,EAAE,wBAAwB,CAAC,KAAK,CAAC;AAC/C,GAAG,QAAQ,CAAC,QAAQ,EAAE;AACtB,IAAI,MAAM,GAAG;AACb,KAAK,SAAS,EAAE,QAAQ,CAAC,SAAS;AAClC,KAAK,WAAW,EAAE,QAAQ,CAAC,WAAW;AACtC,KAAK,aAAa,EAAE,QAAQ,CAAC,aAAa;AAC1C,KAAK,YAAY,EAAE,QAAQ,CAAC,YAAY;AACxC,KAAK,WAAW,EAAE,QAAQ,CAAC,WAAW;AACtC,KAAK,YAAY,EAAE,QAAQ,CAAC,YAAY;AACxC,KAAK,KAAK,EAAE,QAAQ,CAAC;AACrB,KAAK;AACL,GAAG,CAAC;AACJ,GAAG,iBAAiB,GAAG;AACvB,IAAI,iBAAiB,CAAC,KAAK,CAAC;AAC5B,GAAG;AACH,GAAG,CAAC;AACJ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM;AACpB,EAAE,cAAc,GAAG,IAAI;AACvB,CAAC,CAAC,CAAC;AACH;AACA,SAAS,wBAAwB,CAAC,KAAK,EAAE;AACzC,CAAC,OAAO,iBAAiB,CAAC,KAAK,CAAC;AAChC;;;;"}
@@ -3,7 +3,7 @@ import { P as PROVIDER_DEFAULT_URLS, a as PROVIDER_KEY_MAP } from './provider-co
3
3
  import { r as require_dist } from './dist-DOFcG0Zp.js';
4
4
  import { createRequire } from 'node:module';
5
5
  import Vt, { existsSync, readFileSync, copyFileSync, chmodSync, mkdirSync, lstatSync, rmSync, readdirSync, renameSync, writeFileSync, statfsSync, cpSync, openSync, constants, writeSync, closeSync, statSync, chownSync } from 'node:fs';
6
- import or, { join, basename, dirname, resolve, win32, posix } from 'node:path';
6
+ import or, { join, basename, dirname, resolve, win32, posix, relative } from 'node:path';
7
7
  import { Buffer as Buffer$1 } from 'buffer';
8
8
  import I from 'fs';
9
9
  import Xs, { parse, dirname as dirname$1 } from 'path';
@@ -362,6 +362,13 @@ function acquireInstallLock(dataDir) {
362
362
  });
363
363
  return null;
364
364
  }
365
+ try {
366
+ const { pid } = parseLockContent(readFileSync(path, "utf-8"));
367
+ if (pid === process.pid) return {
368
+ path,
369
+ reentrant: true
370
+ };
371
+ } catch {}
365
372
  if (!isStale(path)) return null;
366
373
  logger$13.info("removing stale install lock and retrying acquire", { path });
367
374
  try {
@@ -459,6 +466,7 @@ function unlockInstallLock(dataDir) {
459
466
  }
460
467
  function releaseInstallLock(handle) {
461
468
  if (!handle) return;
469
+ if (handle.reentrant) return;
462
470
  try {
463
471
  rmSync(handle.path, { force: true });
464
472
  } catch (err) {
@@ -738,7 +746,7 @@ var import_main = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
738
746
  module.exports = DotenvModule;
739
747
  })))();
740
748
  var package_default = {
741
- version: "0.12.33"};
749
+ version: "0.12.35"};
742
750
  //#endregion
743
751
  //#region ../lib/src/control-plane/versioning.ts
744
752
  var SEMVER_RE = /^v?\d+\.\d+\.\d+(?:[-+].*)?$/;
@@ -5260,7 +5268,6 @@ function randomHex(bytes) {
5260
5268
  * historical `.env.schema` files (varlock format) were retired in #391.
5261
5269
  */
5262
5270
  var logger$12 = createLogger("core-assets");
5263
- var GITHUB_ASSET_TIMEOUT_MS = 1e4;
5264
5271
  var _require$1 = createRequire(import.meta.url);
5265
5272
  function bundledAssetPath(relPath) {
5266
5273
  try {
@@ -5296,10 +5303,7 @@ function ensureOpenCodeSystemConfig() {
5296
5303
  }
5297
5304
  var SHIPPED_DEFAULT_HASHES = { "config/guardian/instructions/moderation.md": ["dfa770d433bef9954e58e29cfb337679eb27ed3c9de61ddd2c4106d3add9a628"] };
5298
5305
  /** Assets under config/guardian/ that are managed (refreshable) but respect user edits. */
5299
- var GUARDIAN_MANAGED_ASSETS = [{
5300
- relPath: "config/guardian/instructions/moderation.md",
5301
- githubFilename: ".openpalm/config/guardian/instructions/moderation.md"
5302
- }];
5306
+ var GUARDIAN_MANAGED_ASSETS = [{ relPath: "config/guardian/instructions/moderation.md" }];
5303
5307
  /**
5304
5308
  * Returns true when the on-disk content is still byte-identical to one of the
5305
5309
  * previously shipped defaults for the given relPath (i.e. the user has not
@@ -5311,41 +5315,12 @@ function isUnmodifiedDefault(relPath, currentContent) {
5311
5315
  const h = sha256(currentContent);
5312
5316
  return known.includes(h);
5313
5317
  }
5314
- var REPO = "itlackey/openpalm";
5315
- function normalizeAssetRef(version) {
5316
- const v = version.trim();
5317
- if (!v) throw new Error("Cannot download OpenPalm stack assets: no version provided. The caller must pass the target release tag (e.g. \"v0.11.0-rc.6\").");
5318
- return /^\d/.test(v) ? `v${v}` : v;
5319
- }
5320
5318
  var MANAGED_ASSETS = [
5321
- {
5322
- relPath: "config/stack/core.compose.yml",
5323
- githubFilename: ".openpalm/config/stack/core.compose.yml"
5324
- },
5325
- {
5326
- relPath: "config/stack/services.compose.yml",
5327
- githubFilename: ".openpalm/config/stack/services.compose.yml"
5328
- },
5329
- {
5330
- relPath: "config/stack/portals.compose.yml",
5331
- githubFilename: ".openpalm/config/stack/portals.compose.yml"
5332
- }
5319
+ { relPath: "config/stack/core.compose.yml" },
5320
+ { relPath: "config/stack/services.compose.yml" },
5321
+ { relPath: "config/stack/portals.compose.yml" }
5333
5322
  ];
5334
- var SEEDED_ASSETS = [{
5335
- relPath: "config/assistant/opencode.jsonc",
5336
- githubFilename: ".openpalm/config/assistant/opencode.jsonc"
5337
- }, {
5338
- relPath: "config/stack/custom.compose.yml",
5339
- githubFilename: ".openpalm/config/stack/custom.compose.yml"
5340
- }];
5341
- async function downloadAsset(filename, version) {
5342
- const rawUrl = `https://raw.githubusercontent.com/${REPO}/${version}/${filename}`;
5343
- try {
5344
- const res = await fetch(rawUrl, { signal: AbortSignal.timeout(GITHUB_ASSET_TIMEOUT_MS) });
5345
- if (res.ok) return await res.text();
5346
- } catch {}
5347
- throw new Error(`Failed to download ${filename} from GitHub (ref "${version}" not found or network error)`);
5348
- }
5323
+ var SEEDED_ASSETS = [{ relPath: "config/assistant/opencode.jsonc" }, { relPath: "config/stack/custom.compose.yml" }];
5349
5324
  function ensureBackupDir(backupDir, suffix = "") {
5350
5325
  if (backupDir) return backupDir;
5351
5326
  return join(resolveBackupsDir(), `${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}${suffix}`);
@@ -5408,56 +5383,6 @@ function refreshCoreAssetsFromSource(sourceRoot, homeDir = resolveOpenPalmHome()
5408
5383
  kept
5409
5384
  };
5410
5385
  }
5411
- async function refreshCoreAssets(version) {
5412
- const ref = normalizeAssetRef(version);
5413
- const homeDir = resolveOpenPalmHome();
5414
- const updated = [];
5415
- const kept = [];
5416
- let backupDir = null;
5417
- for (const asset of MANAGED_ASSETS) {
5418
- const freshContent = await downloadAsset(asset.githubFilename, ref);
5419
- const targetPath = join(homeDir, asset.relPath);
5420
- if (existsSync(targetPath)) {
5421
- if (sha256(readFileSync(targetPath, "utf-8")) === sha256(freshContent)) continue;
5422
- backupDir = backupExistingFile(targetPath, asset.relPath, backupDir);
5423
- }
5424
- mkdirSync(dirname(targetPath), { recursive: true });
5425
- writeFileSync(targetPath, freshContent);
5426
- updated.push(asset.relPath);
5427
- }
5428
- for (const asset of GUARDIAN_MANAGED_ASSETS) {
5429
- const freshContent = await downloadAsset(asset.githubFilename, ref);
5430
- const targetPath = join(homeDir, asset.relPath);
5431
- if (existsSync(targetPath)) {
5432
- const currentContent = readFileSync(targetPath, "utf-8");
5433
- if (sha256(currentContent) === sha256(freshContent)) continue;
5434
- if (!isUnmodifiedDefault(asset.relPath, currentContent)) {
5435
- logger$12.info("guardian managed asset kept (user-modified); new default available", {
5436
- path: asset.relPath,
5437
- hint: "Remove the file or restore the shipped default to pick up the new version on the next refresh."
5438
- });
5439
- kept.push(asset.relPath);
5440
- continue;
5441
- }
5442
- }
5443
- mkdirSync(dirname(targetPath), { recursive: true });
5444
- writeFileSync(targetPath, freshContent);
5445
- updated.push(asset.relPath);
5446
- }
5447
- for (const asset of SEEDED_ASSETS) {
5448
- const targetPath = join(homeDir, asset.relPath);
5449
- if (existsSync(targetPath)) continue;
5450
- const freshContent = await downloadAsset(asset.githubFilename, ref);
5451
- mkdirSync(dirname(targetPath), { recursive: true });
5452
- writeFileSync(targetPath, freshContent);
5453
- updated.push(asset.relPath);
5454
- }
5455
- return {
5456
- backupDir,
5457
- updated,
5458
- kept
5459
- };
5460
- }
5461
5386
  //#endregion
5462
5387
  //#region ../lib/src/control-plane/ui-assets.ts
5463
5388
  /**
@@ -5492,6 +5417,21 @@ async function fetchWithRetry(url, retries = 3) {
5492
5417
  }
5493
5418
  throw new Error(`Failed to fetch ${url} after ${retries} attempts`);
5494
5419
  }
5420
+ function copyTree(src, dest, opts) {
5421
+ if (!existsSync(src)) return;
5422
+ const entries = readdirSync(src, {
5423
+ recursive: true,
5424
+ withFileTypes: true
5425
+ });
5426
+ for (const entry of entries) {
5427
+ if (!entry.isFile()) continue;
5428
+ const srcFile = join(entry.parentPath ?? entry.path, entry.name);
5429
+ const destFile = join(dest, relative(src, srcFile));
5430
+ if (existsSync(destFile)) continue;
5431
+ mkdirSync(dirname(destFile), { recursive: true });
5432
+ copyFileSync(srcFile, destFile);
5433
+ }
5434
+ }
5495
5435
  /** Resolve a candidate path using three strategies, returning the first that exists. */
5496
5436
  function resolveLocalCandidate(...strategies) {
5497
5437
  for (const strategy of strategies) try {
@@ -5520,6 +5460,60 @@ function resolveLocalOpenpalmDir() {
5520
5460
  }, () => null);
5521
5461
  }
5522
5462
  /**
5463
+ * Seed OP_HOME from the .openpalm/ skeleton.
5464
+ *
5465
+ * Existing files are never overwritten (user edits win).
5466
+ * Falls back to downloading the repo tarball from GitHub when no local
5467
+ * skeleton is found (production binary, packaged Electron app).
5468
+ */
5469
+ /** Version stamp recording which skeleton version OP_HOME was last seeded from. */
5470
+ var SKELETON_VERSION_STAMP = ".skeleton-version";
5471
+ /**
5472
+ * Seed the bundled `.openpalm/` skeleton into OP_HOME — ONCE PER VERSION.
5473
+ *
5474
+ * Electron calls this on every launch; without a guard it re-copied the entire
5475
+ * skeleton tree each time (wasteful, and it re-materialized files a user/process
5476
+ * had deliberately removed). We stamp OP_HOME/.skeleton-version with `repoRef`
5477
+ * after a successful seed and skip the copy when it already matches — so a given
5478
+ * version seeds once and an upgrade re-seeds (skipExisting still preserves any
5479
+ * user edits). To force a re-seed, delete the stamp.
5480
+ */
5481
+ async function seedOpenPalmDir(repoRef, homeDir, _configDir, _dataDir) {
5482
+ const stampPath = join(homeDir, SKELETON_VERSION_STAMP);
5483
+ let alreadySeeded = false;
5484
+ if (existsSync(stampPath)) try {
5485
+ alreadySeeded = readFileSync(stampPath, "utf-8").trim() === repoRef.trim();
5486
+ } catch {}
5487
+ const stamp = () => {
5488
+ try {
5489
+ writeFileSync(stampPath, `${repoRef}\n`);
5490
+ } catch {}
5491
+ };
5492
+ const local = resolveLocalOpenpalmDir();
5493
+ if (local) {
5494
+ const { updated, backupDir } = refreshCoreAssetsFromSource(local, homeDir);
5495
+ if (updated.length) logger$11.debug("refreshed managed stack assets", { refreshed: updated });
5496
+ if (alreadySeeded) {
5497
+ logger$11.debug("skeleton already seeded for this version — managed assets refreshed, skipping full seed", { repoRef });
5498
+ return {
5499
+ updated,
5500
+ backupDir
5501
+ };
5502
+ }
5503
+ logger$11.debug("seeding .openpalm from local source", {
5504
+ src: local,
5505
+ repoRef
5506
+ });
5507
+ copyTree(local, homeDir);
5508
+ stamp();
5509
+ return {
5510
+ updated,
5511
+ backupDir
5512
+ };
5513
+ }
5514
+ throw new Error("Cannot locate @openpalm/skeleton. Set OPENPALM_REPO_ROOT (dev) or install @openpalm/skeleton: npm install @openpalm/skeleton@" + (process.env.OP_SKELETON_VERSION ?? process.env.PLATFORM_VERSION ?? "<version>"));
5515
+ }
5516
+ /**
5523
5517
  * The UI ships as `@openpalm/ui` on npm — a self-contained `adapter-node`
5524
5518
  * bundle (only `build/` is published; no `node_modules` is needed at runtime,
5525
5519
  * because the build bundles every dependency). The desktop and host updaters
@@ -7717,11 +7711,42 @@ async function reconcileCore(state, opts) {
7717
7711
  throw new Error(`Compose preflight failed: ${preflight.stderr}\nFiles: ${files.join(", ")}\nEnv files: ${envFiles.filter(existsSync).join(", ")}\nProfiles: ${profiles.join(", ") || "(none)"}\nProject: ${projectName}`);
7718
7712
  }
7719
7713
  }
7720
- if (!opts.skipSnapshot && !hasArmedSnapshot()) snapshotCurrentState(state);
7721
7714
  state.artifacts = resolveRuntimeFiles();
7722
7715
  writeRuntimeFiles(state);
7723
7716
  return active;
7724
7717
  }
7718
+ /**
7719
+ * Idempotent OP_HOME asset reconciliation to the running platform version.
7720
+ *
7721
+ * This is the single place that brings an OP_HOME's *assets* (layout, skeleton
7722
+ * data/, managed compose, release transforms) up to PLATFORM_VERSION. It is
7723
+ * keyed entirely on PLATFORM_VERSION (the running control plane), NOT on the
7724
+ * per-image OP_*_VERSION pins in stack.env — those stay independent and drive
7725
+ * compose image resolution only.
7726
+ *
7727
+ * Every step is a cheap no-op when already current:
7728
+ * • ensureMigrated — forward-only layout migrations (skip-if-done)
7729
+ * • seedOpenPalmDir — skeleton data/ seed (stamp-gated, skip-existing) +
7730
+ * managed compose refresh from BUNDLED local source
7731
+ * • ensureReleaseMigrated — forward-only release transforms (copy-only, idempotent)
7732
+ *
7733
+ * Returns the assets it actually changed (the refreshed managed compose/config
7734
+ * files) and the backup directory a release migration created (if any), so
7735
+ * performUpgrade can surface them in UpgradeResult — the upgrade route logs the
7736
+ * asset list and shows the backup dir to the operator.
7737
+ */
7738
+ async function reconcileHome(state) {
7739
+ ensureMigrated({ homeDir: state.homeDir });
7740
+ const seed = await seedOpenPalmDir(PLATFORM_VERSION, state.homeDir, state.configDir, state.dataDir);
7741
+ const release = ensureReleaseMigrated({
7742
+ homeDir: state.homeDir,
7743
+ targetVersion: PLATFORM_VERSION
7744
+ });
7745
+ return {
7746
+ assetsUpdated: seed.updated,
7747
+ backupDir: release.backupDir ?? seed.backupDir
7748
+ };
7749
+ }
7725
7750
  function resolveLifecycleLock(state, opts) {
7726
7751
  if (opts && "lock" in opts) return opts.lock ?? null;
7727
7752
  return acquireInstallLock(state.dataDir);
@@ -7730,11 +7755,71 @@ function releaseLifecycleLock(lock, opts) {
7730
7755
  if (opts && "lock" in opts) return;
7731
7756
  releaseInstallLock(lock);
7732
7757
  }
7758
+ /**
7759
+ * The single idempotent stack reconcile. Every lifecycle entry point is a thin
7760
+ * flag variant of this:
7761
+ * 1. reconcileHome — bring OP_HOME assets up to PLATFORM_VERSION (migrations,
7762
+ * bundled skeleton seed, release transforms). No GitHub.
7763
+ * 2. reconcileCore — preflight, snapshot (rollback), write runtime files,
7764
+ * flip service state per activate/deactivate.
7765
+ * 3. composePull — (compose+pull only) fetch images per OP_*_VERSION pins.
7766
+ * 4. composeUp — (compose only) recreate the managed service set.
7767
+ *
7768
+ * The whole thing runs under withStackEnvRollback: stack.env + the portals/custom
7769
+ * compose files are snapshotted and restored if any step throws, and the
7770
+ * pre-reconcile state is armed for `openpalm rollback`. reconcileCore runs with
7771
+ * skipSnapshot:true so it never takes a second snapshot over that armed one.
7772
+ *
7773
+ * The `compose` flag is deliberately OFF for install/update/uninstall: those
7774
+ * consumers (runDeploy, the admin install/update/uninstall routes) already own a
7775
+ * bespoke compose phase — pulling images first, parsing per-service failures,
7776
+ * polling health, and emitting progress. Letting the wrapper composeUp too would
7777
+ * (a) double-recreate and (b) on a fresh install fatally `up` BEFORE images are
7778
+ * pulled. Only performUpgrade sets compose:true — its consumers (CLI update, the
7779
+ * admin upgrade route) have no separate compose phase and want the full
7780
+ * pull+recreate to happen inside the wrapper, with rollback on failure.
7781
+ *
7782
+ * Returns the services that were active (running) after the reconcile — the
7783
+ * "restarted" set for update/upgrade reporting — plus the OP_HOME assets it
7784
+ * changed and any backup dir a release migration created, for UpgradeResult.
7785
+ */
7786
+ function reconcileStack(state, opts) {
7787
+ return withStackEnvRollback(state, async () => {
7788
+ const activating = !opts.deactivate;
7789
+ if (activating && opts.compose) await repairRootOwnedBindMounts(state.homeDir);
7790
+ const home = await reconcileHome(state);
7791
+ const active = await reconcileCore(state, {
7792
+ activateServices: opts.activate,
7793
+ deactivateServices: opts.deactivate,
7794
+ skipSnapshot: true
7795
+ });
7796
+ if (activating && opts.compose) {
7797
+ const composeOpts = buildComposeOptions(state);
7798
+ if (opts.pull) {
7799
+ const pullResult = await composePull(composeOpts);
7800
+ if (!pullResult.ok) throw new Error(`Failed to pull images: ${pullResult.stderr}`);
7801
+ }
7802
+ const services = await buildManagedServices(state);
7803
+ const upResult = await composeUp({
7804
+ ...composeOpts,
7805
+ services,
7806
+ forceRecreate: true,
7807
+ removeOrphans: true
7808
+ });
7809
+ if (!upResult.ok) throw new Error(`Failed to recreate containers: ${upResult.stderr}`);
7810
+ }
7811
+ return {
7812
+ active,
7813
+ assetsUpdated: home.assetsUpdated,
7814
+ backupDir: home.backupDir
7815
+ };
7816
+ });
7817
+ }
7733
7818
  async function applyInstall(state, opts) {
7734
7819
  const lock = resolveLifecycleLock(state, opts);
7735
7820
  if (!lock) throw new Error("Another install is already in progress");
7736
7821
  try {
7737
- await reconcileCore(state, { activateServices: true });
7822
+ await reconcileStack(state, { activate: true });
7738
7823
  ensureComposeVolumeTargets(state);
7739
7824
  } finally {
7740
7825
  releaseLifecycleLock(lock, opts);
@@ -7744,7 +7829,8 @@ async function applyUpdate(state, opts) {
7744
7829
  const lock = resolveLifecycleLock(state, opts);
7745
7830
  if (!lock) throw new Error("Another install is already in progress");
7746
7831
  try {
7747
- return { restarted: await reconcileCore(state, {}) };
7832
+ const { active } = await reconcileStack(state, {});
7833
+ return { restarted: active };
7748
7834
  } finally {
7749
7835
  releaseLifecycleLock(lock, opts);
7750
7836
  }
@@ -7753,7 +7839,8 @@ async function applyUninstall(state, opts) {
7753
7839
  const lock = resolveLifecycleLock(state, opts);
7754
7840
  if (!lock) throw new Error("Another install is already in progress");
7755
7841
  try {
7756
- return { stopped: await reconcileCore(state, { deactivateServices: true }) };
7842
+ const { active } = await reconcileStack(state, { deactivate: true });
7843
+ return { stopped: active };
7757
7844
  } finally {
7758
7845
  releaseLifecycleLock(lock, opts);
7759
7846
  }
@@ -7763,21 +7850,6 @@ function resolveImageNamespace(state) {
7763
7850
  if (!IMAGE_NAMESPACE_RE.test(namespace)) throw new Error(`Invalid image namespace in system.env: ${namespace}`);
7764
7851
  return namespace;
7765
7852
  }
7766
- async function applyUpgrade(state, version, opts) {
7767
- const lock = resolveLifecycleLock(state, opts);
7768
- if (!lock) throw new Error("Another install is already in progress");
7769
- try {
7770
- await repairRootOwnedBindMounts(state.homeDir);
7771
- const { backupDir, updated } = await refreshCoreAssets(version);
7772
- return {
7773
- backupDir,
7774
- updated,
7775
- restarted: await reconcileCore(state, { skipSnapshot: true })
7776
- };
7777
- } finally {
7778
- releaseLifecycleLock(lock, opts);
7779
- }
7780
- }
7781
7853
  async function withStackEnvRollback(state, run) {
7782
7854
  const stackEnvPath = `${state.stashDir}/env/stack.env`;
7783
7855
  const portalsComposePath = `${state.stackDir}/portals.compose.yml`;
@@ -7794,7 +7866,7 @@ async function withStackEnvRollback(state, run) {
7794
7866
  try {
7795
7867
  originalCustomCompose = readFileSync(customComposePath, "utf-8");
7796
7868
  } catch {}
7797
- snapshotCurrentState(state, { arm: true });
7869
+ if (!hasArmedSnapshot()) snapshotCurrentState(state, { arm: true });
7798
7870
  try {
7799
7871
  return await run();
7800
7872
  } catch (e) {
@@ -7819,36 +7891,35 @@ async function withStackEnvRollback(state, run) {
7819
7891
  * There are NO Docker Hub calls: image versions are user-managed in stack.env
7820
7892
  * (PATCH /admin/versions), and the platform asset version is the running lib's
7821
7893
  * PLATFORM_VERSION — never resolved from a remote registry.
7822
- */
7823
- async function performUpgrade(state, _opts = {}) {
7824
- return withStackEnvRollback(state, async () => {
7825
- const composeOpts = buildComposeOptions(state);
7894
+ *
7895
+ * `allowPrerelease` is accepted for caller intent/forward-compatibility but is
7896
+ * currently a NO-OP: there is no remote-tag resolution to gate, since the target
7897
+ * is always the running PLATFORM_VERSION and image tags are user-pinned in
7898
+ * stack.env. Forward-only release migrations decide compatibility (a downgrade
7899
+ * target yields no pending migrations rather than throwing). Callers pass it so
7900
+ * the gate can be wired here later without an API change.
7901
+ */
7902
+ async function performUpgrade(state, opts) {
7903
+ const lock = resolveLifecycleLock(state, opts);
7904
+ if (!lock) throw new Error("Another install is already in progress");
7905
+ try {
7826
7906
  const namespace = resolveImageNamespace(state);
7827
- const releaseTag = "platform-" + normalizeVersion(PLATFORM_VERSION);
7828
- ensureReleaseMigrated({
7829
- homeDir: state.homeDir,
7830
- targetVersion: PLATFORM_VERSION
7907
+ const { active, assetsUpdated, backupDir } = await reconcileStack(state, {
7908
+ activate: true,
7909
+ pull: true,
7910
+ compose: true
7831
7911
  });
7832
- const upgradeResult = await applyUpgrade(state, releaseTag);
7833
- const pullResult = await composePull(composeOpts);
7834
- if (!pullResult.ok) throw new Error(`Failed to pull images: ${pullResult.stderr}`);
7835
- const services = await buildManagedServices(state);
7836
- const upResult = await composeUp({
7837
- ...composeOpts,
7838
- services,
7839
- forceRecreate: true,
7840
- removeOrphans: true
7841
- });
7842
- if (!upResult.ok) throw new Error(`Images pulled but failed to recreate containers: ${upResult.stderr}`);
7843
7912
  return {
7844
7913
  imageTag: PLATFORM_VERSION,
7845
7914
  namespace,
7846
- backupDir: upgradeResult.backupDir,
7847
- assetsUpdated: upgradeResult.updated,
7848
- restarted: upgradeResult.restarted,
7915
+ backupDir,
7916
+ assetsUpdated,
7917
+ restarted: active,
7849
7918
  warnings: []
7850
7919
  };
7851
- });
7920
+ } finally {
7921
+ releaseLifecycleLock(lock, opts);
7922
+ }
7852
7923
  }
7853
7924
  function buildComposeFileList(state) {
7854
7925
  return discoverStackOverlays(state.stackDir);
@@ -10385,4 +10456,4 @@ function collectBindAddressWarnings(env) {
10385
10456
  }
10386
10457
 
10387
10458
  export { ensureReleaseMigrated as $, AKM_USER_ENV_REF as A, BackupSpaceError as B, CORE_SERVICES as C, DOCKER_IMAGE_NAMES as D, composeUp as E, createLogger as F, createOpenCodeClient as G, createState as H, INSTALL_LOCK_STALE_AFTER_MS as I, deleteUserEnvKey as J, deriveLaunchStatus as K, deriveLocalStackState as L, MigrationError as M, detectGpu as N, detectHostOpenCode as O, PLATFORM_VERSION as P, detectLocalProviders as Q, detectRuntime as R, SERVICE_VERSION_KEYS as S, disableHostAkmSharing as T, dismissSecretStripNotice as U, enableHostAkmSharing as V, ensureAkmUserEnv as W, ensureHomeDirs as X, ensureMigrated as Y, ensureOpenCodeConfig as Z, ensureOpenCodeSystemConfig as _, addonProfileId as a, writeFileAtomic as a$, ensureSecrets as a0, executeAutomation as a1, fetchProviderModels as a2, formatForDisplay as a3, getAddonProfileAvailability as a4, getAddonProfileSelection as a5, getAddonProfiles as a6, getAddonServiceNames as a7, getAkmStats as a8, getDockerEvents as a9, readSecret as aA, readSecretFile as aB, readSecretStripNotice as aC, readStackEnv as aD, readStackRuntimeEnv as aE, readStackSecretEnv as aF, readTaskFile as aG, readUserEnvFile as aH, readVersions as aI, recommendSetup as aJ, removeSecretFile as aK, removeTaskFile as aL, resolveComposeProjectName as aM, resolveDataDir as aN, resolveDeployJournalPath as aO, resolveRuntimeFiles as aP, resolveStackDir as aQ, runAssistantAkmCommand as aR, runDeploy as aS, seedUiBuild as aT, setAddonEnabled as aU, setAddonProfileSelection as aV, summarizeBackups as aW, summarizeComposeStderr as aX, unlockInstallLock as aY, useExistingProviderForAssistantCli as aZ, validateProposedState as a_, getHostAkmSharingStatus as aa, getRegistryAddonConfig as ab, hostAkmStashPath as ac, importHostOpenCode as ad, initializeStateSecrets as ae, inspectInstallLock as af, isAllowedService as ag, isPrerelease as ah, isSetupComplete as ai, listAssistantCliTools as aj, listAvailableAddonIds as ak, listBackupDirs as al, listEnabledAddonIds as am, listSecretFiles as an, loadAutomations as ao, mapDockerError as ap, markSetupComplete as aq, mergeEnvContent as ar, parseComposeStderr as as, parseEnvFile as at, patchSecretsEnvFile as au, performSetup as av, performUpgrade as aw, pruneBackupDirs as ax, readAutomationLogs as ay, readDeployJournal as az, annotateAddonProfileAvailability as b, writeRuntimeFiles as b0, writeSecretFile as b1, writeStackSecretEnv as b2, writeTaskFile as b3, writeUserEnvKey as b4, writeVersions as b5, writeVoiceVars as b6, applyInstall as c, applyUninstall as d, applyUpdate as e, assertSafeSecretFilename as f, assertSafeTaskFilename as g, authJsonPath as h, backupSetupInputs as i, buildAkmEndpoint as j, buildAkmEnv as k, buildComposeOptions as l, buildManagedServices as m, checkDocker as n, checkDockerCompose as o, classifyLocalInstall as p, collectBindAddressWarnings as q, composeDown as r, composeLogs as s, composePreflight as t, composePs as u, composePull as v, composeRestart as w, composeStart as x, composeStats as y, composeStop as z };
10388
- //# sourceMappingURL=src-BqqiNh6G.js.map
10459
+ //# sourceMappingURL=src-Bms-Wpj4.js.map