@openpalm/ui 0.11.0-rc.9 → 0.11.1

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 (438) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/0.CFC7xzus.css +1 -0
  3. package/build/client/_app/immutable/assets/0.CFC7xzus.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.CFC7xzus.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/4.B_s_XYKm.css +1 -0
  6. package/build/client/_app/immutable/assets/4.B_s_XYKm.css.br +0 -0
  7. package/build/client/_app/immutable/assets/4.B_s_XYKm.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/6.Dr3r8AEl.css +1 -0
  9. package/build/client/_app/immutable/assets/6.Dr3r8AEl.css.br +0 -0
  10. package/build/client/_app/immutable/assets/6.Dr3r8AEl.css.gz +0 -0
  11. package/build/client/_app/immutable/assets/7.DKl0e2Fb.css +1 -0
  12. package/build/client/_app/immutable/assets/7.DKl0e2Fb.css.br +0 -0
  13. package/build/client/_app/immutable/assets/7.DKl0e2Fb.css.gz +0 -0
  14. package/build/client/_app/immutable/assets/8.CY2RMSue.css +1 -0
  15. package/build/client/_app/immutable/assets/8.CY2RMSue.css.br +4 -0
  16. package/build/client/_app/immutable/assets/8.CY2RMSue.css.gz +0 -0
  17. package/build/client/_app/immutable/assets/9.Bg2RXe3B.css +1 -0
  18. package/build/client/_app/immutable/assets/9.Bg2RXe3B.css.br +0 -0
  19. package/build/client/_app/immutable/assets/9.Bg2RXe3B.css.gz +0 -0
  20. package/build/client/_app/immutable/assets/Navbar.Bnqciy-R.css +1 -0
  21. package/build/client/_app/immutable/assets/Navbar.Bnqciy-R.css.br +0 -0
  22. package/build/client/_app/immutable/assets/Navbar.Bnqciy-R.css.gz +0 -0
  23. package/build/client/_app/immutable/assets/Spinner.BtzHSsat.css +1 -0
  24. package/build/client/_app/immutable/assets/Spinner.BtzHSsat.css.br +2 -0
  25. package/build/client/_app/immutable/assets/Spinner.BtzHSsat.css.gz +0 -0
  26. package/build/client/_app/immutable/assets/VoiceProfileSelector.rd8K9qqK.css +1 -0
  27. package/build/client/_app/immutable/assets/VoiceProfileSelector.rd8K9qqK.css.br +0 -0
  28. package/build/client/_app/immutable/assets/VoiceProfileSelector.rd8K9qqK.css.gz +0 -0
  29. package/build/client/_app/immutable/chunks/0swOyi-5.js +3 -0
  30. package/build/client/_app/immutable/chunks/0swOyi-5.js.br +0 -0
  31. package/build/client/_app/immutable/chunks/0swOyi-5.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/BBdT9Cjm.js +1 -0
  33. package/build/client/_app/immutable/chunks/BBdT9Cjm.js.br +0 -0
  34. package/build/client/_app/immutable/chunks/BBdT9Cjm.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/BQ0vnNWj.js +1 -0
  36. package/build/client/_app/immutable/chunks/BQ0vnNWj.js.br +1 -0
  37. package/build/client/_app/immutable/chunks/BQ0vnNWj.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/Bmfn2m9N.js +1 -0
  39. package/build/client/_app/immutable/chunks/Bmfn2m9N.js.br +1 -0
  40. package/build/client/_app/immutable/chunks/Bmfn2m9N.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/BsFaG4Si.js +1 -0
  42. package/build/client/_app/immutable/chunks/BsFaG4Si.js.br +2 -0
  43. package/build/client/_app/immutable/chunks/BsFaG4Si.js.gz +0 -0
  44. package/build/client/_app/immutable/chunks/C5xMso3V.js +1 -0
  45. package/build/client/_app/immutable/chunks/C5xMso3V.js.br +0 -0
  46. package/build/client/_app/immutable/chunks/C5xMso3V.js.gz +0 -0
  47. package/build/client/_app/immutable/chunks/{BuFlayix.js → CymRgjIC.js} +1 -1
  48. package/build/client/_app/immutable/chunks/CymRgjIC.js.br +0 -0
  49. package/build/client/_app/immutable/chunks/CymRgjIC.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/DPsWof9T.js +3 -0
  51. package/build/client/_app/immutable/chunks/DPsWof9T.js.br +0 -0
  52. package/build/client/_app/immutable/chunks/DPsWof9T.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/jhtvkF_A.js +1 -0
  54. package/build/client/_app/immutable/chunks/jhtvkF_A.js.br +0 -0
  55. package/build/client/_app/immutable/chunks/jhtvkF_A.js.gz +0 -0
  56. package/build/client/_app/immutable/chunks/s4upGypb.js +5 -0
  57. package/build/client/_app/immutable/chunks/s4upGypb.js.br +0 -0
  58. package/build/client/_app/immutable/chunks/s4upGypb.js.gz +0 -0
  59. package/build/client/_app/immutable/entry/app.BhaNzXRa.js +2 -0
  60. package/build/client/_app/immutable/entry/app.BhaNzXRa.js.br +0 -0
  61. package/build/client/_app/immutable/entry/app.BhaNzXRa.js.gz +0 -0
  62. package/build/client/_app/immutable/entry/start.mqdezZzO.js +1 -0
  63. package/build/client/_app/immutable/entry/start.mqdezZzO.js.br +0 -0
  64. package/build/client/_app/immutable/entry/start.mqdezZzO.js.gz +0 -0
  65. package/build/client/_app/immutable/nodes/0.0pi4RS6G.js +1 -0
  66. package/build/client/_app/immutable/nodes/0.0pi4RS6G.js.br +0 -0
  67. package/build/client/_app/immutable/nodes/0.0pi4RS6G.js.gz +0 -0
  68. package/build/client/_app/immutable/nodes/1.B8IsMtPo.js +1 -0
  69. package/build/client/_app/immutable/nodes/1.B8IsMtPo.js.br +1 -0
  70. package/build/client/_app/immutable/nodes/1.B8IsMtPo.js.gz +0 -0
  71. package/build/client/_app/immutable/nodes/2.B-8ehRO1.js +1 -0
  72. package/build/client/_app/immutable/nodes/2.B-8ehRO1.js.br +0 -0
  73. package/build/client/_app/immutable/nodes/2.B-8ehRO1.js.gz +0 -0
  74. package/build/client/_app/immutable/nodes/3.B_FXzjZB.js +1 -0
  75. package/build/client/_app/immutable/nodes/3.B_FXzjZB.js.br +0 -0
  76. package/build/client/_app/immutable/nodes/3.B_FXzjZB.js.gz +0 -0
  77. package/build/client/_app/immutable/nodes/4.Jf5TbLTF.js +19 -0
  78. package/build/client/_app/immutable/nodes/4.Jf5TbLTF.js.br +0 -0
  79. package/build/client/_app/immutable/nodes/4.Jf5TbLTF.js.gz +0 -0
  80. package/build/client/_app/immutable/nodes/5.BXOM2W9q.js +4 -0
  81. package/build/client/_app/immutable/nodes/5.BXOM2W9q.js.br +0 -0
  82. package/build/client/_app/immutable/nodes/5.BXOM2W9q.js.gz +0 -0
  83. package/build/client/_app/immutable/nodes/6.fVxTNYsE.js +1 -0
  84. package/build/client/_app/immutable/nodes/6.fVxTNYsE.js.br +0 -0
  85. package/build/client/_app/immutable/nodes/6.fVxTNYsE.js.gz +0 -0
  86. package/build/client/_app/immutable/nodes/7.E4FAL2cc.js +15 -0
  87. package/build/client/_app/immutable/nodes/7.E4FAL2cc.js.br +0 -0
  88. package/build/client/_app/immutable/nodes/7.E4FAL2cc.js.gz +0 -0
  89. package/build/client/_app/immutable/nodes/8.By5-pJpM.js +1 -0
  90. package/build/client/_app/immutable/nodes/8.By5-pJpM.js.br +0 -0
  91. package/build/client/_app/immutable/nodes/8.By5-pJpM.js.gz +0 -0
  92. package/build/client/_app/immutable/nodes/9.HfUnLyFj.js +2 -0
  93. package/build/client/_app/immutable/nodes/9.HfUnLyFj.js.br +0 -0
  94. package/build/client/_app/immutable/nodes/9.HfUnLyFj.js.gz +0 -0
  95. package/build/client/_app/version.json +1 -1
  96. package/build/client/_app/version.json.br +0 -0
  97. package/build/client/_app/version.json.gz +0 -0
  98. package/build/client/setup/wizard.css +134 -389
  99. package/build/client/setup/wizard.css.br +0 -0
  100. package/build/client/setup/wizard.css.gz +0 -0
  101. package/build/server/chunks/0-BK7D9z9V.js +9 -0
  102. package/build/server/chunks/{0-BV-dSgKl.js.map → 0-BK7D9z9V.js.map} +1 -1
  103. package/build/server/chunks/1-DiEYpQIN.js +9 -0
  104. package/build/server/chunks/{1-BaC08_Sf.js.map → 1-DiEYpQIN.js.map} +1 -1
  105. package/build/server/chunks/2-DQWoUtW1.js +9 -0
  106. package/build/server/chunks/{2-C2y4ydWU.js.map → 2-DQWoUtW1.js.map} +1 -1
  107. package/build/server/chunks/{3-BgeGdVvT.js → 3-COIGgysA.js} +2 -2
  108. package/build/server/chunks/{3-BgeGdVvT.js.map → 3-COIGgysA.js.map} +1 -1
  109. package/build/server/chunks/4-pHqpXb3H.js +9 -0
  110. package/build/server/chunks/4-pHqpXb3H.js.map +1 -0
  111. package/build/server/chunks/5-D48D_0uX.js +9 -0
  112. package/build/server/chunks/5-D48D_0uX.js.map +1 -0
  113. package/build/server/chunks/6-CQ5NktVc.js +9 -0
  114. package/build/server/chunks/6-CQ5NktVc.js.map +1 -0
  115. package/build/server/chunks/7-Cbs2uIrU.js +9 -0
  116. package/build/server/chunks/7-Cbs2uIrU.js.map +1 -0
  117. package/build/server/chunks/8-Cp8CGb0N.js +35 -0
  118. package/build/server/chunks/8-Cp8CGb0N.js.map +1 -0
  119. package/build/server/chunks/9-BKnkc58p.js +9 -0
  120. package/build/server/chunks/9-BKnkc58p.js.map +1 -0
  121. package/build/server/chunks/Navbar-PVEly3CX.js +1003 -0
  122. package/build/server/chunks/Navbar-PVEly3CX.js.map +1 -0
  123. package/build/server/chunks/Spinner-Bk6e83RX.js +12 -0
  124. package/build/server/chunks/Spinner-Bk6e83RX.js.map +1 -0
  125. package/build/server/chunks/VoiceProfileSelector-CbOV_v5A.js +306 -0
  126. package/build/server/chunks/VoiceProfileSelector-CbOV_v5A.js.map +1 -0
  127. package/build/server/chunks/{_layout.svelte-B93aaRP_.js → _layout.svelte-BV7A7zff.js} +2 -2
  128. package/build/server/chunks/{_layout.svelte-B93aaRP_.js.map → _layout.svelte-BV7A7zff.js.map} +1 -1
  129. package/build/server/chunks/{_layout.svelte-CcloHuB_.js → _layout.svelte-COQuY-BN.js} +8 -8
  130. package/build/server/chunks/_layout.svelte-COQuY-BN.js.map +1 -0
  131. package/build/server/chunks/{_page.svelte-24A1xNrb.js → _page.svelte-B1SlSu-R.js} +78 -81
  132. package/build/server/chunks/_page.svelte-B1SlSu-R.js.map +1 -0
  133. package/build/server/chunks/_page.svelte-BY2APmQv.js +27 -0
  134. package/build/server/chunks/_page.svelte-BY2APmQv.js.map +1 -0
  135. package/build/server/chunks/{_page.svelte-D0gMlmzQ.js → _page.svelte-CDCe-J7o.js} +9 -15
  136. package/build/server/chunks/_page.svelte-CDCe-J7o.js.map +1 -0
  137. package/build/server/chunks/_page.svelte-CF6Wb9iE.js +2590 -0
  138. package/build/server/chunks/_page.svelte-CF6Wb9iE.js.map +1 -0
  139. package/build/server/chunks/_page.svelte-DadWXVrr.js +70 -0
  140. package/build/server/chunks/_page.svelte-DadWXVrr.js.map +1 -0
  141. package/build/server/chunks/_page.svelte-DtrBTed5.js +37 -0
  142. package/build/server/chunks/_page.svelte-DtrBTed5.js.map +1 -0
  143. package/build/server/chunks/{_server.ts-UF_kxNaU.js → _server.ts-31Wp0zcV.js} +8 -8
  144. package/build/server/chunks/{_server.ts-UF_kxNaU.js.map → _server.ts-31Wp0zcV.js.map} +1 -1
  145. package/build/server/chunks/{_server.ts-Bdry_CdG.js → _server.ts-8c17N53a.js} +8 -8
  146. package/build/server/chunks/{_server.ts-Bdry_CdG.js.map → _server.ts-8c17N53a.js.map} +1 -1
  147. package/build/server/chunks/{_server.ts-rXhjnBtw.js → _server.ts-B0CeVe_2.js} +8 -8
  148. package/build/server/chunks/{_server.ts-rXhjnBtw.js.map → _server.ts-B0CeVe_2.js.map} +1 -1
  149. package/build/server/chunks/{_server.ts-D_dO8hvJ.js → _server.ts-B2vBBz6Q.js} +8 -8
  150. package/build/server/chunks/{_server.ts-D_dO8hvJ.js.map → _server.ts-B2vBBz6Q.js.map} +1 -1
  151. package/build/server/chunks/{_server.ts-C1DcK_rP.js → _server.ts-B3uweiKb.js} +10 -10
  152. package/build/server/chunks/{_server.ts-C1DcK_rP.js.map → _server.ts-B3uweiKb.js.map} +1 -1
  153. package/build/server/chunks/_server.ts-B8pCRdwo.js +95 -0
  154. package/build/server/chunks/_server.ts-B8pCRdwo.js.map +1 -0
  155. package/build/server/chunks/{_server.ts-CLBKpKeH.js → _server.ts-BBsksu6b.js} +10 -10
  156. package/build/server/chunks/{_server.ts-CLBKpKeH.js.map → _server.ts-BBsksu6b.js.map} +1 -1
  157. package/build/server/chunks/{_server.ts-DMKIHwKi.js → _server.ts-BDBz43vs.js} +8 -8
  158. package/build/server/chunks/{_server.ts-DMKIHwKi.js.map → _server.ts-BDBz43vs.js.map} +1 -1
  159. package/build/server/chunks/{_server.ts-Da9y6lio.js → _server.ts-BLePivrN.js} +10 -10
  160. package/build/server/chunks/{_server.ts-Da9y6lio.js.map → _server.ts-BLePivrN.js.map} +1 -1
  161. package/build/server/chunks/{_server.ts-DmyOp1yq.js → _server.ts-BMHPNIdu.js} +8 -8
  162. package/build/server/chunks/{_server.ts-DmyOp1yq.js.map → _server.ts-BMHPNIdu.js.map} +1 -1
  163. package/build/server/chunks/{_server.ts-DdlF1vjy.js → _server.ts-BN3w-iUI.js} +8 -8
  164. package/build/server/chunks/{_server.ts-DdlF1vjy.js.map → _server.ts-BN3w-iUI.js.map} +1 -1
  165. package/build/server/chunks/{_server.ts-xO4nhxDx.js → _server.ts-BYUfQeRr.js} +10 -9
  166. package/build/server/chunks/_server.ts-BYUfQeRr.js.map +1 -0
  167. package/build/server/chunks/{_server.ts-BclZ3UFT.js → _server.ts-BdEX6joM.js} +8 -8
  168. package/build/server/chunks/{_server.ts-BclZ3UFT.js.map → _server.ts-BdEX6joM.js.map} +1 -1
  169. package/build/server/chunks/{_server.ts-CAKTZL2t.js → _server.ts-Bde_Pi6A.js} +9 -9
  170. package/build/server/chunks/{_server.ts-CAKTZL2t.js.map → _server.ts-Bde_Pi6A.js.map} +1 -1
  171. package/build/server/chunks/{_server.ts-otJRaSSq.js → _server.ts-Bh_r4-Vs.js} +9 -9
  172. package/build/server/chunks/{_server.ts-otJRaSSq.js.map → _server.ts-Bh_r4-Vs.js.map} +1 -1
  173. package/build/server/chunks/{_server.ts-De7IOs2z.js → _server.ts-Big7vXEo.js} +7 -7
  174. package/build/server/chunks/{_server.ts-De7IOs2z.js.map → _server.ts-Big7vXEo.js.map} +1 -1
  175. package/build/server/chunks/{_server.ts-CfLbEufw.js → _server.ts-Bl-41j0D.js} +8 -8
  176. package/build/server/chunks/{_server.ts-CfLbEufw.js.map → _server.ts-Bl-41j0D.js.map} +1 -1
  177. package/build/server/chunks/{_server.ts-C_fNO73y.js → _server.ts-BnWc1lOg.js} +8 -8
  178. package/build/server/chunks/{_server.ts-C_fNO73y.js.map → _server.ts-BnWc1lOg.js.map} +1 -1
  179. package/build/server/chunks/{_server.ts-Bg8OpPuA.js → _server.ts-BoQ46bw9.js} +9 -9
  180. package/build/server/chunks/{_server.ts-Bg8OpPuA.js.map → _server.ts-BoQ46bw9.js.map} +1 -1
  181. package/build/server/chunks/{_server.ts-D2wlMMJl.js → _server.ts-BwgtyrgF.js} +11 -11
  182. package/build/server/chunks/_server.ts-BwgtyrgF.js.map +1 -0
  183. package/build/server/chunks/{_server.ts-BjrO7pvn.js → _server.ts-By47s5kb.js} +9 -9
  184. package/build/server/chunks/{_server.ts-BjrO7pvn.js.map → _server.ts-By47s5kb.js.map} +1 -1
  185. package/build/server/chunks/{_server.ts-CtZuKotA.js → _server.ts-C-9V_-cK.js} +31 -8
  186. package/build/server/chunks/_server.ts-C-9V_-cK.js.map +1 -0
  187. package/build/server/chunks/{_server.ts-B8JtVHLy.js → _server.ts-C-xID91b.js} +8 -8
  188. package/build/server/chunks/{_server.ts-B8JtVHLy.js.map → _server.ts-C-xID91b.js.map} +1 -1
  189. package/build/server/chunks/{_server.ts-wZ88P3nX.js → _server.ts-C1GoICVF.js} +10 -10
  190. package/build/server/chunks/{_server.ts-wZ88P3nX.js.map → _server.ts-C1GoICVF.js.map} +1 -1
  191. package/build/server/chunks/{_server.ts-D7L27_xI.js → _server.ts-C25PdnDT.js} +5 -5
  192. package/build/server/chunks/{_server.ts-D7L27_xI.js.map → _server.ts-C25PdnDT.js.map} +1 -1
  193. package/build/server/chunks/{_server.ts-Dq82kHyx.js → _server.ts-CCwIt_KL.js} +8 -8
  194. package/build/server/chunks/{_server.ts-Dq82kHyx.js.map → _server.ts-CCwIt_KL.js.map} +1 -1
  195. package/build/server/chunks/_server.ts-CKNmPEUu.js +101 -0
  196. package/build/server/chunks/_server.ts-CKNmPEUu.js.map +1 -0
  197. package/build/server/chunks/{_server.ts-DVekHgMN.js → _server.ts-COMRHDN4.js} +11 -10
  198. package/build/server/chunks/_server.ts-COMRHDN4.js.map +1 -0
  199. package/build/server/chunks/{_server.ts-CqHMhINi.js → _server.ts-CU1go_Ga.js} +8 -8
  200. package/build/server/chunks/{_server.ts-CqHMhINi.js.map → _server.ts-CU1go_Ga.js.map} +1 -1
  201. package/build/server/chunks/{_server.ts-BaxRyhZ8.js → _server.ts-CbZzxQR_.js} +8 -8
  202. package/build/server/chunks/{_server.ts-BaxRyhZ8.js.map → _server.ts-CbZzxQR_.js.map} +1 -1
  203. package/build/server/chunks/{_server.ts-DclRsTpW.js → _server.ts-Cm9oppJJ.js} +8 -8
  204. package/build/server/chunks/{_server.ts-DclRsTpW.js.map → _server.ts-Cm9oppJJ.js.map} +1 -1
  205. package/build/server/chunks/{_server.ts-BwHojI4i.js → _server.ts-CmMcnrpu.js} +6 -6
  206. package/build/server/chunks/{_server.ts-BwHojI4i.js.map → _server.ts-CmMcnrpu.js.map} +1 -1
  207. package/build/server/chunks/{_server.ts-CrU9r7-F.js → _server.ts-CqkM3R41.js} +8 -8
  208. package/build/server/chunks/{_server.ts-CrU9r7-F.js.map → _server.ts-CqkM3R41.js.map} +1 -1
  209. package/build/server/chunks/{_server.ts-B6FENZO7.js → _server.ts-Cszg5Fas.js} +8 -8
  210. package/build/server/chunks/{_server.ts-B6FENZO7.js.map → _server.ts-Cszg5Fas.js.map} +1 -1
  211. package/build/server/chunks/{_server.ts-Bd_I8GjG.js → _server.ts-CxJxINit.js} +8 -8
  212. package/build/server/chunks/{_server.ts-Bd_I8GjG.js.map → _server.ts-CxJxINit.js.map} +1 -1
  213. package/build/server/chunks/{_server.ts-DnKTcT9x.js → _server.ts-D-9t8-nD.js} +7 -7
  214. package/build/server/chunks/{_server.ts-DnKTcT9x.js.map → _server.ts-D-9t8-nD.js.map} +1 -1
  215. package/build/server/chunks/{_server.ts-EZS5Qan4.js → _server.ts-D1bJgR3K.js} +8 -8
  216. package/build/server/chunks/{_server.ts-EZS5Qan4.js.map → _server.ts-D1bJgR3K.js.map} +1 -1
  217. package/build/server/chunks/{_server.ts-BYdXdnje.js → _server.ts-D2DzSUG5.js} +8 -8
  218. package/build/server/chunks/{_server.ts-BYdXdnje.js.map → _server.ts-D2DzSUG5.js.map} +1 -1
  219. package/build/server/chunks/{_server.ts-eK_9jY-9.js → _server.ts-D2HqJdkr.js} +8 -8
  220. package/build/server/chunks/{_server.ts-eK_9jY-9.js.map → _server.ts-D2HqJdkr.js.map} +1 -1
  221. package/build/server/chunks/{_server.ts-CSgPjCYv.js → _server.ts-D2QOo_fa.js} +8 -8
  222. package/build/server/chunks/{_server.ts-CSgPjCYv.js.map → _server.ts-D2QOo_fa.js.map} +1 -1
  223. package/build/server/chunks/{_server.ts-dhkEt2p6.js → _server.ts-D4Vu3KCM.js} +8 -8
  224. package/build/server/chunks/{_server.ts-dhkEt2p6.js.map → _server.ts-D4Vu3KCM.js.map} +1 -1
  225. package/build/server/chunks/{_server.ts-CG409cWi.js → _server.ts-D68iKpcP.js} +8 -8
  226. package/build/server/chunks/{_server.ts-CG409cWi.js.map → _server.ts-D68iKpcP.js.map} +1 -1
  227. package/build/server/chunks/{_server.ts-DTyZan5L.js → _server.ts-D7vymw_o.js} +8 -8
  228. package/build/server/chunks/{_server.ts-DTyZan5L.js.map → _server.ts-D7vymw_o.js.map} +1 -1
  229. package/build/server/chunks/{_server.ts-B3tjtq2m.js → _server.ts-DL9CCFsk.js} +8 -8
  230. package/build/server/chunks/{_server.ts-B3tjtq2m.js.map → _server.ts-DL9CCFsk.js.map} +1 -1
  231. package/build/server/chunks/{_server.ts-Bq2S1OMq.js → _server.ts-DSBUjxDK.js} +8 -8
  232. package/build/server/chunks/{_server.ts-Bq2S1OMq.js.map → _server.ts-DSBUjxDK.js.map} +1 -1
  233. package/build/server/chunks/{_server.ts-fsEmx9mw.js → _server.ts-DSlYMYYk.js} +8 -8
  234. package/build/server/chunks/{_server.ts-fsEmx9mw.js.map → _server.ts-DSlYMYYk.js.map} +1 -1
  235. package/build/server/chunks/{_server.ts-DzWtvjem.js → _server.ts-DTJuIcDg.js} +8 -8
  236. package/build/server/chunks/{_server.ts-DzWtvjem.js.map → _server.ts-DTJuIcDg.js.map} +1 -1
  237. package/build/server/chunks/{_server.ts-C1y3X6iK.js → _server.ts-DUmy4wsR.js} +9 -9
  238. package/build/server/chunks/{_server.ts-C1y3X6iK.js.map → _server.ts-DUmy4wsR.js.map} +1 -1
  239. package/build/server/chunks/{_server.ts-5CjguYY3.js → _server.ts-DfFo95a7.js} +8 -8
  240. package/build/server/chunks/{_server.ts-5CjguYY3.js.map → _server.ts-DfFo95a7.js.map} +1 -1
  241. package/build/server/chunks/{_server.ts-DqVJ1NqI.js → _server.ts-Dfx9HNlr.js} +10 -11
  242. package/build/server/chunks/_server.ts-Dfx9HNlr.js.map +1 -0
  243. package/build/server/chunks/{_server.ts-yimewsjO.js → _server.ts-DgQDDDEz.js} +8 -8
  244. package/build/server/chunks/{_server.ts-yimewsjO.js.map → _server.ts-DgQDDDEz.js.map} +1 -1
  245. package/build/server/chunks/{_server.ts-l4CK3c4j.js → _server.ts-DgZ2d-BT.js} +8 -8
  246. package/build/server/chunks/{_server.ts-l4CK3c4j.js.map → _server.ts-DgZ2d-BT.js.map} +1 -1
  247. package/build/server/chunks/{_server.ts-CQqURrHY.js → _server.ts-DijnYBzX.js} +8 -8
  248. package/build/server/chunks/{_server.ts-CQqURrHY.js.map → _server.ts-DijnYBzX.js.map} +1 -1
  249. package/build/server/chunks/{_server.ts-CDtOOD3Q.js → _server.ts-DlzI77bJ.js} +8 -8
  250. package/build/server/chunks/{_server.ts-CDtOOD3Q.js.map → _server.ts-DlzI77bJ.js.map} +1 -1
  251. package/build/server/chunks/{_server.ts-Bl0YOh50.js → _server.ts-DnBzi352.js} +8 -8
  252. package/build/server/chunks/{_server.ts-Bl0YOh50.js.map → _server.ts-DnBzi352.js.map} +1 -1
  253. package/build/server/chunks/{_server.ts-CLiYOnOv.js → _server.ts-Dnh6b7-J.js} +8 -8
  254. package/build/server/chunks/{_server.ts-CLiYOnOv.js.map → _server.ts-Dnh6b7-J.js.map} +1 -1
  255. package/build/server/chunks/{_server.ts-B4N5gO26.js → _server.ts-Dvh0Hoso.js} +8 -8
  256. package/build/server/chunks/{_server.ts-B4N5gO26.js.map → _server.ts-Dvh0Hoso.js.map} +1 -1
  257. package/build/server/chunks/{_server.ts-CJL8da0o.js → _server.ts-DwB3oRpy.js} +8 -8
  258. package/build/server/chunks/{_server.ts-CJL8da0o.js.map → _server.ts-DwB3oRpy.js.map} +1 -1
  259. package/build/server/chunks/{_server.ts-BkoJOqrr.js → _server.ts-DxGR3bmq.js} +7 -7
  260. package/build/server/chunks/{_server.ts-BkoJOqrr.js.map → _server.ts-DxGR3bmq.js.map} +1 -1
  261. package/build/server/chunks/{_server.ts-C-lN2ZUO.js → _server.ts-DzbC2VQR.js} +6 -6
  262. package/build/server/chunks/{_server.ts-C-lN2ZUO.js.map → _server.ts-DzbC2VQR.js.map} +1 -1
  263. package/build/server/chunks/{_server.ts-P4pmd9NX.js → _server.ts-GxTTkaRQ.js} +8 -8
  264. package/build/server/chunks/{_server.ts-P4pmd9NX.js.map → _server.ts-GxTTkaRQ.js.map} +1 -1
  265. package/build/server/chunks/{_server.ts-I0iKpsyr.js → _server.ts-K4R4Q6b_.js} +9 -9
  266. package/build/server/chunks/{_server.ts-I0iKpsyr.js.map → _server.ts-K4R4Q6b_.js.map} +1 -1
  267. package/build/server/chunks/{_server.ts-BR9OrjcE.js → _server.ts-MNOR6YaX.js} +8 -8
  268. package/build/server/chunks/{_server.ts-BR9OrjcE.js.map → _server.ts-MNOR6YaX.js.map} +1 -1
  269. package/build/server/chunks/{_server.ts-D-sjM5kn.js → _server.ts-MtHT_432.js} +8 -8
  270. package/build/server/chunks/{_server.ts-D-sjM5kn.js.map → _server.ts-MtHT_432.js.map} +1 -1
  271. package/build/server/chunks/{_server.ts-DbO3cg55.js → _server.ts-Om-m3OOe.js} +8 -8
  272. package/build/server/chunks/{_server.ts-DbO3cg55.js.map → _server.ts-Om-m3OOe.js.map} +1 -1
  273. package/build/server/chunks/{_server.ts-DWN6TJv0.js → _server.ts-URUUrX13.js} +7 -15
  274. package/build/server/chunks/_server.ts-URUUrX13.js.map +1 -0
  275. package/build/server/chunks/{_server.ts-C5s-OXCm.js → _server.ts-__ul4l8J.js} +8 -8
  276. package/build/server/chunks/_server.ts-__ul4l8J.js.map +1 -0
  277. package/build/server/chunks/{_server.ts-BmZlEy27.js → _server.ts-oqC79KoF.js} +8 -8
  278. package/build/server/chunks/{_server.ts-BmZlEy27.js.map → _server.ts-oqC79KoF.js.map} +1 -1
  279. package/build/server/chunks/{_server.ts-b3mVtmkb.js → _server.ts-w34_y9d_.js} +8 -8
  280. package/build/server/chunks/{_server.ts-b3mVtmkb.js.map → _server.ts-w34_y9d_.js.map} +1 -1
  281. package/build/server/chunks/{_server.ts-DWLkr6Qg.js → _server.ts-yvQ-qjyI.js} +8 -8
  282. package/build/server/chunks/{_server.ts-DWLkr6Qg.js.map → _server.ts-yvQ-qjyI.js.map} +1 -1
  283. package/build/server/chunks/{_server.ts-CcTt5aAs.js → _server.ts-zHkS9Tnj.js} +6 -6
  284. package/build/server/chunks/{_server.ts-CcTt5aAs.js.map → _server.ts-zHkS9Tnj.js.map} +1 -1
  285. package/build/server/chunks/{addon-helpers-BpnH-GEc.js → addon-helpers-CZyPj8WN.js} +3 -3
  286. package/build/server/chunks/{addon-helpers-BpnH-GEc.js.map → addon-helpers-CZyPj8WN.js.map} +1 -1
  287. package/build/server/chunks/{state-D0tEXcn4.js → client-CiyZ88m2.js} +29 -56
  288. package/build/server/chunks/client-CiyZ88m2.js.map +1 -0
  289. package/build/server/chunks/{config-0LFudKuE.js → config-BKCgm_AV.js} +2 -2
  290. package/build/server/chunks/{config-0LFudKuE.js.map → config-BKCgm_AV.js.map} +1 -1
  291. package/build/server/chunks/{dev-DjANv7AF.js → dev-B6xUe35c.js} +23 -2
  292. package/build/server/chunks/dev-B6xUe35c.js.map +1 -0
  293. package/build/server/chunks/{docker-B23w4kr6.js → docker-8AuF7CwZ.js} +2 -2
  294. package/build/server/chunks/{docker-B23w4kr6.js.map → docker-8AuF7CwZ.js.map} +1 -1
  295. package/build/server/chunks/{endpoints-Drq_J-2Z.js → endpoints-DaDle7pk.js} +2 -2
  296. package/build/server/chunks/{endpoints-Drq_J-2Z.js.map → endpoints-DaDle7pk.js.map} +1 -1
  297. package/build/server/chunks/environment-Cp1uhq6U.js +36 -0
  298. package/build/server/chunks/environment-Cp1uhq6U.js.map +1 -0
  299. package/build/server/chunks/{error.svelte-B_yfxYYS.js → error.svelte-m6KMTHAJ.js} +6 -5
  300. package/build/server/chunks/{error.svelte-B_yfxYYS.js.map → error.svelte-m6KMTHAJ.js.map} +1 -1
  301. package/build/server/chunks/{helpers-CX6xRBmt.js → helpers-BACi22nU.js} +44 -8
  302. package/build/server/chunks/helpers-BACi22nU.js.map +1 -0
  303. package/build/server/chunks/{hooks.server-BEVMYNQ4.js → hooks.server-BdyM6mgJ.js} +23 -8
  304. package/build/server/chunks/hooks.server-BdyM6mgJ.js.map +1 -0
  305. package/build/server/chunks/{http-VqOG8hyj.js → http-B8eIxVUs.js} +2 -2
  306. package/build/server/chunks/{http-VqOG8hyj.js.map → http-B8eIxVUs.js.map} +1 -1
  307. package/build/server/chunks/{internal-DRqRyEjV.js → internal-BxEwVWRz.js} +4 -4
  308. package/build/server/chunks/internal-BxEwVWRz.js.map +1 -0
  309. package/build/server/chunks/session-cookie-CFbH9CoY.js +74 -0
  310. package/build/server/chunks/session-cookie-CFbH9CoY.js.map +1 -0
  311. package/build/server/chunks/{setup-deploy-B4oSSFYi.js → setup-deploy-Ck_d_qcE.js} +2 -2
  312. package/build/server/chunks/{setup-deploy-B4oSSFYi.js.map → setup-deploy-Ck_d_qcE.js.map} +1 -1
  313. package/build/server/chunks/{src-BkvQ5Uuf.js → src-CQbie-rx.js} +4012 -3472
  314. package/build/server/chunks/src-CQbie-rx.js.map +1 -0
  315. package/build/server/chunks/state-oN2SUx4y.js +62 -0
  316. package/build/server/chunks/state-oN2SUx4y.js.map +1 -0
  317. package/build/server/chunks/{theme-state.svelte-PtPMmKGN.js → theme-state.svelte-CE13yM0n.js} +18 -27
  318. package/build/server/chunks/theme-state.svelte-CE13yM0n.js.map +1 -0
  319. package/build/server/index.js +3 -33
  320. package/build/server/index.js.map +1 -1
  321. package/build/server/manifest.js +102 -80
  322. package/build/server/manifest.js.map +1 -1
  323. package/package.json +8 -6
  324. package/build/client/_app/immutable/assets/0.DS8L5ANe.css +0 -1
  325. package/build/client/_app/immutable/assets/0.DS8L5ANe.css.br +0 -0
  326. package/build/client/_app/immutable/assets/0.DS8L5ANe.css.gz +0 -0
  327. package/build/client/_app/immutable/assets/4.Dj7oigNN.css +0 -1
  328. package/build/client/_app/immutable/assets/4.Dj7oigNN.css.br +0 -0
  329. package/build/client/_app/immutable/assets/4.Dj7oigNN.css.gz +0 -0
  330. package/build/client/_app/immutable/assets/6.COn4HE1H.css +0 -1
  331. package/build/client/_app/immutable/assets/6.COn4HE1H.css.br +0 -0
  332. package/build/client/_app/immutable/assets/6.COn4HE1H.css.gz +0 -0
  333. package/build/client/_app/immutable/assets/7.gblpY08p.css +0 -1
  334. package/build/client/_app/immutable/assets/7.gblpY08p.css.br +0 -0
  335. package/build/client/_app/immutable/assets/7.gblpY08p.css.gz +0 -0
  336. package/build/client/_app/immutable/assets/8.DjrHy5wu.css +0 -1
  337. package/build/client/_app/immutable/assets/8.DjrHy5wu.css.br +0 -0
  338. package/build/client/_app/immutable/assets/8.DjrHy5wu.css.gz +0 -0
  339. package/build/client/_app/immutable/assets/AuthGate.BTdwrgKg.css +0 -1
  340. package/build/client/_app/immutable/assets/AuthGate.BTdwrgKg.css.br +0 -0
  341. package/build/client/_app/immutable/assets/AuthGate.BTdwrgKg.css.gz +0 -0
  342. package/build/client/_app/immutable/assets/VoiceProfileSelector.Dp7tWdKe.css +0 -1
  343. package/build/client/_app/immutable/assets/VoiceProfileSelector.Dp7tWdKe.css.br +0 -0
  344. package/build/client/_app/immutable/assets/VoiceProfileSelector.Dp7tWdKe.css.gz +0 -0
  345. package/build/client/_app/immutable/chunks/B7bBnuEe.js +0 -1
  346. package/build/client/_app/immutable/chunks/B7bBnuEe.js.br +0 -0
  347. package/build/client/_app/immutable/chunks/B7bBnuEe.js.gz +0 -0
  348. package/build/client/_app/immutable/chunks/BW39ik5x.js +0 -1
  349. package/build/client/_app/immutable/chunks/BW39ik5x.js.br +0 -0
  350. package/build/client/_app/immutable/chunks/BW39ik5x.js.gz +0 -0
  351. package/build/client/_app/immutable/chunks/BuFlayix.js.br +0 -0
  352. package/build/client/_app/immutable/chunks/BuFlayix.js.gz +0 -0
  353. package/build/client/_app/immutable/chunks/BwTF6U35.js +0 -3
  354. package/build/client/_app/immutable/chunks/BwTF6U35.js.br +0 -0
  355. package/build/client/_app/immutable/chunks/BwTF6U35.js.gz +0 -0
  356. package/build/client/_app/immutable/chunks/Cb_i8bV9.js +0 -1
  357. package/build/client/_app/immutable/chunks/Cb_i8bV9.js.br +0 -0
  358. package/build/client/_app/immutable/chunks/Cb_i8bV9.js.gz +0 -0
  359. package/build/client/_app/immutable/chunks/DXseS2Vw.js +0 -1
  360. package/build/client/_app/immutable/chunks/DXseS2Vw.js.br +0 -0
  361. package/build/client/_app/immutable/chunks/DXseS2Vw.js.gz +0 -0
  362. package/build/client/_app/immutable/chunks/os2NZ37U.js +0 -1
  363. package/build/client/_app/immutable/chunks/os2NZ37U.js.br +0 -1
  364. package/build/client/_app/immutable/chunks/os2NZ37U.js.gz +0 -0
  365. package/build/client/_app/immutable/chunks/yIwPo_wo.js +0 -5
  366. package/build/client/_app/immutable/chunks/yIwPo_wo.js.br +0 -0
  367. package/build/client/_app/immutable/chunks/yIwPo_wo.js.gz +0 -0
  368. package/build/client/_app/immutable/entry/app.v-Fuqj7D.js +0 -2
  369. package/build/client/_app/immutable/entry/app.v-Fuqj7D.js.br +0 -0
  370. package/build/client/_app/immutable/entry/app.v-Fuqj7D.js.gz +0 -0
  371. package/build/client/_app/immutable/entry/start.h2IOTLqd.js +0 -1
  372. package/build/client/_app/immutable/entry/start.h2IOTLqd.js.br +0 -0
  373. package/build/client/_app/immutable/entry/start.h2IOTLqd.js.gz +0 -0
  374. package/build/client/_app/immutable/nodes/0.BHFOJkcF.js +0 -1
  375. package/build/client/_app/immutable/nodes/0.BHFOJkcF.js.br +0 -0
  376. package/build/client/_app/immutable/nodes/0.BHFOJkcF.js.gz +0 -0
  377. package/build/client/_app/immutable/nodes/1.DZaTVyfp.js +0 -1
  378. package/build/client/_app/immutable/nodes/1.DZaTVyfp.js.br +0 -0
  379. package/build/client/_app/immutable/nodes/1.DZaTVyfp.js.gz +0 -0
  380. package/build/client/_app/immutable/nodes/2.ojh8oE7F.js +0 -1
  381. package/build/client/_app/immutable/nodes/2.ojh8oE7F.js.br +0 -0
  382. package/build/client/_app/immutable/nodes/2.ojh8oE7F.js.gz +0 -0
  383. package/build/client/_app/immutable/nodes/3.DeAC3yVJ.js +0 -1
  384. package/build/client/_app/immutable/nodes/3.DeAC3yVJ.js.br +0 -0
  385. package/build/client/_app/immutable/nodes/3.DeAC3yVJ.js.gz +0 -0
  386. package/build/client/_app/immutable/nodes/4.DXR2B9JX.js +0 -19
  387. package/build/client/_app/immutable/nodes/4.DXR2B9JX.js.br +0 -0
  388. package/build/client/_app/immutable/nodes/4.DXR2B9JX.js.gz +0 -0
  389. package/build/client/_app/immutable/nodes/5.DOoWjdno.js +0 -4
  390. package/build/client/_app/immutable/nodes/5.DOoWjdno.js.br +0 -0
  391. package/build/client/_app/immutable/nodes/5.DOoWjdno.js.gz +0 -0
  392. package/build/client/_app/immutable/nodes/6.Rdn2byIl.js +0 -1
  393. package/build/client/_app/immutable/nodes/6.Rdn2byIl.js.br +0 -0
  394. package/build/client/_app/immutable/nodes/6.Rdn2byIl.js.gz +0 -0
  395. package/build/client/_app/immutable/nodes/7.BPYbekMv.js +0 -15
  396. package/build/client/_app/immutable/nodes/7.BPYbekMv.js.br +0 -0
  397. package/build/client/_app/immutable/nodes/7.BPYbekMv.js.gz +0 -0
  398. package/build/client/_app/immutable/nodes/8.DNsQWKjK.js +0 -2
  399. package/build/client/_app/immutable/nodes/8.DNsQWKjK.js.br +0 -0
  400. package/build/client/_app/immutable/nodes/8.DNsQWKjK.js.gz +0 -0
  401. package/build/server/chunks/0-BV-dSgKl.js +0 -9
  402. package/build/server/chunks/1-BaC08_Sf.js +0 -9
  403. package/build/server/chunks/2-C2y4ydWU.js +0 -9
  404. package/build/server/chunks/4-aThWANXD.js +0 -9
  405. package/build/server/chunks/4-aThWANXD.js.map +0 -1
  406. package/build/server/chunks/5-DLhgTDFN.js +0 -9
  407. package/build/server/chunks/5-DLhgTDFN.js.map +0 -1
  408. package/build/server/chunks/6-DwkLbgop.js +0 -9
  409. package/build/server/chunks/6-DwkLbgop.js.map +0 -1
  410. package/build/server/chunks/7-D5gXKRbq.js +0 -9
  411. package/build/server/chunks/7-D5gXKRbq.js.map +0 -1
  412. package/build/server/chunks/8-b9MOJ1zI.js +0 -9
  413. package/build/server/chunks/8-b9MOJ1zI.js.map +0 -1
  414. package/build/server/chunks/AuthGate-DL3Htqtl.js +0 -773
  415. package/build/server/chunks/AuthGate-DL3Htqtl.js.map +0 -1
  416. package/build/server/chunks/_layout.svelte-CcloHuB_.js.map +0 -1
  417. package/build/server/chunks/_page.svelte-24A1xNrb.js.map +0 -1
  418. package/build/server/chunks/_page.svelte-BNcatsUe.js +0 -414
  419. package/build/server/chunks/_page.svelte-BNcatsUe.js.map +0 -1
  420. package/build/server/chunks/_page.svelte-CQXBb6Vv.js +0 -106
  421. package/build/server/chunks/_page.svelte-CQXBb6Vv.js.map +0 -1
  422. package/build/server/chunks/_page.svelte-D0gMlmzQ.js.map +0 -1
  423. package/build/server/chunks/_page.svelte-DJuM-_YW.js +0 -66
  424. package/build/server/chunks/_page.svelte-DJuM-_YW.js.map +0 -1
  425. package/build/server/chunks/_server.ts-C5s-OXCm.js.map +0 -1
  426. package/build/server/chunks/_server.ts-CtZuKotA.js.map +0 -1
  427. package/build/server/chunks/_server.ts-D2wlMMJl.js.map +0 -1
  428. package/build/server/chunks/_server.ts-DVekHgMN.js.map +0 -1
  429. package/build/server/chunks/_server.ts-DWN6TJv0.js.map +0 -1
  430. package/build/server/chunks/_server.ts-DqVJ1NqI.js.map +0 -1
  431. package/build/server/chunks/_server.ts-xO4nhxDx.js.map +0 -1
  432. package/build/server/chunks/dev-DjANv7AF.js.map +0 -1
  433. package/build/server/chunks/helpers-CX6xRBmt.js.map +0 -1
  434. package/build/server/chunks/hooks.server-BEVMYNQ4.js.map +0 -1
  435. package/build/server/chunks/internal-DRqRyEjV.js.map +0 -1
  436. package/build/server/chunks/src-BkvQ5Uuf.js.map +0 -1
  437. package/build/server/chunks/state-D0tEXcn4.js.map +0 -1
  438. package/build/server/chunks/theme-state.svelte-PtPMmKGN.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BjrO7pvn.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/addons/_name_/_server.ts.js"],"sourcesContent":["import { Nt as createLogger, at as getRegistryAddonConfig, ot as listAvailableAddonIds, st as listEnabledAddonIds } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as performAddonToggle } from \"../../../../../chunks/addon-helpers.js\";\n//#region src/routes/admin/addons/[name]/+server.ts\nvar logger = createLogger(\"addons.name\");\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst name = event.params.name;\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst enabled = listEnabledAddonIds(state.homeDir).includes(name);\n\tlet config;\n\ttry {\n\t\tconfig = getRegistryAddonConfig(state.homeDir, name);\n\t} catch (error) {\n\t\tlogger.error(\"failed to read addon schema\", {\n\t\t\tname,\n\t\t\terror: String(error),\n\t\t\trequestId\n\t\t});\n\t\treturn errorResponse(500, \"internal_error\", `Addon \"${name}\" schema is unavailable`, {}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tenabled,\n\t\tconfig\n\t}, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst name = event.params.name;\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst toggle = await performAddonToggle(state, name, typeof body.enabled === \"boolean\" ? body.enabled : void 0, requestId);\n\tif (!toggle.ok) return errorResponse(500, \"internal_error\", toggle.error, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\taddon: name,\n\t\tenabled: toggle.enabled,\n\t\tchanged: toggle.changed\n\t}, requestId);\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC;AACrC,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI;AAC/B,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC;AAC7I,CAAC,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AAClE,CAAC,IAAI,MAAM;AACX,CAAC,IAAI;AACL,EAAE,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AACtD,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;AAC9C,GAAG,IAAI;AACP,GAAG,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;AACvB,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACrG,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,IAAI;AACN,EAAE,OAAO;AACT,EAAE;AACF,EAAE,EAAE,SAAS,CAAC;AACd;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI;AAC/B,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC;AAC7I,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,CAAC;AAC3H,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC;AACzF,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,KAAK,EAAE,IAAI;AACb,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO;AACzB,EAAE,OAAO,EAAE,MAAM,CAAC;AAClB,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-By47s5kb.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/addons/_name_/_server.ts.js"],"sourcesContent":["import { Lt as createLogger, ct as listAvailableAddonIds, lt as listEnabledAddonIds, st as getRegistryAddonConfig } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { d as parseJsonBody, f as requireAdmin, i as errorResponse, l as jsonBodyError, o as getRequestId, u as jsonResponse } from \"../../../../../chunks/helpers.js\";\nimport { t as performAddonToggle } from \"../../../../../chunks/addon-helpers.js\";\n//#region src/routes/admin/addons/[name]/+server.ts\nvar logger = createLogger(\"addons.name\");\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst name = event.params.name;\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst enabled = listEnabledAddonIds(state.homeDir).includes(name);\n\tlet config;\n\ttry {\n\t\tconfig = getRegistryAddonConfig(state.homeDir, name);\n\t} catch (error) {\n\t\tlogger.error(\"failed to read addon schema\", {\n\t\t\tname,\n\t\t\terror: String(error),\n\t\t\trequestId\n\t\t});\n\t\treturn errorResponse(500, \"internal_error\", `Addon \"${name}\" schema is unavailable`, {}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tenabled,\n\t\tconfig\n\t}, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst name = event.params.name;\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst toggle = await performAddonToggle(state, name, typeof body.enabled === \"boolean\" ? body.enabled : void 0, requestId);\n\tif (!toggle.ok) return errorResponse(500, \"internal_error\", toggle.error, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\taddon: name,\n\t\tenabled: toggle.enabled,\n\t\tchanged: toggle.changed\n\t}, requestId);\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
@@ -1,21 +1,21 @@
1
- import { J as ensureHomeDirs, K as ensureOpenCodeConfig, L as ensureOpenCodeSystemConfig, M as ensureSecrets, m as checkDocker, a6 as performUpgrade, y as createLogger } from './src-BkvQ5Uuf.js';
2
- import { b as getState } from './endpoints-Drq_J-2Z.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, h as jsonResponse } from './helpers-CX6xRBmt.js';
1
+ import { L as ensureMigrated, M as MigrationError, K as ensureHomeDirs, N as ensureOpenCodeConfig, O as ensureOpenCodeSystemConfig, Q as ensureSecrets, m as checkDocker, aa as performUpgrade, y as createLogger } from './src-CQbie-rx.js';
2
+ import { b as getState } from './endpoints-DaDle7pk.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-BACi22nU.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
- import 'node:child_process';
9
- import 'node:os';
10
8
  import 'buffer';
9
+ import 'node:os';
10
+ import 'fs';
11
+ import 'path';
12
+ import 'node:child_process';
11
13
  import 'node:url';
12
14
  import 'node:crypto';
13
15
  import 'events';
14
- import 'fs';
15
16
  import 'node:events';
16
17
  import 'node:stream';
17
18
  import 'node:string_decoder';
18
- import 'path';
19
19
  import 'assert';
20
20
  import 'zlib';
21
21
  import 'node:assert';
@@ -28,6 +28,29 @@ var POST = async (event) => {
28
28
  logger.info("upgrade request received", { requestId });
29
29
  const authError = requireAdmin(event, requestId);
30
30
  if (authError) return authError;
31
+ try {
32
+ const report = ensureMigrated();
33
+ if (report.migrated) logger.info("layout migrated", {
34
+ requestId,
35
+ from: report.from,
36
+ to: report.to,
37
+ backupDir: report.backupDir,
38
+ notes: report.notes
39
+ });
40
+ } catch (e) {
41
+ if (e instanceof MigrationError) {
42
+ logger.error("auto-migration aborted", {
43
+ requestId,
44
+ error: e.message,
45
+ backupDir: e.backupDir
46
+ });
47
+ return errorResponse(500, "migration_failed", e.message, {
48
+ guidance: e.guidance,
49
+ backupDir: e.backupDir
50
+ }, requestId);
51
+ }
52
+ throw e;
53
+ }
31
54
  const state = getState();
32
55
  ensureHomeDirs();
33
56
  ensureOpenCodeConfig();
@@ -67,4 +90,4 @@ var POST = async (event) => {
67
90
  };
68
91
 
69
92
  export { POST };
70
- //# sourceMappingURL=_server.ts-CtZuKotA.js.map
93
+ //# sourceMappingURL=_server.ts-C-9V_-cK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-C-9V_-cK.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/upgrade/_server.ts.js"],"sourcesContent":["import { At as MigrationError, D as checkDocker, Lt as createLogger, Nt as ensureHomeDirs, T as performUpgrade, _t as ensureSecrets, gt as ensureOpenCodeConfig, ht as ensureOpenCodeSystemConfig, jt as ensureMigrated } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, i as errorResponse, o as getRequestId, u as jsonResponse } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/upgrade/+server.ts\nvar logger = createLogger(\"upgrade\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"upgrade request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\ttry {\n\t\tconst report = ensureMigrated();\n\t\tif (report.migrated) logger.info(\"layout migrated\", {\n\t\t\trequestId,\n\t\t\tfrom: report.from,\n\t\t\tto: report.to,\n\t\t\tbackupDir: report.backupDir,\n\t\t\tnotes: report.notes\n\t\t});\n\t} catch (e) {\n\t\tif (e instanceof MigrationError) {\n\t\t\tlogger.error(\"auto-migration aborted\", {\n\t\t\t\trequestId,\n\t\t\t\terror: e.message,\n\t\t\t\tbackupDir: e.backupDir\n\t\t\t});\n\t\t\treturn errorResponse(500, \"migration_failed\", e.message, {\n\t\t\t\tguidance: e.guidance,\n\t\t\t\tbackupDir: e.backupDir\n\t\t\t}, requestId);\n\t\t}\n\t\tthrow e;\n\t}\n\tconst state = getState();\n\tensureHomeDirs();\n\tensureOpenCodeConfig();\n\tensureOpenCodeSystemConfig();\n\tensureSecrets(state);\n\tconst dockerCheck = await checkDocker();\n\tif (!dockerCheck.ok) {\n\t\tlogger.error(\"upgrade aborted: docker unavailable\", {\n\t\t\trequestId,\n\t\t\tstderr: dockerCheck.stderr\n\t\t});\n\t\treturn errorResponse(503, \"docker_unavailable\", \"Docker is not available\", { stderr: dockerCheck.stderr }, requestId);\n\t}\n\tlet result;\n\ttry {\n\t\tresult = await performUpgrade(state);\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"upgrade failed\", {\n\t\t\trequestId,\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(502, \"upgrade_failed\", msg, { message: msg }, requestId);\n\t}\n\tlogger.info(\"upgrade completed\", {\n\t\trequestId,\n\t\timageTag: result.imageTag,\n\t\tassetsUpdated: result.assetsUpdated\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\timageTag: result.imageTag,\n\t\tbackupDir: result.backupDir,\n\t\tassetsUpdated: result.assetsUpdated,\n\t\trestarted: result.restarted\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,23 +1,23 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { a4 as parseEnvFile } from './src-BkvQ5Uuf.js';
3
- import { b as getState } from './endpoints-Drq_J-2Z.js';
4
- import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-CX6xRBmt.js';
2
+ import { a8 as parseEnvFile } from './src-CQbie-rx.js';
3
+ import { b as getState } from './endpoints-DaDle7pk.js';
4
+ import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-BACi22nU.js';
5
5
  import { existsSync } from 'node:fs';
6
6
  import './utils-BSRjJDrZ.js';
7
7
  import './chunk-CLZ62Ad-.js';
8
8
  import 'node:module';
9
9
  import 'node:path';
10
- import 'node:child_process';
11
- import 'node:os';
12
10
  import 'buffer';
11
+ import 'node:os';
12
+ import 'fs';
13
+ import 'path';
14
+ import 'node:child_process';
13
15
  import 'node:url';
14
16
  import 'node:crypto';
15
17
  import 'events';
16
- import 'fs';
17
18
  import 'node:events';
18
19
  import 'node:stream';
19
20
  import 'node:string_decoder';
20
- import 'path';
21
21
  import 'assert';
22
22
  import 'zlib';
23
23
  import 'node:assert';
@@ -38,4 +38,4 @@ var GET = (event) => {
38
38
  };
39
39
 
40
40
  export { GET };
41
- //# sourceMappingURL=_server.ts-B8JtVHLy.js.map
41
+ //# sourceMappingURL=_server.ts-C-xID91b.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-B8JtVHLy.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../chunks/exports.js\";\nimport { Dt as parseEnvFile } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { existsSync } from \"node:fs\";\n//#region src/routes/admin/versions/+server.ts\nvar GET = (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tif (!state.stackDir) return errorResponse(503, \"not_initialized\", \"Stack directory not configured\", {}, requestId);\n\tconst stackEnvPath = `${state.stashDir}/env/stack.env`;\n\treturn json({\n\t\timageTag: (existsSync(stackEnvPath) ? parseEnvFile(stackEnvPath) : {}).OP_IMAGE_TAG ?? \"latest\",\n\t\tinElectron: process.env.OP_INSIDE_ELECTRON === \"1\"\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACG,IAAC,GAAG,GAAG,CAAC,KAAK,KAAK;AACrB,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,gCAAgC,EAAE,EAAE,EAAE,SAAS,CAAC;AACnH,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;AACvD,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,YAAY,IAAI,QAAQ;AACjG,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK;AACjD,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-C-xID91b.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../chunks/exports.js\";\nimport { Mt as parseEnvFile } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, i as errorResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { existsSync } from \"node:fs\";\n//#region src/routes/admin/versions/+server.ts\nvar GET = (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tif (!state.stackDir) return errorResponse(503, \"not_initialized\", \"Stack directory not configured\", {}, requestId);\n\tconst stackEnvPath = `${state.stashDir}/env/stack.env`;\n\treturn json({\n\t\timageTag: (existsSync(stackEnvPath) ? parseEnvFile(stackEnvPath) : {}).OP_IMAGE_TAG ?? \"latest\",\n\t\tinElectron: process.env.OP_INSIDE_ELECTRON === \"1\"\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACG,IAAC,GAAG,GAAG,CAAC,KAAK,KAAK;AACrB,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,gCAAgC,EAAE,EAAE,EAAE,SAAS,CAAC;AACnH,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;AACvD,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,YAAY,IAAI,QAAQ;AACjG,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK;AACjD,EAAE,CAAC;AACH;;;;"}
@@ -1,24 +1,24 @@
1
- import { X as importHostOpenCode, E as detectHostOpenCode, i as authJsonPath, m as checkDocker, k as buildComposeOptions } from './src-BkvQ5Uuf.js';
2
- import { b as getState } from './endpoints-Drq_J-2Z.js';
3
- import { d as getRequestId, r as requireAdmin, p as parseJsonBody, e as errorResponse, h as jsonResponse } from './helpers-CX6xRBmt.js';
1
+ import { $ as importHostOpenCode, F as detectHostOpenCode, i as authJsonPath, m as checkDocker, k as buildComposeOptions } from './src-CQbie-rx.js';
2
+ import { b as getState } from './endpoints-DaDle7pk.js';
3
+ import { d as getRequestId, r as requireAdmin, p as parseJsonBody, e as errorResponse, k as jsonResponse } from './helpers-BACi22nU.js';
4
4
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
5
- import { o as opencodeFetch } from './http-VqOG8hyj.js';
6
- import { c as composeRestart } from './docker-B23w4kr6.js';
5
+ import { o as opencodeFetch } from './http-B8eIxVUs.js';
6
+ import { c as composeRestart } from './docker-8AuF7CwZ.js';
7
7
  import { existsSync, readFileSync } from 'node:fs';
8
8
  import './chunk-CLZ62Ad-.js';
9
9
  import 'node:module';
10
10
  import 'node:path';
11
- import 'node:child_process';
12
- import 'node:os';
13
11
  import 'buffer';
12
+ import 'node:os';
13
+ import 'fs';
14
+ import 'path';
15
+ import 'node:child_process';
14
16
  import 'node:url';
15
17
  import 'node:crypto';
16
18
  import 'events';
17
- import 'fs';
18
19
  import 'node:events';
19
20
  import 'node:stream';
20
21
  import 'node:string_decoder';
21
- import 'path';
22
22
  import 'assert';
23
23
  import 'zlib';
24
24
  import 'node:assert';
@@ -154,4 +154,4 @@ var POST = async (event) => {
154
154
  };
155
155
 
156
156
  export { POST };
157
- //# sourceMappingURL=_server.ts-wZ88P3nX.js.map
157
+ //# sourceMappingURL=_server.ts-C1GoICVF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-wZ88P3nX.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/import-host/_server.ts.js"],"sourcesContent":["import { Et as authJsonPath, T as checkDocker, n as importHostOpenCode, t as detectHostOpenCode, w as buildComposeOptions } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\nimport { t as opencodeFetch } from \"../../../../../chunks/http.js\";\nimport { t as composeRestart } from \"../../../../../chunks/docker.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/admin/providers/import-host/+server.ts\n/**\n* POST /admin/providers/import-host\n*\n* Copies host OpenCode config + auth into OP_HOME, then pushes each\n* imported credential to the running OpenCode server so the providers\n* appear connected immediately (no restart required).\n*\n* - opencode.json: stripped of plugin/mcp/permission keys, merged with\n* existing OP_HOME config. Provider conflicts preserved by default.\n* - auth.json: byte-copied and chmodded 0o600. Never logged.\n* - Live push: best-effort PUT to OpenCode /auth/{id} per credential.\n* If OpenCode is unreachable, the file copy still applies and OpenCode\n* will pick up the credentials on next restart.\n* - Service restart: assistant is restarted after the import so opencode.json\n* provider blocks are re-read (live push only updates the auth store, not\n* config).\n*\n* Body (optional JSON):\n* { overwriteConflicts?: boolean } — default false\n*\n* Auth: admin token required.\n*/\n/**\n* Restart services that hold provider state in startup config.\n* Best-effort: the file-level import is the durable part; this is the polish\n* that makes the change visible without the user having to bounce things by hand.\n* OpenCode caches opencode.json provider blocks at startup, so imported\n* provider config needs a fresh assistant process.\n*/\nasync function restartProviderConsumers() {\n\tconst services = [\"assistant\"];\n\tif (!(await checkDocker()).ok) return {\n\t\trestarted: [],\n\t\tfailed: services.map((s) => ({\n\t\t\tservice: s,\n\t\t\terror: \"docker unavailable\"\n\t\t}))\n\t};\n\tconst opts = buildComposeOptions(getState());\n\tconst restarted = [];\n\tconst failed = [];\n\tfor (const service of services) try {\n\t\tconst r = await composeRestart([service], opts);\n\t\tif (r.ok) restarted.push(service);\n\t\telse failed.push({\n\t\t\tservice,\n\t\t\terror: r.stderr || `exit ${r.code}`\n\t\t});\n\t} catch (err) {\n\t\tfailed.push({\n\t\t\tservice,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n\treturn {\n\t\trestarted,\n\t\tfailed\n\t};\n}\n/** Push each auth.json entry to OpenCode's /auth/{id} so the running process sees them. */\nasync function pushAuthToOpenCode(authPath) {\n\tlet raw;\n\ttry {\n\t\traw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t} catch {\n\t\treturn {\n\t\t\tpushed: 0,\n\t\t\tfailed: []\n\t\t};\n\t}\n\tif (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return {\n\t\tpushed: 0,\n\t\tfailed: []\n\t};\n\tlet pushed = 0;\n\tconst failed = [];\n\tfor (const [providerId, value] of Object.entries(raw)) try {\n\t\tawait opencodeFetch(`/auth/${encodeURIComponent(providerId)}`, {\n\t\t\tmethod: \"PUT\",\n\t\t\tbody: JSON.stringify(value)\n\t\t});\n\t\tpushed++;\n\t} catch {\n\t\tfailed.push(providerId);\n\t}\n\treturn {\n\t\tpushed,\n\t\tfailed\n\t};\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:providers:import-host\", async () => {\n\t\tconst state = getState();\n\t\tlet overwriteConflicts = false;\n\t\tif ((event.request.headers.get(\"content-type\") ?? \"\").includes(\"application/json\")) {\n\t\t\tconst parsed = await parseJsonBody(event.request);\n\t\t\tif (!(\"error\" in parsed)) overwriteConflicts = parsed.data.overwriteConflicts === true;\n\t\t}\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = importHostOpenCode(state, { overwriteConflicts });\n\t\t} catch (err) {\n\t\t\treturn errorResponse(500, \"import_failed\", err instanceof Error ? err.message : \"Import failed\", {}, requestId);\n\t\t}\n\t\tconst hostStatus = detectHostOpenCode();\n\t\tlet livePush = {\n\t\t\tpushed: 0,\n\t\t\tfailed: []\n\t\t};\n\t\tconst importedAuthPath = authJsonPath(state);\n\t\tif (existsSync(importedAuthPath)) livePush = await pushAuthToOpenCode(importedAuthPath);\n\t\telse if (hostStatus.authPath) livePush = await pushAuthToOpenCode(hostStatus.authPath);\n\t\tconst restart = await restartProviderConsumers();\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\timported: result.imported,\n\t\t\tconflicts: result.conflicts,\n\t\t\tlivePushed: livePush.pushed,\n\t\t\tlivePushFailed: livePush.failed,\n\t\t\trestarted: restart.restarted,\n\t\t\trestartFailed: restart.failed\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-C1GoICVF.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/import-host/_server.ts.js"],"sourcesContent":["import { D as checkDocker, E as buildComposeOptions, Ot as authJsonPath, n as importHostOpenCode, t as detectHostOpenCode } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { d as parseJsonBody, f as requireAdmin, i as errorResponse, o as getRequestId, u as jsonResponse } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\nimport { t as opencodeFetch } from \"../../../../../chunks/http.js\";\nimport { t as composeRestart } from \"../../../../../chunks/docker.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/admin/providers/import-host/+server.ts\n/**\n* POST /admin/providers/import-host\n*\n* Copies host OpenCode config + auth into OP_HOME, then pushes each\n* imported credential to the running OpenCode server so the providers\n* appear connected immediately (no restart required).\n*\n* - opencode.json: stripped of plugin/mcp/permission keys, merged with\n* existing OP_HOME config. Provider conflicts preserved by default.\n* - auth.json: byte-copied and chmodded 0o600. Never logged.\n* - Live push: best-effort PUT to OpenCode /auth/{id} per credential.\n* If OpenCode is unreachable, the file copy still applies and OpenCode\n* will pick up the credentials on next restart.\n* - Service restart: assistant is restarted after the import so opencode.json\n* provider blocks are re-read (live push only updates the auth store, not\n* config).\n*\n* Body (optional JSON):\n* { overwriteConflicts?: boolean } — default false\n*\n* Auth: admin token required.\n*/\n/**\n* Restart services that hold provider state in startup config.\n* Best-effort: the file-level import is the durable part; this is the polish\n* that makes the change visible without the user having to bounce things by hand.\n* OpenCode caches opencode.json provider blocks at startup, so imported\n* provider config needs a fresh assistant process.\n*/\nasync function restartProviderConsumers() {\n\tconst services = [\"assistant\"];\n\tif (!(await checkDocker()).ok) return {\n\t\trestarted: [],\n\t\tfailed: services.map((s) => ({\n\t\t\tservice: s,\n\t\t\terror: \"docker unavailable\"\n\t\t}))\n\t};\n\tconst opts = buildComposeOptions(getState());\n\tconst restarted = [];\n\tconst failed = [];\n\tfor (const service of services) try {\n\t\tconst r = await composeRestart([service], opts);\n\t\tif (r.ok) restarted.push(service);\n\t\telse failed.push({\n\t\t\tservice,\n\t\t\terror: r.stderr || `exit ${r.code}`\n\t\t});\n\t} catch (err) {\n\t\tfailed.push({\n\t\t\tservice,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n\treturn {\n\t\trestarted,\n\t\tfailed\n\t};\n}\n/** Push each auth.json entry to OpenCode's /auth/{id} so the running process sees them. */\nasync function pushAuthToOpenCode(authPath) {\n\tlet raw;\n\ttry {\n\t\traw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t} catch {\n\t\treturn {\n\t\t\tpushed: 0,\n\t\t\tfailed: []\n\t\t};\n\t}\n\tif (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return {\n\t\tpushed: 0,\n\t\tfailed: []\n\t};\n\tlet pushed = 0;\n\tconst failed = [];\n\tfor (const [providerId, value] of Object.entries(raw)) try {\n\t\tawait opencodeFetch(`/auth/${encodeURIComponent(providerId)}`, {\n\t\t\tmethod: \"PUT\",\n\t\t\tbody: JSON.stringify(value)\n\t\t});\n\t\tpushed++;\n\t} catch {\n\t\tfailed.push(providerId);\n\t}\n\treturn {\n\t\tpushed,\n\t\tfailed\n\t};\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:providers:import-host\", async () => {\n\t\tconst state = getState();\n\t\tlet overwriteConflicts = false;\n\t\tif ((event.request.headers.get(\"content-type\") ?? \"\").includes(\"application/json\")) {\n\t\t\tconst parsed = await parseJsonBody(event.request);\n\t\t\tif (!(\"error\" in parsed)) overwriteConflicts = parsed.data.overwriteConflicts === true;\n\t\t}\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = importHostOpenCode(state, { overwriteConflicts });\n\t\t} catch (err) {\n\t\t\treturn errorResponse(500, \"import_failed\", err instanceof Error ? err.message : \"Import failed\", {}, requestId);\n\t\t}\n\t\tconst hostStatus = detectHostOpenCode();\n\t\tlet livePush = {\n\t\t\tpushed: 0,\n\t\t\tfailed: []\n\t\t};\n\t\tconst importedAuthPath = authJsonPath(state);\n\t\tif (existsSync(importedAuthPath)) livePush = await pushAuthToOpenCode(importedAuthPath);\n\t\telse if (hostStatus.authPath) livePush = await pushAuthToOpenCode(hostStatus.authPath);\n\t\tconst restart = await restartProviderConsumers();\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\timported: result.imported,\n\t\t\tconflicts: result.conflicts,\n\t\t\tlivePushed: livePush.pushed,\n\t\t\tlivePushFailed: livePush.failed,\n\t\t\trestarted: restart.restarted,\n\t\t\trestartFailed: restart.failed\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,21 +1,21 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { E as detectHostOpenCode, W as hostAkmStashPath, Z as isHostAkmAvailable, y as createLogger } from './src-BkvQ5Uuf.js';
2
+ import { F as detectHostOpenCode, _ as hostAkmStashPath, a1 as isHostAkmAvailable, y as createLogger } from './src-CQbie-rx.js';
3
3
  import { homedir } from 'node:os';
4
4
  import './utils-BSRjJDrZ.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import 'node:fs';
8
8
  import 'node:path';
9
- import 'node:child_process';
10
9
  import 'buffer';
10
+ import 'fs';
11
+ import 'path';
12
+ import 'node:child_process';
11
13
  import 'node:url';
12
14
  import 'node:crypto';
13
15
  import 'events';
14
- import 'fs';
15
16
  import 'node:events';
16
17
  import 'node:stream';
17
18
  import 'node:string_decoder';
18
- import 'path';
19
19
  import 'assert';
20
20
  import 'zlib';
21
21
  import 'node:assert';
@@ -62,4 +62,4 @@ var GET = () => {
62
62
  };
63
63
 
64
64
  export { GET };
65
- //# sourceMappingURL=_server.ts-D7L27_xI.js.map
65
+ //# sourceMappingURL=_server.ts-C25PdnDT.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-D7L27_xI.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/host-status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Nt as createLogger, U as hostAkmStashPath, W as isHostAkmAvailable, t as detectHostOpenCode } from \"../../../../../chunks/src.js\";\nimport { homedir } from \"node:os\";\n//#region src/routes/api/setup/host-status/+server.ts\nvar logger = createLogger(\"admin:host-status\");\nvar GET = () => {\n\ttry {\n\t\tconst status = detectHostOpenCode();\n\t\tconst home = homedir();\n\t\tconst akmStashPath = hostAkmStashPath();\n\t\tconst hostAkmAvailable = isHostAkmAvailable();\n\t\treturn json({\n\t\t\tdetected: status.providerCount > 0 || status.credentialCount > 0,\n\t\t\tproviderCount: status.providerCount,\n\t\t\tcredentialCount: status.credentialCount,\n\t\t\tmodelPreferences: status.modelPreferences,\n\t\t\timageTag: \"latest\",\n\t\t\thostAkmAvailable,\n\t\t\thostAkmPaths: {\n\t\t\t\tstash: akmStashPath,\n\t\t\t\tdata: `${home}/.local/share/akm`,\n\t\t\t\tstate: `${home}/.local/state/akm`,\n\t\t\t\tconfig: `${home}/.config/akm`\n\t\t\t}\n\t\t});\n\t} catch (err) {\n\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\tconst stack = err instanceof Error ? err.stack : void 0;\n\t\tlogger.warn(\"failed to detect host openpalm/openpalm state\", {\n\t\t\terror: message,\n\t\t\tstack\n\t\t});\n\t\treturn json({\n\t\t\tdetected: false,\n\t\t\tproviderCount: 0,\n\t\t\tcredentialCount: 0,\n\t\t\timageTag: \"latest\",\n\t\t\thostAkmAvailable: false,\n\t\t\twarning: `Could not detect host OpenCode state: ${message}`\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,mBAAmB,CAAC;AAC3C,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,kBAAkB,EAAE;AACrC,EAAE,MAAM,IAAI,GAAG,OAAO,EAAE;AACxB,EAAE,MAAM,YAAY,GAAG,gBAAgB,EAAE;AACzC,EAAE,MAAM,gBAAgB,GAAG,kBAAkB,EAAE;AAC/C,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,MAAM,CAAC,aAAa,GAAG,CAAC,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC;AACnE,GAAG,aAAa,EAAE,MAAM,CAAC,aAAa;AACtC,GAAG,eAAe,EAAE,MAAM,CAAC,eAAe;AAC1C,GAAG,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;AAC5C,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,gBAAgB;AACnB,GAAG,YAAY,EAAE;AACjB,IAAI,KAAK,EAAE,YAAY;AACvB,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACpC,IAAI,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACrC,IAAI,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY;AAChC;AACA,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAClE,EAAE,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,MAAM;AACzD,EAAE,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;AAC/D,GAAG,KAAK,EAAE,OAAO;AACjB,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,KAAK;AAClB,GAAG,aAAa,EAAE,CAAC;AACnB,GAAG,eAAe,EAAE,CAAC;AACrB,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,gBAAgB,EAAE,KAAK;AAC1B,GAAG,OAAO,EAAE,CAAC,sCAAsC,EAAE,OAAO,CAAC;AAC7D,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-C25PdnDT.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/host-status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { G as hostAkmStashPath, K as isHostAkmAvailable, Lt as createLogger, t as detectHostOpenCode } from \"../../../../../chunks/src.js\";\nimport { homedir } from \"node:os\";\n//#region src/routes/api/setup/host-status/+server.ts\nvar logger = createLogger(\"admin:host-status\");\nvar GET = () => {\n\ttry {\n\t\tconst status = detectHostOpenCode();\n\t\tconst home = homedir();\n\t\tconst akmStashPath = hostAkmStashPath();\n\t\tconst hostAkmAvailable = isHostAkmAvailable();\n\t\treturn json({\n\t\t\tdetected: status.providerCount > 0 || status.credentialCount > 0,\n\t\t\tproviderCount: status.providerCount,\n\t\t\tcredentialCount: status.credentialCount,\n\t\t\tmodelPreferences: status.modelPreferences,\n\t\t\timageTag: \"latest\",\n\t\t\thostAkmAvailable,\n\t\t\thostAkmPaths: {\n\t\t\t\tstash: akmStashPath,\n\t\t\t\tdata: `${home}/.local/share/akm`,\n\t\t\t\tstate: `${home}/.local/state/akm`,\n\t\t\t\tconfig: `${home}/.config/akm`\n\t\t\t}\n\t\t});\n\t} catch (err) {\n\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\tconst stack = err instanceof Error ? err.stack : void 0;\n\t\tlogger.warn(\"failed to detect host openpalm/openpalm state\", {\n\t\t\terror: message,\n\t\t\tstack\n\t\t});\n\t\treturn json({\n\t\t\tdetected: false,\n\t\t\tproviderCount: 0,\n\t\t\tcredentialCount: 0,\n\t\t\timageTag: \"latest\",\n\t\t\thostAkmAvailable: false,\n\t\t\twarning: `Could not detect host OpenCode state: ${message}`\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,mBAAmB,CAAC;AAC3C,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,kBAAkB,EAAE;AACrC,EAAE,MAAM,IAAI,GAAG,OAAO,EAAE;AACxB,EAAE,MAAM,YAAY,GAAG,gBAAgB,EAAE;AACzC,EAAE,MAAM,gBAAgB,GAAG,kBAAkB,EAAE;AAC/C,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,MAAM,CAAC,aAAa,GAAG,CAAC,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC;AACnE,GAAG,aAAa,EAAE,MAAM,CAAC,aAAa;AACtC,GAAG,eAAe,EAAE,MAAM,CAAC,eAAe;AAC1C,GAAG,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;AAC5C,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,gBAAgB;AACnB,GAAG,YAAY,EAAE;AACjB,IAAI,KAAK,EAAE,YAAY;AACvB,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACpC,IAAI,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACrC,IAAI,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY;AAChC;AACA,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAClE,EAAE,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,MAAM;AACzD,EAAE,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;AAC/D,GAAG,KAAK,EAAE,OAAO;AACjB,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,KAAK;AAClB,GAAG,aAAa,EAAE,CAAC;AACnB,GAAG,eAAe,EAAE,CAAC;AACrB,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,gBAAgB,EAAE,KAAK;AAC1B,GAAG,OAAO,EAAE,CAAC,sCAAsC,EAAE,OAAO,CAAC;AAC7D,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
@@ -1,22 +1,22 @@
1
- import { y as createLogger, m as checkDocker, k as buildComposeOptions, s as composePull, l as buildManagedServices, x as composeUp } from './src-BkvQ5Uuf.js';
2
- import { b as getState } from './endpoints-Drq_J-2Z.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, h as jsonResponse } from './helpers-CX6xRBmt.js';
1
+ import { y as createLogger, m as checkDocker, k as buildComposeOptions, s as composePull, l as buildManagedServices, x as composeUp } from './src-CQbie-rx.js';
2
+ import { b as getState } from './endpoints-DaDle7pk.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-BACi22nU.js';
4
4
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import 'node:fs';
8
8
  import 'node:path';
9
- import 'node:child_process';
10
- import 'node:os';
11
9
  import 'buffer';
10
+ import 'node:os';
11
+ import 'fs';
12
+ import 'path';
13
+ import 'node:child_process';
12
14
  import 'node:url';
13
15
  import 'node:crypto';
14
16
  import 'events';
15
- import 'fs';
16
17
  import 'node:events';
17
18
  import 'node:stream';
18
19
  import 'node:string_decoder';
19
- import 'path';
20
20
  import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
@@ -69,4 +69,4 @@ var POST = async (event) => {
69
69
  };
70
70
 
71
71
  export { POST };
72
- //# sourceMappingURL=_server.ts-Dq82kHyx.js.map
72
+ //# sourceMappingURL=_server.ts-CCwIt_KL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Dq82kHyx.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/pull/_server.ts.js"],"sourcesContent":["import { I as composeUp, Nt as createLogger, T as checkDocker, j as composePull, w as buildComposeOptions, x as buildManagedServices } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/pull/+server.ts\nvar logger = createLogger(\"containers-pull\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"pull request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:pull\", async () => {\n\t\tconst state = getState();\n\t\tconst dockerCheck = await checkDocker();\n\t\tif (!dockerCheck.ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", { stderr: dockerCheck.stderr }, requestId);\n\t\tconst composeOpts = buildComposeOptions(state);\n\t\tlogger.info(\"pulling images\", { requestId });\n\t\tconst pullResult = await composePull(composeOpts);\n\t\tif (!pullResult.ok) {\n\t\t\tlogger.error(\"image pull failed\", {\n\t\t\t\trequestId,\n\t\t\t\tstderr: pullResult.stderr\n\t\t\t});\n\t\t\treturn errorResponse(502, \"pull_failed\", \"Failed to pull images\", { stderr: pullResult.stderr }, requestId);\n\t\t}\n\t\tlogger.info(\"recreating containers\", { requestId });\n\t\tconst managedServices = await buildManagedServices(state);\n\t\tconst upResult = await composeUp({\n\t\t\t...composeOpts,\n\t\t\tservices: managedServices\n\t\t});\n\t\tif (!upResult.ok) {\n\t\t\tlogger.error(\"compose up failed after pull\", {\n\t\t\t\trequestId,\n\t\t\t\tstderr: upResult.stderr\n\t\t\t});\n\t\t\treturn errorResponse(502, \"up_failed\", \"Images pulled but failed to recreate containers\", { stderr: upResult.stderr }, requestId);\n\t\t}\n\t\tlogger.info(\"pull completed\", {\n\t\t\trequestId,\n\t\t\tstarted: managedServices\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tpulled: pullResult.stdout,\n\t\t\tstarted: managedServices\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AACzC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC;AACpD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,uBAAuB,EAAE,YAAY;AAC7D,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AACzC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AAC5I,EAAE,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAChD,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,CAAC;AAC9C,EAAE,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC;AACnD,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;AACtB,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE;AACrC,IAAI,SAAS;AACb,IAAI,MAAM,EAAE,UAAU,CAAC;AACvB,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AAC9G,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC;AACrD,EAAE,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC;AAC3D,EAAE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC;AACnC,GAAG,GAAG,WAAW;AACjB,GAAG,QAAQ,EAAE;AACb,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACpB,GAAG,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;AAChD,IAAI,SAAS;AACb,IAAI,MAAM,EAAE,QAAQ,CAAC;AACrB,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,iDAAiD,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AACpI,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAChC,GAAG,SAAS;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,MAAM,EAAE,UAAU,CAAC,MAAM;AAC5B,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-CCwIt_KL.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/pull/_server.ts.js"],"sourcesContent":["import { C as buildManagedServices, D as checkDocker, E as buildComposeOptions, Lt as createLogger, N as composePull, R as composeUp } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, i as errorResponse, o as getRequestId, u as jsonResponse } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/pull/+server.ts\nvar logger = createLogger(\"containers-pull\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"pull request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:pull\", async () => {\n\t\tconst state = getState();\n\t\tconst dockerCheck = await checkDocker();\n\t\tif (!dockerCheck.ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", { stderr: dockerCheck.stderr }, requestId);\n\t\tconst composeOpts = buildComposeOptions(state);\n\t\tlogger.info(\"pulling images\", { requestId });\n\t\tconst pullResult = await composePull(composeOpts);\n\t\tif (!pullResult.ok) {\n\t\t\tlogger.error(\"image pull failed\", {\n\t\t\t\trequestId,\n\t\t\t\tstderr: pullResult.stderr\n\t\t\t});\n\t\t\treturn errorResponse(502, \"pull_failed\", \"Failed to pull images\", { stderr: pullResult.stderr }, requestId);\n\t\t}\n\t\tlogger.info(\"recreating containers\", { requestId });\n\t\tconst managedServices = await buildManagedServices(state);\n\t\tconst upResult = await composeUp({\n\t\t\t...composeOpts,\n\t\t\tservices: managedServices\n\t\t});\n\t\tif (!upResult.ok) {\n\t\t\tlogger.error(\"compose up failed after pull\", {\n\t\t\t\trequestId,\n\t\t\t\tstderr: upResult.stderr\n\t\t\t});\n\t\t\treturn errorResponse(502, \"up_failed\", \"Images pulled but failed to recreate containers\", { stderr: upResult.stderr }, requestId);\n\t\t}\n\t\tlogger.info(\"pull completed\", {\n\t\t\trequestId,\n\t\t\tstarted: managedServices\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tpulled: pullResult.stdout,\n\t\t\tstarted: managedServices\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AACzC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC;AACpD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,uBAAuB,EAAE,YAAY;AAC7D,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AACzC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AAC5I,EAAE,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAChD,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,CAAC;AAC9C,EAAE,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC;AACnD,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;AACtB,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE;AACrC,IAAI,SAAS;AACb,IAAI,MAAM,EAAE,UAAU,CAAC;AACvB,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AAC9G,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC;AACrD,EAAE,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC;AAC3D,EAAE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC;AACnC,GAAG,GAAG,WAAW;AACjB,GAAG,QAAQ,EAAE;AACb,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACpB,GAAG,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;AAChD,IAAI,SAAS;AACb,IAAI,MAAM,EAAE,QAAQ,CAAC;AACrB,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,iDAAiD,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AACpI,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAChC,GAAG,SAAS;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,MAAM,EAAE,UAAU,CAAC,MAAM;AAC5B,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -0,0 +1,101 @@
1
+ import { b as getState } from './endpoints-DaDle7pk.js';
2
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-BACi22nU.js';
3
+ import { execFile } from 'node:child_process';
4
+ import './src-CQbie-rx.js';
5
+ import './chunk-CLZ62Ad-.js';
6
+ import 'node:module';
7
+ import 'node:fs';
8
+ import 'node:path';
9
+ import 'buffer';
10
+ import 'node:os';
11
+ import 'fs';
12
+ import 'path';
13
+ import 'node:url';
14
+ import 'node:crypto';
15
+ import 'events';
16
+ import 'node:events';
17
+ import 'node:stream';
18
+ import 'node:string_decoder';
19
+ import 'assert';
20
+ import 'zlib';
21
+ import 'node:assert';
22
+ import 'node:fs/promises';
23
+
24
+ //#region src/routes/admin/akm/health/+server.ts
25
+ /**
26
+ * GET /admin/akm/health — AKM runtime health + index stats for the dashboard.
27
+ *
28
+ * Runs the `akm` CLI (health + info) against the STACK's stash/state by pointing
29
+ * AKM_* env at this OP_HOME, NOT the operator's personal ~/akm. Fails soft:
30
+ * if the CLI is missing or errors, returns { available: false } so the dashboard
31
+ * can show an "unavailable" state instead of breaking.
32
+ */
33
+ function runAkm(args, env, timeoutMs) {
34
+ return new Promise((resolve) => {
35
+ execFile("akm", args, {
36
+ timeout: timeoutMs,
37
+ env,
38
+ maxBuffer: 4 * 1024 * 1024
39
+ }, (error, stdout) => {
40
+ resolve({
41
+ ok: !error,
42
+ stdout: stdout?.toString() ?? ""
43
+ });
44
+ });
45
+ });
46
+ }
47
+ function safeParse(s) {
48
+ try {
49
+ const v = JSON.parse(s);
50
+ return v && typeof v === "object" ? v : null;
51
+ } catch {
52
+ return null;
53
+ }
54
+ }
55
+ var GET = async (event) => {
56
+ const requestId = getRequestId(event);
57
+ const denied = requireAdmin(event, requestId);
58
+ if (denied) return denied;
59
+ const state = getState();
60
+ const env = {
61
+ ...process.env,
62
+ AKM_STASH_DIR: state.stashDir,
63
+ AKM_DATA_DIR: `${state.dataDir}/akm/data`,
64
+ AKM_CONFIG_DIR: `${state.configDir}/akm`
65
+ };
66
+ const [health, info] = await Promise.all([runAkm([
67
+ "health",
68
+ "--json",
69
+ "--quiet"
70
+ ], env, 8e3), runAkm([
71
+ "info",
72
+ "--json",
73
+ "--quiet"
74
+ ], env, 8e3)]);
75
+ const parsedHealth = safeParse(health.stdout);
76
+ const parsedInfo = safeParse(info.stdout);
77
+ if (!parsedHealth && !parsedInfo) return jsonResponse(200, {
78
+ available: false,
79
+ reason: "akm CLI unavailable"
80
+ }, requestId);
81
+ const checks = Array.isArray(parsedHealth?.hardChecks) ? parsedHealth.hardChecks : [];
82
+ const checkCounts = {
83
+ pass: 0,
84
+ warn: 0,
85
+ fail: 0
86
+ };
87
+ for (const c of checks) if (c.status === "pass") checkCounts.pass++;
88
+ else if (c.status === "warn") checkCounts.warn++;
89
+ else checkCounts.fail++;
90
+ return jsonResponse(200, {
91
+ available: true,
92
+ status: parsedHealth?.status ?? "unknown",
93
+ ok: typeof parsedHealth?.ok === "boolean" ? parsedHealth.ok : null,
94
+ checks: checkCounts,
95
+ metrics: parsedHealth?.metrics ?? null,
96
+ index: parsedInfo?.indexStats ?? null
97
+ }, requestId);
98
+ };
99
+
100
+ export { GET };
101
+ //# sourceMappingURL=_server.ts-CKNmPEUu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-CKNmPEUu.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/health/_server.ts.js"],"sourcesContent":["import { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, o as getRequestId, u as jsonResponse } from \"../../../../../chunks/helpers.js\";\nimport { execFile } from \"node:child_process\";\n//#region src/routes/admin/akm/health/+server.ts\n/**\n* GET /admin/akm/health — AKM runtime health + index stats for the dashboard.\n*\n* Runs the `akm` CLI (health + info) against the STACK's stash/state by pointing\n* AKM_* env at this OP_HOME, NOT the operator's personal ~/akm. Fails soft:\n* if the CLI is missing or errors, returns { available: false } so the dashboard\n* can show an \"unavailable\" state instead of breaking.\n*/\nfunction runAkm(args, env, timeoutMs) {\n\treturn new Promise((resolve) => {\n\t\texecFile(\"akm\", args, {\n\t\t\ttimeout: timeoutMs,\n\t\t\tenv,\n\t\t\tmaxBuffer: 4 * 1024 * 1024\n\t\t}, (error, stdout) => {\n\t\t\tresolve({\n\t\t\t\tok: !error,\n\t\t\t\tstdout: stdout?.toString() ?? \"\"\n\t\t\t});\n\t\t});\n\t});\n}\nfunction safeParse(s) {\n\ttry {\n\t\tconst v = JSON.parse(s);\n\t\treturn v && typeof v === \"object\" ? v : null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst denied = requireAdmin(event, requestId);\n\tif (denied) return denied;\n\tconst state = getState();\n\tconst env = {\n\t\t...process.env,\n\t\tAKM_STASH_DIR: state.stashDir,\n\t\tAKM_DATA_DIR: `${state.dataDir}/akm/data`,\n\t\tAKM_CONFIG_DIR: `${state.configDir}/akm`\n\t};\n\tconst [health, info] = await Promise.all([runAkm([\n\t\t\"health\",\n\t\t\"--json\",\n\t\t\"--quiet\"\n\t], env, 8e3), runAkm([\n\t\t\"info\",\n\t\t\"--json\",\n\t\t\"--quiet\"\n\t], env, 8e3)]);\n\tconst parsedHealth = safeParse(health.stdout);\n\tconst parsedInfo = safeParse(info.stdout);\n\tif (!parsedHealth && !parsedInfo) return jsonResponse(200, {\n\t\tavailable: false,\n\t\treason: \"akm CLI unavailable\"\n\t}, requestId);\n\tconst checks = Array.isArray(parsedHealth?.hardChecks) ? parsedHealth.hardChecks : [];\n\tconst checkCounts = {\n\t\tpass: 0,\n\t\twarn: 0,\n\t\tfail: 0\n\t};\n\tfor (const c of checks) if (c.status === \"pass\") checkCounts.pass++;\n\telse if (c.status === \"warn\") checkCounts.warn++;\n\telse checkCounts.fail++;\n\treturn jsonResponse(200, {\n\t\tavailable: true,\n\t\tstatus: parsedHealth?.status ?? \"unknown\",\n\t\tok: typeof parsedHealth?.ok === \"boolean\" ? parsedHealth.ok : null,\n\t\tchecks: checkCounts,\n\t\tmetrics: parsedHealth?.metrics ?? null,\n\t\tindex: parsedInfo?.indexStats ?? null\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE;AACtC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK;AACjC,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;AACxB,GAAG,OAAO,EAAE,SAAS;AACrB,GAAG,GAAG;AACN,GAAG,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG;AACzB,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK;AACxB,GAAG,OAAO,CAAC;AACX,IAAI,EAAE,EAAE,CAAC,KAAK;AACd,IAAI,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI;AAClC,IAAI,CAAC;AACL,EAAE,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH;AACA,SAAS,SAAS,CAAC,CAAC,EAAE;AACtB,CAAC,IAAI;AACL,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACzB,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAG,IAAI;AAC9C,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI;AACb,CAAC;AACD;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC9C,CAAC,IAAI,MAAM,EAAE,OAAO,MAAM;AAC1B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,GAAG,GAAG;AACb,EAAE,GAAG,OAAO,CAAC,GAAG;AAChB,EAAE,aAAa,EAAE,KAAK,CAAC,QAAQ;AAC/B,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;AAC3C,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI;AACzC,EAAE;AACF,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAClD,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE;AACF,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC;AACtB,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE;AACF,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AACf,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;AAC9C,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;AAC1C,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5D,EAAE,SAAS,EAAE,KAAK;AAClB,EAAE,MAAM,EAAE;AACV,EAAE,EAAE,SAAS,CAAC;AACd,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,YAAY,CAAC,UAAU,GAAG,EAAE;AACtF,CAAC,MAAM,WAAW,GAAG;AACrB,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,IAAI,EAAE;AACR,EAAE;AACF,CAAC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE;AACpE,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE;AACjD,MAAM,WAAW,CAAC,IAAI,EAAE;AACxB,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,IAAI,SAAS;AAC3C,EAAE,EAAE,EAAE,OAAO,YAAY,EAAE,EAAE,KAAK,SAAS,GAAG,YAAY,CAAC,EAAE,GAAG,IAAI;AACpE,EAAE,MAAM,EAAE,WAAW;AACrB,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,IAAI,IAAI;AACxC,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,IAAI;AACnC,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,24 +1,25 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { _ as isSetupComplete, ak as resolveStackDir, a5 as performSetup, m as checkDocker } from './src-BkvQ5Uuf.js';
3
- import { b as getState, r as resetState } from './endpoints-Drq_J-2Z.js';
4
- import { r as requireAdmin, d as getRequestId, f as getUiLoginPassword, b as createSession } from './helpers-CX6xRBmt.js';
5
- import { s as startDeploy, r as resetDeployState } from './setup-deploy-B4oSSFYi.js';
2
+ import { a2 as isSetupComplete, ap as resolveStackDir, a9 as performSetup, m as checkDocker } from './src-CQbie-rx.js';
3
+ import { b as getState, r as resetState } from './endpoints-DaDle7pk.js';
4
+ import { r as requireAdmin, d as getRequestId, f as getUiLoginPassword, b as createSession } from './helpers-BACi22nU.js';
5
+ import { s as sessionCookieHeader } from './session-cookie-CFbH9CoY.js';
6
+ import { s as startDeploy, r as resetDeployState } from './setup-deploy-Ck_d_qcE.js';
6
7
  import './utils-BSRjJDrZ.js';
7
8
  import './chunk-CLZ62Ad-.js';
8
9
  import 'node:module';
9
10
  import 'node:fs';
10
11
  import 'node:path';
11
- import 'node:child_process';
12
- import 'node:os';
13
12
  import 'buffer';
13
+ import 'node:os';
14
+ import 'fs';
15
+ import 'path';
16
+ import 'node:child_process';
14
17
  import 'node:url';
15
18
  import 'node:crypto';
16
19
  import 'events';
17
- import 'fs';
18
20
  import 'node:events';
19
21
  import 'node:stream';
20
22
  import 'node:string_decoder';
21
- import 'path';
22
23
  import 'assert';
23
24
  import 'zlib';
24
25
  import 'node:assert';
@@ -80,7 +81,7 @@ var POST = async (event) => {
80
81
  const headers = new Headers({ "content-type": "application/json" });
81
82
  if (typeof body.security?.uiLoginPassword === "string" && body.security.uiLoginPassword || getUiLoginPassword()) {
82
83
  const sessionToken = createSession();
83
- headers.set("set-cookie", `op_session=${sessionToken}; Path=/; HttpOnly; SameSite=Strict`);
84
+ headers.set("set-cookie", sessionCookieHeader(sessionToken, event.request));
84
85
  }
85
86
  return new Response(JSON.stringify({
86
87
  ok: true,
@@ -93,4 +94,4 @@ var POST = async (event) => {
93
94
  };
94
95
 
95
96
  export { POST };
96
- //# sourceMappingURL=_server.ts-DVekHgMN.js.map
97
+ //# sourceMappingURL=_server.ts-COMRHDN4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-COMRHDN4.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/complete/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { D as checkDocker, Ft as resolveStackDir, X as isSetupComplete, r as performSetup } from \"../../../../../chunks/src.js\";\nimport { c as getState, l as resetState } from \"../../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, g as createSession, o as getRequestId, s as getUiLoginPassword } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\nimport { n as resetDeployState, r as startDeploy } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/complete/+server.ts\nvar POST = async (event) => {\n\tif (isSetupComplete(resolveStackDir())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst { request } = event;\n\tlet body;\n\ttry {\n\t\tbody = await request.json();\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"invalid_json\",\n\t\t\tmessage: \"Request body must be valid JSON\"\n\t\t}, { status: 400 });\n\t}\n\tconst dryRun = body.dryRun === true;\n\tlet result;\n\ttry {\n\t\tresult = await performSetup(body);\n\t} catch (err) {\n\t\tconst msg = String(err);\n\t\tif (/ENOSPC/i.test(msg)) return json({\n\t\t\tok: false,\n\t\t\terror: \"no_space\",\n\t\t\tmessage: \"Your disk is full. Free up some space and try again.\"\n\t\t}, { status: 500 });\n\t\tif (/EACCES|EPERM/i.test(msg)) return json({\n\t\t\tok: false,\n\t\t\terror: \"permission_denied\",\n\t\t\tmessage: \"OpenPalm couldn't write to ~/.openpalm. Check that your user owns that directory.\"\n\t\t}, { status: 500 });\n\t\tif (/ENOTDIR|EISDIR/i.test(msg)) return json({\n\t\t\tok: false,\n\t\t\terror: \"bad_path\",\n\t\t\tmessage: \"An OpenPalm config path is wrong. Try a fresh install.\"\n\t\t}, { status: 500 });\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"setup_failed\",\n\t\t\tmessage: msg\n\t\t}, { status: 500 });\n\t}\n\tif (!result.ok) return json(result, { status: 400 });\n\tresetState();\n\tconst state = getState();\n\tresetDeployState();\n\tlet dockerCheck = null;\n\tif (!dryRun) {\n\t\tdockerCheck = await checkDocker();\n\t\tif (dockerCheck.ok) startDeploy(state);\n\t}\n\tconst headers = new Headers({ \"content-type\": \"application/json\" });\n\tif (typeof body.security?.uiLoginPassword === \"string\" && body.security.uiLoginPassword || getUiLoginPassword()) {\n\t\tconst sessionToken = createSession();\n\t\theaders.set(\"set-cookie\", sessionCookieHeader(sessionToken, event.request));\n\t}\n\treturn new Response(JSON.stringify({\n\t\tok: true,\n\t\tdockerAvailable: dockerCheck?.ok ?? false,\n\t\tdryRun\n\t}), {\n\t\tstatus: 200,\n\t\theaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,22 +1,22 @@
1
- import { y as createLogger, Y as isAllowedService, m as checkDocker, w as composeStop, k as buildComposeOptions } from './src-BkvQ5Uuf.js';
2
- import { b as getState } from './endpoints-Drq_J-2Z.js';
3
- import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, h as jsonResponse } from './helpers-CX6xRBmt.js';
1
+ import { y as createLogger, a0 as isAllowedService, m as checkDocker, w as composeStop, k as buildComposeOptions } from './src-CQbie-rx.js';
2
+ import { b as getState } from './endpoints-DaDle7pk.js';
3
+ import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-BACi22nU.js';
4
4
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import 'node:fs';
8
8
  import 'node:path';
9
- import 'node:child_process';
10
- import 'node:os';
11
9
  import 'buffer';
10
+ import 'node:os';
11
+ import 'fs';
12
+ import 'path';
13
+ import 'node:child_process';
12
14
  import 'node:url';
13
15
  import 'node:crypto';
14
16
  import 'events';
15
- import 'fs';
16
17
  import 'node:events';
17
18
  import 'node:stream';
18
19
  import 'node:string_decoder';
19
- import 'path';
20
20
  import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
@@ -50,4 +50,4 @@ var POST = async (event) => {
50
50
  };
51
51
 
52
52
  export { POST };
53
- //# sourceMappingURL=_server.ts-CqHMhINi.js.map
53
+ //# sourceMappingURL=_server.ts-CU1go_Ga.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CqHMhINi.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/down/_server.ts.js"],"sourcesContent":["import { F as composeStop, Nt as createLogger, T as checkDocker, q as isAllowedService, w as buildComposeOptions } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/down/+server.ts\nvar logger = createLogger(\"containers-down\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container stop request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:down\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeStop([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"stopped\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to stop service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"stopped\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AACzC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,CAAC;AACrD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,uBAAuB,EAAE,YAAY;AAC7D,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-CU1go_Ga.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/down/_server.ts.js"],"sourcesContent":["import { D as checkDocker, E as buildComposeOptions, L as composeStop, Lt as createLogger, Y as isAllowedService } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { d as parseJsonBody, f as requireAdmin, i as errorResponse, l as jsonBodyError, o as getRequestId, u as jsonResponse } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/down/+server.ts\nvar logger = createLogger(\"containers-down\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container stop request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:down\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeStop([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"stopped\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to stop service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"stopped\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AACzC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,CAAC;AACrD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,uBAAuB,EAAE,YAAY;AAC7D,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}