@openpalm/ui 0.12.50 → 0.12.52

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 (378) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/{4.2S7Y5od3.css → 4.DKS7ivN-.css} +1 -1
  3. package/build/client/_app/immutable/assets/4.DKS7ivN-.css.br +0 -0
  4. package/build/client/_app/immutable/assets/4.DKS7ivN-.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/7.CcyzbXoG.css +1 -0
  6. package/build/client/_app/immutable/assets/7.CcyzbXoG.css.br +0 -0
  7. package/build/client/_app/immutable/assets/7.CcyzbXoG.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/IconClock.CudG-UM6.css +1 -0
  9. package/build/client/_app/immutable/assets/IconClock.CudG-UM6.css.br +0 -0
  10. package/build/client/_app/immutable/assets/IconClock.CudG-UM6.css.gz +0 -0
  11. package/build/client/_app/immutable/chunks/BDvA7M6l.js +1 -0
  12. package/build/client/_app/immutable/chunks/BDvA7M6l.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/BDvA7M6l.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{DsC4kR0j.js → BM4jJmEk.js} +1 -1
  15. package/build/client/_app/immutable/chunks/BM4jJmEk.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/BM4jJmEk.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/C4c5Y6rY.js +5 -0
  18. package/build/client/_app/immutable/chunks/C4c5Y6rY.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/C4c5Y6rY.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/C4j7gGnm.js +14 -0
  21. package/build/client/_app/immutable/chunks/C4j7gGnm.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/C4j7gGnm.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/C7x_T9zu.js +3 -0
  24. package/build/client/_app/immutable/chunks/C7x_T9zu.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/C7x_T9zu.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/DoTCwfyJ.js +1 -0
  27. package/build/client/_app/immutable/chunks/DoTCwfyJ.js.br +2 -0
  28. package/build/client/_app/immutable/chunks/DoTCwfyJ.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/{aCnE6_tC.js → DwEShcLP.js} +1 -1
  30. package/build/client/_app/immutable/chunks/DwEShcLP.js.br +0 -0
  31. package/build/client/_app/immutable/chunks/DwEShcLP.js.gz +0 -0
  32. package/build/client/_app/immutable/entry/{app.BFdaM-OC.js → app.D5lUGJr1.js} +2 -2
  33. package/build/client/_app/immutable/entry/app.D5lUGJr1.js.br +0 -0
  34. package/build/client/_app/immutable/entry/app.D5lUGJr1.js.gz +0 -0
  35. package/build/client/_app/immutable/entry/start.CKoCEnYJ.js +1 -0
  36. package/build/client/_app/immutable/entry/start.CKoCEnYJ.js.br +0 -0
  37. package/build/client/_app/immutable/entry/start.CKoCEnYJ.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{0.C-cj1xnK.js → 0.anwXhDvm.js} +1 -1
  39. package/build/client/_app/immutable/nodes/0.anwXhDvm.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/0.anwXhDvm.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{1.KX3Ouskb.js → 1.DrRwtvKf.js} +1 -1
  42. package/build/client/_app/immutable/nodes/1.DrRwtvKf.js.br +1 -0
  43. package/build/client/_app/immutable/nodes/1.DrRwtvKf.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{10.DaI768ue.js → 10.BLqUjjTI.js} +1 -1
  45. package/build/client/_app/immutable/nodes/10.BLqUjjTI.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/10.BLqUjjTI.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/4.paHt3QH9.js +124 -0
  48. package/build/client/_app/immutable/nodes/4.paHt3QH9.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/4.paHt3QH9.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/{5.Cqj1Uy4b.js → 5.bKLnh085.js} +1 -1
  51. package/build/client/_app/immutable/nodes/5.bKLnh085.js.br +0 -0
  52. package/build/client/_app/immutable/nodes/5.bKLnh085.js.gz +0 -0
  53. package/build/client/_app/immutable/nodes/{6.CG5aMbsS.js → 6.DRi42KoD.js} +1 -1
  54. package/build/client/_app/immutable/nodes/6.DRi42KoD.js.br +0 -0
  55. package/build/client/_app/immutable/nodes/6.DRi42KoD.js.gz +0 -0
  56. package/build/client/_app/immutable/nodes/7.BvgWYGnm.js +2 -0
  57. package/build/client/_app/immutable/nodes/7.BvgWYGnm.js.br +0 -0
  58. package/build/client/_app/immutable/nodes/7.BvgWYGnm.js.gz +0 -0
  59. package/build/client/_app/immutable/nodes/{8.DPvOTkXF.js → 8.BKAKOw6V.js} +1 -1
  60. package/build/client/_app/immutable/nodes/8.BKAKOw6V.js.br +0 -0
  61. package/build/client/_app/immutable/nodes/8.BKAKOw6V.js.gz +0 -0
  62. package/build/client/_app/immutable/nodes/{9.CGqEpaze.js → 9.DwWxN6-k.js} +1 -1
  63. package/build/client/_app/immutable/nodes/9.DwWxN6-k.js.br +0 -0
  64. package/build/client/_app/immutable/nodes/{9.CGqEpaze.js.gz → 9.DwWxN6-k.js.gz} +0 -0
  65. package/build/client/_app/version.json +1 -1
  66. package/build/client/_app/version.json.br +1 -1
  67. package/build/client/_app/version.json.gz +0 -0
  68. package/build/server/chunks/{0-BLQ3qoWN.js → 0-BiE1oF-J.js} +3 -3
  69. package/build/server/chunks/{0-BLQ3qoWN.js.map → 0-BiE1oF-J.js.map} +1 -1
  70. package/build/server/chunks/1-B-LNip7q.js +9 -0
  71. package/build/server/chunks/{1-CVrKLjbA.js.map → 1-B-LNip7q.js.map} +1 -1
  72. package/build/server/chunks/{10-Ce8EZ3XD.js → 10-CS2lFzh1.js} +6 -6
  73. package/build/server/chunks/{10-Ce8EZ3XD.js.map → 10-CS2lFzh1.js.map} +1 -1
  74. package/build/server/chunks/4-CliJOxWK.js +9 -0
  75. package/build/server/chunks/4-CliJOxWK.js.map +1 -0
  76. package/build/server/chunks/{5-BVHXxvQI.js → 5-DkkL3QsU.js} +3 -3
  77. package/build/server/chunks/{5-BVHXxvQI.js.map → 5-DkkL3QsU.js.map} +1 -1
  78. package/build/server/chunks/6-B6ZHxJZG.js +9 -0
  79. package/build/server/chunks/{6-__nfGbmK.js.map → 6-B6ZHxJZG.js.map} +1 -1
  80. package/build/server/chunks/7-CIl66k8R.js +9 -0
  81. package/build/server/chunks/7-CIl66k8R.js.map +1 -0
  82. package/build/server/chunks/{8-BZ3hpqr-.js → 8-Dbz3fLZs.js} +3 -3
  83. package/build/server/chunks/{8-BZ3hpqr-.js.map → 8-Dbz3fLZs.js.map} +1 -1
  84. package/build/server/chunks/{9-hjBfpj1A.js → 9-CnaXNk2w.js} +3 -3
  85. package/build/server/chunks/{9-hjBfpj1A.js.map → 9-CnaXNk2w.js.map} +1 -1
  86. package/build/server/chunks/{ChatMessage-6KR_zJHH.js → IconAlert-eLDsz7qz.js} +53 -172
  87. package/build/server/chunks/IconAlert-eLDsz7qz.js.map +1 -0
  88. package/build/server/chunks/{IconMic-D7z31i-c.js → IconMic-DMJf4zcn.js} +27 -2
  89. package/build/server/chunks/IconMic-DMJf4zcn.js.map +1 -0
  90. package/build/server/chunks/{Navbar-DUlMyfJm.js → Navbar-CbBudHU6.js} +6 -6
  91. package/build/server/chunks/{Navbar-DUlMyfJm.js.map → Navbar-CbBudHU6.js.map} +1 -1
  92. package/build/server/chunks/{_layout.svelte-CtPb7AoM.js → _layout.svelte-B5opDXuf.js} +2 -2
  93. package/build/server/chunks/{_layout.svelte-CtPb7AoM.js.map → _layout.svelte-B5opDXuf.js.map} +1 -1
  94. package/build/server/chunks/{_page.svelte-BNYhhZ7t.js → _page.svelte-1VhBiAl_.js} +157 -40
  95. package/build/server/chunks/_page.svelte-1VhBiAl_.js.map +1 -0
  96. package/build/server/chunks/{_page.svelte-DZthwDry.js → _page.svelte-6gpwjZv0.js} +3 -3
  97. package/build/server/chunks/{_page.svelte-DZthwDry.js.map → _page.svelte-6gpwjZv0.js.map} +1 -1
  98. package/build/server/chunks/{_page.svelte-tvMBqXuw.js → _page.svelte-Bd16jege.js} +3 -3
  99. package/build/server/chunks/{_page.svelte-tvMBqXuw.js.map → _page.svelte-Bd16jege.js.map} +1 -1
  100. package/build/server/chunks/{_page.svelte-Dxaw9uJe.js → _page.svelte-Boq5WJfs.js} +92 -16
  101. package/build/server/chunks/_page.svelte-Boq5WJfs.js.map +1 -0
  102. package/build/server/chunks/{_page.svelte-C6EaFxLq.js → _page.svelte-DM-4V1_g.js} +8 -8
  103. package/build/server/chunks/{_page.svelte-C6EaFxLq.js.map → _page.svelte-DM-4V1_g.js.map} +1 -1
  104. package/build/server/chunks/{_page.svelte-BYdCbFxZ.js → _page.svelte-jdDbUptn.js} +8 -8
  105. package/build/server/chunks/{_page.svelte-BYdCbFxZ.js.map → _page.svelte-jdDbUptn.js.map} +1 -1
  106. package/build/server/chunks/{_page.svelte-DG-bVTzV.js → _page.svelte-yAnFAnHi.js} +2 -2
  107. package/build/server/chunks/{_page.svelte-DG-bVTzV.js.map → _page.svelte-yAnFAnHi.js.map} +1 -1
  108. package/build/server/chunks/{_server.ts-DeZK1m8O.js → _server.ts-0x3ZsRoq.js} +7 -7
  109. package/build/server/chunks/{_server.ts-DeZK1m8O.js.map → _server.ts-0x3ZsRoq.js.map} +1 -1
  110. package/build/server/chunks/{_server.ts-BmWqHM7V.js → _server.ts-1fytrAUC.js} +5 -5
  111. package/build/server/chunks/{_server.ts-BmWqHM7V.js.map → _server.ts-1fytrAUC.js.map} +1 -1
  112. package/build/server/chunks/{_server.ts-DZUVpKi8.js → _server.ts-2trnHYNR.js} +5 -5
  113. package/build/server/chunks/{_server.ts-DZUVpKi8.js.map → _server.ts-2trnHYNR.js.map} +1 -1
  114. package/build/server/chunks/{_server.ts-CbvVdN_e.js → _server.ts-3IGr8J7j.js} +5 -5
  115. package/build/server/chunks/{_server.ts-CbvVdN_e.js.map → _server.ts-3IGr8J7j.js.map} +1 -1
  116. package/build/server/chunks/{_server.ts-Dz0r-R97.js → _server.ts-4HApbECL.js} +5 -5
  117. package/build/server/chunks/{_server.ts-Dz0r-R97.js.map → _server.ts-4HApbECL.js.map} +1 -1
  118. package/build/server/chunks/{_server.ts-BaAFwTQE.js → _server.ts-4cGCnV5A.js} +6 -6
  119. package/build/server/chunks/{_server.ts-BaAFwTQE.js.map → _server.ts-4cGCnV5A.js.map} +1 -1
  120. package/build/server/chunks/{_server.ts-DVF2wxOo.js → _server.ts-5mKh6tgD.js} +5 -5
  121. package/build/server/chunks/{_server.ts-DVF2wxOo.js.map → _server.ts-5mKh6tgD.js.map} +1 -1
  122. package/build/server/chunks/{_server.ts-DPF3aMB-.js → _server.ts-B-gZIXCx.js} +5 -5
  123. package/build/server/chunks/{_server.ts-DPF3aMB-.js.map → _server.ts-B-gZIXCx.js.map} +1 -1
  124. package/build/server/chunks/{_server.ts-DBQin7Nq.js → _server.ts-B1LApKwc.js} +5 -5
  125. package/build/server/chunks/{_server.ts-DBQin7Nq.js.map → _server.ts-B1LApKwc.js.map} +1 -1
  126. package/build/server/chunks/{_server.ts-Ds3z4PGJ.js → _server.ts-B5s8k9IW.js} +5 -5
  127. package/build/server/chunks/{_server.ts-Ds3z4PGJ.js.map → _server.ts-B5s8k9IW.js.map} +1 -1
  128. package/build/server/chunks/{_server.ts-D5GaGe4q.js → _server.ts-B7oDgVRm.js} +7 -7
  129. package/build/server/chunks/{_server.ts-D5GaGe4q.js.map → _server.ts-B7oDgVRm.js.map} +1 -1
  130. package/build/server/chunks/{_server.ts-BJTHAeIZ.js → _server.ts-BA7OxoAM.js} +6 -6
  131. package/build/server/chunks/{_server.ts-BJTHAeIZ.js.map → _server.ts-BA7OxoAM.js.map} +1 -1
  132. package/build/server/chunks/{_server.ts-DVGWhcUO.js → _server.ts-BCqZP9mX.js} +7 -7
  133. package/build/server/chunks/{_server.ts-DVGWhcUO.js.map → _server.ts-BCqZP9mX.js.map} +1 -1
  134. package/build/server/chunks/{_server.ts-DHDXUYeD.js → _server.ts-BE9eO04W.js} +5 -5
  135. package/build/server/chunks/{_server.ts-DHDXUYeD.js.map → _server.ts-BE9eO04W.js.map} +1 -1
  136. package/build/server/chunks/{_server.ts-rmvy1g6m.js → _server.ts-BUf-IIIm.js} +5 -5
  137. package/build/server/chunks/{_server.ts-rmvy1g6m.js.map → _server.ts-BUf-IIIm.js.map} +1 -1
  138. package/build/server/chunks/{_server.ts-yfpXYRHf.js → _server.ts-BW13CurN.js} +5 -5
  139. package/build/server/chunks/{_server.ts-yfpXYRHf.js.map → _server.ts-BW13CurN.js.map} +1 -1
  140. package/build/server/chunks/{_server.ts-DmLb4m64.js → _server.ts-BWh3c-xu.js} +5 -5
  141. package/build/server/chunks/{_server.ts-DmLb4m64.js.map → _server.ts-BWh3c-xu.js.map} +1 -1
  142. package/build/server/chunks/{_server.ts-CuqA65YO.js → _server.ts-BYDgL8Wh.js} +6 -6
  143. package/build/server/chunks/{_server.ts-CuqA65YO.js.map → _server.ts-BYDgL8Wh.js.map} +1 -1
  144. package/build/server/chunks/{_server.ts-CGpLph00.js → _server.ts-B_9-b1wk.js} +5 -5
  145. package/build/server/chunks/{_server.ts-CGpLph00.js.map → _server.ts-B_9-b1wk.js.map} +1 -1
  146. package/build/server/chunks/{_server.ts-Cr48FbKi.js → _server.ts-Bbc4zzJy.js} +6 -6
  147. package/build/server/chunks/{_server.ts-Cr48FbKi.js.map → _server.ts-Bbc4zzJy.js.map} +1 -1
  148. package/build/server/chunks/{_server.ts-C2XqG-Q2.js → _server.ts-BhmHIGs6.js} +5 -5
  149. package/build/server/chunks/{_server.ts-C2XqG-Q2.js.map → _server.ts-BhmHIGs6.js.map} +1 -1
  150. package/build/server/chunks/{_server.ts-C9MzpQd4.js → _server.ts-BhuoSeRy.js} +5 -5
  151. package/build/server/chunks/{_server.ts-C9MzpQd4.js.map → _server.ts-BhuoSeRy.js.map} +1 -1
  152. package/build/server/chunks/{_server.ts-ByGXYk2l.js → _server.ts-BnL_ReBS.js} +4 -4
  153. package/build/server/chunks/{_server.ts-ByGXYk2l.js.map → _server.ts-BnL_ReBS.js.map} +1 -1
  154. package/build/server/chunks/{_server.ts-D0N4sB9X.js → _server.ts-BoOQ7F2z.js} +8 -8
  155. package/build/server/chunks/{_server.ts-D0N4sB9X.js.map → _server.ts-BoOQ7F2z.js.map} +1 -1
  156. package/build/server/chunks/{_server.ts-DqPWs5R1.js → _server.ts-Bry3Z40C.js} +7 -7
  157. package/build/server/chunks/{_server.ts-DqPWs5R1.js.map → _server.ts-Bry3Z40C.js.map} +1 -1
  158. package/build/server/chunks/{_server.ts-BwJrHUUB.js → _server.ts-BtVLVJf0.js} +6 -6
  159. package/build/server/chunks/{_server.ts-BwJrHUUB.js.map → _server.ts-BtVLVJf0.js.map} +1 -1
  160. package/build/server/chunks/{_server.ts-DYv9BDaZ.js → _server.ts-BzISiSHa.js} +5 -5
  161. package/build/server/chunks/{_server.ts-DYv9BDaZ.js.map → _server.ts-BzISiSHa.js.map} +1 -1
  162. package/build/server/chunks/{_server.ts-B4AANoeg.js → _server.ts-C7PeR-ll.js} +5 -5
  163. package/build/server/chunks/{_server.ts-B4AANoeg.js.map → _server.ts-C7PeR-ll.js.map} +1 -1
  164. package/build/server/chunks/{_server.ts-DN4MrDts.js → _server.ts-C8NW6VWR.js} +6 -6
  165. package/build/server/chunks/{_server.ts-DN4MrDts.js.map → _server.ts-C8NW6VWR.js.map} +1 -1
  166. package/build/server/chunks/{_server.ts-Y75fVVpr.js → _server.ts-CF0aKxAL.js} +2 -2
  167. package/build/server/chunks/{_server.ts-Y75fVVpr.js.map → _server.ts-CF0aKxAL.js.map} +1 -1
  168. package/build/server/chunks/{_server.ts-CTqLfvnu.js → _server.ts-CH-OPdXJ.js} +5 -5
  169. package/build/server/chunks/{_server.ts-CTqLfvnu.js.map → _server.ts-CH-OPdXJ.js.map} +1 -1
  170. package/build/server/chunks/{_server.ts-BgYB-mao.js → _server.ts-CPsQ5aGi.js} +5 -5
  171. package/build/server/chunks/{_server.ts-BgYB-mao.js.map → _server.ts-CPsQ5aGi.js.map} +1 -1
  172. package/build/server/chunks/{_server.ts-BOQtqfyz.js → _server.ts-CQ8JX5O7.js} +5 -5
  173. package/build/server/chunks/{_server.ts-BOQtqfyz.js.map → _server.ts-CQ8JX5O7.js.map} +1 -1
  174. package/build/server/chunks/{_server.ts-DdJ6JtrY.js → _server.ts-CQPRTbTX.js} +5 -5
  175. package/build/server/chunks/{_server.ts-DdJ6JtrY.js.map → _server.ts-CQPRTbTX.js.map} +1 -1
  176. package/build/server/chunks/{_server.ts-IFkzxUJw.js → _server.ts-CTVpEmAc.js} +5 -5
  177. package/build/server/chunks/{_server.ts-IFkzxUJw.js.map → _server.ts-CTVpEmAc.js.map} +1 -1
  178. package/build/server/chunks/{_server.ts-C6Afnups.js → _server.ts-CWVi9VhR.js} +5 -5
  179. package/build/server/chunks/{_server.ts-C6Afnups.js.map → _server.ts-CWVi9VhR.js.map} +1 -1
  180. package/build/server/chunks/{_server.ts-BeSZIZc7.js → _server.ts-CXQd0L0u.js} +2 -2
  181. package/build/server/chunks/{_server.ts-BeSZIZc7.js.map → _server.ts-CXQd0L0u.js.map} +1 -1
  182. package/build/server/chunks/{_server.ts-BAebWsB3.js → _server.ts-Cgg_3L-k.js} +6 -6
  183. package/build/server/chunks/{_server.ts-BAebWsB3.js.map → _server.ts-Cgg_3L-k.js.map} +1 -1
  184. package/build/server/chunks/{_server.ts-B63mNhnv.js → _server.ts-ChvbGMR6.js} +4 -4
  185. package/build/server/chunks/{_server.ts-B63mNhnv.js.map → _server.ts-ChvbGMR6.js.map} +1 -1
  186. package/build/server/chunks/{_server.ts-CF1wRhsj.js → _server.ts-CnByyw9m.js} +2 -2
  187. package/build/server/chunks/{_server.ts-CF1wRhsj.js.map → _server.ts-CnByyw9m.js.map} +1 -1
  188. package/build/server/chunks/{_server.ts-DFDjhrqJ.js → _server.ts-Ct_0qiMK.js} +6 -6
  189. package/build/server/chunks/{_server.ts-DFDjhrqJ.js.map → _server.ts-Ct_0qiMK.js.map} +1 -1
  190. package/build/server/chunks/{_server.ts-TITk8Kne.js → _server.ts-Cu1u6Fq3.js} +5 -5
  191. package/build/server/chunks/{_server.ts-TITk8Kne.js.map → _server.ts-Cu1u6Fq3.js.map} +1 -1
  192. package/build/server/chunks/{_server.ts-B5XmZ4Yc.js → _server.ts-Cuq4zRUh.js} +5 -5
  193. package/build/server/chunks/{_server.ts-B5XmZ4Yc.js.map → _server.ts-Cuq4zRUh.js.map} +1 -1
  194. package/build/server/chunks/{_server.ts-BAERQjfu.js → _server.ts-Cx8pH99_.js} +5 -5
  195. package/build/server/chunks/{_server.ts-BAERQjfu.js.map → _server.ts-Cx8pH99_.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-ByyrlTLw.js → _server.ts-D-eORdC8.js} +6 -6
  197. package/build/server/chunks/{_server.ts-ByyrlTLw.js.map → _server.ts-D-eORdC8.js.map} +1 -1
  198. package/build/server/chunks/{_server.ts-DNXIRmXr.js → _server.ts-D1cvo-nO.js} +5 -5
  199. package/build/server/chunks/{_server.ts-DNXIRmXr.js.map → _server.ts-D1cvo-nO.js.map} +1 -1
  200. package/build/server/chunks/{_server.ts-CnFqYcci.js → _server.ts-D4nuqQNX.js} +7 -7
  201. package/build/server/chunks/{_server.ts-CnFqYcci.js.map → _server.ts-D4nuqQNX.js.map} +1 -1
  202. package/build/server/chunks/{_server.ts-EVOFhq9N.js → _server.ts-D6aAJoCf.js} +5 -5
  203. package/build/server/chunks/{_server.ts-EVOFhq9N.js.map → _server.ts-D6aAJoCf.js.map} +1 -1
  204. package/build/server/chunks/{_server.ts-BtoFmiAP.js → _server.ts-D9PUEjiN.js} +5 -5
  205. package/build/server/chunks/{_server.ts-BtoFmiAP.js.map → _server.ts-D9PUEjiN.js.map} +1 -1
  206. package/build/server/chunks/{_server.ts-CuYYPS6N.js → _server.ts-DAiD8z-P.js} +5 -5
  207. package/build/server/chunks/{_server.ts-CuYYPS6N.js.map → _server.ts-DAiD8z-P.js.map} +1 -1
  208. package/build/server/chunks/{_server.ts-xK5YGdBR.js → _server.ts-DDKL_uuS.js} +7 -7
  209. package/build/server/chunks/{_server.ts-xK5YGdBR.js.map → _server.ts-DDKL_uuS.js.map} +1 -1
  210. package/build/server/chunks/{_server.ts-CC5bii6D.js → _server.ts-DGkgd0uc.js} +5 -5
  211. package/build/server/chunks/{_server.ts-CC5bii6D.js.map → _server.ts-DGkgd0uc.js.map} +1 -1
  212. package/build/server/chunks/{_server.ts-BtkQ0nbr.js → _server.ts-DHig-2Ii.js} +5 -5
  213. package/build/server/chunks/{_server.ts-BtkQ0nbr.js.map → _server.ts-DHig-2Ii.js.map} +1 -1
  214. package/build/server/chunks/{_server.ts-FTC-tgFz.js → _server.ts-DJdHVo2c.js} +5 -5
  215. package/build/server/chunks/{_server.ts-FTC-tgFz.js.map → _server.ts-DJdHVo2c.js.map} +1 -1
  216. package/build/server/chunks/{_server.ts-BMvXBmzA.js → _server.ts-DLrsnGKc.js} +6 -6
  217. package/build/server/chunks/{_server.ts-BMvXBmzA.js.map → _server.ts-DLrsnGKc.js.map} +1 -1
  218. package/build/server/chunks/{_server.ts-DIeOLqyQ.js → _server.ts-DRYh6JJM.js} +5 -5
  219. package/build/server/chunks/{_server.ts-DIeOLqyQ.js.map → _server.ts-DRYh6JJM.js.map} +1 -1
  220. package/build/server/chunks/{_server.ts-CTwc4hbs.js → _server.ts-DUbqsB2y.js} +2 -2
  221. package/build/server/chunks/{_server.ts-CTwc4hbs.js.map → _server.ts-DUbqsB2y.js.map} +1 -1
  222. package/build/server/chunks/{_server.ts-DxQNKsI_.js → _server.ts-DVRwJs1D.js} +5 -5
  223. package/build/server/chunks/{_server.ts-DxQNKsI_.js.map → _server.ts-DVRwJs1D.js.map} +1 -1
  224. package/build/server/chunks/{_server.ts-D58sAuTL.js → _server.ts-DYZ1SnMq.js} +5 -5
  225. package/build/server/chunks/{_server.ts-D58sAuTL.js.map → _server.ts-DYZ1SnMq.js.map} +1 -1
  226. package/build/server/chunks/{_server.ts-Q-E1sg4x.js → _server.ts-DdpgDdUI.js} +5 -5
  227. package/build/server/chunks/{_server.ts-Q-E1sg4x.js.map → _server.ts-DdpgDdUI.js.map} +1 -1
  228. package/build/server/chunks/{_server.ts-CNeu1Nsk.js → _server.ts-DhVR_dEn.js} +5 -5
  229. package/build/server/chunks/{_server.ts-CNeu1Nsk.js.map → _server.ts-DhVR_dEn.js.map} +1 -1
  230. package/build/server/chunks/{_server.ts-BO-JdDjO.js → _server.ts-DorWUEnZ.js} +5 -5
  231. package/build/server/chunks/{_server.ts-BO-JdDjO.js.map → _server.ts-DorWUEnZ.js.map} +1 -1
  232. package/build/server/chunks/{_server.ts-C4tg4iFm.js → _server.ts-DptdgCp1.js} +5 -5
  233. package/build/server/chunks/{_server.ts-C4tg4iFm.js.map → _server.ts-DptdgCp1.js.map} +1 -1
  234. package/build/server/chunks/{_server.ts-BU0eUW3G.js → _server.ts-DyFhMY-d.js} +5 -5
  235. package/build/server/chunks/{_server.ts-BU0eUW3G.js.map → _server.ts-DyFhMY-d.js.map} +1 -1
  236. package/build/server/chunks/{_server.ts-CNRGIyf0.js → _server.ts-FBHhAciM.js} +5 -5
  237. package/build/server/chunks/{_server.ts-CNRGIyf0.js.map → _server.ts-FBHhAciM.js.map} +1 -1
  238. package/build/server/chunks/{_server.ts-iORf1RrR.js → _server.ts-H0_rl9HF.js} +6 -6
  239. package/build/server/chunks/{_server.ts-iORf1RrR.js.map → _server.ts-H0_rl9HF.js.map} +1 -1
  240. package/build/server/chunks/{_server.ts-rBEZAYpQ.js → _server.ts-MGCXhBlP.js} +5 -5
  241. package/build/server/chunks/{_server.ts-rBEZAYpQ.js.map → _server.ts-MGCXhBlP.js.map} +1 -1
  242. package/build/server/chunks/{_server.ts-DEH-K579.js → _server.ts-OXR06_zO.js} +2 -2
  243. package/build/server/chunks/{_server.ts-DEH-K579.js.map → _server.ts-OXR06_zO.js.map} +1 -1
  244. package/build/server/chunks/{_server.ts-DTLI_nBN.js → _server.ts-QbGAW-It.js} +5 -5
  245. package/build/server/chunks/{_server.ts-DTLI_nBN.js.map → _server.ts-QbGAW-It.js.map} +1 -1
  246. package/build/server/chunks/{_server.ts-Dwh0tCGZ.js → _server.ts-TAvt1Rlb.js} +5 -5
  247. package/build/server/chunks/{_server.ts-Dwh0tCGZ.js.map → _server.ts-TAvt1Rlb.js.map} +1 -1
  248. package/build/server/chunks/{_server.ts-BXL1W-kB.js → _server.ts-VXMfJF_F.js} +5 -5
  249. package/build/server/chunks/{_server.ts-BXL1W-kB.js.map → _server.ts-VXMfJF_F.js.map} +1 -1
  250. package/build/server/chunks/{_server.ts-eBK0_Hbz.js → _server.ts-XiInWDAF.js} +5 -5
  251. package/build/server/chunks/{_server.ts-eBK0_Hbz.js.map → _server.ts-XiInWDAF.js.map} +1 -1
  252. package/build/server/chunks/{_server.ts-BfNAQOYe.js → _server.ts-d08IyVdj.js} +6 -6
  253. package/build/server/chunks/{_server.ts-BfNAQOYe.js.map → _server.ts-d08IyVdj.js.map} +1 -1
  254. package/build/server/chunks/{_server.ts-g_vUepsn.js → _server.ts-dtw_InfP.js} +5 -5
  255. package/build/server/chunks/{_server.ts-g_vUepsn.js.map → _server.ts-dtw_InfP.js.map} +1 -1
  256. package/build/server/chunks/{_server.ts-CB_BFb7e.js → _server.ts-eTP3NGlu.js} +5 -5
  257. package/build/server/chunks/{_server.ts-CB_BFb7e.js.map → _server.ts-eTP3NGlu.js.map} +1 -1
  258. package/build/server/chunks/{_server.ts-C1cynJOZ.js → _server.ts-fm-L_1WH.js} +5 -5
  259. package/build/server/chunks/{_server.ts-C1cynJOZ.js.map → _server.ts-fm-L_1WH.js.map} +1 -1
  260. package/build/server/chunks/{_server.ts-B1hkm3X2.js → _server.ts-g5H0gdQB.js} +5 -5
  261. package/build/server/chunks/{_server.ts-B1hkm3X2.js.map → _server.ts-g5H0gdQB.js.map} +1 -1
  262. package/build/server/chunks/{_server.ts-DtJDd_qD.js → _server.ts-gBvSTaRH.js} +5 -5
  263. package/build/server/chunks/{_server.ts-DtJDd_qD.js.map → _server.ts-gBvSTaRH.js.map} +1 -1
  264. package/build/server/chunks/{_server.ts-wXXPxMsg.js → _server.ts-lMB9A2Vx.js} +5 -5
  265. package/build/server/chunks/{_server.ts-wXXPxMsg.js.map → _server.ts-lMB9A2Vx.js.map} +1 -1
  266. package/build/server/chunks/{_server.ts-Dg4a0yw1.js → _server.ts-tww34LXr.js} +5 -5
  267. package/build/server/chunks/{_server.ts-Dg4a0yw1.js.map → _server.ts-tww34LXr.js.map} +1 -1
  268. package/build/server/chunks/{_server.ts-qx3jlXPK.js → _server.ts-xgg0Rj1C.js} +5 -5
  269. package/build/server/chunks/{_server.ts-qx3jlXPK.js.map → _server.ts-xgg0Rj1C.js.map} +1 -1
  270. package/build/server/chunks/{_server.ts-B75mdbmi.js → _server.ts-yO3j4YDH.js} +5 -5
  271. package/build/server/chunks/{_server.ts-B75mdbmi.js.map → _server.ts-yO3j4YDH.js.map} +1 -1
  272. package/build/server/chunks/{addon-helpers-DpXntTl4.js → addon-helpers-DnZ1IPC7.js} +3 -3
  273. package/build/server/chunks/{addon-helpers-DpXntTl4.js.map → addon-helpers-DnZ1IPC7.js.map} +1 -1
  274. package/build/server/chunks/{akm-6CeMy4Ox.js → akm-BVM3F-FY.js} +2 -2
  275. package/build/server/chunks/{akm-6CeMy4Ox.js.map → akm-BVM3F-FY.js.map} +1 -1
  276. package/build/server/chunks/{catalog-DPsuf1zj.js → catalog-B_9Qf_Tj.js} +5 -5
  277. package/build/server/chunks/{catalog-DPsuf1zj.js.map → catalog-B_9Qf_Tj.js.map} +1 -1
  278. package/build/server/chunks/{client-ffdGZ3sp.js → client-CEfPhREO.js} +2 -2
  279. package/build/server/chunks/{client-ffdGZ3sp.js.map → client-CEfPhREO.js.map} +1 -1
  280. package/build/server/chunks/{config-Dqq9cLxx.js → config-VJ5wAdKd.js} +2 -2
  281. package/build/server/chunks/{config-Dqq9cLxx.js.map → config-VJ5wAdKd.js.map} +1 -1
  282. package/build/server/chunks/{docker-BSUpGiXy.js → docker-7rKo0FDm.js} +2 -2
  283. package/build/server/chunks/{docker-BSUpGiXy.js.map → docker-7rKo0FDm.js.map} +1 -1
  284. package/build/server/chunks/{endpoints-l4xlthcJ.js → endpoints-DUs5zmwI.js} +2 -2
  285. package/build/server/chunks/{endpoints-l4xlthcJ.js.map → endpoints-DUs5zmwI.js.map} +1 -1
  286. package/build/server/chunks/environment-DqfL567G.js.map +1 -1
  287. package/build/server/chunks/{error.svelte-B_Ffh5ZD.js → error.svelte-DXUxoirZ.js} +4 -4
  288. package/build/server/chunks/{error.svelte-B_Ffh5ZD.js.map → error.svelte-DXUxoirZ.js.map} +1 -1
  289. package/build/server/chunks/{helpers-BM-xWM7P.js → helpers-GEmeDI6e.js} +5 -6
  290. package/build/server/chunks/helpers-GEmeDI6e.js.map +1 -0
  291. package/build/server/chunks/{hooks.server-CP637JxQ.js → hooks.server-CwgeONEs.js} +6 -6
  292. package/build/server/chunks/hooks.server-CwgeONEs.js.map +1 -0
  293. package/build/server/chunks/{http-C4A6p54g.js → http-BzGcbSMh.js} +2 -2
  294. package/build/server/chunks/{http-C4A6p54g.js.map → http-BzGcbSMh.js.map} +1 -1
  295. package/build/server/chunks/{internal-Bt4slJwb.js → internal-CWT3-fy-.js} +3 -3
  296. package/build/server/chunks/{internal-Bt4slJwb.js.map → internal-CWT3-fy-.js.map} +1 -1
  297. package/build/server/chunks/{paths-C4UGwNn5.js → paths-D8yGDgAD.js} +2 -2
  298. package/build/server/chunks/{paths-C4UGwNn5.js.map → paths-D8yGDgAD.js.map} +1 -1
  299. package/build/server/chunks/{session-cookie-BKu1-pgJ.js → session-cookie-IMj1chTO.js} +2 -2
  300. package/build/server/chunks/{session-cookie-BKu1-pgJ.js.map → session-cookie-IMj1chTO.js.map} +1 -1
  301. package/build/server/chunks/{setup-deploy-BeHZenlf.js → setup-deploy-DhMA_slP.js} +2 -2
  302. package/build/server/chunks/{setup-deploy-BeHZenlf.js.map → setup-deploy-DhMA_slP.js.map} +1 -1
  303. package/build/server/chunks/{src-DiiTRPTT.js → src-DBYue8Tb.js} +2 -2
  304. package/build/server/chunks/{src-DiiTRPTT.js.map → src-DBYue8Tb.js.map} +1 -1
  305. package/build/server/chunks/{state-ClKZUXL6.js → state-Bpt5dC1X.js} +2 -2
  306. package/build/server/chunks/{state-ClKZUXL6.js.map → state-Bpt5dC1X.js.map} +1 -1
  307. package/build/server/chunks/{state2-3Dq4C83o.js → state2-D20PkMjF.js} +2 -2
  308. package/build/server/chunks/{state2-3Dq4C83o.js.map → state2-D20PkMjF.js.map} +1 -1
  309. package/build/server/chunks/{theme-state.svelte-DshW_ZYI.js → theme-state.svelte-DPdcwIRf.js} +240 -2
  310. package/build/server/chunks/theme-state.svelte-DPdcwIRf.js.map +1 -0
  311. package/build/server/index.js +1 -1
  312. package/build/server/manifest.js +92 -92
  313. package/build/server/manifest.js.map +1 -1
  314. package/package.json +2 -2
  315. package/build/client/_app/immutable/assets/4.2S7Y5od3.css.br +0 -0
  316. package/build/client/_app/immutable/assets/4.2S7Y5od3.css.gz +0 -0
  317. package/build/client/_app/immutable/assets/7.2p9IYK2G.css +0 -1
  318. package/build/client/_app/immutable/assets/7.2p9IYK2G.css.br +0 -0
  319. package/build/client/_app/immutable/assets/7.2p9IYK2G.css.gz +0 -0
  320. package/build/client/_app/immutable/assets/ChatMessage.Bir85vV2.css +0 -1
  321. package/build/client/_app/immutable/assets/ChatMessage.Bir85vV2.css.br +0 -0
  322. package/build/client/_app/immutable/assets/ChatMessage.Bir85vV2.css.gz +0 -0
  323. package/build/client/_app/immutable/chunks/BZAs55y_.js +0 -5
  324. package/build/client/_app/immutable/chunks/BZAs55y_.js.br +0 -0
  325. package/build/client/_app/immutable/chunks/BZAs55y_.js.gz +0 -0
  326. package/build/client/_app/immutable/chunks/CDBZFq_t.js +0 -3
  327. package/build/client/_app/immutable/chunks/CDBZFq_t.js.br +0 -0
  328. package/build/client/_app/immutable/chunks/CDBZFq_t.js.gz +0 -0
  329. package/build/client/_app/immutable/chunks/CKVZpD28.js +0 -15
  330. package/build/client/_app/immutable/chunks/CKVZpD28.js.br +0 -0
  331. package/build/client/_app/immutable/chunks/CKVZpD28.js.gz +0 -0
  332. package/build/client/_app/immutable/chunks/DsC4kR0j.js.br +0 -0
  333. package/build/client/_app/immutable/chunks/DsC4kR0j.js.gz +0 -0
  334. package/build/client/_app/immutable/chunks/H2DLFDya.js +0 -1
  335. package/build/client/_app/immutable/chunks/H2DLFDya.js.br +0 -2
  336. package/build/client/_app/immutable/chunks/H2DLFDya.js.gz +0 -0
  337. package/build/client/_app/immutable/chunks/YN5ShA1l.js +0 -1
  338. package/build/client/_app/immutable/chunks/YN5ShA1l.js.br +0 -0
  339. package/build/client/_app/immutable/chunks/YN5ShA1l.js.gz +0 -0
  340. package/build/client/_app/immutable/chunks/aCnE6_tC.js.br +0 -0
  341. package/build/client/_app/immutable/chunks/aCnE6_tC.js.gz +0 -0
  342. package/build/client/_app/immutable/entry/app.BFdaM-OC.js.br +0 -0
  343. package/build/client/_app/immutable/entry/app.BFdaM-OC.js.gz +0 -0
  344. package/build/client/_app/immutable/entry/start.DhXDSrhM.js +0 -1
  345. package/build/client/_app/immutable/entry/start.DhXDSrhM.js.br +0 -1
  346. package/build/client/_app/immutable/entry/start.DhXDSrhM.js.gz +0 -0
  347. package/build/client/_app/immutable/nodes/0.C-cj1xnK.js.br +0 -0
  348. package/build/client/_app/immutable/nodes/0.C-cj1xnK.js.gz +0 -0
  349. package/build/client/_app/immutable/nodes/1.KX3Ouskb.js.br +0 -2
  350. package/build/client/_app/immutable/nodes/1.KX3Ouskb.js.gz +0 -0
  351. package/build/client/_app/immutable/nodes/10.DaI768ue.js.br +0 -0
  352. package/build/client/_app/immutable/nodes/10.DaI768ue.js.gz +0 -0
  353. package/build/client/_app/immutable/nodes/4.BDopUiq2.js +0 -123
  354. package/build/client/_app/immutable/nodes/4.BDopUiq2.js.br +0 -0
  355. package/build/client/_app/immutable/nodes/4.BDopUiq2.js.gz +0 -0
  356. package/build/client/_app/immutable/nodes/5.Cqj1Uy4b.js.br +0 -0
  357. package/build/client/_app/immutable/nodes/5.Cqj1Uy4b.js.gz +0 -0
  358. package/build/client/_app/immutable/nodes/6.CG5aMbsS.js.br +0 -0
  359. package/build/client/_app/immutable/nodes/6.CG5aMbsS.js.gz +0 -0
  360. package/build/client/_app/immutable/nodes/7.C7GW-yrC.js +0 -1
  361. package/build/client/_app/immutable/nodes/7.C7GW-yrC.js.br +0 -0
  362. package/build/client/_app/immutable/nodes/7.C7GW-yrC.js.gz +0 -0
  363. package/build/client/_app/immutable/nodes/8.DPvOTkXF.js.br +0 -0
  364. package/build/client/_app/immutable/nodes/8.DPvOTkXF.js.gz +0 -0
  365. package/build/client/_app/immutable/nodes/9.CGqEpaze.js.br +0 -0
  366. package/build/server/chunks/1-CVrKLjbA.js +0 -9
  367. package/build/server/chunks/4-D-_xIXLF.js +0 -9
  368. package/build/server/chunks/4-D-_xIXLF.js.map +0 -1
  369. package/build/server/chunks/6-__nfGbmK.js +0 -9
  370. package/build/server/chunks/7-B0qs4G8k.js +0 -9
  371. package/build/server/chunks/7-B0qs4G8k.js.map +0 -1
  372. package/build/server/chunks/ChatMessage-6KR_zJHH.js.map +0 -1
  373. package/build/server/chunks/IconMic-D7z31i-c.js.map +0 -1
  374. package/build/server/chunks/_page.svelte-BNYhhZ7t.js.map +0 -1
  375. package/build/server/chunks/_page.svelte-Dxaw9uJe.js.map +0 -1
  376. package/build/server/chunks/helpers-BM-xWM7P.js.map +0 -1
  377. package/build/server/chunks/hooks.server-CP637JxQ.js.map +0 -1
  378. package/build/server/chunks/theme-state.svelte-DshW_ZYI.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { ab as isSetupComplete, aL as resolveOpenPalmHome, o as checkDocker } from './src-DiiTRPTT.js';
