@openpalm/ui 0.12.35 → 0.12.37

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 (324) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/chunks/CMI5WgQe.js +3 -0
  3. package/build/client/_app/immutable/chunks/CMI5WgQe.js.br +0 -0
  4. package/build/client/_app/immutable/chunks/CMI5WgQe.js.gz +0 -0
  5. package/build/client/_app/immutable/chunks/CXl8F6Oj.js +1 -0
  6. package/build/client/_app/immutable/chunks/CXl8F6Oj.js.br +2 -0
  7. package/build/client/_app/immutable/chunks/CXl8F6Oj.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/{Dma1yH6T.js → Ca3DbnOW.js} +1 -1
  9. package/build/client/_app/immutable/chunks/Ca3DbnOW.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/Ca3DbnOW.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/{Cn5j2N5s.js → D3Us-dyE.js} +1 -1
  12. package/build/client/_app/immutable/chunks/D3Us-dyE.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/D3Us-dyE.js.gz +0 -0
  14. package/build/client/_app/immutable/entry/{app.DCTrXp6P.js → app.Dhosk04t.js} +2 -2
  15. package/build/client/_app/immutable/entry/app.Dhosk04t.js.br +0 -0
  16. package/build/client/_app/immutable/entry/app.Dhosk04t.js.gz +0 -0
  17. package/build/client/_app/immutable/entry/start.DLj-71M8.js +1 -0
  18. package/build/client/_app/immutable/entry/start.DLj-71M8.js.br +0 -0
  19. package/build/client/_app/immutable/entry/start.DLj-71M8.js.gz +0 -0
  20. package/build/client/_app/immutable/nodes/{1.DeODpuBZ.js → 1.CVfRID3b.js} +1 -1
  21. package/build/client/_app/immutable/nodes/1.CVfRID3b.js.br +2 -0
  22. package/build/client/_app/immutable/nodes/1.CVfRID3b.js.gz +0 -0
  23. package/build/client/_app/immutable/nodes/10.Brbv_fbD.js +3 -0
  24. package/build/client/_app/immutable/nodes/10.Brbv_fbD.js.br +0 -0
  25. package/build/client/_app/immutable/nodes/10.Brbv_fbD.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/{4.BPWbyAG8.js → 4.DNdEtt3r.js} +1 -1
  27. package/build/client/_app/immutable/nodes/4.DNdEtt3r.js.br +0 -0
  28. package/build/client/_app/immutable/nodes/4.DNdEtt3r.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/{5.DSNlc6_T.js → 5.DNvbGWzc.js} +1 -1
  30. package/build/client/_app/immutable/nodes/5.DNvbGWzc.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/5.DNvbGWzc.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{6.BXpzaUL0.js → 6.CUL8ocWL.js} +1 -1
  33. package/build/client/_app/immutable/nodes/6.CUL8ocWL.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/6.CUL8ocWL.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{7.BrFVK4tb.js → 7.Dwj19mS7.js} +1 -1
  36. package/build/client/_app/immutable/nodes/7.Dwj19mS7.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/7.Dwj19mS7.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{8.w_eWNqum.js → 8.D_OKJuRN.js} +1 -1
  39. package/build/client/_app/immutable/nodes/8.D_OKJuRN.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/8.D_OKJuRN.js.gz +0 -0
  41. package/build/client/_app/version.json +1 -1
  42. package/build/client/_app/version.json.br +1 -1
  43. package/build/client/_app/version.json.gz +0 -0
  44. package/build/server/chunks/1-gjHjUOZv.js +9 -0
  45. package/build/server/chunks/{1-DHr2ahqY.js.map → 1-gjHjUOZv.js.map} +1 -1
  46. package/build/server/chunks/{10-Bhcyw8HA.js → 10-CLVE8ML3.js} +7 -7
  47. package/build/server/chunks/10-CLVE8ML3.js.map +1 -0
  48. package/build/server/chunks/{4-Cd3Q4DoQ.js → 4-BmdQnRn8.js} +3 -3
  49. package/build/server/chunks/{4-Cd3Q4DoQ.js.map → 4-BmdQnRn8.js.map} +1 -1
  50. package/build/server/chunks/{5-BBhfqYBp.js → 5-AsHcbAIQ.js} +3 -3
  51. package/build/server/chunks/{5-BBhfqYBp.js.map → 5-AsHcbAIQ.js.map} +1 -1
  52. package/build/server/chunks/{6-Djg8mg9E.js → 6-ChY7YQ16.js} +3 -3
  53. package/build/server/chunks/{6-Djg8mg9E.js.map → 6-ChY7YQ16.js.map} +1 -1
  54. package/build/server/chunks/{7-D2mE5z4a.js → 7-BTThm_b_.js} +3 -3
  55. package/build/server/chunks/{7-D2mE5z4a.js.map → 7-BTThm_b_.js.map} +1 -1
  56. package/build/server/chunks/{8-BZ53nosC.js → 8-BfJaGaXV.js} +3 -3
  57. package/build/server/chunks/{8-BZ53nosC.js.map → 8-BfJaGaXV.js.map} +1 -1
  58. package/build/server/chunks/{Navbar-DmstJWgp.js → Navbar-DptJ0Ib7.js} +3 -3
  59. package/build/server/chunks/{Navbar-DmstJWgp.js.map → Navbar-DptJ0Ib7.js.map} +1 -1
  60. package/build/server/chunks/{_page.svelte-CupozR5-.js → _page.svelte-B1RAxebc.js} +3 -3
  61. package/build/server/chunks/{_page.svelte-CupozR5-.js.map → _page.svelte-B1RAxebc.js.map} +1 -1
  62. package/build/server/chunks/{_page.svelte-6H8jZf49.js → _page.svelte-B7O0jPvL.js} +3 -3
  63. package/build/server/chunks/{_page.svelte-6H8jZf49.js.map → _page.svelte-B7O0jPvL.js.map} +1 -1
  64. package/build/server/chunks/{_page.svelte-CzA8BxOP.js → _page.svelte-BOT6lNno.js} +5 -5
  65. package/build/server/chunks/{_page.svelte-CzA8BxOP.js.map → _page.svelte-BOT6lNno.js.map} +1 -1
  66. package/build/server/chunks/{_page.svelte-DmAj2xUu.js → _page.svelte-CRMktXSn.js} +5 -5
  67. package/build/server/chunks/{_page.svelte-DmAj2xUu.js.map → _page.svelte-CRMktXSn.js.map} +1 -1
  68. package/build/server/chunks/{_page.svelte-DGMNp0WD.js → _page.svelte-D6LaV6l_.js} +5 -5
  69. package/build/server/chunks/{_page.svelte-DGMNp0WD.js.map → _page.svelte-D6LaV6l_.js.map} +1 -1
  70. package/build/server/chunks/{_page.svelte-rf-Q89lq.js → _page.svelte-xumMJJN7.js} +2 -2
  71. package/build/server/chunks/_page.svelte-xumMJJN7.js.map +1 -0
  72. package/build/server/chunks/{_server.ts-BItwSO5E.js → _server.ts-8r1ktgEy.js} +2 -2
  73. package/build/server/chunks/{_server.ts-BItwSO5E.js.map → _server.ts-8r1ktgEy.js.map} +1 -1
  74. package/build/server/chunks/{_server.ts-DEmX_Z0O.js → _server.ts-9T0e8GXd.js} +6 -6
  75. package/build/server/chunks/{_server.ts-DEmX_Z0O.js.map → _server.ts-9T0e8GXd.js.map} +1 -1
  76. package/build/server/chunks/{_server.ts-Dr9Nrd0B.js → _server.ts-B-KWTx9p.js} +4 -4
  77. package/build/server/chunks/{_server.ts-Dr9Nrd0B.js.map → _server.ts-B-KWTx9p.js.map} +1 -1
  78. package/build/server/chunks/{_server.ts-BexCNXZL.js → _server.ts-B47TJQNt.js} +5 -5
  79. package/build/server/chunks/{_server.ts-BexCNXZL.js.map → _server.ts-B47TJQNt.js.map} +1 -1
  80. package/build/server/chunks/{_server.ts-DKAThwNY.js → _server.ts-BC3RW_ZX.js} +5 -5
  81. package/build/server/chunks/{_server.ts-DKAThwNY.js.map → _server.ts-BC3RW_ZX.js.map} +1 -1
  82. package/build/server/chunks/{_server.ts-zlBR3T4Z.js → _server.ts-BDZtpQEX.js} +6 -6
  83. package/build/server/chunks/{_server.ts-zlBR3T4Z.js.map → _server.ts-BDZtpQEX.js.map} +1 -1
  84. package/build/server/chunks/{_server.ts-DYjYHIIg.js → _server.ts-BLHJfdaR.js} +5 -5
  85. package/build/server/chunks/{_server.ts-DYjYHIIg.js.map → _server.ts-BLHJfdaR.js.map} +1 -1
  86. package/build/server/chunks/{_server.ts-17Sm7tBJ.js → _server.ts-BPbooWm1.js} +5 -5
  87. package/build/server/chunks/{_server.ts-17Sm7tBJ.js.map → _server.ts-BPbooWm1.js.map} +1 -1
  88. package/build/server/chunks/{_server.ts-BmQzKzgF.js → _server.ts-BQDRp-sR.js} +5 -5
  89. package/build/server/chunks/{_server.ts-BmQzKzgF.js.map → _server.ts-BQDRp-sR.js.map} +1 -1
  90. package/build/server/chunks/{_server.ts-Bp8WEV3T.js → _server.ts-BSPdC1vA.js} +5 -5
  91. package/build/server/chunks/{_server.ts-Bp8WEV3T.js.map → _server.ts-BSPdC1vA.js.map} +1 -1
  92. package/build/server/chunks/{_server.ts-CswojIO6.js → _server.ts-BW9rEgwM.js} +5 -5
  93. package/build/server/chunks/{_server.ts-CswojIO6.js.map → _server.ts-BW9rEgwM.js.map} +1 -1
  94. package/build/server/chunks/{_server.ts-IrIGIyzI.js → _server.ts-BYHfT3Ca.js} +6 -6
  95. package/build/server/chunks/{_server.ts-IrIGIyzI.js.map → _server.ts-BYHfT3Ca.js.map} +1 -1
  96. package/build/server/chunks/{_server.ts-C759kKrI.js → _server.ts-BYldSXCu.js} +5 -5
  97. package/build/server/chunks/{_server.ts-C759kKrI.js.map → _server.ts-BYldSXCu.js.map} +1 -1
  98. package/build/server/chunks/{_server.ts-BlGrZPhR.js → _server.ts-B_g-Huuh.js} +7 -7
  99. package/build/server/chunks/{_server.ts-BlGrZPhR.js.map → _server.ts-B_g-Huuh.js.map} +1 -1
  100. package/build/server/chunks/{_server.ts-DgYWHXWn.js → _server.ts-BbN-zLQQ.js} +5 -5
  101. package/build/server/chunks/{_server.ts-DgYWHXWn.js.map → _server.ts-BbN-zLQQ.js.map} +1 -1
  102. package/build/server/chunks/{_server.ts-CbW89QHq.js → _server.ts-Bc7fG62v.js} +5 -5
  103. package/build/server/chunks/{_server.ts-CbW89QHq.js.map → _server.ts-Bc7fG62v.js.map} +1 -1
  104. package/build/server/chunks/{_server.ts-WRqR790z.js → _server.ts-Bcz4w7HI.js} +5 -5
  105. package/build/server/chunks/{_server.ts-WRqR790z.js.map → _server.ts-Bcz4w7HI.js.map} +1 -1
  106. package/build/server/chunks/{_server.ts-wZerakZf.js → _server.ts-Bd3fqJpa.js} +5 -5
  107. package/build/server/chunks/{_server.ts-wZerakZf.js.map → _server.ts-Bd3fqJpa.js.map} +1 -1
  108. package/build/server/chunks/{_server.ts-D1SQw1xr.js → _server.ts-BowOE-vc.js} +5 -5
  109. package/build/server/chunks/{_server.ts-D1SQw1xr.js.map → _server.ts-BowOE-vc.js.map} +1 -1
  110. package/build/server/chunks/{_server.ts-4mcrPKs8.js → _server.ts-Bqo1VFHG.js} +5 -5
  111. package/build/server/chunks/{_server.ts-4mcrPKs8.js.map → _server.ts-Bqo1VFHG.js.map} +1 -1
  112. package/build/server/chunks/{_server.ts-7HHVmf6s.js → _server.ts-BqwG7y2B.js} +5 -5
  113. package/build/server/chunks/{_server.ts-7HHVmf6s.js.map → _server.ts-BqwG7y2B.js.map} +1 -1
  114. package/build/server/chunks/{_server.ts-ygo2IFet.js → _server.ts-BrX0cA4X.js} +5 -5
  115. package/build/server/chunks/{_server.ts-ygo2IFet.js.map → _server.ts-BrX0cA4X.js.map} +1 -1
  116. package/build/server/chunks/{_server.ts-IuJoqgcf.js → _server.ts-Bt31_CsK.js} +5 -5
  117. package/build/server/chunks/{_server.ts-IuJoqgcf.js.map → _server.ts-Bt31_CsK.js.map} +1 -1
  118. package/build/server/chunks/{_server.ts-DI7DVHmY.js → _server.ts-BvZCj_hC.js} +5 -5
  119. package/build/server/chunks/_server.ts-BvZCj_hC.js.map +1 -0
  120. package/build/server/chunks/{_server.ts-Bh-5jiYC.js → _server.ts-BxL4yHez.js} +5 -5
  121. package/build/server/chunks/{_server.ts-Bh-5jiYC.js.map → _server.ts-BxL4yHez.js.map} +1 -1
  122. package/build/server/chunks/{_server.ts-DEmtjEMi.js → _server.ts-BxxjcH8_.js} +5 -5
  123. package/build/server/chunks/{_server.ts-DEmtjEMi.js.map → _server.ts-BxxjcH8_.js.map} +1 -1
  124. package/build/server/chunks/{_server.ts-C8owE7KE.js → _server.ts-C7VvTeLF.js} +5 -5
  125. package/build/server/chunks/{_server.ts-C8owE7KE.js.map → _server.ts-C7VvTeLF.js.map} +1 -1
  126. package/build/server/chunks/{_server.ts-Caecp_9T.js → _server.ts-C9Kucjie.js} +6 -6
  127. package/build/server/chunks/{_server.ts-Caecp_9T.js.map → _server.ts-C9Kucjie.js.map} +1 -1
  128. package/build/server/chunks/{_server.ts-Der6MKsu.js → _server.ts-CE-VqTTg.js} +2 -2
  129. package/build/server/chunks/{_server.ts-Der6MKsu.js.map → _server.ts-CE-VqTTg.js.map} +1 -1
  130. package/build/server/chunks/{_server.ts-CeuX4TD2.js → _server.ts-CI3lh_X5.js} +6 -6
  131. package/build/server/chunks/{_server.ts-CeuX4TD2.js.map → _server.ts-CI3lh_X5.js.map} +1 -1
  132. package/build/server/chunks/{_server.ts-Q6gku721.js → _server.ts-CLz937p5.js} +5 -5
  133. package/build/server/chunks/{_server.ts-Q6gku721.js.map → _server.ts-CLz937p5.js.map} +1 -1
  134. package/build/server/chunks/{_server.ts-DkpnaxtR.js → _server.ts-CTI9alSL.js} +6 -6
  135. package/build/server/chunks/{_server.ts-DkpnaxtR.js.map → _server.ts-CTI9alSL.js.map} +1 -1
  136. package/build/server/chunks/{_server.ts-Baozh1FE.js → _server.ts-CTrp64ym.js} +5 -5
  137. package/build/server/chunks/{_server.ts-Baozh1FE.js.map → _server.ts-CTrp64ym.js.map} +1 -1
  138. package/build/server/chunks/{_server.ts-644qDVn-.js → _server.ts-CZbaDbdB.js} +5 -5
  139. package/build/server/chunks/{_server.ts-644qDVn-.js.map → _server.ts-CZbaDbdB.js.map} +1 -1
  140. package/build/server/chunks/{_server.ts-CWz-e7Hy.js → _server.ts-CZfkdu-f.js} +7 -7
  141. package/build/server/chunks/{_server.ts-CWz-e7Hy.js.map → _server.ts-CZfkdu-f.js.map} +1 -1
  142. package/build/server/chunks/{_server.ts-CWb18g88.js → _server.ts-CfzXDDjT.js} +8 -8
  143. package/build/server/chunks/{_server.ts-CWb18g88.js.map → _server.ts-CfzXDDjT.js.map} +1 -1
  144. package/build/server/chunks/{_server.ts-CMfWgDOR.js → _server.ts-Cg5gvKfz.js} +6 -6
  145. package/build/server/chunks/{_server.ts-CMfWgDOR.js.map → _server.ts-Cg5gvKfz.js.map} +1 -1
  146. package/build/server/chunks/{_server.ts-DGdvFSCJ.js → _server.ts-CnU9QlnE.js} +5 -5
  147. package/build/server/chunks/{_server.ts-DGdvFSCJ.js.map → _server.ts-CnU9QlnE.js.map} +1 -1
  148. package/build/server/chunks/{_server.ts-Clnw_CPP.js → _server.ts-CnsONSDQ.js} +4 -4
  149. package/build/server/chunks/{_server.ts-Clnw_CPP.js.map → _server.ts-CnsONSDQ.js.map} +1 -1
  150. package/build/server/chunks/{_server.ts-F9jr1TXS.js → _server.ts-CpN9GWkt.js} +5 -5
  151. package/build/server/chunks/{_server.ts-F9jr1TXS.js.map → _server.ts-CpN9GWkt.js.map} +1 -1
  152. package/build/server/chunks/{_server.ts-BR0sBzB0.js → _server.ts-CrR3xhrA.js} +5 -5
  153. package/build/server/chunks/{_server.ts-BR0sBzB0.js.map → _server.ts-CrR3xhrA.js.map} +1 -1
  154. package/build/server/chunks/{_server.ts-BHglX11P.js → _server.ts-CraiUxfw.js} +7 -7
  155. package/build/server/chunks/{_server.ts-BHglX11P.js.map → _server.ts-CraiUxfw.js.map} +1 -1
  156. package/build/server/chunks/{_server.ts-7PYmr9Z-.js → _server.ts-CrvtQUC-.js} +5 -5
  157. package/build/server/chunks/{_server.ts-7PYmr9Z-.js.map → _server.ts-CrvtQUC-.js.map} +1 -1
  158. package/build/server/chunks/{_server.ts-CjrBMt_s.js → _server.ts-CsOCmp-V.js} +5 -5
  159. package/build/server/chunks/{_server.ts-CjrBMt_s.js.map → _server.ts-CsOCmp-V.js.map} +1 -1
  160. package/build/server/chunks/{_server.ts-BrMoDp9S.js → _server.ts-CvFkNHNZ.js} +5 -5
  161. package/build/server/chunks/{_server.ts-BrMoDp9S.js.map → _server.ts-CvFkNHNZ.js.map} +1 -1
  162. package/build/server/chunks/{_server.ts-DnTpL24U.js → _server.ts-CyKc2qPj.js} +5 -5
  163. package/build/server/chunks/{_server.ts-DnTpL24U.js.map → _server.ts-CyKc2qPj.js.map} +1 -1
  164. package/build/server/chunks/{_server.ts-C7EVl-bi.js → _server.ts-D1qNYKbC.js} +5 -5
  165. package/build/server/chunks/{_server.ts-C7EVl-bi.js.map → _server.ts-D1qNYKbC.js.map} +1 -1
  166. package/build/server/chunks/{_server.ts-D02ydqWj.js → _server.ts-D1slc-m-.js} +5 -5
  167. package/build/server/chunks/{_server.ts-D02ydqWj.js.map → _server.ts-D1slc-m-.js.map} +1 -1
  168. package/build/server/chunks/{_server.ts-p6BIfEPN.js → _server.ts-D3EDuLCR.js} +6 -6
  169. package/build/server/chunks/{_server.ts-p6BIfEPN.js.map → _server.ts-D3EDuLCR.js.map} +1 -1
  170. package/build/server/chunks/{_server.ts-BIKnhFxu.js → _server.ts-D4rRxSHY.js} +5 -5
  171. package/build/server/chunks/{_server.ts-BIKnhFxu.js.map → _server.ts-D4rRxSHY.js.map} +1 -1
  172. package/build/server/chunks/{_server.ts-D92SRQrD.js → _server.ts-D7Z-y3y6.js} +5 -5
  173. package/build/server/chunks/{_server.ts-D92SRQrD.js.map → _server.ts-D7Z-y3y6.js.map} +1 -1
  174. package/build/server/chunks/{_server.ts-DMk0lyPh.js → _server.ts-DDKAtICU.js} +5 -5
  175. package/build/server/chunks/{_server.ts-DMk0lyPh.js.map → _server.ts-DDKAtICU.js.map} +1 -1
  176. package/build/server/chunks/{_server.ts-CKnr7Uu8.js → _server.ts-DDlfDBlX.js} +2 -2
  177. package/build/server/chunks/{_server.ts-CKnr7Uu8.js.map → _server.ts-DDlfDBlX.js.map} +1 -1
  178. package/build/server/chunks/{_server.ts-CPEbL-Pt.js → _server.ts-DRzPTk-I.js} +6 -6
  179. package/build/server/chunks/{_server.ts-CPEbL-Pt.js.map → _server.ts-DRzPTk-I.js.map} +1 -1
  180. package/build/server/chunks/{_server.ts-D-kETy9m.js → _server.ts-DU3hvd9d.js} +5 -5
  181. package/build/server/chunks/{_server.ts-D-kETy9m.js.map → _server.ts-DU3hvd9d.js.map} +1 -1
  182. package/build/server/chunks/{_server.ts-CUSgj-vr.js → _server.ts-DXD9YtNb.js} +7 -7
  183. package/build/server/chunks/{_server.ts-CUSgj-vr.js.map → _server.ts-DXD9YtNb.js.map} +1 -1
  184. package/build/server/chunks/{_server.ts-DyAq_u9y.js → _server.ts-DZ58hKp_.js} +5 -5
  185. package/build/server/chunks/{_server.ts-DyAq_u9y.js.map → _server.ts-DZ58hKp_.js.map} +1 -1
  186. package/build/server/chunks/{_server.ts-DuzwVKnI.js → _server.ts-DZ74wjdy.js} +6 -6
  187. package/build/server/chunks/{_server.ts-DuzwVKnI.js.map → _server.ts-DZ74wjdy.js.map} +1 -1
  188. package/build/server/chunks/_server.ts-DZuJpxeF.js +116 -0
  189. package/build/server/chunks/_server.ts-DZuJpxeF.js.map +1 -0
  190. package/build/server/chunks/{_server.ts-Bzx8e_vT.js → _server.ts-DZxyfVfk.js} +5 -5
  191. package/build/server/chunks/{_server.ts-Bzx8e_vT.js.map → _server.ts-DZxyfVfk.js.map} +1 -1
  192. package/build/server/chunks/{_server.ts-CwLV4b1f.js → _server.ts-DaO2pf4f.js} +5 -10
  193. package/build/server/chunks/_server.ts-DaO2pf4f.js.map +1 -0
  194. package/build/server/chunks/{_server.ts-7YfKZbRf.js → _server.ts-DbGmuYND.js} +6 -6
  195. package/build/server/chunks/{_server.ts-7YfKZbRf.js.map → _server.ts-DbGmuYND.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-Ff36E_kQ.js → _server.ts-DezqI1zw.js} +5 -5
  197. package/build/server/chunks/{_server.ts-Ff36E_kQ.js.map → _server.ts-DezqI1zw.js.map} +1 -1
  198. package/build/server/chunks/{_server.ts-x2T-1ecq.js → _server.ts-DfRgwfim.js} +5 -8
  199. package/build/server/chunks/_server.ts-DfRgwfim.js.map +1 -0
  200. package/build/server/chunks/{_server.ts-BkKDLEw2.js → _server.ts-DmBh7SF4.js} +5 -5
  201. package/build/server/chunks/{_server.ts-BkKDLEw2.js.map → _server.ts-DmBh7SF4.js.map} +1 -1
  202. package/build/server/chunks/{_server.ts-B4sIzTwj.js → _server.ts-DrHlq4El.js} +5 -5
  203. package/build/server/chunks/{_server.ts-B4sIzTwj.js.map → _server.ts-DrHlq4El.js.map} +1 -1
  204. package/build/server/chunks/{_server.ts-Do9vXHTl.js → _server.ts-DwbGq0qT.js} +5 -5
  205. package/build/server/chunks/{_server.ts-Do9vXHTl.js.map → _server.ts-DwbGq0qT.js.map} +1 -1
  206. package/build/server/chunks/{_server.ts-B4IkHWrK.js → _server.ts-GiZ1gLDD.js} +5 -5
  207. package/build/server/chunks/{_server.ts-B4IkHWrK.js.map → _server.ts-GiZ1gLDD.js.map} +1 -1
  208. package/build/server/chunks/{_server.ts-DTa1SYz_.js → _server.ts-TPIZIb1u.js} +5 -5
  209. package/build/server/chunks/{_server.ts-DTa1SYz_.js.map → _server.ts-TPIZIb1u.js.map} +1 -1
  210. package/build/server/chunks/{_server.ts-aIvJGwVD.js → _server.ts-USsZHtlt.js} +5 -5
  211. package/build/server/chunks/{_server.ts-aIvJGwVD.js.map → _server.ts-USsZHtlt.js.map} +1 -1
  212. package/build/server/chunks/{_server.ts-CCSbDOWm.js → _server.ts-WhvPQG9u.js} +5 -5
  213. package/build/server/chunks/{_server.ts-CCSbDOWm.js.map → _server.ts-WhvPQG9u.js.map} +1 -1
  214. package/build/server/chunks/{_server.ts-DfwiRzeI.js → _server.ts-Yy-KzL30.js} +5 -5
  215. package/build/server/chunks/{_server.ts-DfwiRzeI.js.map → _server.ts-Yy-KzL30.js.map} +1 -1
  216. package/build/server/chunks/{_server.ts-BbtNmpd6.js → _server.ts-_G_3an8p.js} +5 -5
  217. package/build/server/chunks/{_server.ts-BbtNmpd6.js.map → _server.ts-_G_3an8p.js.map} +1 -1
  218. package/build/server/chunks/{_server.ts-CyCT3WI1.js → _server.ts-aK6F5W8o.js} +5 -5
  219. package/build/server/chunks/{_server.ts-CyCT3WI1.js.map → _server.ts-aK6F5W8o.js.map} +1 -1
  220. package/build/server/chunks/{_server.ts-De3Ci2sP.js → _server.ts-cA724F40.js} +5 -5
  221. package/build/server/chunks/{_server.ts-De3Ci2sP.js.map → _server.ts-cA724F40.js.map} +1 -1
  222. package/build/server/chunks/{_server.ts-Co5cJt5A.js → _server.ts-e6T1Exbr.js} +2 -2
  223. package/build/server/chunks/{_server.ts-Co5cJt5A.js.map → _server.ts-e6T1Exbr.js.map} +1 -1
  224. package/build/server/chunks/{_server.ts-Bh5t8TMR.js → _server.ts-ee7R1_L4.js} +5 -5
  225. package/build/server/chunks/{_server.ts-Bh5t8TMR.js.map → _server.ts-ee7R1_L4.js.map} +1 -1
  226. package/build/server/chunks/{_server.ts-CFPp8keI.js → _server.ts-i7Kb7GHX.js} +5 -5
  227. package/build/server/chunks/{_server.ts-CFPp8keI.js.map → _server.ts-i7Kb7GHX.js.map} +1 -1
  228. package/build/server/chunks/{_server.ts-C7BHJSCS.js → _server.ts-jy6EN1Je.js} +6 -6
  229. package/build/server/chunks/{_server.ts-C7BHJSCS.js.map → _server.ts-jy6EN1Je.js.map} +1 -1
  230. package/build/server/chunks/{_server.ts-Bv2PmRE5.js → _server.ts-lyIEc2sm.js} +7 -7
  231. package/build/server/chunks/{_server.ts-Bv2PmRE5.js.map → _server.ts-lyIEc2sm.js.map} +1 -1
  232. package/build/server/chunks/{_server.ts-Dg1Zjg-X.js → _server.ts-pZXzNajN.js} +2 -2
  233. package/build/server/chunks/{_server.ts-Dg1Zjg-X.js.map → _server.ts-pZXzNajN.js.map} +1 -1
  234. package/build/server/chunks/{_server.ts-BJlwCXg-.js → _server.ts-qKFUYaLD.js} +5 -5
  235. package/build/server/chunks/{_server.ts-BJlwCXg-.js.map → _server.ts-qKFUYaLD.js.map} +1 -1
  236. package/build/server/chunks/{_server.ts-CZJ1Q1LT.js → _server.ts-wnNPnDWa.js} +7 -7
  237. package/build/server/chunks/{_server.ts-CZJ1Q1LT.js.map → _server.ts-wnNPnDWa.js.map} +1 -1
  238. package/build/server/chunks/{addon-helpers-XImVlKha.js → addon-helpers-BkZTqkzU.js} +3 -3
  239. package/build/server/chunks/{addon-helpers-XImVlKha.js.map → addon-helpers-BkZTqkzU.js.map} +1 -1
  240. package/build/server/chunks/{akm-BHWIeMbV.js → akm-W2jVRoy2.js} +2 -2
  241. package/build/server/chunks/{akm-BHWIeMbV.js.map → akm-W2jVRoy2.js.map} +1 -1
  242. package/build/server/chunks/{catalog-Fe3z4JM_.js → catalog-CyU2JGS5.js} +5 -5
  243. package/build/server/chunks/{catalog-Fe3z4JM_.js.map → catalog-CyU2JGS5.js.map} +1 -1
  244. package/build/server/chunks/{client-lMbA6Jug.js → client-Bpcpa4BJ.js} +2 -2
  245. package/build/server/chunks/{client-lMbA6Jug.js.map → client-Bpcpa4BJ.js.map} +1 -1
  246. package/build/server/chunks/{config-B2V9qVRT.js → config-Cbhj94dJ.js} +2 -2
  247. package/build/server/chunks/{config-B2V9qVRT.js.map → config-Cbhj94dJ.js.map} +1 -1
  248. package/build/server/chunks/{docker-CEt-3e57.js → docker-19UOjwnj.js} +2 -2
  249. package/build/server/chunks/{docker-CEt-3e57.js.map → docker-19UOjwnj.js.map} +1 -1
  250. package/build/server/chunks/{endpoints-ev9YSBb8.js → endpoints-s4sYxtNX.js} +2 -2
  251. package/build/server/chunks/{endpoints-ev9YSBb8.js.map → endpoints-s4sYxtNX.js.map} +1 -1
  252. package/build/server/chunks/{error.svelte-CIoDqhLx.js → error.svelte-BrIivAcw.js} +4 -4
  253. package/build/server/chunks/{error.svelte-CIoDqhLx.js.map → error.svelte-BrIivAcw.js.map} +1 -1
  254. package/build/server/chunks/{helpers-BluGgY3g.js → helpers-Dn1KCeOM.js} +3 -3
  255. package/build/server/chunks/{helpers-BluGgY3g.js.map → helpers-Dn1KCeOM.js.map} +1 -1
  256. package/build/server/chunks/{hooks.server-DMdbB9Fv.js → hooks.server-D-tmNnsn.js} +10 -17
  257. package/build/server/chunks/hooks.server-D-tmNnsn.js.map +1 -0
  258. package/build/server/chunks/{http-BmFqfzyw.js → http-6U0ZbxrK.js} +2 -2
  259. package/build/server/chunks/{http-BmFqfzyw.js.map → http-6U0ZbxrK.js.map} +1 -1
  260. package/build/server/chunks/{internal-CGvCj4Lu.js → internal-DGcqGVK7.js} +3 -3
  261. package/build/server/chunks/{internal-CGvCj4Lu.js.map → internal-DGcqGVK7.js.map} +1 -1
  262. package/build/server/chunks/{migration-status-UK_z_iXN.js → migration-status-CdKW4TxB.js} +5 -8
  263. package/build/server/chunks/migration-status-CdKW4TxB.js.map +1 -0
  264. package/build/server/chunks/{session-cookie-Cn2O_Cv6.js → session-cookie-BVOapD-n.js} +2 -2
  265. package/build/server/chunks/{session-cookie-Cn2O_Cv6.js.map → session-cookie-BVOapD-n.js.map} +1 -1
  266. package/build/server/chunks/{setup-deploy-B9QxcV6K.js → setup-deploy-xKJ3K_r-.js} +2 -2
  267. package/build/server/chunks/{setup-deploy-B9QxcV6K.js.map → setup-deploy-xKJ3K_r-.js.map} +1 -1
  268. package/build/server/chunks/{src-Bms-Wpj4.js → src-tc6vkfjq.js} +62 -110
  269. package/build/server/chunks/src-tc6vkfjq.js.map +1 -0
  270. package/build/server/chunks/{state-dBGSHxF6.js → state-DoUFfa64.js} +3 -6
  271. package/build/server/chunks/state-DoUFfa64.js.map +1 -0
  272. package/build/server/chunks/{state2-tak_X-zN.js → state2-jIJ_hRS9.js} +2 -2
  273. package/build/server/chunks/{state2-tak_X-zN.js.map → state2-jIJ_hRS9.js.map} +1 -1
  274. package/build/server/index.js +1 -1
  275. package/build/server/index.js.map +1 -1
  276. package/build/server/manifest.js +91 -105
  277. package/build/server/manifest.js.map +1 -1
  278. package/package.json +3 -4
  279. package/build/client/_app/immutable/chunks/BJ1FElAi.js +0 -3
  280. package/build/client/_app/immutable/chunks/BJ1FElAi.js.br +0 -0
  281. package/build/client/_app/immutable/chunks/BJ1FElAi.js.gz +0 -0
  282. package/build/client/_app/immutable/chunks/BllPz2fN.js +0 -1
  283. package/build/client/_app/immutable/chunks/BllPz2fN.js.br +0 -2
  284. package/build/client/_app/immutable/chunks/BllPz2fN.js.gz +0 -0
  285. package/build/client/_app/immutable/chunks/Cn5j2N5s.js.br +0 -0
  286. package/build/client/_app/immutable/chunks/Cn5j2N5s.js.gz +0 -0
  287. package/build/client/_app/immutable/chunks/Dma1yH6T.js.br +0 -0
  288. package/build/client/_app/immutable/chunks/Dma1yH6T.js.gz +0 -0
  289. package/build/client/_app/immutable/entry/app.DCTrXp6P.js.br +0 -0
  290. package/build/client/_app/immutable/entry/app.DCTrXp6P.js.gz +0 -0
  291. package/build/client/_app/immutable/entry/start.DSb-TcOn.js +0 -1
  292. package/build/client/_app/immutable/entry/start.DSb-TcOn.js.br +0 -1
  293. package/build/client/_app/immutable/entry/start.DSb-TcOn.js.gz +0 -0
  294. package/build/client/_app/immutable/nodes/1.DeODpuBZ.js.br +0 -0
  295. package/build/client/_app/immutable/nodes/1.DeODpuBZ.js.gz +0 -0
  296. package/build/client/_app/immutable/nodes/10.ydmh33uP.js +0 -3
  297. package/build/client/_app/immutable/nodes/10.ydmh33uP.js.br +0 -0
  298. package/build/client/_app/immutable/nodes/10.ydmh33uP.js.gz +0 -0
  299. package/build/client/_app/immutable/nodes/4.BPWbyAG8.js.br +0 -0
  300. package/build/client/_app/immutable/nodes/4.BPWbyAG8.js.gz +0 -0
  301. package/build/client/_app/immutable/nodes/5.DSNlc6_T.js.br +0 -0
  302. package/build/client/_app/immutable/nodes/5.DSNlc6_T.js.gz +0 -0
  303. package/build/client/_app/immutable/nodes/6.BXpzaUL0.js.br +0 -0
  304. package/build/client/_app/immutable/nodes/6.BXpzaUL0.js.gz +0 -0
  305. package/build/client/_app/immutable/nodes/7.BrFVK4tb.js.br +0 -0
  306. package/build/client/_app/immutable/nodes/7.BrFVK4tb.js.gz +0 -0
  307. package/build/client/_app/immutable/nodes/8.w_eWNqum.js.br +0 -0
  308. package/build/client/_app/immutable/nodes/8.w_eWNqum.js.gz +0 -0
  309. package/build/server/chunks/1-DHr2ahqY.js +0 -9
  310. package/build/server/chunks/10-Bhcyw8HA.js.map +0 -1
  311. package/build/server/chunks/_page.svelte-rf-Q89lq.js.map +0 -1
  312. package/build/server/chunks/_server.ts-BvJoozcb.js +0 -77
  313. package/build/server/chunks/_server.ts-BvJoozcb.js.map +0 -1
  314. package/build/server/chunks/_server.ts-CwLV4b1f.js.map +0 -1
  315. package/build/server/chunks/_server.ts-DI7DVHmY.js.map +0 -1
  316. package/build/server/chunks/_server.ts-DP5YV8h3.js +0 -119
  317. package/build/server/chunks/_server.ts-DP5YV8h3.js.map +0 -1
  318. package/build/server/chunks/_server.ts-De6opDLP.js +0 -96
  319. package/build/server/chunks/_server.ts-De6opDLP.js.map +0 -1
  320. package/build/server/chunks/_server.ts-x2T-1ecq.js.map +0 -1
  321. package/build/server/chunks/hooks.server-DMdbB9Fv.js.map +0 -1
  322. package/build/server/chunks/migration-status-UK_z_iXN.js.map +0 -1
  323. package/build/server/chunks/src-Bms-Wpj4.js.map +0 -1
  324. package/build/server/chunks/state-dBGSHxF6.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration-status-CdKW4TxB.js","sources":["../../../.svelte-kit/adapter-node/chunks/migration-status.js"],"sourcesContent":["import { Gt as isSkeletonStale, Xt as MigrationError, Zt as ensureMigrated } from \"./src.js\";\n//#region src/lib/server/migration-status.ts\n/**\n* Shared on-disk migration detection for the launch flow.\n*\n* A cheap `ensureMigrated` DRY RUN (no lock, no backup, writes nothing) reports\n* whether the home needs migrating before the user can safely continue, and\n* surfaces the fail-loud UnrecognizedLayoutError/MigrationError as an attention\n* state. Used by BOTH the splash page load (to render the migration card) and the\n* launch-routing guard (to force the user onto /splash even when the stack is\n* otherwise healthy) — one source of truth, no duplicated logic.\n*/\nfunction detectMigration(homeDir) {\n\ttry {\n\t\tconst report = ensureMigrated({\n\t\t\thomeDir,\n\t\t\tdryRun: true\n\t\t});\n\t\tif (!(report.applied.length > 0 || report.releaseApplied.length > 0 || isSkeletonStale(homeDir))) return { status: \"none\" };\n\t\treturn {\n\t\t\tstatus: \"pending\",\n\t\t\tfrom: report.from,\n\t\t\tto: report.to,\n\t\t\tapplied: report.applied,\n\t\t\treleaseApplied: report.releaseApplied,\n\t\t\tnotes: report.notes\n\t\t};\n\t} catch (e) {\n\t\tif (e instanceof MigrationError) return {\n\t\t\tstatus: \"error\",\n\t\t\tmessage: e.message,\n\t\t\tguidance: e.guidance\n\t\t};\n\t\tthrow e;\n\t}\n}\n/**\n* True when a migration is pending OR the home can't be read — both are states\n* that must land the user on /splash before they can use the assistant, even if\n* the stack is running or a healthy remote is configured.\n*/\nfunction isMigrationBlocking(homeDir) {\n\tconst s = detectMigration(homeDir);\n\treturn s.status === \"pending\" || s.status === \"error\";\n}\n//#endregion\nexport { isMigrationBlocking as n, detectMigration as t };\n"],"names":[],"mappings":";;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,eAAe,CAAC,OAAO,EAAE;AAClC,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,cAAc,CAAC;AAChC,GAAG,OAAO;AACV,GAAG,MAAM,EAAE;AACX,GAAG,CAAC;AACJ,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7H,EAAE,OAAO;AACT,GAAG,MAAM,EAAE,SAAS;AACpB,GAAG,IAAI,EAAE,MAAM,CAAC,IAAI;AACpB,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE;AAChB,GAAG,OAAO,EAAE,MAAM,CAAC,OAAO;AAC1B,GAAG,cAAc,EAAE,MAAM,CAAC,cAAc;AACxC,GAAG,KAAK,EAAE,MAAM,CAAC;AACjB,GAAG;AACH,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,IAAI,CAAC,YAAY,cAAc,EAAE,OAAO;AAC1C,GAAG,MAAM,EAAE,OAAO;AAClB,GAAG,OAAO,EAAE,CAAC,CAAC,OAAO;AACrB,GAAG,QAAQ,EAAE,CAAC,CAAC;AACf,GAAG;AACH,EAAE,MAAM,CAAC;AACT,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,mBAAmB,CAAC,OAAO,EAAE;AACtC,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC;AACnC,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO;AACtD;;;;"}
@@ -1,4 +1,4 @@
1
- import { S as SESSION_TTL_SECONDS } from './helpers-BluGgY3g.js';
1
+ import { S as SESSION_TTL_SECONDS } from './helpers-Dn1KCeOM.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-Cn2O_Cv6.js.map
74
+ //# sourceMappingURL=session-cookie-BVOapD-n.js.map
@@ -1 +1 @@
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
+ {"version":3,"file":"session-cookie-BVOapD-n.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-Bms-Wpj4.js';
1
+ import { j as backupSetupInputs, aL as runDeploy, aI as resolveDeployJournalPath, ac as isSetupComplete, aJ as resolveStackDir, at as readDeployJournal, al as markSetupComplete } from './src-tc6vkfjq.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-B9QxcV6K.js.map
75
+ //# sourceMappingURL=setup-deploy-xKJ3K_r-.js.map
@@ -1 +1 @@
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;;;;"}
1
+ {"version":3,"file":"setup-deploy-xKJ3K_r-.js","sources":["../../../.svelte-kit/adapter-node/chunks/setup-deploy.js"],"sourcesContent":["import { A as readDeployJournal, Jt as resolveStackDir, M as runDeploy, O as backupSetupInputs, ct as isSetupComplete, j as resolveDeployJournalPath, k as markSetupComplete } 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;;;;"}
@@ -2,7 +2,7 @@ import { _ as __commonJSMin, b as __require } from './chunk-CLZ62Ad-.js';
2
2
  import { P as PROVIDER_DEFAULT_URLS, a as PROVIDER_KEY_MAP } from './provider-constants-DPrj3yBX.js';
3
3
  import { r as require_dist } from './dist-DOFcG0Zp.js';
4
4
  import { createRequire } from 'node:module';
5
- import Vt, { existsSync, readFileSync, copyFileSync, chmodSync, mkdirSync, lstatSync, rmSync, readdirSync, renameSync, writeFileSync, statfsSync, cpSync, openSync, constants, writeSync, closeSync, statSync, chownSync } from 'node:fs';
5
+ import Vt, { existsSync, readFileSync, copyFileSync, chmodSync, mkdirSync, rmSync, readdirSync, renameSync, writeFileSync, statfsSync, cpSync, openSync, constants, writeSync, closeSync, statSync, lstatSync, chownSync } from 'node:fs';
6
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';
@@ -746,7 +746,7 @@ var import_main = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
746
746
  module.exports = DotenvModule;
747
747
  })))();