3
- import { g as getState } from './state-ClKZUXL6.js';
4
- import { g as getDeployState, s as startDeploy } from './setup-deploy-BeHZenlf.js';
2
+ import { ab as isSetupComplete, aL as resolveOpenPalmHome, o as checkDocker } from './src-DBYue8Tb.js';
3
+ import { g as getState } from './state-Bpt5dC1X.js';
4
+ import { g as getDeployState, s as startDeploy } from './setup-deploy-DhMA_slP.js';
5
5
  import './utils-BSRjJDrZ.js';
6
6
  import './chunk-CLZ62Ad-.js';
7
7
  import 'node:module';
@@ -47,4 +47,4 @@ var POST = async () => {
47
47
  };
48
48
 
49
49
  export { POST };
50
- //# sourceMappingURL=_server.ts-ByGXYk2l.js.map
50
+ //# sourceMappingURL=_server.ts-BnL_ReBS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-ByGXYk2l.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/retry-deploy/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Y as checkDocker, cn as resolveOpenPalmHome, ft as isSetupComplete } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { i as startDeploy, t as getDeployState } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/retry-deploy/+server.ts\nvar POST = async () => {\n\tif (isSetupComplete(resolveOpenPalmHome())) return json({\n\t\tok: false,\n\t\terror: \"setup_complete\",\n\t\tmessage: \"Setup is already complete.\"\n\t}, { status: 409 });\n\tif (!(await checkDocker()).ok) return json({\n\t\tok: false,\n\t\terror: \"docker_unavailable\",\n\t\tmessage: \"Docker isn't running. Start Docker, then retry deploy.\"\n\t}, { status: 503 });\n\tif (getDeployState(getState()).deploying) return json({\n\t\tok: false,\n\t\terror: \"install_in_progress\",\n\t\tmessage: \"A deploy is already running.\"\n\t}, { status: 409 });\n\tstartDeploy(getState());\n\treturn json({ ok: true });\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACG,IAAC,IAAI,GAAG,YAAY;AACvB,CAAC,IAAI,eAAe,CAAC,mBAAmB,EAAE,CAAC,EAAE,OAAO,IAAI,CAAC;AACzD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,KAAK,EAAE,gBAAgB;AACzB,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC;AAC5C,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,KAAK,EAAE,oBAAoB;AAC7B,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,IAAI,CAAC;AACvD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,KAAK,EAAE,qBAAqB;AAC9B,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC1B;;;;"}
1
+ {"version":3,"file":"_server.ts-BnL_ReBS.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/retry-deploy/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Y as checkDocker, cn as resolveOpenPalmHome, ft as isSetupComplete } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { i as startDeploy, t as getDeployState } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/retry-deploy/+server.ts\nvar POST = async () => {\n\tif (isSetupComplete(resolveOpenPalmHome())) return json({\n\t\tok: false,\n\t\terror: \"setup_complete\",\n\t\tmessage: \"Setup is already complete.\"\n\t}, { status: 409 });\n\tif (!(await checkDocker()).ok) return json({\n\t\tok: false,\n\t\terror: \"docker_unavailable\",\n\t\tmessage: \"Docker isn't running. Start Docker, then retry deploy.\"\n\t}, { status: 503 });\n\tif (getDeployState(getState()).deploying) return json({\n\t\tok: false,\n\t\terror: \"install_in_progress\",\n\t\tmessage: \"A deploy is already running.\"\n\t}, { status: 409 });\n\tstartDeploy(getState());\n\treturn json({ ok: true });\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACG,IAAC,IAAI,GAAG,YAAY;AACvB,CAAC,IAAI,eAAe,CAAC,mBAAmB,EAAE,CAAC,EAAE,OAAO,IAAI,CAAC;AACzD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,KAAK,EAAE,gBAAgB;AACzB,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC;AAC5C,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,KAAK,EAAE,oBAAoB;AAC7B,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,IAAI,CAAC;AACvD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,KAAK,EAAE,qBAAqB;AAC9B,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC1B;;;;"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-BM-xWM7P.js';
2
- import { l as loadProviderPage } from './catalog-DPsuf1zj.js';
3
- import './src-DiiTRPTT.js';
1
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-GEmeDI6e.js';
2
+ import { l as loadProviderPage } from './catalog-B_9Qf_Tj.js';
3
+ import './src-DBYue8Tb.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,11 +22,11 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-l4xlthcJ.js';
26
- import './state-ClKZUXL6.js';
25
+ import './endpoints-DUs5zmwI.js';
26
+ import './state-Bpt5dC1X.js';
27
27
  import './coercion-TNFJisCC.js';
28
- import './http-C4A6p54g.js';
29
- import './config-Dqq9cLxx.js';
28
+ import './http-BzGcbSMh.js';
29
+ import './config-VJ5wAdKd.js';
30
30
 
31
31
  //#region src/routes/admin/providers/+server.ts
32
32
  var GET = async (event) => {
@@ -37,4 +37,4 @@ var GET = async (event) => {
37
37
  };
38
38
 
39
39
  export { GET };
40
- //# sourceMappingURL=_server.ts-D0N4sB9X.js.map
40
+ //# sourceMappingURL=_server.ts-BoOQ7F2z.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-D0N4sB9X.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/_server.ts.js"],"sourcesContent":["import { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { t as loadProviderPage } from \"../../../../chunks/catalog.js\";\n//#region src/routes/admin/providers/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, await loadProviderPage(), requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,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,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,gBAAgB,EAAE,EAAE,SAAS,CAAC;AAC9D;;;;"}
1
+ {"version":3,"file":"_server.ts-BoOQ7F2z.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/_server.ts.js"],"sourcesContent":["import { a as getRequestId, c as jsonResponse, u as requireAdmin } from \"../../../../chunks/helpers.js\";\nimport { t as loadProviderPage } from \"../../../../chunks/catalog.js\";\n//#region src/routes/admin/providers/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, await loadProviderPage(), requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,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,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,gBAAgB,EAAE,EAAE,SAAS,CAAC;AAC9D;;;;"}
@@ -1,9 +1,9 @@
1
- import { a7 as importHostOpenCode, N as detectHostOpenCode, i as authJsonPath, o as checkDocker, m as buildComposeOptions } from './src-DiiTRPTT.js';
2
- import { g as getState } from './state-ClKZUXL6.js';
3
- import { d as getRequestId, r as requireAdmin, p as parseJsonBody, e as errorResponse, k as jsonResponse } from './helpers-BM-xWM7P.js';
1
+ import { a7 as importHostOpenCode, N as detectHostOpenCode, i as authJsonPath, o as checkDocker, m as buildComposeOptions } from './src-DBYue8Tb.js';
2
+ import { g as getState } from './state-Bpt5dC1X.js';
3
+ import { d as getRequestId, r as requireAdmin, p as parseJsonBody, e as errorResponse, k as jsonResponse } from './helpers-GEmeDI6e.js';
4
4
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
5
- import { o as opencodeFetch } from './http-C4A6p54g.js';
6
- import { c as composeRestart } from './docker-BSUpGiXy.js';
5
+ import { o as opencodeFetch } from './http-BzGcbSMh.js';
6
+ import { c as composeRestart } from './docker-7rKo0FDm.js';
7
7
  import { existsSync, readFileSync } from 'node:fs';
8
8
  import './chunk-CLZ62Ad-.js';
9
9
  import 'node:module';
@@ -25,7 +25,7 @@ import 'zlib';
25
25
  import 'node:assert';
26
26
  import 'node:fs/promises';
27
27
  import 'node:os';
28
- import './endpoints-l4xlthcJ.js';
28
+ import './endpoints-DUs5zmwI.js';
29
29
 
30
30
  //#region src/routes/admin/providers/import-host/+server.ts
31
31
  /**
@@ -157,4 +157,4 @@ var POST = async (event) => {
157
157
  };
158
158
 
159
159
  export { POST };
160
- //# sourceMappingURL=_server.ts-DqPWs5R1.js.map
160
+ //# sourceMappingURL=_server.ts-Bry3Z40C.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DqPWs5R1.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/import-host/_server.ts.js"],"sourcesContent":["import { $t as authJsonPath, P as buildComposeOptions, Y as checkDocker, a as detectHostOpenCode, o as importHostOpenCode } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.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-Bry3Z40C.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/import-host/_server.ts.js"],"sourcesContent":["import { $t as authJsonPath, P as buildComposeOptions, Y as checkDocker, a as detectHostOpenCode, o as importHostOpenCode } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, l as parseJsonBody, r as errorResponse, u as requireAdmin } 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,7 +1,7 @@
1
- import { w as withAdminBody, k as jsonResponse } from './helpers-BM-xWM7P.js';
2
- import { o as opencodeFetch } from './http-C4A6p54g.js';
1
+ import { w as withAdminBody, k as jsonResponse } from './helpers-GEmeDI6e.js';
2
+ import { o as opencodeFetch } from './http-BzGcbSMh.js';
3
3
  import { a as asStringOrEmpty, e as extractInputs } from './_helpers-B_lb4-jB.js';
4
- import './src-DiiTRPTT.js';
4
+ import './src-DBYue8Tb.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import './provider-constants-DPrj3yBX.js';
@@ -23,8 +23,8 @@ import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
25
  import 'node:os';
26
- import './endpoints-l4xlthcJ.js';
27
- import './state-ClKZUXL6.js';
26
+ import './endpoints-DUs5zmwI.js';
27
+ import './state-Bpt5dC1X.js';
28
28
  import './coercion-TNFJisCC.js';
29
29
 
30
30
  //#region src/routes/admin/providers/oauth/start/+server.ts
@@ -77,4 +77,4 @@ var POST = (event) => withAdminBody(event, async ({ requestId, body }) => {
77
77
  });
78
78
 
79
79
  export { POST };
80
- //# sourceMappingURL=_server.ts-BwJrHUUB.js.map
80
+ //# sourceMappingURL=_server.ts-BtVLVJf0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BwJrHUUB.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/start/_server.ts.js"],"sourcesContent":["import { l as jsonResponse, p as withAdminBody } from \"../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../chunks/http.js\";\nimport { r as extractInputs, t as asStringOrEmpty } from \"../../../../../../chunks/_helpers.js\";\n//#region src/routes/admin/providers/oauth/start/+server.ts\n/**\n* POST /admin/providers/oauth/start — Begin an OpenCode-mediated OAuth\n* sign-in for a provider. Returns the authorization URL and any extra\n* inputs the operator needs to confirm in the UI.\n*\n* Forwards directly to the running assistant's OpenCode at\n* OP_OPENCODE_URL, which holds the OAuth methods map needed to issue\n* the authorize request.\n*/\nvar POST = (event) => withAdminBody(event, async ({ requestId, body }) => {\n\ttry {\n\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\tif (!providerId || Number.isNaN(methodIndex)) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Choose a provider sign-in method first.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tconst inputs = extractInputs(body);\n\t\tconst oauth = await opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/authorize`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmethod: methodIndex,\n\t\t\t\t...inputs ? { inputs } : {}\n\t\t\t})\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"OAuth flow prepared. Open the link below to continue.\",\n\t\t\tselectedProviderId: providerId,\n\t\t\toauth: {\n\t\t\t\tproviderId,\n\t\t\t\tmethodIndex,\n\t\t\t\turl: oauth.url,\n\t\t\t\tmode: oauth.method,\n\t\t\t\tinstructions: oauth.instructions,\n\t\t\t\tinputs\n\t\t\t}\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n});\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC1E,CAAC,IAAI;AACL,EAAE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/D,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACzE,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,yCAAyC;AACrD,GAAG,kBAAkB,EAAE,KAAK;AAC5B,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC;AACpC,EAAE,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,EAAE;AACnG,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI,GAAG,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG;AAC7B,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,uDAAuD;AACnE,GAAG,kBAAkB,EAAE,UAAU;AACjC,GAAG,KAAK,EAAE;AACV,IAAI,UAAU;AACd,IAAI,WAAW;AACf,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG;AAClB,IAAI,IAAI,EAAE,KAAK,CAAC,MAAM;AACtB,IAAI,YAAY,EAAE,KAAK,CAAC,YAAY;AACpC,IAAI;AACJ;AACA,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACrE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC;;;;"}
1
+ {"version":3,"file":"_server.ts-BtVLVJf0.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/start/_server.ts.js"],"sourcesContent":["import { c as jsonResponse, f as withAdminBody } from \"../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../chunks/http.js\";\nimport { r as extractInputs, t as asStringOrEmpty } from \"../../../../../../chunks/_helpers.js\";\n//#region src/routes/admin/providers/oauth/start/+server.ts\n/**\n* POST /admin/providers/oauth/start — Begin an OpenCode-mediated OAuth\n* sign-in for a provider. Returns the authorization URL and any extra\n* inputs the operator needs to confirm in the UI.\n*\n* Forwards directly to the running assistant's OpenCode at\n* OP_OPENCODE_URL, which holds the OAuth methods map needed to issue\n* the authorize request.\n*/\nvar POST = (event) => withAdminBody(event, async ({ requestId, body }) => {\n\ttry {\n\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\tif (!providerId || Number.isNaN(methodIndex)) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Choose a provider sign-in method first.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tconst inputs = extractInputs(body);\n\t\tconst oauth = await opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/authorize`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmethod: methodIndex,\n\t\t\t\t...inputs ? { inputs } : {}\n\t\t\t})\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"OAuth flow prepared. Open the link below to continue.\",\n\t\t\tselectedProviderId: providerId,\n\t\t\toauth: {\n\t\t\t\tproviderId,\n\t\t\t\tmethodIndex,\n\t\t\t\turl: oauth.url,\n\t\t\t\tmode: oauth.method,\n\t\t\t\tinstructions: oauth.instructions,\n\t\t\t\tinputs\n\t\t\t}\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n});\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC1E,CAAC,IAAI;AACL,EAAE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/D,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACzE,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,yCAAyC;AACrD,GAAG,kBAAkB,EAAE,KAAK;AAC5B,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC;AACpC,EAAE,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,EAAE;AACnG,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI,GAAG,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG;AAC7B,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,uDAAuD;AACnE,GAAG,kBAAkB,EAAE,UAAU;AACjC,GAAG,KAAK,EAAE;AACV,IAAI,UAAU;AACd,IAAI,WAAW;AACf,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG;AAClB,IAAI,IAAI,EAAE,KAAK,CAAC,MAAM;AACtB,IAAI,YAAY,EAAE,KAAK,CAAC,YAAY;AACpC,IAAI;AACJ;AACA,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACrE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC;;;;"}
@@ -1,6 +1,6 @@
1
- import { a9 as isAllowedService, o as checkDocker, z as composeStart, m as buildComposeOptions, F as createLogger } from './src-DiiTRPTT.js';
2
- import { g as getState } from './state-ClKZUXL6.js';
3
- import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-BM-xWM7P.js';
1
+ import { a9 as isAllowedService, o as checkDocker, z as composeStart, m as buildComposeOptions, F as createLogger } from './src-DBYue8Tb.js';
2
+ import { g as getState } from './state-Bpt5dC1X.js';
3
+ import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-GEmeDI6e.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-l4xlthcJ.js';
25
+ import './endpoints-DUs5zmwI.js';
26
26
 
27
27
  //#region src/routes/admin/containers/up/+server.ts
28
28
  var logger = createLogger("containers-up");
@@ -54,4 +54,4 @@ var POST = async (event) => {
54
54
  };
55
55
 
56
56
  export { POST };
57
- //# sourceMappingURL=_server.ts-DYv9BDaZ.js.map
57
+ //# sourceMappingURL=_server.ts-BzISiSHa.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DYv9BDaZ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/up/_server.ts.js"],"sourcesContent":["import { O as isAllowedService, P as buildComposeOptions, Y as checkDocker, pn as createLogger, rt as composeStart } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/containers/up/+server.ts\nvar logger = createLogger(\"containers-up\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container start request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\tlogger.info(\"starting service\", {\n\t\trequestId,\n\t\tservice\n\t});\n\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\tif ((await checkDocker()).ok) {\n\t\tconst result = await composeStart([service], buildComposeOptions(state));\n\t\tif (result.ok) state.services[service] = \"running\";\n\t\telse return errorResponse(500, \"docker_error\", `Failed to start service: ${result.stderr}`, { service }, requestId);\n\t} else state.services[service] = \"running\";\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tservice,\n\t\tstatus: state.services[service]\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AACvC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,SAAS,EAAE,CAAC;AAC/D,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,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,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACrE,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;AACjC,EAAE,SAAS;AACX,EAAE;AACF,EAAE,CAAC;AACH,CAAC,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;AACrJ,CAAC,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAC/B,EAAE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,EAAE,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACpD,OAAO,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC3C,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO;AACT,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AAChC,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-BzISiSHa.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/up/_server.ts.js"],"sourcesContent":["import { O as isAllowedService, P as buildComposeOptions, Y as checkDocker, pn as createLogger, rt as composeStart } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/containers/up/+server.ts\nvar logger = createLogger(\"containers-up\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container start request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\tlogger.info(\"starting service\", {\n\t\trequestId,\n\t\tservice\n\t});\n\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\tif ((await checkDocker()).ok) {\n\t\tconst result = await composeStart([service], buildComposeOptions(state));\n\t\tif (result.ok) state.services[service] = \"running\";\n\t\telse return errorResponse(500, \"docker_error\", `Failed to start service: ${result.stderr}`, { service }, requestId);\n\t} else state.services[service] = \"running\";\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tservice,\n\t\tstatus: state.services[service]\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AACvC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,SAAS,EAAE,CAAC;AAC/D,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,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,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACrE,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;AACjC,EAAE,SAAS;AACX,EAAE;AACF,EAAE,CAAC;AACH,CAAC,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;AACrJ,CAAC,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAC/B,EAAE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,EAAE,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACpD,OAAO,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC3C,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO;AACT,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AAChC,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,7 +1,7 @@
1
- import { g as getActiveEndpoint } from './endpoints-l4xlthcJ.js';
2
- import { d as getRequestId, r as requireAdmin } from './helpers-BM-xWM7P.js';
3
- import './state-ClKZUXL6.js';
4
- import './src-DiiTRPTT.js';
1
+ import { g as getActiveEndpoint } from './endpoints-DUs5zmwI.js';
2
+ import { d as getRequestId, r as requireAdmin } from './helpers-GEmeDI6e.js';
3
+ import './state-Bpt5dC1X.js';
4
+ import './src-DBYue8Tb.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import './provider-constants-DPrj3yBX.js';
@@ -109,4 +109,4 @@ var PUT = handler;
109
109
  var DELETE = handler;
110
110
 
111
111
  export { DELETE, GET, POST, PUT };
112
- //# sourceMappingURL=_server.ts-B4AANoeg.js.map
112
+ //# sourceMappingURL=_server.ts-C7PeR-ll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-B4AANoeg.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/proxy/assistant/_...path_/_server.ts.js"],"sourcesContent":["import { r as getActiveEndpoint } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/proxy/assistant/[...path]/+server.ts\n/**\n* Proxy route: forward /proxy/assistant/[...path] → assistant OpenCode server.\n*\n* Auth: requires the operator's `op_session` cookie (cookie-only since\n* Phase 2 of the auth/proxy refactor — the `x-admin-token` header fallback\n* was removed).\n* Forwards the full request body and method unchanged.\n* The target URL and per-endpoint Basic-auth password are resolved per-request\n* from the active endpoint store, so switching endpoints in the UI takes\n* effect immediately without restarting the server.\n*\n* Streaming: the upstream response body is forwarded as-is (no buffering) so\n* SSE responses (text/event-stream) pass through chunk-by-chunk. We do not\n* impose a fixed timeout on the upstream fetch — OpenCode SSE streams can run\n* for minutes. Instead the per-request AbortController is wired to the client\n* disconnect signal (`event.request.signal`); when the browser aborts (tab\n* close, navigation away), we propagate the abort to upstream.\n*/\nfunction buildForwardHeaders(incomingContentType, username, password) {\n\tconst headers = {};\n\tif (incomingContentType) headers[\"content-type\"] = incomingContentType;\n\tif (password) headers[\"authorization\"] = `Basic ${btoa(`${username || \"openpalm\"}:${password}`)}`;\n\treturn headers;\n}\nfunction buildResponseHeaders(upstream, requestId, endpointId, endpointLabel) {\n\tconst headers = new Headers();\n\theaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"application/json\");\n\tconst cacheControl = upstream.headers.get(\"cache-control\");\n\tif (cacheControl) headers.set(\"cache-control\", cacheControl);\n\tconst transferEncoding = upstream.headers.get(\"transfer-encoding\");\n\tif (transferEncoding) headers.set(\"transfer-encoding\", transferEncoding);\n\theaders.set(\"x-request-id\", requestId);\n\theaders.set(\"x-endpoint-id\", endpointId);\n\theaders.set(\"x-endpoint-label\", encodeURIComponent(endpointLabel));\n\treturn headers;\n}\nvar handler = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveEndpoint();\n\tconst { path } = event.params;\n\tconst targetUrl = `${endpoint.url}/${path}${event.url.search}`;\n\tconst method = event.request.method;\n\tconst contentType = event.request.headers.get(\"content-type\");\n\tconst body = method !== \"GET\" && method !== \"HEAD\" ? await event.request.arrayBuffer() : void 0;\n\tconst controller = new AbortController();\n\tconst onClientAbort = () => controller.abort();\n\tevent.request.signal.addEventListener(\"abort\", onClientAbort, { once: true });\n\ttry {\n\t\tconst upstream = await fetch(targetUrl, {\n\t\t\tmethod,\n\t\t\theaders: buildForwardHeaders(contentType, endpoint.username, endpoint.password),\n\t\t\tbody,\n\t\t\tsignal: controller.signal\n\t\t});\n\t\treturn new Response(upstream.body, {\n\t\t\tstatus: upstream.status,\n\t\t\theaders: buildResponseHeaders(upstream, requestId, endpoint.id, endpoint.label)\n\t\t});\n\t} catch (e) {\n\t\tevent.request.signal.removeEventListener(\"abort\", onClientAbort);\n\t\tconsole.warn(\"[proxy/assistant] Upstream request failed:\", e);\n\t\treturn new Response(JSON.stringify({\n\t\t\terror: \"endpoint_unreachable\",\n\t\t\tmessage: `Assistant endpoint \"${endpoint.label}\" is not reachable`,\n\t\t\tendpointId: endpoint.id,\n\t\t\tendpointLabel: endpoint.label,\n\t\t\turl: endpoint.url\n\t\t}), {\n\t\t\tstatus: 503,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"application/json\",\n\t\t\t\t\"x-request-id\": requestId\n\t\t\t}\n\t\t});\n\t}\n};\nvar GET = handler;\nvar POST = handler;\nvar PUT = handler;\nvar DELETE = handler;\n//#endregion\nexport { DELETE, GET, POST, PUT };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-C7PeR-ll.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/proxy/assistant/_...path_/_server.ts.js"],"sourcesContent":["import { r as getActiveEndpoint } from \"../../../../../chunks/endpoints.js\";\nimport { a as getRequestId, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/proxy/assistant/[...path]/+server.ts\n/**\n* Proxy route: forward /proxy/assistant/[...path] → assistant OpenCode server.\n*\n* Auth: requires the operator's `op_session` cookie (cookie-only since\n* Phase 2 of the auth/proxy refactor — the `x-admin-token` header fallback\n* was removed).\n* Forwards the full request body and method unchanged.\n* The target URL and per-endpoint Basic-auth password are resolved per-request\n* from the active endpoint store, so switching endpoints in the UI takes\n* effect immediately without restarting the server.\n*\n* Streaming: the upstream response body is forwarded as-is (no buffering) so\n* SSE responses (text/event-stream) pass through chunk-by-chunk. We do not\n* impose a fixed timeout on the upstream fetch — OpenCode SSE streams can run\n* for minutes. Instead the per-request AbortController is wired to the client\n* disconnect signal (`event.request.signal`); when the browser aborts (tab\n* close, navigation away), we propagate the abort to upstream.\n*/\nfunction buildForwardHeaders(incomingContentType, username, password) {\n\tconst headers = {};\n\tif (incomingContentType) headers[\"content-type\"] = incomingContentType;\n\tif (password) headers[\"authorization\"] = `Basic ${btoa(`${username || \"openpalm\"}:${password}`)}`;\n\treturn headers;\n}\nfunction buildResponseHeaders(upstream, requestId, endpointId, endpointLabel) {\n\tconst headers = new Headers();\n\theaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"application/json\");\n\tconst cacheControl = upstream.headers.get(\"cache-control\");\n\tif (cacheControl) headers.set(\"cache-control\", cacheControl);\n\tconst transferEncoding = upstream.headers.get(\"transfer-encoding\");\n\tif (transferEncoding) headers.set(\"transfer-encoding\", transferEncoding);\n\theaders.set(\"x-request-id\", requestId);\n\theaders.set(\"x-endpoint-id\", endpointId);\n\theaders.set(\"x-endpoint-label\", encodeURIComponent(endpointLabel));\n\treturn headers;\n}\nvar handler = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveEndpoint();\n\tconst { path } = event.params;\n\tconst targetUrl = `${endpoint.url}/${path}${event.url.search}`;\n\tconst method = event.request.method;\n\tconst contentType = event.request.headers.get(\"content-type\");\n\tconst body = method !== \"GET\" && method !== \"HEAD\" ? await event.request.arrayBuffer() : void 0;\n\tconst controller = new AbortController();\n\tconst onClientAbort = () => controller.abort();\n\tevent.request.signal.addEventListener(\"abort\", onClientAbort, { once: true });\n\ttry {\n\t\tconst upstream = await fetch(targetUrl, {\n\t\t\tmethod,\n\t\t\theaders: buildForwardHeaders(contentType, endpoint.username, endpoint.password),\n\t\t\tbody,\n\t\t\tsignal: controller.signal\n\t\t});\n\t\treturn new Response(upstream.body, {\n\t\t\tstatus: upstream.status,\n\t\t\theaders: buildResponseHeaders(upstream, requestId, endpoint.id, endpoint.label)\n\t\t});\n\t} catch (e) {\n\t\tevent.request.signal.removeEventListener(\"abort\", onClientAbort);\n\t\tconsole.warn(\"[proxy/assistant] Upstream request failed:\", e);\n\t\treturn new Response(JSON.stringify({\n\t\t\terror: \"endpoint_unreachable\",\n\t\t\tmessage: `Assistant endpoint \"${endpoint.label}\" is not reachable`,\n\t\t\tendpointId: endpoint.id,\n\t\t\tendpointLabel: endpoint.label,\n\t\t\turl: endpoint.url\n\t\t}), {\n\t\t\tstatus: 503,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"application/json\",\n\t\t\t\t\"x-request-id\": requestId\n\t\t\t}\n\t\t});\n\t}\n};\nvar GET = handler;\nvar POST = handler;\nvar PUT = handler;\nvar DELETE = handler;\n//#endregion\nexport { DELETE, GET, POST, PUT };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,mBAAmB,CAAC,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,EAAE;AACtE,CAAC,MAAM,OAAO,GAAG,EAAE;AACnB,CAAC,IAAI,mBAAmB,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,mBAAmB;AACvE,CAAC,IAAI,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,IAAI,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAClG,CAAC,OAAO,OAAO;AACf;AACA,SAAS,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE;AAC9E,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;AAC9B,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,kBAAkB,CAAC;AACxF,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;AAC3D,CAAC,IAAI,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC;AAC7D,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;AACnE,CAAC,IAAI,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;AACzE,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC;AACvC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC;AACzC,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;AACnE,CAAC,OAAO,OAAO;AACf;AACA,IAAI,OAAO,GAAG,OAAO,KAAK,KAAK;AAC/B,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,QAAQ,GAAG,iBAAiB,EAAE;AACrC,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM;AAC9B,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM;AACpC,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;AAC9D,CAAC,MAAM,IAAI,GAAG,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,MAAM;AAChG,CAAC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE;AACzC,CAAC,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE;AAC/C,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC9E,CAAC,IAAI;AACL,EAAE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE;AAC1C,GAAG,MAAM;AACT,GAAG,OAAO,EAAE,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;AAClF,GAAG,IAAI;AACP,GAAG,MAAM,EAAE,UAAU,CAAC;AACtB,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;AACrC,GAAG,MAAM,EAAE,QAAQ,CAAC,MAAM;AAC1B,GAAG,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK;AACjF,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC;AAClE,EAAE,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,CAAC,CAAC;AAC/D,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;AACrC,GAAG,KAAK,EAAE,sBAAsB;AAChC,GAAG,OAAO,EAAE,CAAC,oBAAoB,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC;AACrE,GAAG,UAAU,EAAE,QAAQ,CAAC,EAAE;AAC1B,GAAG,aAAa,EAAE,QAAQ,CAAC,KAAK;AAChC,GAAG,GAAG,EAAE,QAAQ,CAAC;AACjB,GAAG,CAAC,EAAE;AACN,GAAG,MAAM,EAAE,GAAG;AACd,GAAG,OAAO,EAAE;AACZ,IAAI,cAAc,EAAE,kBAAkB;AACtC,IAAI,cAAc,EAAE;AACpB;AACA,GAAG,CAAC;AACJ,CAAC;AACD,CAAC;AACE,IAAC,GAAG,GAAG;AACP,IAAC,IAAI,GAAG;AACR,IAAC,GAAG,GAAG;AACP,IAAC,MAAM,GAAG;;;;"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-BM-xWM7P.js';
2
- import { o as opencodeFetch } from './http-C4A6p54g.js';
3
- import './src-DiiTRPTT.js';
1
+ import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-GEmeDI6e.js';
2
+ import { o as opencodeFetch } from './http-BzGcbSMh.js';
3
+ import './src-DBYue8Tb.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,8 +22,8 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-l4xlthcJ.js';
26
- import './state-ClKZUXL6.js';
25
+ import './endpoints-DUs5zmwI.js';
26
+ import './state-Bpt5dC1X.js';
27
27
 
28
28
  //#region src/routes/admin/providers/oauth/[providerId]/callback/+server.ts
29
29
  var POST = async (event) => {
@@ -52,4 +52,4 @@ var POST = async (event) => {
52
52
  };
53
53
 
54
54
  export { POST };
55
- //# sourceMappingURL=_server.ts-DN4MrDts.js.map
55
+ //# sourceMappingURL=_server.ts-C8NW6VWR.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DN4MrDts.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/_providerId_/callback/_server.ts.js"],"sourcesContent":["import { d as requireAdmin, i as errorResponse, o as getRequestId } from \"../../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../../chunks/http.js\";\n//#region src/routes/admin/providers/oauth/[providerId]/callback/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst { providerId } = event.params;\n\tif (!providerId) return errorResponse(400, \"missing_provider\", \"Provider ID is required.\", {}, requestId);\n\ttry {\n\t\tconst body = await event.request.text();\n\t\tawait opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/callback`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody\n\t\t});\n\t\treturn new Response(JSON.stringify({ ok: true }), {\n\t\t\tstatus: 200,\n\t\t\theaders: {\n\t\t\t\t\"cache-control\": \"no-store\",\n\t\t\t\t\"content-type\": \"application/json\",\n\t\t\t\t...requestId ? { \"x-request-id\": requestId } : {}\n\t\t\t}\n\t\t});\n\t} catch (error) {\n\t\treturn errorResponse(502, \"oauth_callback_failed\", error instanceof Error ? error.message : \"OAuth callback failed\", {}, requestId);\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,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,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,MAAM;AACpC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1G,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACzC,EAAE,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE;AACpF,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACpD,GAAG,MAAM,EAAE,GAAG;AACd,GAAG,OAAO,EAAE;AACZ,IAAI,eAAe,EAAE,UAAU;AAC/B,IAAI,cAAc,EAAE,kBAAkB;AACtC,IAAI,GAAG,SAAS,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG;AACnD;AACA,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,uBAAuB,EAAE,EAAE,EAAE,SAAS,CAAC;AACrI,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-C8NW6VWR.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/_providerId_/callback/_server.ts.js"],"sourcesContent":["import { a as getRequestId, r as errorResponse, u as requireAdmin } from \"../../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../../chunks/http.js\";\n//#region src/routes/admin/providers/oauth/[providerId]/callback/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst { providerId } = event.params;\n\tif (!providerId) return errorResponse(400, \"missing_provider\", \"Provider ID is required.\", {}, requestId);\n\ttry {\n\t\tconst body = await event.request.text();\n\t\tawait opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/callback`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody\n\t\t});\n\t\treturn new Response(JSON.stringify({ ok: true }), {\n\t\t\tstatus: 200,\n\t\t\theaders: {\n\t\t\t\t\"cache-control\": \"no-store\",\n\t\t\t\t\"content-type\": \"application/json\",\n\t\t\t\t...requestId ? { \"x-request-id\": requestId } : {}\n\t\t\t}\n\t\t});\n\t} catch (error) {\n\t\treturn errorResponse(502, \"oauth_callback_failed\", error instanceof Error ? error.message : \"OAuth callback failed\", {}, requestId);\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,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,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,MAAM;AACpC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1G,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACzC,EAAE,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE;AACpF,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACpD,GAAG,MAAM,EAAE,GAAG;AACd,GAAG,OAAO,EAAE;AACZ,IAAI,eAAe,EAAE,UAAU;AAC/B,IAAI,cAAc,EAAE,kBAAkB;AACtC,IAAI,GAAG,SAAS,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG;AACnD;AACA,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,uBAAuB,EAAE,EAAE,EAAE,SAAS,CAAC;AACrI,CAAC;AACD;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { N as detectHostOpenCode, a6 as hostAkmStashPath, F as createLogger } from './src-DiiTRPTT.js';
2
+ import { N as detectHostOpenCode, a6 as hostAkmStashPath, F as createLogger } from './src-DBYue8Tb.js';
3
3
  import { existsSync } from 'node:fs';
4
4
  import './utils-BSRjJDrZ.js';
5
5
  import './chunk-CLZ62Ad-.js';
@@ -56,4 +56,4 @@ var GET = () => {
56
56
  };
57
57
 
58
58
  export { GET };
59
- //# sourceMappingURL=_server.ts-Y75fVVpr.js.map
59
+ //# sourceMappingURL=_server.ts-CF0aKxAL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Y75fVVpr.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 { T as hostAkmStashPath, a as detectHostOpenCode, pn as createLogger } from \"../../../../../chunks/src.js\";\nimport { existsSync } from \"node:fs\";\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 hostAkmAvailable = existsSync(hostAkmStashPath());\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});\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 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,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC;AACzD,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;AACH,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,sCAAsC,EAAE;AACtD,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-CF0aKxAL.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 { T as hostAkmStashPath, a as detectHostOpenCode, pn as createLogger } from \"../../../../../chunks/src.js\";\nimport { existsSync } from \"node:fs\";\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 hostAkmAvailable = existsSync(hostAkmStashPath());\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});\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 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,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC;AACzD,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;AACH,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,sCAAsC,EAAE;AACtD,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,6 +1,6 @@
1
- import { F as createLogger, a9 as isAllowedService, o as checkDocker, y as composeRestart, m as buildComposeOptions } from './src-DiiTRPTT.js';
2
- import { g as getState } from './state-ClKZUXL6.js';
3
- import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-BM-xWM7P.js';
1
+ import { F as createLogger, a9 as isAllowedService, o as checkDocker, y as composeRestart, m as buildComposeOptions } from './src-DBYue8Tb.js';
2
+ import { g as getState } from './state-Bpt5dC1X.js';
3
+ import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-GEmeDI6e.js';
4
4
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
@@ -23,7 +23,7 @@ import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
25
  import 'node:os';
26
- import './endpoints-l4xlthcJ.js';
26
+ import './endpoints-DUs5zmwI.js';
27
27
 
28
28
  //#region src/routes/admin/containers/restart/+server.ts
29
29
  var logger = createLogger("containers-restart");
@@ -53,4 +53,4 @@ var POST = async (event) => {
53
53
  };
54
54
 
55
55
  export { POST };
56
- //# sourceMappingURL=_server.ts-CTqLfvnu.js.map
56
+ //# sourceMappingURL=_server.ts-CH-OPdXJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CTqLfvnu.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/restart/_server.ts.js"],"sourcesContent":["import { O as isAllowedService, P as buildComposeOptions, Y as checkDocker, nt as composeRestart, pn as createLogger } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.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/restart/+server.ts\nvar logger = createLogger(\"containers-restart\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container restart request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:restart\", 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 composeRestart([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"running\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to restart service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"running\";\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,oBAAoB,CAAC;AAC5C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,0BAA0B,EAAE,YAAY;AAChE,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,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC7E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,2BAA2B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACxH,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-CH-OPdXJ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/restart/_server.ts.js"],"sourcesContent":["import { O as isAllowedService, P as buildComposeOptions, Y as checkDocker, nt as composeRestart, pn as createLogger } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/restart/+server.ts\nvar logger = createLogger(\"containers-restart\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container restart request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:restart\", 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 composeRestart([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"running\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to restart service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"running\";\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,oBAAoB,CAAC;AAC5C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,0BAA0B,EAAE,YAAY;AAChE,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,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC7E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,2BAA2B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACxH,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,6 +1,6 @@
1
- import { F as createLogger, c as applyInstall, o as checkDocker, d as applyStack, m as buildComposeOptions } from './src-DiiTRPTT.js';
2
- import { g as getState } from './state-ClKZUXL6.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-BM-xWM7P.js';
1
+ import { F as createLogger, c as applyInstall, o as checkDocker, d as applyStack, m as buildComposeOptions } from './src-DBYue8Tb.js';
2
+ import { g as getState } from './state-Bpt5dC1X.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-GEmeDI6e.js';
4
4
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
@@ -23,7 +23,7 @@ import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
25
  import 'node:os';
26
- import './endpoints-l4xlthcJ.js';
26
+ import './endpoints-DUs5zmwI.js';
27
27
 
28
28
  //#region src/routes/admin/install/+server.ts
29
29
  var logger = createLogger("install");
@@ -76,4 +76,4 @@ var POST = async (event) => {
76
76
  };
77
77
 
78
78
  export { POST };
79
- //# sourceMappingURL=_server.ts-BgYB-mao.js.map
79
+ //# sourceMappingURL=_server.ts-CPsQ5aGi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BgYB-mao.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/install/_server.ts.js"],"sourcesContent":["import { F as applyInstall, J as applyStack, P as buildComposeOptions, Y as checkDocker, pn as createLogger } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.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/install/+server.ts\nvar logger = createLogger(\"install\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"install request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:install\", async () => {\n\t\ttry {\n\t\t\tconst state = getState();\n\t\t\tawait applyInstall(state);\n\t\t\tif (!(await checkDocker()).ok) {\n\t\t\t\tlogger.info(\"install completed (Docker unavailable — stack not started)\", { requestId });\n\t\t\t\treturn jsonResponse(200, {\n\t\t\t\t\tok: true,\n\t\t\t\t\tstarted: [],\n\t\t\t\t\tfailed: [],\n\t\t\t\t\tdockerAvailable: false,\n\t\t\t\t\toverallSuccess: true\n\t\t\t\t}, requestId);\n\t\t\t}\n\t\t\tconst stackResult = await applyStack({ kind: \"all\" }, buildComposeOptions(state));\n\t\t\tconst overallSuccess = stackResult.ok;\n\t\t\tconst status = stackResult.ok ? 200 : 502;\n\t\t\tlogger.info(\"install completed\", {\n\t\t\t\trequestId,\n\t\t\t\tdockerAvailable: true,\n\t\t\t\toverallSuccess,\n\t\t\t\tstartedCount: stackResult.started.length,\n\t\t\t\tfailedCount: stackResult.failed.length\n\t\t\t});\n\t\t\treturn jsonResponse(status, {\n\t\t\t\tok: overallSuccess,\n\t\t\t\tstarted: stackResult.started,\n\t\t\t\tfailed: stackResult.failed,\n\t\t\t\tdockerAvailable: true,\n\t\t\t\toverallSuccess,\n\t\t\t\t...stackResult.error ? { error: stackResult.error } : {}\n\t\t\t}, requestId);\n\t\t} catch (err) {\n\t\t\tconst msg = err instanceof Error ? err.message : String(err);\n\t\t\tlogger.error(\"install failed\", {\n\t\t\t\trequestId,\n\t\t\t\terror: msg\n\t\t\t});\n\t\t\treturn errorResponse(500, \"install_failed\", msg, {}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC;AACjC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,CAAC;AACvD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,eAAe,EAAE,YAAY;AACrD,EAAE,IAAI;AACN,GAAG,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC3B,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC;AAC5B,GAAG,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAClC,IAAI,MAAM,CAAC,IAAI,CAAC,4DAA4D,EAAE,EAAE,SAAS,EAAE,CAAC;AAC5F,IAAI,OAAO,YAAY,CAAC,GAAG,EAAE;AAC7B,KAAK,EAAE,EAAE,IAAI;AACb,KAAK,OAAO,EAAE,EAAE;AAChB,KAAK,MAAM,EAAE,EAAE;AACf,KAAK,eAAe,EAAE,KAAK;AAC3B,KAAK,cAAc,EAAE;AACrB,KAAK,EAAE,SAAS,CAAC;AACjB,GAAG;AACH,GAAG,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpF,GAAG,MAAM,cAAc,GAAG,WAAW,CAAC,EAAE;AACxC,GAAG,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG;AAC5C,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;AACpC,IAAI,SAAS;AACb,IAAI,eAAe,EAAE,IAAI;AACzB,IAAI,cAAc;AAClB,IAAI,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM;AAC5C,IAAI,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC;AACpC,IAAI,CAAC;AACL,GAAG,OAAO,YAAY,CAAC,MAAM,EAAE;AAC/B,IAAI,EAAE,EAAE,cAAc;AACtB,IAAI,OAAO,EAAE,WAAW,CAAC,OAAO;AAChC,IAAI,MAAM,EAAE,WAAW,CAAC,MAAM;AAC9B,IAAI,eAAe,EAAE,IAAI;AACzB,IAAI,cAAc;AAClB,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,GAAG;AAC1D,IAAI,EAAE,SAAS,CAAC;AAChB,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,GAAG,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAC/D,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE;AAClC,IAAI,SAAS;AACb,IAAI,KAAK,EAAE;AACX,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC;AAClE,EAAE;AACF,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-CPsQ5aGi.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/install/_server.ts.js"],"sourcesContent":["import { F as applyInstall, J as applyStack, P as buildComposeOptions, Y as checkDocker, pn as createLogger } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, r as errorResponse, u as requireAdmin } from \"../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/install/+server.ts\nvar logger = createLogger(\"install\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"install request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:install\", async () => {\n\t\ttry {\n\t\t\tconst state = getState();\n\t\t\tawait applyInstall(state);\n\t\t\tif (!(await checkDocker()).ok) {\n\t\t\t\tlogger.info(\"install completed (Docker unavailable — stack not started)\", { requestId });\n\t\t\t\treturn jsonResponse(200, {\n\t\t\t\t\tok: true,\n\t\t\t\t\tstarted: [],\n\t\t\t\t\tfailed: [],\n\t\t\t\t\tdockerAvailable: false,\n\t\t\t\t\toverallSuccess: true\n\t\t\t\t}, requestId);\n\t\t\t}\n\t\t\tconst stackResult = await applyStack({ kind: \"all\" }, buildComposeOptions(state));\n\t\t\tconst overallSuccess = stackResult.ok;\n\t\t\tconst status = stackResult.ok ? 200 : 502;\n\t\t\tlogger.info(\"install completed\", {\n\t\t\t\trequestId,\n\t\t\t\tdockerAvailable: true,\n\t\t\t\toverallSuccess,\n\t\t\t\tstartedCount: stackResult.started.length,\n\t\t\t\tfailedCount: stackResult.failed.length\n\t\t\t});\n\t\t\treturn jsonResponse(status, {\n\t\t\t\tok: overallSuccess,\n\t\t\t\tstarted: stackResult.started,\n\t\t\t\tfailed: stackResult.failed,\n\t\t\t\tdockerAvailable: true,\n\t\t\t\toverallSuccess,\n\t\t\t\t...stackResult.error ? { error: stackResult.error } : {}\n\t\t\t}, requestId);\n\t\t} catch (err) {\n\t\t\tconst msg = err instanceof Error ? err.message : String(err);\n\t\t\tlogger.error(\"install failed\", {\n\t\t\t\trequestId,\n\t\t\t\terror: msg\n\t\t\t});\n\t\t\treturn errorResponse(500, \"install_failed\", msg, {}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC;AACjC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,CAAC;AACvD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,eAAe,EAAE,YAAY;AACrD,EAAE,IAAI;AACN,GAAG,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC3B,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC;AAC5B,GAAG,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAClC,IAAI,MAAM,CAAC,IAAI,CAAC,4DAA4D,EAAE,EAAE,SAAS,EAAE,CAAC;AAC5F,IAAI,OAAO,YAAY,CAAC,GAAG,EAAE;AAC7B,KAAK,EAAE,EAAE,IAAI;AACb,KAAK,OAAO,EAAE,EAAE;AAChB,KAAK,MAAM,EAAE,EAAE;AACf,KAAK,eAAe,EAAE,KAAK;AAC3B,KAAK,cAAc,EAAE;AACrB,KAAK,EAAE,SAAS,CAAC;AACjB,GAAG;AACH,GAAG,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpF,GAAG,MAAM,cAAc,GAAG,WAAW,CAAC,EAAE;AACxC,GAAG,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG;AAC5C,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;AACpC,IAAI,SAAS;AACb,IAAI,eAAe,EAAE,IAAI;AACzB,IAAI,cAAc;AAClB,IAAI,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM;AAC5C,IAAI,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC;AACpC,IAAI,CAAC;AACL,GAAG,OAAO,YAAY,CAAC,MAAM,EAAE;AAC/B,IAAI,EAAE,EAAE,cAAc;AACtB,IAAI,OAAO,EAAE,WAAW,CAAC,OAAO;AAChC,IAAI,MAAM,EAAE,WAAW,CAAC,MAAM;AAC9B,IAAI,eAAe,EAAE,IAAI;AACzB,IAAI,cAAc;AAClB,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,GAAG;AAC1D,IAAI,EAAE,SAAS,CAAC;AAChB,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,GAAG,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAC/D,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE;AAClC,IAAI,SAAS;AACb,IAAI,KAAK,EAAE;AACX,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC;AAClE,EAAE;AACF,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,6 +1,6 @@
1
- import { aT as summarizeBackups, af as listBackupDirs, ar as pruneBackupDirs, F as createLogger } from './src-DiiTRPTT.js';
2
- import { g as getState } from './state-ClKZUXL6.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-BM-xWM7P.js';
1
+ import { aT as summarizeBackups, af as listBackupDirs, ar as pruneBackupDirs, F as createLogger } from './src-DBYue8Tb.js';
2
+ import { g as getState } from './state-Bpt5dC1X.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-GEmeDI6e.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-l4xlthcJ.js';
25
+ import './endpoints-DUs5zmwI.js';
26
26
 
27
27
  //#region src/routes/admin/backups/+server.ts
28
28
  var logger = createLogger("backups-admin");
@@ -86,4 +86,4 @@ var POST = async (event) => {
86
86
  };
87
87
 
88
88
  export { GET, POST };
89
- //# sourceMappingURL=_server.ts-BOQtqfyz.js.map
89
+ //# sourceMappingURL=_server.ts-CQ8JX5O7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BOQtqfyz.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/backups/_server.ts.js"],"sourcesContent":["import { dn as pruneBackupDirs, fn as summarizeBackups, pn as createLogger, un as listBackupDirs } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/backups/+server.ts\nvar logger = createLogger(\"backups-admin\");\n/**\n* #499 — backup visibility. Returns count, total size, last-backup time and a\n* per-backup list (newest first) so the UI can surface the recovery net.\n* Read-only.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\ttry {\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\t...summarizeBackups(state.homeDir)\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"backups_list_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n/**\n* #499 — drives the EXISTING confirm-gated prune. The UI must pass an explicit\n* `keep` count (the confirmation is the UI's modal); this NEVER auto-prunes and\n* keeps the newest `keep` snapshots, deleting only the older ones.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\tbody = {};\n\t}\n\tconst keep = Number(body.keep);\n\tif (!Number.isInteger(keep) || keep < 0) return errorResponse(400, \"invalid_keep\", \"`keep` must be a non-negative integer\", {}, requestId);\n\tconst state = getState();\n\ttry {\n\t\tif (listBackupDirs(state.homeDir).slice(keep).length === 0) return jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tdeleted: [],\n\t\t\tkept: keep\n\t\t}, requestId);\n\t\tconst deleted = pruneBackupDirs(state.homeDir, keep);\n\t\tlogger.info(\"pruned backups via admin\", {\n\t\t\trequestId,\n\t\t\tdeleted: deleted.length,\n\t\t\tkept: keep\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tdeleted,\n\t\t\tkept: keep\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"backups_prune_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,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;AACL,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO;AACpC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,qBAAqB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC7G,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,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,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,IAAI,GAAG,EAAE;AACX,CAAC;AACD,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/B,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,uCAAuC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC3I,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,IAAI,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACvF,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,EAAE;AACd,GAAG,IAAI,EAAE;AACT,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AACtD,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;AAC1C,GAAG,SAAS;AACZ,GAAG,OAAO,EAAE,OAAO,CAAC,MAAM;AAC1B,GAAG,IAAI,EAAE;AACT,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,IAAI,EAAE;AACT,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9G,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-CQ8JX5O7.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/backups/_server.ts.js"],"sourcesContent":["import { dn as pruneBackupDirs, fn as summarizeBackups, pn as createLogger, un as listBackupDirs } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, r as errorResponse, u as requireAdmin } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/backups/+server.ts\nvar logger = createLogger(\"backups-admin\");\n/**\n* #499 — backup visibility. Returns count, total size, last-backup time and a\n* per-backup list (newest first) so the UI can surface the recovery net.\n* Read-only.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\ttry {\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\t...summarizeBackups(state.homeDir)\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"backups_list_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n/**\n* #499 — drives the EXISTING confirm-gated prune. The UI must pass an explicit\n* `keep` count (the confirmation is the UI's modal); this NEVER auto-prunes and\n* keeps the newest `keep` snapshots, deleting only the older ones.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\tbody = {};\n\t}\n\tconst keep = Number(body.keep);\n\tif (!Number.isInteger(keep) || keep < 0) return errorResponse(400, \"invalid_keep\", \"`keep` must be a non-negative integer\", {}, requestId);\n\tconst state = getState();\n\ttry {\n\t\tif (listBackupDirs(state.homeDir).slice(keep).length === 0) return jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tdeleted: [],\n\t\t\tkept: keep\n\t\t}, requestId);\n\t\tconst deleted = pruneBackupDirs(state.homeDir, keep);\n\t\tlogger.info(\"pruned backups via admin\", {\n\t\t\trequestId,\n\t\t\tdeleted: deleted.length,\n\t\t\tkept: keep\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tdeleted,\n\t\t\tkept: keep\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"backups_prune_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,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;AACL,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO;AACpC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,qBAAqB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC7G,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,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,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,IAAI,GAAG,EAAE;AACX,CAAC;AACD,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/B,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,uCAAuC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC3I,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,IAAI,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACvF,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,EAAE;AACd,GAAG,IAAI,EAAE;AACT,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AACtD,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;AAC1C,GAAG,SAAS;AACZ,GAAG,OAAO,EAAE,OAAO,CAAC,MAAM;AAC1B,GAAG,IAAI,EAAE;AACT,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,IAAI,EAAE;AACT,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9G,CAAC;AACD;;;;"}
@@ -1,6 +1,6 @@
1
- import { a9 as isAllowedService, o as checkDocker, u as composeLogs, m as buildComposeOptions } from './src-DiiTRPTT.js';
2
- import { g as getState } from './state-ClKZUXL6.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-BM-xWM7P.js';
1
+ import { a9 as isAllowedService, o as checkDocker, u as composeLogs, m as buildComposeOptions } from './src-DBYue8Tb.js';
2
+ import { g as getState } from './state-Bpt5dC1X.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-GEmeDI6e.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-l4xlthcJ.js';
25
+ import './endpoints-DUs5zmwI.js';
26
26
 
27
27
  //#region src/routes/admin/logs/+server.ts
28
28
  var GET = async (event) => {
@@ -60,4 +60,4 @@ var GET = async (event) => {
60
60
  };
61
61
 
62
62
  export { GET };
63
- //# sourceMappingURL=_server.ts-DdJ6JtrY.js.map
63
+ //# sourceMappingURL=_server.ts-CQPRTbTX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DdJ6JtrY.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/logs/_server.ts.js"],"sourcesContent":["import { O as isAllowedService, P as buildComposeOptions, Q as composeLogs, Y as checkDocker } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/logs/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst url = new URL(event.request.url);\n\tconst serviceParam = url.searchParams.get(\"service\");\n\tconst tailParam = url.searchParams.get(\"tail\");\n\tconst sinceParam = url.searchParams.get(\"since\");\n\tconst tail = tailParam ? Number(tailParam) : 100;\n\tif (tailParam && (!Number.isInteger(tail) || tail < 1 || tail > 1e4)) return errorResponse(400, \"invalid_parameter\", \"tail must be an integer between 1 and 10000\", {}, requestId);\n\tlet services;\n\tif (serviceParam) {\n\t\tservices = serviceParam.split(\",\").map((s) => s.trim()).filter(Boolean);\n\t\tconst invalid = services.filter((s) => !isAllowedService(s, state.configDir));\n\t\tif (invalid.length > 0) return errorResponse(400, \"invalid_service\", `Invalid service name(s): ${invalid.join(\", \")}`, { invalid }, requestId);\n\t}\n\tif (sinceParam && !/^[a-zA-Z0-9.:+\\-T]+$/.test(sinceParam)) return errorResponse(400, \"invalid_parameter\", \"since contains invalid characters\", {}, requestId);\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await composeLogs(services, tail, {\n\t\t...buildComposeOptions(state),\n\t\tsince: sinceParam ?? void 0\n\t});\n\tif (!result.ok) return jsonResponse(500, {\n\t\tok: false,\n\t\tlogs: \"\",\n\t\terror: result.stderr\n\t}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tlogs: (result.stdout + result.stderr).trim()\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,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,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AACvC,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AACrD,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;AAC/C,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;AACjD,CAAC,MAAM,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG;AACjD,CAAC,IAAI,SAAS,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,6CAA6C,EAAE,EAAE,EAAE,SAAS,CAAC;AACnL,CAAC,IAAI,QAAQ;AACb,CAAC,IAAI,YAAY,EAAE;AACnB,EAAE,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACzE,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAC/E,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC,yBAAyB,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AAChJ,CAAC;AACD,CAAC,IAAI,UAAU,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,mCAAmC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/J,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE;AAClD,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAC/B,EAAE,KAAK,EAAE,UAAU,IAAI;AACvB,EAAE,CAAC;AACH,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1C,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,IAAI,EAAE,EAAE;AACV,EAAE,KAAK,EAAE,MAAM,CAAC;AAChB,EAAE,EAAE,SAAS,CAAC;AACd,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI;AAC5C,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-CQPRTbTX.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/logs/_server.ts.js"],"sourcesContent":["import { O as isAllowedService, P as buildComposeOptions, Q as composeLogs, Y as checkDocker } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, r as errorResponse, u as requireAdmin } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/logs/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst url = new URL(event.request.url);\n\tconst serviceParam = url.searchParams.get(\"service\");\n\tconst tailParam = url.searchParams.get(\"tail\");\n\tconst sinceParam = url.searchParams.get(\"since\");\n\tconst tail = tailParam ? Number(tailParam) : 100;\n\tif (tailParam && (!Number.isInteger(tail) || tail < 1 || tail > 1e4)) return errorResponse(400, \"invalid_parameter\", \"tail must be an integer between 1 and 10000\", {}, requestId);\n\tlet services;\n\tif (serviceParam) {\n\t\tservices = serviceParam.split(\",\").map((s) => s.trim()).filter(Boolean);\n\t\tconst invalid = services.filter((s) => !isAllowedService(s, state.configDir));\n\t\tif (invalid.length > 0) return errorResponse(400, \"invalid_service\", `Invalid service name(s): ${invalid.join(\", \")}`, { invalid }, requestId);\n\t}\n\tif (sinceParam && !/^[a-zA-Z0-9.:+\\-T]+$/.test(sinceParam)) return errorResponse(400, \"invalid_parameter\", \"since contains invalid characters\", {}, requestId);\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await composeLogs(services, tail, {\n\t\t...buildComposeOptions(state),\n\t\tsince: sinceParam ?? void 0\n\t});\n\tif (!result.ok) return jsonResponse(500, {\n\t\tok: false,\n\t\tlogs: \"\",\n\t\terror: result.stderr\n\t}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tlogs: (result.stdout + result.stderr).trim()\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,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,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AACvC,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AACrD,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;AAC/C,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;AACjD,CAAC,MAAM,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG;AACjD,CAAC,IAAI,SAAS,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,6CAA6C,EAAE,EAAE,EAAE,SAAS,CAAC;AACnL,CAAC,IAAI,QAAQ;AACb,CAAC,IAAI,YAAY,EAAE;AACnB,EAAE,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACzE,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAC/E,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC,yBAAyB,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AAChJ,CAAC;AACD,CAAC,IAAI,UAAU,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,mCAAmC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/J,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE;AAClD,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAC/B,EAAE,KAAK,EAAE,UAAU,IAAI;AACvB,EAAE,CAAC;AACH,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1C,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,IAAI,EAAE,EAAE;AACV,EAAE,KAAK,EAAE,MAAM,CAAC;AAChB,EAAE,EAAE,SAAS,CAAC;AACd,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI;AAC5C,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,6 +1,6 @@
1
- import { aY as writeFileAtomic } from './src-DiiTRPTT.js';
2
- import { g as getState } from './state-ClKZUXL6.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, p as parseJsonBody, j as jsonBodyError, e as errorResponse } from './helpers-BM-xWM7P.js';
1
+ import { aY as writeFileAtomic } from './src-DBYue8Tb.js';
2
+ import { g as getState } from './state-Bpt5dC1X.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, p as parseJsonBody, j as jsonBodyError, e as errorResponse } from './helpers-GEmeDI6e.js';
4
4
  import { mkdirSync, existsSync, readFileSync } from 'node:fs';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-l4xlthcJ.js';
25
+ import './endpoints-DUs5zmwI.js';
26
26
 
27
27
  //#region src/routes/admin/akm/+server.ts
28
28
  function akmConfigPath(configDir) {
@@ -514,4 +514,4 @@ var PATCH = async (event) => {
514
514
  };
515
515
 
516
516
  export { GET, PATCH };
517
- //# sourceMappingURL=_server.ts-IFkzxUJw.js.map
517
+ //# sourceMappingURL=_server.ts-CTVpEmAc.js.map