748
748
  var package_default = {
749
- version: "0.12.35"};
749
+ version: "0.12.37"};
750
750
  //#endregion
751
751
  //#region ../lib/src/control-plane/versioning.ts
752
752
  var SEMVER_RE = /^v?\d+\.\d+\.\d+(?:[-+].*)?$/;
@@ -831,14 +831,6 @@ function formatForDocker(version) {
831
831
  return bare ? `v${bare}` : "";
832
832
  }
833
833
  /**
834
- * True when `version` carries a semver pre-release segment (`0.12.0-rc.1`).
835
- * Build metadata (`+build.5`) is NOT a pre-release. Non-semver → false.
836
- */
837
- function isPrerelease(version) {
838
- if (!isComparableSemver(version)) return false;
839
- return parseComparableVersion(version).prerelease !== null;
840
- }
841
- /**
842
834
  * User-facing presentation form: drop the leading `v` so the UI shows one
843
835
  * canonical spelling regardless of whether the value arrived as a Docker tag or
844
836
  * an npm version. Non-semver values are returned trimmed but otherwise untouched
@@ -5258,8 +5250,7 @@ function randomHex(bytes) {
5258
5250
  * Core runtime asset management for the OpenPalm control plane.
5259
5251
  *
5260
5252
  * Manages source-of-truth files for the ~/.openpalm/ layout:
5261
- * stack/ — compose runtime assets (core.compose.yml)
5262
- * config/guardian/ — guardian OpenCode config (skip-if-user-modified)
5253
+ * config/stack/ system-owned compose files, refreshed every reconcile
5263
5254
  *
5264
5255
  * This module manages runtime-owned core files only.
5265
5256
  * Addon compose bundle generation and registry catalog refresh are handled
@@ -5301,26 +5292,11 @@ function readBundledStackAsset(name) {
5301
5292
  function ensureOpenCodeSystemConfig() {
5302
5293
  mkdirSync(`${resolveDataDir()}/assistant`, { recursive: true });
5303
5294
  }
5304
- var SHIPPED_DEFAULT_HASHES = { "config/guardian/instructions/moderation.md": ["dfa770d433bef9954e58e29cfb337679eb27ed3c9de61ddd2c4106d3add9a628"] };
5305
- /** Assets under config/guardian/ that are managed (refreshable) but respect user edits. */
5306
- var GUARDIAN_MANAGED_ASSETS = [{ relPath: "config/guardian/instructions/moderation.md" }];
5307
- /**
5308
- * Returns true when the on-disk content is still byte-identical to one of the
5309
- * previously shipped defaults for the given relPath (i.e. the user has not
5310
- * edited it and it is safe to overwrite on refresh).
5311
- */
5312
- function isUnmodifiedDefault(relPath, currentContent) {
5313
- const known = SHIPPED_DEFAULT_HASHES[relPath];
5314
- if (!known || known.length === 0) return false;
5315
- const h = sha256(currentContent);
5316
- return known.includes(h);
5317
- }
5318
5295
  var MANAGED_ASSETS = [
5319
5296
  { relPath: "config/stack/core.compose.yml" },
5320
5297
  { relPath: "config/stack/services.compose.yml" },
5321
5298
  { relPath: "config/stack/portals.compose.yml" }
5322
5299
  ];
5323
- var SEEDED_ASSETS = [{ relPath: "config/assistant/opencode.jsonc" }, { relPath: "config/stack/custom.compose.yml" }];
5324
5300
  function ensureBackupDir(backupDir, suffix = "") {
5325
5301
  if (backupDir) return backupDir;
5326
5302
  return join(resolveBackupsDir(), `${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}${suffix}`);
@@ -5334,7 +5310,6 @@ function backupExistingFile(targetPath, assetRelPath, backupDir, suffix = "") {
5334
5310
  }
5335
5311
  function refreshCoreAssetsFromSource(sourceRoot, homeDir = resolveOpenPalmHome()) {
5336
5312
  const updated = [];
5337
- const kept = [];
5338
5313
  let backupDir = null;
5339
5314
  for (const asset of MANAGED_ASSETS) {
5340
5315
  const sourcePath = join(sourceRoot, asset.relPath);
@@ -5348,39 +5323,9 @@ function refreshCoreAssetsFromSource(sourceRoot, homeDir = resolveOpenPalmHome()
5348
5323
  writeFileSync(targetPath, freshContent);
5349
5324
  updated.push(asset.relPath);
5350
5325
  }
5351
- for (const asset of GUARDIAN_MANAGED_ASSETS) {
5352
- const sourcePath = join(sourceRoot, asset.relPath);
5353
- const targetPath = join(homeDir, asset.relPath);
5354
- if (!existsSync(sourcePath)) continue;
5355
- const freshContent = readFileSync(sourcePath, "utf-8");
5356
- if (existsSync(targetPath)) {
5357
- const currentContent = readFileSync(targetPath, "utf-8");
5358
- if (sha256(currentContent) === sha256(freshContent)) continue;
5359
- if (!isUnmodifiedDefault(asset.relPath, currentContent)) {
5360
- logger$12.info("guardian managed asset kept (user-modified); new default available", {
5361
- path: asset.relPath,
5362
- hint: "Remove the file or restore the shipped default to pick up the new version on the next refresh."
5363
- });
5364
- kept.push(asset.relPath);
5365
- continue;
5366
- }
5367
- }
5368
- mkdirSync(dirname(targetPath), { recursive: true });
5369
- writeFileSync(targetPath, freshContent);
5370
- updated.push(asset.relPath);
5371
- }
5372
- for (const asset of SEEDED_ASSETS) {
5373
- const sourcePath = join(sourceRoot, asset.relPath);
5374
- const targetPath = join(homeDir, asset.relPath);
5375
- if (existsSync(targetPath)) continue;
5376
- mkdirSync(dirname(targetPath), { recursive: true });
5377
- writeFileSync(targetPath, readFileSync(sourcePath, "utf-8"));
5378
- updated.push(asset.relPath);
5379
- }
5380
5326
  return {
5381
5327
  backupDir,
5382
- updated,
5383
- kept
5328
+ updated
5384
5329
  };
5385
5330
  }
5386
5331
  //#endregion
@@ -5468,6 +5413,27 @@ function resolveLocalOpenpalmDir() {
5468
5413
  */
5469
5414
  /** Version stamp recording which skeleton version OP_HOME was last seeded from. */
5470
5415
  var SKELETON_VERSION_STAMP = ".skeleton-version";
5416
+ /** The skeleton version OP_HOME was last seeded from, or null when unstamped. */
5417
+ function readSkeletonVersion(homeDir) {
5418
+ try {
5419
+ const p = join(homeDir, SKELETON_VERSION_STAMP);
5420
+ return existsSync(p) ? readFileSync(p, "utf-8").trim() : null;
5421
+ } catch {
5422
+ return null;
5423
+ }
5424
+ }
5425
+ /**
5426
+ * True when this home was seeded by a DIFFERENT platform version than the one
5427
+ * now running — i.e. the binary was updated but its assets/secrets/migrations
5428
+ * have not been applied to OP_HOME yet. The launch flow uses this to land the
5429
+ * user on /splash with an "apply updates" button instead of silently
5430
+ * self-healing on every request. An unstamped home (null) is NOT stale — that's
5431
+ * a fresh/not-installed home handled by the setup flow.
5432
+ */
5433
+ function isSkeletonStale(homeDir) {
5434
+ const stamped = readSkeletonVersion(homeDir);
5435
+ return stamped !== null && stamped !== PLATFORM_VERSION.trim();
5436
+ }
5471
5437
  /**
5472
5438
  * Seed the bundled `.openpalm/` skeleton into OP_HOME — ONCE PER VERSION.
5473
5439
  *
@@ -6056,7 +6022,7 @@ var SERVICE_VERSION_KEYS = [
6056
6022
  /**
6057
6023
  * Maps each service version key to its Docker Hub image name (without namespace).
6058
6024
  * Namespace defaults to "openpalm" (OP_IMAGE_NAMESPACE env var in compose).
6059
- * Source: .openpalm/config/stack/core.compose.yml + services.compose.yml + portals.compose.yml.
6025
+ * Source: packages/skeleton/config/stack/core.compose.yml + services.compose.yml + portals.compose.yml.
6060
6026
  *
6061
6027
  * NOTE: voice tags carry a variant suffix in compose (e.g. "-cpu", "-cu121") that is
6062
6028
  * appended by the compose file itself. OP_VOICE_VERSION holds only the base semver part.
@@ -7657,7 +7623,6 @@ function hasArmedSnapshot() {
7657
7623
  //#endregion
7658
7624
  //#region ../lib/src/control-plane/lifecycle.ts
7659
7625
  /** Lifecycle helpers — state factory, apply transitions, compose file list. */
7660
- var IMAGE_NAMESPACE_RE = /^[a-z0-9]+(?:[._-][a-z0-9]+)*$/;
7661
7626
  function createState() {
7662
7627
  const homeDir = resolveOpenPalmHome();
7663
7628
  const configDir = resolveConfigDir();
@@ -7726,27 +7691,58 @@ async function reconcileCore(state, opts) {
7726
7691
  *
7727
7692
  * Every step is a cheap no-op when already current:
7728
7693
  * • ensureMigrated — forward-only layout migrations (skip-if-done)
7694
+ * • ensureHomeDirs — create the OP_HOME directory layout
7729
7695
  * • seedOpenPalmDir — skeleton data/ seed (stamp-gated, skip-existing) +
7730
7696
  * managed compose refresh from BUNDLED local source
7697
+ * • ensureOpenCode* — starter OpenCode config + data dir (seed-if-missing)
7731
7698
  * • ensureReleaseMigrated — forward-only release transforms (copy-only, idempotent)
7732
7699
  *
7700
+ * This is the ONLY function that writes OP_HOME's layout/assets, so callers never
7701
+ * need to defensively re-ensure dirs or config themselves.
7702
+ *
7733
7703
  * Returns the assets it actually changed (the refreshed managed compose/config
7734
7704
  * files) and the backup directory a release migration created (if any), so
7735
7705
  * performUpgrade can surface them in UpgradeResult — the upgrade route logs the
7736
7706
  * asset list and shows the backup dir to the operator.
7737
7707
  */
7738
- async function reconcileHome(state) {
7739
- ensureMigrated({ homeDir: state.homeDir });
7708
+ async function reconcileHome(state, opts = {}) {
7709
+ const migration = ensureMigrated({
7710
+ homeDir: state.homeDir,
7711
+ confirmLowSpace: opts.confirmLowSpace
7712
+ });
7713
+ ensureHomeDirs();
7714
+ ensureSecrets(state);
7740
7715
  const seed = await seedOpenPalmDir(PLATFORM_VERSION, state.homeDir, state.configDir, state.dataDir);
7716
+ ensureOpenCodeConfig();
7717
+ ensureOpenCodeSystemConfig();
7741
7718
  const release = ensureReleaseMigrated({
7742
7719
  homeDir: state.homeDir,
7743
7720
  targetVersion: PLATFORM_VERSION
7744
7721
  });
7745
7722
  return {
7723
+ migration,
7746
7724
  assetsUpdated: seed.updated,
7747
7725
  backupDir: release.backupDir ?? seed.backupDir
7748
7726
  };
7749
7727
  }
7728
+ /**
7729
+ * Bring OP_HOME up to date WITHOUT touching containers — the single primitive
7730
+ * behind the splash "apply updates" button. Runs the full home reconcile
7731
+ * (migrations + dirs + secrets + skeleton seed + OpenCode config) under the
7732
+ * install lock so it can't race a concurrent install/update, then returns the
7733
+ * migration report for the UI to display. This is the deliberate, user-clicked
7734
+ * replacement for the per-request self-healing we removed: serving the UI is a
7735
+ * pure read; THIS is where the home is mutated.
7736
+ */
7737
+ async function applyHomeReconcile(state, opts = {}) {
7738
+ const lock = resolveLifecycleLock(state);
7739
+ if (!lock) throw new Error("Another install is already in progress");
7740
+ try {
7741
+ return await reconcileHome(state, opts);
7742
+ } finally {
7743
+ releaseLifecycleLock(lock);
7744
+ }
7745
+ }
7750
7746
  function resolveLifecycleLock(state, opts) {
7751
7747
  if (opts && "lock" in opts) return opts.lock ?? null;
7752
7748
  return acquireInstallLock(state.dataDir);
@@ -7845,11 +7841,6 @@ async function applyUninstall(state, opts) {
7845
7841
  releaseLifecycleLock(lock, opts);
7846
7842
  }
7847
7843
  }
7848
- function resolveImageNamespace(state) {
7849
- const namespace = (parseEnvFile(`${state.stashDir}/env/stack.env`).OP_IMAGE_NAMESPACE ?? process.env.OP_IMAGE_NAMESPACE ?? "openpalm").trim().toLowerCase();
7850
- if (!IMAGE_NAMESPACE_RE.test(namespace)) throw new Error(`Invalid image namespace in system.env: ${namespace}`);
7851
- return namespace;
7852
- }
7853
7844
  async function withStackEnvRollback(state, run) {
7854
7845
  const stackEnvPath = `${state.stashDir}/env/stack.env`;
7855
7846
  const portalsComposePath = `${state.stackDir}/portals.compose.yml`;
@@ -7882,45 +7873,6 @@ async function withStackEnvRollback(state, run) {
7882
7873
  throw e;
7883
7874
  }
7884
7875
  }
7885
- /**
7886
- * Update the stack to the running control-plane version: run forward release
7887
- * migrations, refresh core stack assets (compose/config) for PLATFORM_VERSION,
7888
- * then pull images and recreate containers honoring the per-image OP_*_VERSION
7889
- * pins already written in stack.env.
7890
- *
7891
- * There are NO Docker Hub calls: image versions are user-managed in stack.env
7892
- * (PATCH /admin/versions), and the platform asset version is the running lib's
7893
- * PLATFORM_VERSION — never resolved from a remote registry.
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 {
7906
- const namespace = resolveImageNamespace(state);
7907
- const { active, assetsUpdated, backupDir } = await reconcileStack(state, {
7908
- activate: true,
7909
- pull: true,
7910
- compose: true
7911
- });
7912
- return {
7913
- imageTag: PLATFORM_VERSION,
7914
- namespace,
7915
- backupDir,
7916
- assetsUpdated,
7917
- restarted: active,
7918
- warnings: []
7919
- };
7920
- } finally {
7921
- releaseLifecycleLock(lock, opts);
7922
- }
7923
- }
7924
7876
  function buildComposeFileList(state) {
7925
7877
  return discoverStackOverlays(state.stackDir);
7926
7878
  }
@@ -9218,7 +9170,7 @@ var ENV_FILE_MODE = 384;
9218
9170
  /**
9219
9171
  * Build the env that points akm at the shared OpenPalm stash. We mirror the
9220
9172
  * layout that the assistant container uses (see
9221
- * `.openpalm/config/stack/core.compose.yml`) so host-side and container-side
9173
+ * `packages/skeleton/config/stack/core.compose.yml`) so host-side and container-side
9222
9174
  * runs resolve to the same files.
9223
9175
  *
9224
9176
  * Host-side runs use the same explicit directories as the assistant container:
@@ -10455,5 +10407,5 @@ function collectBindAddressWarnings(env) {
10455
10407
  return warnings;
10456
10408
  }
10457
10409
 
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 };
10459
- //# sourceMappingURL=src-Bms-Wpj4.js.map
10410
+ export { formatForDisplay as $, AKM_USER_ENV_REF as A, BackupSpaceError as B, CORE_SERVICES as C, DOCKER_IMAGE_NAMES as D, composeStop as E, composeUp as F, createLogger as G, createOpenCodeClient as H, INSTALL_LOCK_STALE_AFTER_MS as I, createState as J, deleteUserEnvKey as K, deriveLaunchStatus as L, MigrationError as M, deriveLocalStackState as N, detectGpu as O, PLATFORM_VERSION as P, detectHostOpenCode as Q, detectLocalProviders as R, SERVICE_VERSION_KEYS as S, detectRuntime as T, disableHostAkmSharing as U, dismissSecretStripNotice as V, enableHostAkmSharing as W, ensureAkmUserEnv as X, ensureMigrated as Y, executeAutomation as Z, fetchProviderModels as _, addonProfileId as a, getAddonProfileAvailability as a0, getAddonProfileSelection as a1, getAddonProfiles as a2, getAddonServiceNames as a3, getAkmStats as a4, getDockerEvents as a5, getHostAkmSharingStatus as a6, getRegistryAddonConfig as a7, hostAkmStashPath as a8, importHostOpenCode as a9, readTaskFile as aA, readUserEnvFile as aB, readVersions as aC, recommendSetup as aD, removeSecretFile as aE, removeTaskFile as aF, resolveComposeProjectName as aG, resolveDataDir as aH, resolveDeployJournalPath as aI, resolveStackDir as aJ, runAssistantAkmCommand as aK, runDeploy as aL, seedUiBuild as aM, setAddonEnabled as aN, setAddonProfileSelection as aO, summarizeBackups as aP, summarizeComposeStderr as aQ, unlockInstallLock as aR, useExistingProviderForAssistantCli as aS, validateProposedState as aT, writeFileAtomic as aU, writeSecretFile as aV, writeStackSecretEnv as aW, writeTaskFile as aX, writeUserEnvKey as aY, writeVersions as aZ, writeVoiceVars as a_, inspectInstallLock as aa, isAllowedService as ab, isSetupComplete as ac, isSkeletonStale as ad, listAssistantCliTools as ae, listAvailableAddonIds as af, listBackupDirs as ag, listEnabledAddonIds as ah, listSecretFiles as ai, loadAutomations as aj, mapDockerError as ak, markSetupComplete as al, mergeEnvContent as am, parseComposeStderr as an, parseEnvFile as ao, patchSecretsEnvFile as ap, performSetup as aq, pruneBackupDirs as ar, readAutomationLogs as as, readDeployJournal as at, readSecret as au, readSecretFile as av, readSecretStripNotice as aw, readStackEnv as ax, readStackRuntimeEnv as ay, readStackSecretEnv as az, annotateAddonProfileAvailability as b, applyHomeReconcile as c, applyInstall as d, applyUninstall as e, applyUpdate as f, assertSafeSecretFilename as g, assertSafeTaskFilename as h, authJsonPath as i, backupSetupInputs as j, buildAkmEndpoint as k, buildAkmEnv as l, buildComposeOptions as m, buildManagedServices as n, checkDocker as o, checkDockerCompose as p, classifyLocalInstall as q, collectBindAddressWarnings as r, composeDown as s, composeLogs as t, composePreflight as u, composePs as v, composePull as w, composeRestart as x, composeStart as y, composeStats as z };
10411
+ //# sourceMappingURL=src-tc6vkfjq.js.map