@openpalm/ui 0.11.3 → 0.11.5-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/{4.DPfzakrS.css → 4.IdIqxXvJ.css} +1 -1
  3. package/build/client/_app/immutable/assets/4.IdIqxXvJ.css.br +0 -0
  4. package/build/client/_app/immutable/assets/4.IdIqxXvJ.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/7.BBZ56P_e.css +1 -0
  6. package/build/client/_app/immutable/assets/7.BBZ56P_e.css.br +0 -0
  7. package/build/client/_app/immutable/assets/7.BBZ56P_e.css.gz +0 -0
  8. package/build/client/_app/immutable/chunks/B0yFRekZ.js +3 -0
  9. package/build/client/_app/immutable/chunks/B0yFRekZ.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/B0yFRekZ.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/{BQ0vnNWj.js → BAaXfhM-.js} +1 -1
  12. package/build/client/_app/immutable/chunks/BAaXfhM-.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/BAaXfhM-.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{irujFCsS.js → B_FOicoS.js} +1 -1
  15. package/build/client/_app/immutable/chunks/B_FOicoS.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/B_FOicoS.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/C8l3LsdI.js +1 -0
  18. package/build/client/_app/immutable/chunks/C8l3LsdI.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/C8l3LsdI.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/CDYZd3Dt.js +1 -0
  21. package/build/client/_app/immutable/chunks/CDYZd3Dt.js.br +1 -0
  22. package/build/client/_app/immutable/chunks/CDYZd3Dt.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/CbZ3EANA.js +5 -0
  24. package/build/client/_app/immutable/chunks/CbZ3EANA.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/CbZ3EANA.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/{CGfIEMHl.js → D4eWPJ5x.js} +1 -1
  27. package/build/client/_app/immutable/chunks/D4eWPJ5x.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/D4eWPJ5x.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/DWrxguRp.js +3 -0
  30. package/build/client/_app/immutable/chunks/DWrxguRp.js.br +0 -0
  31. package/build/client/_app/immutable/chunks/DWrxguRp.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/GzVSnhwB.js +1 -0
  33. package/build/client/_app/immutable/chunks/GzVSnhwB.js.br +2 -0
  34. package/build/client/_app/immutable/chunks/GzVSnhwB.js.gz +0 -0
  35. package/build/client/_app/immutable/entry/app.BgG1Uliu.js +2 -0
  36. package/build/client/_app/immutable/entry/app.BgG1Uliu.js.br +0 -0
  37. package/build/client/_app/immutable/entry/app.BgG1Uliu.js.gz +0 -0
  38. package/build/client/_app/immutable/entry/start.D77xxjvu.js +1 -0
  39. package/build/client/_app/immutable/entry/start.D77xxjvu.js.br +0 -0
  40. package/build/client/_app/immutable/entry/start.D77xxjvu.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/0.B0SVfmqI.js +1 -0
  42. package/build/client/_app/immutable/nodes/0.B0SVfmqI.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/0.B0SVfmqI.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/1.DbQMVnxU.js +1 -0
  45. package/build/client/_app/immutable/nodes/1.DbQMVnxU.js.br +1 -0
  46. package/build/client/_app/immutable/nodes/1.DbQMVnxU.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/2.C-MzgTuq.js +1 -0
  48. package/build/client/_app/immutable/nodes/2.C-MzgTuq.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/2.C-MzgTuq.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/3.DXmMKZyn.js +1 -0
  51. package/build/client/_app/immutable/nodes/3.DXmMKZyn.js.br +0 -0
  52. package/build/client/_app/immutable/nodes/3.DXmMKZyn.js.gz +0 -0
  53. package/build/client/_app/immutable/nodes/4.BP1UQ07f.js +19 -0
  54. package/build/client/_app/immutable/nodes/4.BP1UQ07f.js.br +0 -0
  55. package/build/client/_app/immutable/nodes/4.BP1UQ07f.js.gz +0 -0
  56. package/build/client/_app/immutable/nodes/5.MxL5g3qw.js +4 -0
  57. package/build/client/_app/immutable/nodes/5.MxL5g3qw.js.br +0 -0
  58. package/build/client/_app/immutable/nodes/5.MxL5g3qw.js.gz +0 -0
  59. package/build/client/_app/immutable/nodes/6.BkOFgf5g.js +1 -0
  60. package/build/client/_app/immutable/nodes/6.BkOFgf5g.js.br +0 -0
  61. package/build/client/_app/immutable/nodes/6.BkOFgf5g.js.gz +0 -0
  62. package/build/client/_app/immutable/nodes/7.Ceu1f_kD.js +15 -0
  63. package/build/client/_app/immutable/nodes/7.Ceu1f_kD.js.br +0 -0
  64. package/build/client/_app/immutable/nodes/7.Ceu1f_kD.js.gz +0 -0
  65. package/build/client/_app/immutable/nodes/8.SOGUNPc0.js +1 -0
  66. package/build/client/_app/immutable/nodes/8.SOGUNPc0.js.br +0 -0
  67. package/build/client/_app/immutable/nodes/8.SOGUNPc0.js.gz +0 -0
  68. package/build/client/_app/immutable/nodes/9.B1IAKpfH.js +5 -0
  69. package/build/client/_app/immutable/nodes/9.B1IAKpfH.js.br +0 -0
  70. package/build/client/_app/immutable/nodes/9.B1IAKpfH.js.gz +0 -0
  71. package/build/client/_app/version.json +1 -1
  72. package/build/client/_app/version.json.br +1 -1
  73. package/build/client/_app/version.json.gz +0 -0
  74. package/build/server/chunks/0-BFQFTlU2.js +9 -0
  75. package/build/server/chunks/{0-D0XrV9ke.js.map → 0-BFQFTlU2.js.map} +1 -1
  76. package/build/server/chunks/1-BAqyeYw3.js +9 -0
  77. package/build/server/chunks/{1-CgqXNtgA.js.map → 1-BAqyeYw3.js.map} +1 -1
  78. package/build/server/chunks/{2-DQWoUtW1.js → 2-wNOz2qR7.js} +2 -2
  79. package/build/server/chunks/{2-DQWoUtW1.js.map → 2-wNOz2qR7.js.map} +1 -1
  80. package/build/server/chunks/{3-COIGgysA.js → 3-CMcVVZ5t.js} +2 -2
  81. package/build/server/chunks/{3-COIGgysA.js.map → 3-CMcVVZ5t.js.map} +1 -1
  82. package/build/server/chunks/4-CbzGhvp7.js +9 -0
  83. package/build/server/chunks/{4-DsiddHou.js.map → 4-CbzGhvp7.js.map} +1 -1
  84. package/build/server/chunks/5-CUIO9BFN.js +9 -0
  85. package/build/server/chunks/{5-JKB70T0W.js.map → 5-CUIO9BFN.js.map} +1 -1
  86. package/build/server/chunks/6-BmZ6gKak.js +9 -0
  87. package/build/server/chunks/{6-rJ3qUhTA.js.map → 6-BmZ6gKak.js.map} +1 -1
  88. package/build/server/chunks/7-BBWy1AEh.js +9 -0
  89. package/build/server/chunks/{7-BiRKgpMX.js.map → 7-BBWy1AEh.js.map} +1 -1
  90. package/build/server/chunks/{8-CMAHerzT.js → 8-DMVqrb6P.js} +3 -3
  91. package/build/server/chunks/{8-CMAHerzT.js.map → 8-DMVqrb6P.js.map} +1 -1
  92. package/build/server/chunks/{9-CGVsBC0_.js → 9-BCmr-315.js} +2 -2
  93. package/build/server/chunks/{9-CGVsBC0_.js.map → 9-BCmr-315.js.map} +1 -1
  94. package/build/server/chunks/{Navbar-BAeaqjaN.js → Navbar-Bx4D1yFQ.js} +454 -38
  95. package/build/server/chunks/Navbar-Bx4D1yFQ.js.map +1 -0
  96. package/build/server/chunks/{_layout.svelte-COQuY-BN.js → _layout.svelte-DzBCdyUD.js} +2 -2
  97. package/build/server/chunks/{_layout.svelte-COQuY-BN.js.map → _layout.svelte-DzBCdyUD.js.map} +1 -1
  98. package/build/server/chunks/{_page.svelte-BAL_V5np.js → _page.svelte-BtKgsh16.js} +3 -3
  99. package/build/server/chunks/{_page.svelte-BAL_V5np.js.map → _page.svelte-BtKgsh16.js.map} +1 -1
  100. package/build/server/chunks/{_page.svelte-D9zRzRCV.js → _page.svelte-BucH_yEP.js} +6 -6
  101. package/build/server/chunks/{_page.svelte-D9zRzRCV.js.map → _page.svelte-BucH_yEP.js.map} +1 -1
  102. package/build/server/chunks/{_page.svelte-zSkk6PMh.js → _page.svelte-DD-cF_uw.js} +204 -17
  103. package/build/server/chunks/{_page.svelte-zSkk6PMh.js.map → _page.svelte-DD-cF_uw.js.map} +1 -1
  104. package/build/server/chunks/{_page.svelte-B61fCYqv.js → _page.svelte-DxrwcZoP.js} +248 -16
  105. package/build/server/chunks/_page.svelte-DxrwcZoP.js.map +1 -0
  106. package/build/server/chunks/{_page.svelte-CYJQOnk0.js → _page.svelte-fZ8uQkAv.js} +6 -6
  107. package/build/server/chunks/{_page.svelte-CYJQOnk0.js.map → _page.svelte-fZ8uQkAv.js.map} +1 -1
  108. package/build/server/chunks/{_server.ts-7D-Rc6vR.js → _server.ts-4mBSRzZ0.js} +4 -4
  109. package/build/server/chunks/{_server.ts-7D-Rc6vR.js.map → _server.ts-4mBSRzZ0.js.map} +1 -1
  110. package/build/server/chunks/_server.ts-7iLdi0IJ.js +205 -0
  111. package/build/server/chunks/_server.ts-7iLdi0IJ.js.map +1 -0
  112. package/build/server/chunks/{_server.ts-BzSa91Mu.js → _server.ts-B-E7fk-8.js} +4 -4
  113. package/build/server/chunks/{_server.ts-BzSa91Mu.js.map → _server.ts-B-E7fk-8.js.map} +1 -1
  114. package/build/server/chunks/{_server.ts-Dfoak6lb.js → _server.ts-B0obzdyg.js} +4 -4
  115. package/build/server/chunks/{_server.ts-Dfoak6lb.js.map → _server.ts-B0obzdyg.js.map} +1 -1
  116. package/build/server/chunks/{_server.ts-B19b36Eo.js → _server.ts-B1_ms3tJ.js} +4 -4
  117. package/build/server/chunks/{_server.ts-B19b36Eo.js.map → _server.ts-B1_ms3tJ.js.map} +1 -1
  118. package/build/server/chunks/{_server.ts-C73JZxNS.js → _server.ts-B1a13QOX.js} +4 -4
  119. package/build/server/chunks/{_server.ts-C73JZxNS.js.map → _server.ts-B1a13QOX.js.map} +1 -1
  120. package/build/server/chunks/{_server.ts-KrHLZ41l.js → _server.ts-B600zcV1.js} +4 -4
  121. package/build/server/chunks/{_server.ts-KrHLZ41l.js.map → _server.ts-B600zcV1.js.map} +1 -1
  122. package/build/server/chunks/{_server.ts-D3JrqMf5.js → _server.ts-B82yAdBX.js} +5 -5
  123. package/build/server/chunks/{_server.ts-D3JrqMf5.js.map → _server.ts-B82yAdBX.js.map} +1 -1
  124. package/build/server/chunks/{_server.ts-B262_mM_.js → _server.ts-B8onUVE8.js} +4 -4
  125. package/build/server/chunks/{_server.ts-B262_mM_.js.map → _server.ts-B8onUVE8.js.map} +1 -1
  126. package/build/server/chunks/{_server.ts-BkYAvAn4.js → _server.ts-BBE5x3QY.js} +5 -5
  127. package/build/server/chunks/{_server.ts-BkYAvAn4.js.map → _server.ts-BBE5x3QY.js.map} +1 -1
  128. package/build/server/chunks/{_server.ts-XvDJ5OtB.js → _server.ts-BCCwdxvs.js} +4 -4
  129. package/build/server/chunks/{_server.ts-XvDJ5OtB.js.map → _server.ts-BCCwdxvs.js.map} +1 -1
  130. package/build/server/chunks/{_server.ts-Bs9prWkw.js → _server.ts-BIKiBZV_.js} +4 -4
  131. package/build/server/chunks/{_server.ts-Bs9prWkw.js.map → _server.ts-BIKiBZV_.js.map} +1 -1
  132. package/build/server/chunks/{_server.ts-4-UC6SEV.js → _server.ts-BIn9lsec.js} +4 -4
  133. package/build/server/chunks/{_server.ts-4-UC6SEV.js.map → _server.ts-BIn9lsec.js.map} +1 -1
  134. package/build/server/chunks/{_server.ts-BnjrP3ks.js → _server.ts-BKoYlaBb.js} +4 -4
  135. package/build/server/chunks/{_server.ts-BnjrP3ks.js.map → _server.ts-BKoYlaBb.js.map} +1 -1
  136. package/build/server/chunks/{_server.ts-0XsihZif.js → _server.ts-BSRqflR_.js} +4 -4
  137. package/build/server/chunks/{_server.ts-0XsihZif.js.map → _server.ts-BSRqflR_.js.map} +1 -1
  138. package/build/server/chunks/{_server.ts-BjzBsC6w.js → _server.ts-BSsfDk15.js} +4 -4
  139. package/build/server/chunks/{_server.ts-BjzBsC6w.js.map → _server.ts-BSsfDk15.js.map} +1 -1
  140. package/build/server/chunks/{_server.ts-LPclMhOg.js → _server.ts-BVoVhhS9.js} +4 -4
  141. package/build/server/chunks/{_server.ts-LPclMhOg.js.map → _server.ts-BVoVhhS9.js.map} +1 -1
  142. package/build/server/chunks/{_server.ts-CbHU1vkN.js → _server.ts-BbNV0p64.js} +4 -4
  143. package/build/server/chunks/{_server.ts-CbHU1vkN.js.map → _server.ts-BbNV0p64.js.map} +1 -1
  144. package/build/server/chunks/{_server.ts-Wb18-UPz.js → _server.ts-BcPQ0xIF.js} +2 -2
  145. package/build/server/chunks/{_server.ts-Wb18-UPz.js.map → _server.ts-BcPQ0xIF.js.map} +1 -1
  146. package/build/server/chunks/{_server.ts-Bdc1yveI.js → _server.ts-BceCrKJH.js} +4 -4
  147. package/build/server/chunks/{_server.ts-Bdc1yveI.js.map → _server.ts-BceCrKJH.js.map} +1 -1
  148. package/build/server/chunks/{_server.ts-CEM2Bhrp.js → _server.ts-BdLR7JYt.js} +4 -4
  149. package/build/server/chunks/{_server.ts-CEM2Bhrp.js.map → _server.ts-BdLR7JYt.js.map} +1 -1
  150. package/build/server/chunks/{_server.ts-B6xTnPJR.js → _server.ts-BeI_S31W.js} +4 -4
  151. package/build/server/chunks/{_server.ts-B6xTnPJR.js.map → _server.ts-BeI_S31W.js.map} +1 -1
  152. package/build/server/chunks/{_server.ts-CsN4U0jo.js → _server.ts-Bfbn9lhj.js} +4 -4
  153. package/build/server/chunks/{_server.ts-CsN4U0jo.js.map → _server.ts-Bfbn9lhj.js.map} +1 -1
  154. package/build/server/chunks/{_server.ts-CJyYri21.js → _server.ts-Bi-QXr_U.js} +4 -4
  155. package/build/server/chunks/{_server.ts-CJyYri21.js.map → _server.ts-Bi-QXr_U.js.map} +1 -1
  156. package/build/server/chunks/{_server.ts-DK_yszHc.js → _server.ts-BilvlV9b.js} +4 -4
  157. package/build/server/chunks/{_server.ts-DK_yszHc.js.map → _server.ts-BilvlV9b.js.map} +1 -1
  158. package/build/server/chunks/{_server.ts-BesHLxS2.js → _server.ts-BjAlQcqF.js} +4 -4
  159. package/build/server/chunks/{_server.ts-BesHLxS2.js.map → _server.ts-BjAlQcqF.js.map} +1 -1
  160. package/build/server/chunks/{_server.ts-DpL6zI13.js → _server.ts-BjYJISog.js} +4 -4
  161. package/build/server/chunks/{_server.ts-DpL6zI13.js.map → _server.ts-BjYJISog.js.map} +1 -1
  162. package/build/server/chunks/{_server.ts-BvhZYj4O.js → _server.ts-BnHDsStJ.js} +4 -4
  163. package/build/server/chunks/{_server.ts-BvhZYj4O.js.map → _server.ts-BnHDsStJ.js.map} +1 -1
  164. package/build/server/chunks/_server.ts-BnJquF3b.js +86 -0
  165. package/build/server/chunks/_server.ts-BnJquF3b.js.map +1 -0
  166. package/build/server/chunks/{_server.ts-B-e9YBGN.js → _server.ts-Bq95l_ee.js} +6 -6
  167. package/build/server/chunks/{_server.ts-B-e9YBGN.js.map → _server.ts-Bq95l_ee.js.map} +1 -1
  168. package/build/server/chunks/{_server.ts-CY2txcrO.js → _server.ts-Bxz_w5lw.js} +5 -5
  169. package/build/server/chunks/{_server.ts-CY2txcrO.js.map → _server.ts-Bxz_w5lw.js.map} +1 -1
  170. package/build/server/chunks/{_server.ts-CeUZgHnR.js → _server.ts-BzcAg5le.js} +2 -2
  171. package/build/server/chunks/{_server.ts-CeUZgHnR.js.map → _server.ts-BzcAg5le.js.map} +1 -1
  172. package/build/server/chunks/{_server.ts-2VQoZ57d.js → _server.ts-C2DttH_j.js} +4 -4
  173. package/build/server/chunks/{_server.ts-2VQoZ57d.js.map → _server.ts-C2DttH_j.js.map} +1 -1
  174. package/build/server/chunks/{_server.ts-BYeJhgFH.js → _server.ts-C75ONqUr.js} +5 -5
  175. package/build/server/chunks/{_server.ts-BYeJhgFH.js.map → _server.ts-C75ONqUr.js.map} +1 -1
  176. package/build/server/chunks/{_server.ts-DrySD7h9.js → _server.ts-CALM0gvt.js} +6 -6
  177. package/build/server/chunks/{_server.ts-DrySD7h9.js.map → _server.ts-CALM0gvt.js.map} +1 -1
  178. package/build/server/chunks/{_server.ts-DFpwWuLU.js → _server.ts-CBJLoGvQ.js} +4 -4
  179. package/build/server/chunks/{_server.ts-DFpwWuLU.js.map → _server.ts-CBJLoGvQ.js.map} +1 -1
  180. package/build/server/chunks/{_server.ts-ek6MwdUK.js → _server.ts-CH0hbG99.js} +4 -4
  181. package/build/server/chunks/{_server.ts-ek6MwdUK.js.map → _server.ts-CH0hbG99.js.map} +1 -1
  182. package/build/server/chunks/{_server.ts-DVtd0Eah.js → _server.ts-CMG94cgX.js} +4 -4
  183. package/build/server/chunks/{_server.ts-DVtd0Eah.js.map → _server.ts-CMG94cgX.js.map} +1 -1
  184. package/build/server/chunks/{_server.ts-DvrTAImV.js → _server.ts-COB2uqM8.js} +4 -4
  185. package/build/server/chunks/{_server.ts-DvrTAImV.js.map → _server.ts-COB2uqM8.js.map} +1 -1
  186. package/build/server/chunks/_server.ts-CQu3-Yre.js +602 -0
  187. package/build/server/chunks/_server.ts-CQu3-Yre.js.map +1 -0
  188. package/build/server/chunks/{_server.ts-DcTyFyDW.js → _server.ts-CRmaS7rN.js} +4 -4
  189. package/build/server/chunks/{_server.ts-DcTyFyDW.js.map → _server.ts-CRmaS7rN.js.map} +1 -1
  190. package/build/server/chunks/{_server.ts-xZeGGokt.js → _server.ts-CcgcUrz4.js} +5 -5
  191. package/build/server/chunks/{_server.ts-xZeGGokt.js.map → _server.ts-CcgcUrz4.js.map} +1 -1
  192. package/build/server/chunks/{_server.ts-DZ3Z2xUm.js → _server.ts-CdROlo3B.js} +2 -2
  193. package/build/server/chunks/{_server.ts-DZ3Z2xUm.js.map → _server.ts-CdROlo3B.js.map} +1 -1
  194. package/build/server/chunks/{_server.ts-Bi0VeyRr.js → _server.ts-CewxkrA0.js} +2 -2
  195. package/build/server/chunks/{_server.ts-Bi0VeyRr.js.map → _server.ts-CewxkrA0.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-D_RT5a88.js → _server.ts-Cv_tDPcz.js} +6 -6
  197. package/build/server/chunks/{_server.ts-D_RT5a88.js.map → _server.ts-Cv_tDPcz.js.map} +1 -1
  198. package/build/server/chunks/_server.ts-CvgjhFTr.js +36 -0
  199. package/build/server/chunks/_server.ts-CvgjhFTr.js.map +1 -0
  200. package/build/server/chunks/{_server.ts-zyxUGoYW.js → _server.ts-CzaVvCkd.js} +4 -4
  201. package/build/server/chunks/{_server.ts-zyxUGoYW.js.map → _server.ts-CzaVvCkd.js.map} +1 -1
  202. package/build/server/chunks/{_server.ts-COKTksXS.js → _server.ts-D1DMh7dc.js} +4 -4
  203. package/build/server/chunks/_server.ts-D1DMh7dc.js.map +1 -0
  204. package/build/server/chunks/{_server.ts-C-iybQg_.js → _server.ts-D4f920nj.js} +4 -4
  205. package/build/server/chunks/{_server.ts-C-iybQg_.js.map → _server.ts-D4f920nj.js.map} +1 -1
  206. package/build/server/chunks/{_server.ts-DjFhNlGz.js → _server.ts-D6Pr_XI_.js} +2 -2
  207. package/build/server/chunks/{_server.ts-DjFhNlGz.js.map → _server.ts-D6Pr_XI_.js.map} +1 -1
  208. package/build/server/chunks/{_server.ts-C1KzS6xc.js → _server.ts-DMA3iJPX.js} +5 -5
  209. package/build/server/chunks/{_server.ts-C1KzS6xc.js.map → _server.ts-DMA3iJPX.js.map} +1 -1
  210. package/build/server/chunks/{_server.ts-BjKendRn.js → _server.ts-DO6HhMyZ.js} +6 -6
  211. package/build/server/chunks/{_server.ts-BjKendRn.js.map → _server.ts-DO6HhMyZ.js.map} +1 -1
  212. package/build/server/chunks/{_server.ts-DzFwsF9j.js → _server.ts-DTpYCtfU.js} +5 -5
  213. package/build/server/chunks/{_server.ts-DzFwsF9j.js.map → _server.ts-DTpYCtfU.js.map} +1 -1
  214. package/build/server/chunks/{_server.ts-DkLhIF73.js → _server.ts-DcTP5Yi3.js} +4 -4
  215. package/build/server/chunks/{_server.ts-DkLhIF73.js.map → _server.ts-DcTP5Yi3.js.map} +1 -1
  216. package/build/server/chunks/{_server.ts-ClrUP4an.js → _server.ts-DeJWmEMG.js} +4 -4
  217. package/build/server/chunks/{_server.ts-ClrUP4an.js.map → _server.ts-DeJWmEMG.js.map} +1 -1
  218. package/build/server/chunks/{_server.ts-COzEgPgm.js → _server.ts-DfgOjCEL.js} +4 -4
  219. package/build/server/chunks/{_server.ts-COzEgPgm.js.map → _server.ts-DfgOjCEL.js.map} +1 -1
  220. package/build/server/chunks/{_server.ts-BstRFodf.js → _server.ts-DgdYq8Ea.js} +4 -4
  221. package/build/server/chunks/{_server.ts-BstRFodf.js.map → _server.ts-DgdYq8Ea.js.map} +1 -1
  222. package/build/server/chunks/_server.ts-DhfiREoV.js +40 -0
  223. package/build/server/chunks/_server.ts-DhfiREoV.js.map +1 -0
  224. package/build/server/chunks/{_server.ts-CAdmGw2l.js → _server.ts-Doqp92Ve.js} +4 -4
  225. package/build/server/chunks/{_server.ts-CAdmGw2l.js.map → _server.ts-Doqp92Ve.js.map} +1 -1
  226. package/build/server/chunks/{_server.ts-JrZ2T0x3.js → _server.ts-DpllrvO_.js} +5 -5
  227. package/build/server/chunks/{_server.ts-JrZ2T0x3.js.map → _server.ts-DpllrvO_.js.map} +1 -1
  228. package/build/server/chunks/{_server.ts-CgIBSa2W.js → _server.ts-Drhair2Z.js} +4 -4
  229. package/build/server/chunks/{_server.ts-CgIBSa2W.js.map → _server.ts-Drhair2Z.js.map} +1 -1
  230. package/build/server/chunks/{_server.ts-DRFb9TfV.js → _server.ts-Dwfh-uai.js} +4 -4
  231. package/build/server/chunks/{_server.ts-DRFb9TfV.js.map → _server.ts-Dwfh-uai.js.map} +1 -1
  232. package/build/server/chunks/{_server.ts-CVEG3K9b.js → _server.ts-DytqRDCZ.js} +5 -5
  233. package/build/server/chunks/{_server.ts-CVEG3K9b.js.map → _server.ts-DytqRDCZ.js.map} +1 -1
  234. package/build/server/chunks/{_server.ts-Bb6_g6bb.js → _server.ts-DzRsXtlt.js} +4 -4
  235. package/build/server/chunks/{_server.ts-Bb6_g6bb.js.map → _server.ts-DzRsXtlt.js.map} +1 -1
  236. package/build/server/chunks/{_server.ts-D41uKHXF.js → _server.ts-Em-TxgiV.js} +4 -4
  237. package/build/server/chunks/{_server.ts-D41uKHXF.js.map → _server.ts-Em-TxgiV.js.map} +1 -1
  238. package/build/server/chunks/{_server.ts-DhHNXH2Y.js → _server.ts-FVtB8vud.js} +11 -46
  239. package/build/server/chunks/_server.ts-FVtB8vud.js.map +1 -0
  240. package/build/server/chunks/{_server.ts-B8yF8yr3.js → _server.ts-Yr-VbJ6z.js} +4 -4
  241. package/build/server/chunks/{_server.ts-B8yF8yr3.js.map → _server.ts-Yr-VbJ6z.js.map} +1 -1
  242. package/build/server/chunks/_server.ts-_j6A61pI.js +51 -0
  243. package/build/server/chunks/_server.ts-_j6A61pI.js.map +1 -0
  244. package/build/server/chunks/{_server.ts-BPI-RcmG.js → _server.ts-h6dhtLdh.js} +4 -4
  245. package/build/server/chunks/{_server.ts-BPI-RcmG.js.map → _server.ts-h6dhtLdh.js.map} +1 -1
  246. package/build/server/chunks/{_server.ts-CB9981qx.js → _server.ts-jaAfE-7p.js} +3 -3
  247. package/build/server/chunks/{_server.ts-CB9981qx.js.map → _server.ts-jaAfE-7p.js.map} +1 -1
  248. package/build/server/chunks/{_server.ts-D6GjjoAA.js → _server.ts-kZrS-jc4.js} +4 -4
  249. package/build/server/chunks/{_server.ts-D6GjjoAA.js.map → _server.ts-kZrS-jc4.js.map} +1 -1
  250. package/build/server/chunks/{_server.ts-C8y5k5IZ.js → _server.ts-lGp994gP.js} +4 -4
  251. package/build/server/chunks/{_server.ts-C8y5k5IZ.js.map → _server.ts-lGp994gP.js.map} +1 -1
  252. package/build/server/chunks/{_server.ts-DN6e9aZX.js → _server.ts-mMWXWLPZ.js} +6 -6
  253. package/build/server/chunks/{_server.ts-DN6e9aZX.js.map → _server.ts-mMWXWLPZ.js.map} +1 -1
  254. package/build/server/chunks/{_server.ts-CmzKw1o3.js → _server.ts-noqLl5fv.js} +4 -4
  255. package/build/server/chunks/{_server.ts-CmzKw1o3.js.map → _server.ts-noqLl5fv.js.map} +1 -1
  256. package/build/server/chunks/{_server.ts-pmjwexpo.js → _server.ts-pyxPjKSd.js} +4 -4
  257. package/build/server/chunks/{_server.ts-pmjwexpo.js.map → _server.ts-pyxPjKSd.js.map} +1 -1
  258. package/build/server/chunks/{_server.ts-B4xZ8oA3.js → _server.ts-rkPqnrxd.js} +4 -4
  259. package/build/server/chunks/{_server.ts-B4xZ8oA3.js.map → _server.ts-rkPqnrxd.js.map} +1 -1
  260. package/build/server/chunks/{addon-helpers-KNw7tctP.js → addon-helpers-DAirj9Ze.js} +3 -3
  261. package/build/server/chunks/{addon-helpers-KNw7tctP.js.map → addon-helpers-DAirj9Ze.js.map} +1 -1
  262. package/build/server/chunks/akm-BlxJtWqf.js +174 -0
  263. package/build/server/chunks/akm-BlxJtWqf.js.map +1 -0
  264. package/build/server/chunks/{client-CA8h4-ry.js → client-CzWS98u-.js} +2 -2
  265. package/build/server/chunks/{client-CA8h4-ry.js.map → client-CzWS98u-.js.map} +1 -1
  266. package/build/server/chunks/{config-D5SE6Awc.js → config-XF8xaL-e.js} +2 -2
  267. package/build/server/chunks/{config-D5SE6Awc.js.map → config-XF8xaL-e.js.map} +1 -1
  268. package/build/server/chunks/{docker-BVtcOSzA.js → docker-2Z8gCk7h.js} +2 -2
  269. package/build/server/chunks/{docker-BVtcOSzA.js.map → docker-2Z8gCk7h.js.map} +1 -1
  270. package/build/server/chunks/{endpoints-zfo5Ad6e.js → endpoints-5NhmFZ2p.js} +2 -2
  271. package/build/server/chunks/{endpoints-zfo5Ad6e.js.map → endpoints-5NhmFZ2p.js.map} +1 -1
  272. package/build/server/chunks/{environment-GWvw20UY.js → environment-CpCEZMaj.js} +2 -2
  273. package/build/server/chunks/{environment-GWvw20UY.js.map → environment-CpCEZMaj.js.map} +1 -1
  274. package/build/server/chunks/{error.svelte-mW__f31O.js → error.svelte-ql9RO6az.js} +4 -4
  275. package/build/server/chunks/{error.svelte-mW__f31O.js.map → error.svelte-ql9RO6az.js.map} +1 -1
  276. package/build/server/chunks/{helpers-DHbBmb0V.js → helpers-CDa-yBOY.js} +3 -3
  277. package/build/server/chunks/{helpers-DHbBmb0V.js.map → helpers-CDa-yBOY.js.map} +1 -1
  278. package/build/server/chunks/{hooks.server-BcB7DyJ7.js → hooks.server-Bv4lzDJF.js} +5 -5
  279. package/build/server/chunks/{hooks.server-BcB7DyJ7.js.map → hooks.server-Bv4lzDJF.js.map} +1 -1
  280. package/build/server/chunks/{http-B6HcMA7S.js → http-DNTu_Z58.js} +2 -2
  281. package/build/server/chunks/{http-B6HcMA7S.js.map → http-DNTu_Z58.js.map} +1 -1
  282. package/build/server/chunks/{internal-C60J8YGh.js → internal-Cv1tDOi8.js} +3 -3
  283. package/build/server/chunks/{internal-C60J8YGh.js.map → internal-Cv1tDOi8.js.map} +1 -1
  284. package/build/server/chunks/{session-cookie-Do-csnSL.js → session-cookie-kNDCcqJr.js} +2 -2
  285. package/build/server/chunks/{session-cookie-Do-csnSL.js.map → session-cookie-kNDCcqJr.js.map} +1 -1
  286. package/build/server/chunks/{setup-deploy-BgLVwmhY.js → setup-deploy-69NTbd-m.js} +2 -2
  287. package/build/server/chunks/{setup-deploy-BgLVwmhY.js.map → setup-deploy-69NTbd-m.js.map} +1 -1
  288. package/build/server/chunks/{src-56XoMiXa.js → src-nTQnTO9V.js} +160 -16
  289. package/build/server/chunks/src-nTQnTO9V.js.map +1 -0
  290. package/build/server/chunks/{state-DlLwDz60.js → state-DaLIIQmU.js} +2 -2
  291. package/build/server/chunks/{state-DlLwDz60.js.map → state-DaLIIQmU.js.map} +1 -1
  292. package/build/server/chunks/{theme-state.svelte-CE13yM0n.js → theme-state.svelte-_CMr5Hu9.js} +102 -24
  293. package/build/server/chunks/theme-state.svelte-_CMr5Hu9.js.map +1 -0
  294. package/build/server/index.js +2 -2
  295. package/build/server/manifest.js +117 -82
  296. package/build/server/manifest.js.map +1 -1
  297. package/package.json +2 -2
  298. package/build/client/_app/immutable/assets/4.DPfzakrS.css.br +0 -0
  299. package/build/client/_app/immutable/assets/4.DPfzakrS.css.gz +0 -0
  300. package/build/client/_app/immutable/assets/7.DKl0e2Fb.css +0 -1
  301. package/build/client/_app/immutable/assets/7.DKl0e2Fb.css.br +0 -0
  302. package/build/client/_app/immutable/assets/7.DKl0e2Fb.css.gz +0 -0
  303. package/build/client/_app/immutable/chunks/0swOyi-5.js +0 -3
  304. package/build/client/_app/immutable/chunks/0swOyi-5.js.br +0 -0
  305. package/build/client/_app/immutable/chunks/0swOyi-5.js.gz +0 -0
  306. package/build/client/_app/immutable/chunks/BQ0vnNWj.js.br +0 -1
  307. package/build/client/_app/immutable/chunks/BQ0vnNWj.js.gz +0 -0
  308. package/build/client/_app/immutable/chunks/Bmfn2m9N.js +0 -1
  309. package/build/client/_app/immutable/chunks/Bmfn2m9N.js.br +0 -1
  310. package/build/client/_app/immutable/chunks/Bmfn2m9N.js.gz +0 -0
  311. package/build/client/_app/immutable/chunks/Brimfe5O.js +0 -3
  312. package/build/client/_app/immutable/chunks/Brimfe5O.js.br +0 -0
  313. package/build/client/_app/immutable/chunks/Brimfe5O.js.gz +0 -0
  314. package/build/client/_app/immutable/chunks/CGfIEMHl.js.br +0 -0
  315. package/build/client/_app/immutable/chunks/CGfIEMHl.js.gz +0 -0
  316. package/build/client/_app/immutable/chunks/CkEumHeM.js +0 -5
  317. package/build/client/_app/immutable/chunks/CkEumHeM.js.br +0 -0
  318. package/build/client/_app/immutable/chunks/CkEumHeM.js.gz +0 -0
  319. package/build/client/_app/immutable/chunks/CntupqMG.js +0 -1
  320. package/build/client/_app/immutable/chunks/CntupqMG.js.br +0 -2
  321. package/build/client/_app/immutable/chunks/CntupqMG.js.gz +0 -0
  322. package/build/client/_app/immutable/chunks/JXKXFmZF.js +0 -1
  323. package/build/client/_app/immutable/chunks/JXKXFmZF.js.br +0 -0
  324. package/build/client/_app/immutable/chunks/JXKXFmZF.js.gz +0 -0
  325. package/build/client/_app/immutable/chunks/irujFCsS.js.br +0 -0
  326. package/build/client/_app/immutable/chunks/irujFCsS.js.gz +0 -0
  327. package/build/client/_app/immutable/entry/app.DwREblKQ.js +0 -2
  328. package/build/client/_app/immutable/entry/app.DwREblKQ.js.br +0 -0
  329. package/build/client/_app/immutable/entry/app.DwREblKQ.js.gz +0 -0
  330. package/build/client/_app/immutable/entry/start.4SCazkhD.js +0 -1
  331. package/build/client/_app/immutable/entry/start.4SCazkhD.js.br +0 -1
  332. package/build/client/_app/immutable/entry/start.4SCazkhD.js.gz +0 -0
  333. package/build/client/_app/immutable/nodes/0.7SpSN_Ip.js +0 -1
  334. package/build/client/_app/immutable/nodes/0.7SpSN_Ip.js.br +0 -0
  335. package/build/client/_app/immutable/nodes/0.7SpSN_Ip.js.gz +0 -0
  336. package/build/client/_app/immutable/nodes/1.SA58z0My.js +0 -1
  337. package/build/client/_app/immutable/nodes/1.SA58z0My.js.br +0 -1
  338. package/build/client/_app/immutable/nodes/1.SA58z0My.js.gz +0 -0
  339. package/build/client/_app/immutable/nodes/2.B-8ehRO1.js +0 -1
  340. package/build/client/_app/immutable/nodes/2.B-8ehRO1.js.br +0 -0
  341. package/build/client/_app/immutable/nodes/2.B-8ehRO1.js.gz +0 -0
  342. package/build/client/_app/immutable/nodes/3.B_FXzjZB.js +0 -1
  343. package/build/client/_app/immutable/nodes/3.B_FXzjZB.js.br +0 -0
  344. package/build/client/_app/immutable/nodes/3.B_FXzjZB.js.gz +0 -0
  345. package/build/client/_app/immutable/nodes/4.Ddu6ozpR.js +0 -19
  346. package/build/client/_app/immutable/nodes/4.Ddu6ozpR.js.br +0 -0
  347. package/build/client/_app/immutable/nodes/4.Ddu6ozpR.js.gz +0 -0
  348. package/build/client/_app/immutable/nodes/5.ujLDiIKn.js +0 -4
  349. package/build/client/_app/immutable/nodes/5.ujLDiIKn.js.br +0 -0
  350. package/build/client/_app/immutable/nodes/5.ujLDiIKn.js.gz +0 -0
  351. package/build/client/_app/immutable/nodes/6.DRmY8bvl.js +0 -1
  352. package/build/client/_app/immutable/nodes/6.DRmY8bvl.js.br +0 -0
  353. package/build/client/_app/immutable/nodes/6.DRmY8bvl.js.gz +0 -0
  354. package/build/client/_app/immutable/nodes/7.BV_ceeZR.js +0 -15
  355. package/build/client/_app/immutable/nodes/7.BV_ceeZR.js.br +0 -0
  356. package/build/client/_app/immutable/nodes/7.BV_ceeZR.js.gz +0 -0
  357. package/build/client/_app/immutable/nodes/8.9p2W5EZn.js +0 -1
  358. package/build/client/_app/immutable/nodes/8.9p2W5EZn.js.br +0 -0
  359. package/build/client/_app/immutable/nodes/8.9p2W5EZn.js.gz +0 -0
  360. package/build/client/_app/immutable/nodes/9.CFQabEMi.js +0 -5
  361. package/build/client/_app/immutable/nodes/9.CFQabEMi.js.br +0 -0
  362. package/build/client/_app/immutable/nodes/9.CFQabEMi.js.gz +0 -0
  363. package/build/server/chunks/0-D0XrV9ke.js +0 -9
  364. package/build/server/chunks/1-CgqXNtgA.js +0 -9
  365. package/build/server/chunks/4-DsiddHou.js +0 -9
  366. package/build/server/chunks/5-JKB70T0W.js +0 -9
  367. package/build/server/chunks/6-rJ3qUhTA.js +0 -9
  368. package/build/server/chunks/7-BiRKgpMX.js +0 -9
  369. package/build/server/chunks/Navbar-BAeaqjaN.js.map +0 -1
  370. package/build/server/chunks/_page.svelte-B61fCYqv.js.map +0 -1
  371. package/build/server/chunks/_server.ts-COKTksXS.js.map +0 -1
  372. package/build/server/chunks/_server.ts-CtPbD9jt.js +0 -91
  373. package/build/server/chunks/_server.ts-CtPbD9jt.js.map +0 -1
  374. package/build/server/chunks/_server.ts-DhHNXH2Y.js.map +0 -1
  375. package/build/server/chunks/src-56XoMiXa.js.map +0 -1
  376. package/build/server/chunks/theme-state.svelte-CE13yM0n.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import { a1 as isAllowedService, m as checkDocker, p as composeLogs, k as buildComposeOptions } from './src-56XoMiXa.js';
2
- import { b as getState } from './endpoints-zfo5Ad6e.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-DHbBmb0V.js';
1
+ import { a2 as isAllowedService, n as checkDocker, q as composeLogs, l as buildComposeOptions } from './src-nTQnTO9V.js';
2
+ import { b as getState } from './endpoints-5NhmFZ2p.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CDa-yBOY.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -57,4 +57,4 @@ var GET = async (event) => {
57
57
  };
58
58
 
59
59
  export { GET };
60
- //# sourceMappingURL=_server.ts-B6xTnPJR.js.map
60
+ //# sourceMappingURL=_server.ts-BeI_S31W.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-B6xTnPJR.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/logs/_server.ts.js"],"sourcesContent":["import { E as buildComposeOptions, F as isAllowedService, I as checkDocker, z as composeLogs } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\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-BeI_S31W.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/logs/_server.ts.js"],"sourcesContent":["import { B as composeLogs, E as buildComposeOptions, I as isAllowedService, L as checkDocker } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\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 { av as validateProposedState, y as createLogger } from './src-56XoMiXa.js';
2
- import { b as getState } from './endpoints-zfo5Ad6e.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-DHbBmb0V.js';
1
+ import { ay as validateProposedState, z as createLogger } from './src-nTQnTO9V.js';
2
+ import { b as getState } from './endpoints-5NhmFZ2p.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-CDa-yBOY.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -37,4 +37,4 @@ var GET = async (event) => {
37
37
  };
38
38
 
39
39
  export { GET };
40
- //# sourceMappingURL=_server.ts-CsN4U0jo.js.map
40
+ //# sourceMappingURL=_server.ts-Bfbn9lhj.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CsN4U0jo.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/config/validate/_server.ts.js"],"sourcesContent":["import { D as validateProposedState, Rt as createLogger } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/config/validate/+server.ts\nvar logger = createLogger(\"admin.config.validate\");\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst result = await validateProposedState(getState());\n\tif (!result.ok) logger.warn(\"config validation failed\", {\n\t\trequestId,\n\t\terrors: result.errors,\n\t\twarnings: result.warnings\n\t});\n\treturn jsonResponse(200, result, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,uBAAuB,CAAC;AAC/C,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,CAAC;AACvD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;AACzD,EAAE,SAAS;AACX,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM;AACvB,EAAE,QAAQ,EAAE,MAAM,CAAC;AACnB,EAAE,CAAC;AACH,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC;AAC5C;;;;"}
1
+ {"version":3,"file":"_server.ts-Bfbn9lhj.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/config/validate/_server.ts.js"],"sourcesContent":["import { Bt as createLogger, D as validateProposedState } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/config/validate/+server.ts\nvar logger = createLogger(\"admin.config.validate\");\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst result = await validateProposedState(getState());\n\tif (!result.ok) logger.warn(\"config validation failed\", {\n\t\trequestId,\n\t\terrors: result.errors,\n\t\twarnings: result.warnings\n\t});\n\treturn jsonResponse(200, result, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,uBAAuB,CAAC;AAC/C,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,CAAC;AACvD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;AACzD,EAAE,SAAS;AACX,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM;AACvB,EAAE,QAAQ,EAAE,MAAM,CAAC;AACnB,EAAE,CAAC;AACH,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC;AAC5C;;;;"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, r as requireAdmin, g as getOpenCodeClient, e as errorResponse, k as jsonResponse } from './helpers-DHbBmb0V.js';
1
+ import { d as getRequestId, r as requireAdmin, g as getOpenCodeClient, e as errorResponse, k as jsonResponse } from './helpers-CDa-yBOY.js';
2
2
  import { b as asRecord } from './coercion-TNFJisCC.js';
3
- import './src-56XoMiXa.js';
3
+ import './src-nTQnTO9V.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -20,7 +20,7 @@ import 'assert';
20
20
  import 'zlib';
21
21
  import 'node:assert';
22
22
  import 'node:fs/promises';
23
- import './endpoints-zfo5Ad6e.js';
23
+ import './endpoints-5NhmFZ2p.js';
24
24
 
25
25
  //#region src/lib/opencode/provider-models.ts
26
26
  function sanitizeOpenCodeModels(models, fallbackProviderId) {
@@ -53,4 +53,4 @@ var GET = async (event) => {
53
53
  };
54
54
 
55
55
  export { GET };
56
- //# sourceMappingURL=_server.ts-CJyYri21.js.map
56
+ //# sourceMappingURL=_server.ts-Bi-QXr_U.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CJyYri21.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/providers/_id_/models/_server.ts.js"],"sourcesContent":["import { a as getOpenCodeClient, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../../../chunks/helpers.js\";\nimport { n as asRecord } from \"../../../../../../../chunks/coercion.js\";\n//#region src/lib/opencode/provider-models.ts\nfunction sanitizeOpenCodeModels(models, fallbackProviderId) {\n\tif (!models || typeof models !== \"object\") return [];\n\treturn Object.values(models).map((value) => asRecord(value)).filter((model) => typeof model?.id === \"string\").map((model) => {\n\t\tconst id = model.id;\n\t\treturn {\n\t\t\tid,\n\t\t\tname: typeof model.name === \"string\" ? model.name : id,\n\t\t\tfamily: typeof model.family === \"string\" ? model.family : \"\",\n\t\t\tproviderID: typeof model.providerID === \"string\" ? model.providerID : fallbackProviderId,\n\t\t\tstatus: typeof model.status === \"string\" ? model.status : \"active\",\n\t\t\tcapabilities: asRecord(model.capabilities) ?? {}\n\t\t};\n\t});\n}\n//#endregion\n//#region src/routes/admin/opencode/providers/[id]/models/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id;\n\tconst result = await getOpenCodeClient().proxy(\"/provider\");\n\tif (!result.ok) return errorResponse(result.status, result.code, result.message, {}, requestId);\n\tconst provider = result.data.all?.find((p) => p.id === providerId);\n\tif (!provider) return errorResponse(404, \"not_found\", `Provider \"${providerId}\" not found`, {}, requestId);\n\tif (!provider.models) return jsonResponse(200, { models: [] }, requestId);\n\treturn jsonResponse(200, { models: sanitizeOpenCodeModels(provider.models, providerId) }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,SAAS,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,EAAE;AAC5D,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,OAAO,EAAE;AACrD,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,OAAO,KAAK,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;AAC9H,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE;AACrB,EAAE,OAAO;AACT,GAAG,EAAE;AACL,GAAG,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,EAAE;AACzD,GAAG,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE;AAC/D,GAAG,UAAU,EAAE,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,GAAG,KAAK,CAAC,UAAU,GAAG,kBAAkB;AAC3F,GAAG,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ;AACrE,GAAG,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI;AACjD,GAAG;AACH,CAAC,CAAC,CAAC;AACH;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,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE;AACnC,CAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;AAC5D,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;AAChG,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC;AACnE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC3G,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1E,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC;AACrG;;;;"}
1
+ {"version":3,"file":"_server.ts-Bi-QXr_U.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/providers/_id_/models/_server.ts.js"],"sourcesContent":["import { a as getOpenCodeClient, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../../../chunks/helpers.js\";\nimport { n as asRecord } from \"../../../../../../../chunks/coercion.js\";\n//#region src/lib/opencode/provider-models.ts\nfunction sanitizeOpenCodeModels(models, fallbackProviderId) {\n\tif (!models || typeof models !== \"object\") return [];\n\treturn Object.values(models).map((value) => asRecord(value)).filter((model) => typeof model?.id === \"string\").map((model) => {\n\t\tconst id = model.id;\n\t\treturn {\n\t\t\tid,\n\t\t\tname: typeof model.name === \"string\" ? model.name : id,\n\t\t\tfamily: typeof model.family === \"string\" ? model.family : \"\",\n\t\t\tproviderID: typeof model.providerID === \"string\" ? model.providerID : fallbackProviderId,\n\t\t\tstatus: typeof model.status === \"string\" ? model.status : \"active\",\n\t\t\tcapabilities: asRecord(model.capabilities) ?? {}\n\t\t};\n\t});\n}\n//#endregion\n//#region src/routes/admin/opencode/providers/[id]/models/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id;\n\tconst result = await getOpenCodeClient().proxy(\"/provider\");\n\tif (!result.ok) return errorResponse(result.status, result.code, result.message, {}, requestId);\n\tconst provider = result.data.all?.find((p) => p.id === providerId);\n\tif (!provider) return errorResponse(404, \"not_found\", `Provider \"${providerId}\" not found`, {}, requestId);\n\tif (!provider.models) return jsonResponse(200, { models: [] }, requestId);\n\treturn jsonResponse(200, { models: sanitizeOpenCodeModels(provider.models, providerId) }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,SAAS,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,EAAE;AAC5D,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,OAAO,EAAE;AACrD,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,OAAO,KAAK,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;AAC9H,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE;AACrB,EAAE,OAAO;AACT,GAAG,EAAE;AACL,GAAG,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,EAAE;AACzD,GAAG,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE;AAC/D,GAAG,UAAU,EAAE,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,GAAG,KAAK,CAAC,UAAU,GAAG,kBAAkB;AAC3F,GAAG,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ;AACrE,GAAG,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI;AACjD,GAAG;AACH,CAAC,CAAC,CAAC;AACH;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,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE;AACnC,CAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;AAC5D,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;AAChG,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC;AACnE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC3G,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1E,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC;AACrG;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { i as authJsonPath } from './src-56XoMiXa.js';
3
- import { b as getState } from './endpoints-zfo5Ad6e.js';
4
- import { g as getOpenCodeClient } from './helpers-DHbBmb0V.js';
2
+ import { i as authJsonPath } from './src-nTQnTO9V.js';
3
+ import { b as getState } from './endpoints-5NhmFZ2p.js';
4
+ import { g as getOpenCodeClient } from './helpers-CDa-yBOY.js';
5
5
  import { existsSync, readFileSync } from 'node:fs';
6
6
  import './utils-BSRjJDrZ.js';
7
7
  import './chunk-CLZ62Ad-.js';
@@ -76,4 +76,4 @@ var GET = async () => {
76
76
  };
77
77
 
78
78
  export { GET };
79
- //# sourceMappingURL=_server.ts-DK_yszHc.js.map
79
+ //# sourceMappingURL=_server.ts-BilvlV9b.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DK_yszHc.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/providers/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { kt as authJsonPath } from \"../../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../../chunks/endpoints.js\";\nimport { a as getOpenCodeClient } from \"../../../../../../chunks/helpers.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/setup/opencode/providers/+server.ts\nfunction selectedModels() {\n\ttry {\n\t\tconst path = `${getState().configDir}/assistant/opencode.json`;\n\t\tif (!existsSync(path)) return {};\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn {\n\t\t\t...typeof data.model === \"string\" && data.model ? { llm: data.model } : {},\n\t\t\t...typeof data.small_model === \"string\" && data.small_model ? { small: data.small_model } : {}\n\t\t};\n\t} catch {\n\t\treturn {};\n\t}\n}\n/** Providers that have credentials stored in OP_HOME auth.json (API key or OAuth). */\nfunction authJsonConnected() {\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return [];\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn Object.keys(data ?? {});\n\t} catch {\n\t\treturn [];\n\t}\n}\nvar GET = async () => {\n\ttry {\n\t\tconst client = getOpenCodeClient();\n\t\tif (!await client.isAvailable()) return json({\n\t\t\tok: true,\n\t\t\tavailable: false,\n\t\t\tproviders: []\n\t\t});\n\t\tconst [catalog, auth] = await Promise.all([client.proxy(\"/provider\"), client.getProviderAuth()]);\n\t\tconst raw = catalog.ok ? catalog.data : {};\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tavailable: true,\n\t\t\tproviders: Array.isArray(raw.all) ? raw.all : [],\n\t\t\tauth,\n\t\t\tconnected: Array.from(new Set([...raw.connected ?? [], ...authJsonConnected()])),\n\t\t\tselectedModels: selectedModels()\n\t\t});\n\t} catch {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tavailable: false,\n\t\t\tproviders: []\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACA,SAAS,cAAc,GAAG;AAC1B,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,wBAAwB,CAAC;AAChE,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;AAClC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtD,EAAE,OAAO;AACT,GAAG,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;AAC7E,GAAG,GAAG,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG;AAC/F,GAAG;AACH,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,EAAE;AACX,CAAC;AACD;AACA;AACA,SAAS,iBAAiB,GAAG;AAC7B,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;AACvC,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;AAClC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtD,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,EAAE;AACX,CAAC;AACD;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,iBAAiB,EAAE;AACpC,EAAE,IAAI,CAAC,MAAM,MAAM,CAAC,WAAW,EAAE,EAAE,OAAO,IAAI,CAAC;AAC/C,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,KAAK;AACnB,GAAG,SAAS,EAAE;AACd,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;AAClG,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,GAAG,EAAE;AAC5C,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,IAAI;AAClB,GAAG,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE;AACnD,GAAG,IAAI;AACP,GAAG,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC;AACnF,GAAG,cAAc,EAAE,cAAc;AACjC,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,KAAK;AACnB,GAAG,SAAS,EAAE;AACd,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-BilvlV9b.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/providers/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { jt as authJsonPath } from \"../../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../../chunks/endpoints.js\";\nimport { a as getOpenCodeClient } from \"../../../../../../chunks/helpers.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/setup/opencode/providers/+server.ts\nfunction selectedModels() {\n\ttry {\n\t\tconst path = `${getState().configDir}/assistant/opencode.json`;\n\t\tif (!existsSync(path)) return {};\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn {\n\t\t\t...typeof data.model === \"string\" && data.model ? { llm: data.model } : {},\n\t\t\t...typeof data.small_model === \"string\" && data.small_model ? { small: data.small_model } : {}\n\t\t};\n\t} catch {\n\t\treturn {};\n\t}\n}\n/** Providers that have credentials stored in OP_HOME auth.json (API key or OAuth). */\nfunction authJsonConnected() {\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return [];\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn Object.keys(data ?? {});\n\t} catch {\n\t\treturn [];\n\t}\n}\nvar GET = async () => {\n\ttry {\n\t\tconst client = getOpenCodeClient();\n\t\tif (!await client.isAvailable()) return json({\n\t\t\tok: true,\n\t\t\tavailable: false,\n\t\t\tproviders: []\n\t\t});\n\t\tconst [catalog, auth] = await Promise.all([client.proxy(\"/provider\"), client.getProviderAuth()]);\n\t\tconst raw = catalog.ok ? catalog.data : {};\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tavailable: true,\n\t\t\tproviders: Array.isArray(raw.all) ? raw.all : [],\n\t\t\tauth,\n\t\t\tconnected: Array.from(new Set([...raw.connected ?? [], ...authJsonConnected()])),\n\t\t\tselectedModels: selectedModels()\n\t\t});\n\t} catch {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tavailable: false,\n\t\t\tproviders: []\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACA,SAAS,cAAc,GAAG;AAC1B,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,wBAAwB,CAAC;AAChE,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;AAClC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtD,EAAE,OAAO;AACT,GAAG,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;AAC7E,GAAG,GAAG,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG;AAC/F,GAAG;AACH,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,EAAE;AACX,CAAC;AACD;AACA;AACA,SAAS,iBAAiB,GAAG;AAC7B,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;AACvC,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;AAClC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtD,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,EAAE;AACX,CAAC;AACD;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,iBAAiB,EAAE;AACpC,EAAE,IAAI,CAAC,MAAM,MAAM,CAAC,WAAW,EAAE,EAAE,OAAO,IAAI,CAAC;AAC/C,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,KAAK;AACnB,GAAG,SAAS,EAAE;AACd,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;AAClG,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,GAAG,EAAE;AAC5C,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,IAAI;AAClB,GAAG,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE;AACnD,GAAG,IAAI;AACP,GAAG,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC;AACnF,GAAG,cAAc,EAAE,cAAc;AACjC,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,KAAK;AACnB,GAAG,SAAS,EAAE;AACd,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
@@ -1,5 +1,5 @@
1
- import { ao as resolveDataDir, ar as seedUiBuild, y as createLogger } from './src-56XoMiXa.js';
2
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-DHbBmb0V.js';
1
+ import { ar as resolveDataDir, au as seedUiBuild, z as createLogger } from './src-nTQnTO9V.js';
2
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CDa-yBOY.js';
3
3
  import './chunk-CLZ62Ad-.js';
4
4
  import 'node:module';
5
5
  import 'node:fs';
@@ -19,7 +19,7 @@ import 'assert';
19
19
  import 'zlib';
20
20
  import 'node:assert';
21
21
  import 'node:fs/promises';
22
- import './endpoints-zfo5Ad6e.js';
22
+ import './endpoints-5NhmFZ2p.js';
23
23
 
24
24
  //#region src/routes/admin/ui-version/+server.ts
25
25
  var logger = createLogger("ui-version");
@@ -59,4 +59,4 @@ var POST = async (event) => {
59
59
  };
60
60
 
61
61
  export { POST };
62
- //# sourceMappingURL=_server.ts-BesHLxS2.js.map
62
+ //# sourceMappingURL=_server.ts-BjAlQcqF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BesHLxS2.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/ui-version/_server.ts.js"],"sourcesContent":["import { At as seedUiBuild, Ft as resolveDataDir, Rt as createLogger } from \"../../../../chunks/src.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/ui-version/+server.ts\nvar logger = createLogger(\"ui-version\");\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\treturn errorResponse(400, \"invalid_json\", \"Request body must be valid JSON\", {}, requestId);\n\t}\n\tconst tag = typeof body.tag === \"string\" ? body.tag.trim() : \"\";\n\tif (!tag) return errorResponse(400, \"tag_required\", \"tag is required\", {}, requestId);\n\tif (!/^[a-zA-Z0-9._\\-]+$/.test(tag)) return errorResponse(400, \"invalid_tag\", \"Tag must be alphanumeric with . _ or - only\", {}, requestId);\n\tconst dataDir = resolveDataDir();\n\tconst repoRef = tag.startsWith(\"v\") ? tag : `v${tag}`;\n\ttry {\n\t\tawait seedUiBuild(repoRef, dataDir, { forceRemote: true });\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"ui-version download failed\", {\n\t\t\trequestId,\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(502, \"download_failed\", msg, { message: msg }, requestId);\n\t}\n\tlogger.info(\"ui-version downloaded\", {\n\t\trequestId,\n\t\ttag\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\ttag\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC;AACpC,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,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,iCAAiC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC7F,CAAC;AACD,CAAC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE;AAChE,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,iBAAiB,EAAE,EAAE,EAAE,SAAS,CAAC;AACtF,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,6CAA6C,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5I,CAAC,MAAM,OAAO,GAAG,cAAc,EAAE;AACjC,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACtD,CAAC,IAAI;AACL,EAAE,MAAM,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAC5D,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;AACxD,EAAE,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;AAC7C,GAAG,SAAS;AACZ,GAAG,KAAK,EAAE;AACV,GAAG,CAAC;AACJ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC;AAChF,CAAC;AACD,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;AACtC,EAAE,SAAS;AACX,EAAE;AACF,EAAE,CAAC;AACH,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE;AACF,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-BjAlQcqF.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/ui-version/_server.ts.js"],"sourcesContent":["import { Bt as createLogger, Lt as resolveDataDir, Mt as seedUiBuild } from \"../../../../chunks/src.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/ui-version/+server.ts\nvar logger = createLogger(\"ui-version\");\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\treturn errorResponse(400, \"invalid_json\", \"Request body must be valid JSON\", {}, requestId);\n\t}\n\tconst tag = typeof body.tag === \"string\" ? body.tag.trim() : \"\";\n\tif (!tag) return errorResponse(400, \"tag_required\", \"tag is required\", {}, requestId);\n\tif (!/^[a-zA-Z0-9._\\-]+$/.test(tag)) return errorResponse(400, \"invalid_tag\", \"Tag must be alphanumeric with . _ or - only\", {}, requestId);\n\tconst dataDir = resolveDataDir();\n\tconst repoRef = tag.startsWith(\"v\") ? tag : `v${tag}`;\n\ttry {\n\t\tawait seedUiBuild(repoRef, dataDir, { forceRemote: true });\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"ui-version download failed\", {\n\t\t\trequestId,\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(502, \"download_failed\", msg, { message: msg }, requestId);\n\t}\n\tlogger.info(\"ui-version downloaded\", {\n\t\trequestId,\n\t\ttag\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\ttag\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC;AACpC,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,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,iCAAiC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC7F,CAAC;AACD,CAAC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE;AAChE,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,iBAAiB,EAAE,EAAE,EAAE,SAAS,CAAC;AACtF,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,6CAA6C,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5I,CAAC,MAAM,OAAO,GAAG,cAAc,EAAE;AACjC,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACtD,CAAC,IAAI;AACL,EAAE,MAAM,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAC5D,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;AACxD,EAAE,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;AAC7C,GAAG,SAAS;AACZ,GAAG,KAAK,EAAE;AACV,GAAG,CAAC;AACJ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC;AAChF,CAAC;AACD,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;AACtC,EAAE,SAAS;AACX,EAAE;AACF,EAAE,CAAC;AACH,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE;AACF,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,6 +1,6 @@
1
- import { a7 as loadAutomations, S as executeAutomation, j as buildAkmEnv } from './src-56XoMiXa.js';
2
- import { b as getState } from './endpoints-zfo5Ad6e.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-DHbBmb0V.js';
1
+ import { a8 as loadAutomations, T as executeAutomation, k as buildAkmEnv } from './src-nTQnTO9V.js';
2
+ import { b as getState } from './endpoints-5NhmFZ2p.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CDa-yBOY.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -41,4 +41,4 @@ var POST = async (event) => {
41
41
  };
42
42
 
43
43
  export { POST };
44
- //# sourceMappingURL=_server.ts-DpL6zI13.js.map
44
+ //# sourceMappingURL=_server.ts-BjYJISog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DpL6zI13.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/automations/_name_/run/_server.ts.js"],"sourcesContent":["import { d as loadAutomations, m as buildAkmEnv, u as executeAutomation } from \"../../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/automations/[name]/run/+server.ts\nvar SAFE_NAME_RE = /^[a-zA-Z0-9._-]+(?:\\.ya?ml)?$/;\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst rawName = event.params.name ?? \"\";\n\tconst taskId = rawName.replace(/\\.ya?ml$/, \"\");\n\tif (!SAFE_NAME_RE.test(rawName) || rawName.includes(\"..\") || rawName.includes(\"/\")) return errorResponse(400, \"invalid_input\", \"name must match /^[a-zA-Z0-9._-]+$/\", {}, requestId);\n\tif (!loadAutomations(state.stashDir).some((c) => c.name === taskId)) return errorResponse(404, \"not_found\", `Automation '${taskId}' is not installed.`, {}, requestId);\n\tconst result = await executeAutomation(taskId, buildAkmEnv(state));\n\treturn jsonResponse(202, {\n\t\tok: result.ok,\n\t\tname: taskId,\n\t\tstatus: result.status\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,YAAY,GAAG,+BAA+B;AAC/C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;AACxC,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;AAC/C,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AACrL,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACvK,CAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;AACf,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,MAAM,EAAE,MAAM,CAAC;AACjB,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-BjYJISog.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/automations/_name_/run/_server.ts.js"],"sourcesContent":["import { d as loadAutomations, m as buildAkmEnv, u as executeAutomation } from \"../../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/automations/[name]/run/+server.ts\nvar SAFE_NAME_RE = /^[a-zA-Z0-9._-]+(?:\\.ya?ml)?$/;\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst rawName = event.params.name ?? \"\";\n\tconst taskId = rawName.replace(/\\.ya?ml$/, \"\");\n\tif (!SAFE_NAME_RE.test(rawName) || rawName.includes(\"..\") || rawName.includes(\"/\")) return errorResponse(400, \"invalid_input\", \"name must match /^[a-zA-Z0-9._-]+$/\", {}, requestId);\n\tif (!loadAutomations(state.stashDir).some((c) => c.name === taskId)) return errorResponse(404, \"not_found\", `Automation '${taskId}' is not installed.`, {}, requestId);\n\tconst result = await executeAutomation(taskId, buildAkmEnv(state));\n\treturn jsonResponse(202, {\n\t\tok: result.ok,\n\t\tname: taskId,\n\t\tstatus: result.status\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,YAAY,GAAG,+BAA+B;AAC/C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;AACxC,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;AAC/C,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AACrL,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACvK,CAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;AACf,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,MAAM,EAAE,MAAM,CAAC;AACjB,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,6 +1,6 @@
1
- import { g as getActiveEndpoint, l as listEndpoints, v as validateEndpointUrl, a as addEndpoint } from './endpoints-zfo5Ad6e.js';
2
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, w as withAdminBody, e as errorResponse } from './helpers-DHbBmb0V.js';
3
- import './src-56XoMiXa.js';
1
+ import { g as getActiveEndpoint, l as listEndpoints, v as validateEndpointUrl, a as addEndpoint } from './endpoints-5NhmFZ2p.js';
2
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, w as withAdminBody, e as errorResponse } from './helpers-CDa-yBOY.js';
3
+ import './src-nTQnTO9V.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -64,4 +64,4 @@ var POST = async (event) => withAdminBody(event, async ({ requestId, body }) =>
64
64
  });
65
65
 
66
66
  export { GET, POST };
67
- //# sourceMappingURL=_server.ts-BvhZYj4O.js.map
67
+ //# sourceMappingURL=_server.ts-BnHDsStJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BvhZYj4O.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/endpoints/_server.ts.js"],"sourcesContent":["import { i as listEndpoints, r as getActiveEndpoint, s as validateEndpointUrl, t as addEndpoint } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, p as withAdminBody } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/endpoints/+server.ts\nfunction publish(e) {\n\treturn {\n\t\tid: e.id,\n\t\tlabel: e.label,\n\t\turl: e.url,\n\t\tisDefault: e.isDefault,\n\t\thasPassword: Boolean(e.password)\n\t};\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, {\n\t\tendpoints: listEndpoints().map(publish),\n\t\tactiveId: publish(getActiveEndpoint()).id\n\t}, requestId);\n};\nvar POST = async (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst label = typeof body.label === \"string\" ? body.label : \"\";\n\tconst url = typeof body.url === \"string\" ? body.url : \"\";\n\tconst password = typeof body.password === \"string\" && body.password.length > 0 ? body.password : void 0;\n\tconst urlCheck = validateEndpointUrl(url);\n\tif (!urlCheck.ok) {\n\t\tif (urlCheck.reason === \"http_not_allowed\") return errorResponse(400, \"http_not_allowed\", \"Plain HTTP is only allowed for loopback addresses. Use https:// for remote OpenPalm instances.\", {}, requestId);\n\t\treturn errorResponse(400, \"invalid_endpoint\", \"URL must be a valid http(s) URL\", {}, requestId);\n\t}\n\ttry {\n\t\treturn jsonResponse(201, { endpoint: publish({\n\t\t\t...addEndpoint({\n\t\t\t\tlabel,\n\t\t\t\turl: urlCheck.url,\n\t\t\t\tpassword\n\t\t\t}),\n\t\t\tisDefault: false\n\t\t}) }, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(400, \"invalid_endpoint\", e instanceof Error ? e.message : \"failed to create endpoint\", {}, requestId);\n\t}\n});\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,SAAS,OAAO,CAAC,CAAC,EAAE;AACpB,CAAC,OAAO;AACR,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE;AACV,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK;AAChB,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG;AACZ,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;AACxB,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ;AACjC,EAAE;AACF;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;AAC1B,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;AACzC,EAAE,QAAQ,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACzC,EAAE,EAAE,SAAS,CAAC;AACd;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAChF,CAAC,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;AAC/D,CAAC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE;AACzD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,MAAM;AACxG,CAAC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC;AAC1C,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACnB,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,kBAAkB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,gGAAgG,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5M,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,iCAAiC,EAAE,EAAE,EAAE,SAAS,CAAC;AACjG,CAAC;AACD,CAAC,IAAI;AACL,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC;AAC/C,GAAG,GAAG,WAAW,CAAC;AAClB,IAAI,KAAK;AACT,IAAI,GAAG,EAAE,QAAQ,CAAC,GAAG;AACrB,IAAI;AACJ,IAAI,CAAC;AACL,GAAG,SAAS,EAAE;AACd,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC;AAClB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,2BAA2B,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5H,CAAC;AACD,CAAC;;;;"}
1
+ {"version":3,"file":"_server.ts-BnHDsStJ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/endpoints/_server.ts.js"],"sourcesContent":["import { i as listEndpoints, r as getActiveEndpoint, s as validateEndpointUrl, t as addEndpoint } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, p as withAdminBody } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/endpoints/+server.ts\nfunction publish(e) {\n\treturn {\n\t\tid: e.id,\n\t\tlabel: e.label,\n\t\turl: e.url,\n\t\tisDefault: e.isDefault,\n\t\thasPassword: Boolean(e.password)\n\t};\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, {\n\t\tendpoints: listEndpoints().map(publish),\n\t\tactiveId: publish(getActiveEndpoint()).id\n\t}, requestId);\n};\nvar POST = async (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst label = typeof body.label === \"string\" ? body.label : \"\";\n\tconst url = typeof body.url === \"string\" ? body.url : \"\";\n\tconst password = typeof body.password === \"string\" && body.password.length > 0 ? body.password : void 0;\n\tconst urlCheck = validateEndpointUrl(url);\n\tif (!urlCheck.ok) {\n\t\tif (urlCheck.reason === \"http_not_allowed\") return errorResponse(400, \"http_not_allowed\", \"Plain HTTP is only allowed for loopback addresses. Use https:// for remote OpenPalm instances.\", {}, requestId);\n\t\treturn errorResponse(400, \"invalid_endpoint\", \"URL must be a valid http(s) URL\", {}, requestId);\n\t}\n\ttry {\n\t\treturn jsonResponse(201, { endpoint: publish({\n\t\t\t...addEndpoint({\n\t\t\t\tlabel,\n\t\t\t\turl: urlCheck.url,\n\t\t\t\tpassword\n\t\t\t}),\n\t\t\tisDefault: false\n\t\t}) }, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(400, \"invalid_endpoint\", e instanceof Error ? e.message : \"failed to create endpoint\", {}, requestId);\n\t}\n});\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,SAAS,OAAO,CAAC,CAAC,EAAE;AACpB,CAAC,OAAO;AACR,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE;AACV,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK;AAChB,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG;AACZ,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;AACxB,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ;AACjC,EAAE;AACF;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;AAC1B,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;AACzC,EAAE,QAAQ,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACzC,EAAE,EAAE,SAAS,CAAC;AACd;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAChF,CAAC,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;AAC/D,CAAC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE;AACzD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,MAAM;AACxG,CAAC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC;AAC1C,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACnB,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,kBAAkB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,gGAAgG,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5M,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,iCAAiC,EAAE,EAAE,EAAE,SAAS,CAAC;AACjG,CAAC;AACD,CAAC,IAAI;AACL,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC;AAC/C,GAAG,GAAG,WAAW,CAAC;AAClB,IAAI,KAAK;AACT,IAAI,GAAG,EAAE,QAAQ,CAAC,GAAG;AACrB,IAAI;AACJ,IAAI,CAAC;AACL,GAAG,SAAS,EAAE;AACd,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC;AAClB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,2BAA2B,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5H,CAAC;AACD,CAAC;;;;"}
@@ -0,0 +1,86 @@
1
+ import { ai as readStackEnv, ac as patchSecretsEnvFile, az as writeFileAtomic } from './src-nTQnTO9V.js';
2
+ import { b as getState } from './endpoints-5NhmFZ2p.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, w as withAdminBody, e as errorResponse } from './helpers-CDa-yBOY.js';
4
+ import { existsSync, readFileSync, mkdirSync } from 'node:fs';
5
+ import { join } from 'node:path';
6
+ import './chunk-CLZ62Ad-.js';
7
+ import 'node:module';
8
+ import 'buffer';
9
+ import 'node:os';
10
+ import 'fs';
11
+ import 'path';
12
+ import 'node:child_process';
13
+ import 'node:url';
14
+ import 'node:crypto';
15
+ import 'events';
16
+ import 'node:events';
17
+ import 'node:stream';
18
+ import 'node:string_decoder';
19
+ import 'assert';
20
+ import 'zlib';
21
+ import 'node:assert';
22
+ import 'node:fs/promises';
23
+
24
+ //#region src/routes/admin/assistant/+server.ts
25
+ var DEFAULT_PROJECT_NAME = "openpalm";
26
+ var DEFAULT_ASSISTANT_BIND_ADDRESS = "127.0.0.1";
27
+ var LAN_ASSISTANT_BIND_ADDRESS = "0.0.0.0";
28
+ var PROJECT_NAME_RE = /^[a-z0-9][a-z0-9_-]*$/;
29
+ function personaPath(configDir) {
30
+ return join(configDir, "assistant", "openpalm.md");
31
+ }
32
+ function readPersona(configDir) {
33
+ const path = personaPath(configDir);
34
+ if (!existsSync(path)) return "";
35
+ try {
36
+ return readFileSync(path, "utf-8");
37
+ } catch {
38
+ return "";
39
+ }
40
+ }
41
+ function normalizeProjectName(raw) {
42
+ if (typeof raw !== "string") return null;
43
+ const value = raw.trim() || DEFAULT_PROJECT_NAME;
44
+ if (value.length > 63) return null;
45
+ return PROJECT_NAME_RE.test(value) ? value : null;
46
+ }
47
+ var GET = async (event) => {
48
+ const requestId = getRequestId(event);
49
+ const denied = requireAdmin(event, requestId);
50
+ if (denied) return denied;
51
+ const state = getState();
52
+ const env = readStackEnv(state.stackDir);
53
+ return jsonResponse(200, {
54
+ projectName: env.OP_PROJECT_NAME?.trim() || DEFAULT_PROJECT_NAME,
55
+ lanExposureEnabled: (env.OP_ASSISTANT_BIND_ADDRESS?.trim() || DEFAULT_ASSISTANT_BIND_ADDRESS) === LAN_ASSISTANT_BIND_ADDRESS,
56
+ stackEnvPath: "knowledge/env/stack.env",
57
+ personaPath: "config/assistant/openpalm.md",
58
+ personaContent: readPersona(state.configDir)
59
+ }, requestId);
60
+ };
61
+ var PUT = async (event) => withAdminBody(event, async ({ requestId, body }) => {
62
+ const projectName = normalizeProjectName(body.projectName);
63
+ if (!projectName) return errorResponse(400, "bad_request", "projectName must be 1-63 chars of lowercase letters, numbers, dashes, or underscores.", {}, requestId);
64
+ if (typeof body.personaContent !== "string") return errorResponse(400, "bad_request", "personaContent must be a string", {}, requestId);
65
+ if (typeof body.lanExposureEnabled !== "boolean") return errorResponse(400, "bad_request", "lanExposureEnabled must be a boolean", {}, requestId);
66
+ const state = getState();
67
+ patchSecretsEnvFile(state.stackDir, {
68
+ OP_PROJECT_NAME: projectName,
69
+ OP_ASSISTANT_BIND_ADDRESS: body.lanExposureEnabled ? LAN_ASSISTANT_BIND_ADDRESS : DEFAULT_ASSISTANT_BIND_ADDRESS
70
+ });
71
+ const path = personaPath(state.configDir);
72
+ mkdirSync(join(state.configDir, "assistant"), { recursive: true });
73
+ const personaContent = body.personaContent.endsWith("\n") ? body.personaContent : `${body.personaContent}\n`;
74
+ writeFileAtomic(path, personaContent, 420);
75
+ return jsonResponse(200, {
76
+ ok: true,
77
+ projectName,
78
+ lanExposureEnabled: body.lanExposureEnabled,
79
+ stackEnvPath: "knowledge/env/stack.env",
80
+ personaPath: "config/assistant/openpalm.md",
81
+ personaContent
82
+ }, requestId);
83
+ });
84
+
85
+ export { GET, PUT };
86
+ //# sourceMappingURL=_server.ts-BnJquF3b.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-BnJquF3b.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/assistant/_server.ts.js"],"sourcesContent":["import { N as writeFileAtomic, bt as patchSecretsEnvFile, xt as readStackEnv } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, p as withAdminBody } from \"../../../../chunks/helpers.js\";\nimport { existsSync, mkdirSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n//#region src/routes/admin/assistant/+server.ts\nvar DEFAULT_PROJECT_NAME = \"openpalm\";\nvar DEFAULT_ASSISTANT_BIND_ADDRESS = \"127.0.0.1\";\nvar LAN_ASSISTANT_BIND_ADDRESS = \"0.0.0.0\";\nvar PROJECT_NAME_RE = /^[a-z0-9][a-z0-9_-]*$/;\nfunction personaPath(configDir) {\n\treturn join(configDir, \"assistant\", \"openpalm.md\");\n}\nfunction readPersona(configDir) {\n\tconst path = personaPath(configDir);\n\tif (!existsSync(path)) return \"\";\n\ttry {\n\t\treturn readFileSync(path, \"utf-8\");\n\t} catch {\n\t\treturn \"\";\n\t}\n}\nfunction normalizeProjectName(raw) {\n\tif (typeof raw !== \"string\") return null;\n\tconst value = raw.trim() || DEFAULT_PROJECT_NAME;\n\tif (value.length > 63) return null;\n\treturn PROJECT_NAME_RE.test(value) ? value : null;\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst denied = requireAdmin(event, requestId);\n\tif (denied) return denied;\n\tconst state = getState();\n\tconst env = readStackEnv(state.stackDir);\n\treturn jsonResponse(200, {\n\t\tprojectName: env.OP_PROJECT_NAME?.trim() || DEFAULT_PROJECT_NAME,\n\t\tlanExposureEnabled: (env.OP_ASSISTANT_BIND_ADDRESS?.trim() || DEFAULT_ASSISTANT_BIND_ADDRESS) === LAN_ASSISTANT_BIND_ADDRESS,\n\t\tstackEnvPath: \"knowledge/env/stack.env\",\n\t\tpersonaPath: \"config/assistant/openpalm.md\",\n\t\tpersonaContent: readPersona(state.configDir)\n\t}, requestId);\n};\nvar PUT = async (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst projectName = normalizeProjectName(body.projectName);\n\tif (!projectName) return errorResponse(400, \"bad_request\", \"projectName must be 1-63 chars of lowercase letters, numbers, dashes, or underscores.\", {}, requestId);\n\tif (typeof body.personaContent !== \"string\") return errorResponse(400, \"bad_request\", \"personaContent must be a string\", {}, requestId);\n\tif (typeof body.lanExposureEnabled !== \"boolean\") return errorResponse(400, \"bad_request\", \"lanExposureEnabled must be a boolean\", {}, requestId);\n\tconst state = getState();\n\tpatchSecretsEnvFile(state.stackDir, {\n\t\tOP_PROJECT_NAME: projectName,\n\t\tOP_ASSISTANT_BIND_ADDRESS: body.lanExposureEnabled ? LAN_ASSISTANT_BIND_ADDRESS : DEFAULT_ASSISTANT_BIND_ADDRESS\n\t});\n\tconst path = personaPath(state.configDir);\n\tmkdirSync(join(state.configDir, \"assistant\"), { recursive: true });\n\tconst personaContent = body.personaContent.endsWith(\"\\n\") ? body.personaContent : `${body.personaContent}\\n`;\n\twriteFileAtomic(path, personaContent, 420);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tprojectName,\n\t\tlanExposureEnabled: body.lanExposureEnabled,\n\t\tstackEnvPath: \"knowledge/env/stack.env\",\n\t\tpersonaPath: \"config/assistant/openpalm.md\",\n\t\tpersonaContent\n\t}, requestId);\n});\n//#endregion\nexport { GET, PUT };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, r as requireAdmin, g as getOpenCodeClient, e as errorResponse, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-DHbBmb0V.js';
2
- import { u as unsetMainModel, s as setMainModel } from './config-D5SE6Awc.js';
3
- import './src-56XoMiXa.js';
1
+ import { d as getRequestId, r as requireAdmin, g as getOpenCodeClient, e as errorResponse, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-CDa-yBOY.js';
2
+ import { u as unsetMainModel, s as setMainModel } from './config-XF8xaL-e.js';
3
+ import './src-nTQnTO9V.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -20,9 +20,9 @@ import 'assert';
20
20
  import 'zlib';
21
21
  import 'node:assert';
22
22
  import 'node:fs/promises';
23
- import './endpoints-zfo5Ad6e.js';
23
+ import './endpoints-5NhmFZ2p.js';
24
24
  import './coercion-TNFJisCC.js';
25
- import './http-B6HcMA7S.js';
25
+ import './http-DNTu_Z58.js';
26
26
 
27
27
  //#region src/routes/admin/opencode/model/+server.ts
28
28
  var GET = async (event) => {
@@ -79,4 +79,4 @@ var POST = async (event) => {
79
79
  };
80
80
 
81
81
  export { GET, POST };
82
- //# sourceMappingURL=_server.ts-B-e9YBGN.js.map
82
+ //# sourceMappingURL=_server.ts-Bq95l_ee.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-B-e9YBGN.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/model/_server.ts.js"],"sourcesContent":["import { a as getOpenCodeClient, c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { i as setMainModel, s as unsetMainModel } from \"../../../../../chunks/config.js\";\n//#region src/routes/admin/opencode/model/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst config = await getOpenCodeClient().getConfig();\n\tif (!config) return errorResponse(503, \"opencode_unavailable\", \"OpenCode is not reachable\", {}, requestId);\n\treturn jsonResponse(200, {\n\t\tmodel: config.model ?? \"\",\n\t\tsmall_model: config.small_model ?? \"\"\n\t}, requestId);\n};\n/** Parse a \"provider/model\" string. Returns null if the input is empty or malformed. */\nfunction parseProviderModel(raw) {\n\tif (typeof raw !== \"string\") return null;\n\tconst trimmed = raw.trim();\n\tif (!trimmed) return null;\n\tconst slash = trimmed.indexOf(\"/\");\n\tif (slash <= 0 || slash === trimmed.length - 1) return null;\n\treturn {\n\t\tprovider: trimmed.slice(0, slash),\n\t\tmodel: trimmed.slice(slash + 1)\n\t};\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst hasModel = \"model\" in body;\n\tconst hasSmallModel = \"small_model\" in body;\n\tif (!hasModel && !hasSmallModel) return errorResponse(400, \"bad_request\", \"model or small_model is required\", {}, requestId);\n\ttry {\n\t\tif (hasModel) if (body.model === null || body.model === \"\") await unsetMainModel(\"model\");\n\t\telse {\n\t\t\tconst parsed = parseProviderModel(body.model);\n\t\t\tif (!parsed) return errorResponse(400, \"bad_request\", \"model must be in \\\"provider/model\\\" format\", {}, requestId);\n\t\t\tawait setMainModel(parsed.provider, parsed.model, \"model\");\n\t\t}\n\t\tif (hasSmallModel) if (body.small_model === null || body.small_model === \"\") await unsetMainModel(\"small_model\");\n\t\telse {\n\t\t\tconst parsed = parseProviderModel(body.small_model);\n\t\t\tif (!parsed) return errorResponse(400, \"bad_request\", \"small_model must be in \\\"provider/model\\\" format\", {}, requestId);\n\t\t\tawait setMainModel(parsed.provider, parsed.model, \"small_model\");\n\t\t}\n\t} catch (e) {\n\t\tconsole.warn(\"[opencode.model] Failed to persist model selection\", e);\n\t\treturn errorResponse(500, \"internal_error\", \"Failed to persist model selection\", {}, requestId);\n\t}\n\treturn jsonResponse(200, { ok: true }, requestId);\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-Bq95l_ee.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/model/_server.ts.js"],"sourcesContent":["import { a as getOpenCodeClient, c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { i as setMainModel, s as unsetMainModel } from \"../../../../../chunks/config.js\";\n//#region src/routes/admin/opencode/model/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst config = await getOpenCodeClient().getConfig();\n\tif (!config) return errorResponse(503, \"opencode_unavailable\", \"OpenCode is not reachable\", {}, requestId);\n\treturn jsonResponse(200, {\n\t\tmodel: config.model ?? \"\",\n\t\tsmall_model: config.small_model ?? \"\"\n\t}, requestId);\n};\n/** Parse a \"provider/model\" string. Returns null if the input is empty or malformed. */\nfunction parseProviderModel(raw) {\n\tif (typeof raw !== \"string\") return null;\n\tconst trimmed = raw.trim();\n\tif (!trimmed) return null;\n\tconst slash = trimmed.indexOf(\"/\");\n\tif (slash <= 0 || slash === trimmed.length - 1) return null;\n\treturn {\n\t\tprovider: trimmed.slice(0, slash),\n\t\tmodel: trimmed.slice(slash + 1)\n\t};\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst hasModel = \"model\" in body;\n\tconst hasSmallModel = \"small_model\" in body;\n\tif (!hasModel && !hasSmallModel) return errorResponse(400, \"bad_request\", \"model or small_model is required\", {}, requestId);\n\ttry {\n\t\tif (hasModel) if (body.model === null || body.model === \"\") await unsetMainModel(\"model\");\n\t\telse {\n\t\t\tconst parsed = parseProviderModel(body.model);\n\t\t\tif (!parsed) return errorResponse(400, \"bad_request\", \"model must be in \\\"provider/model\\\" format\", {}, requestId);\n\t\t\tawait setMainModel(parsed.provider, parsed.model, \"model\");\n\t\t}\n\t\tif (hasSmallModel) if (body.small_model === null || body.small_model === \"\") await unsetMainModel(\"small_model\");\n\t\telse {\n\t\t\tconst parsed = parseProviderModel(body.small_model);\n\t\t\tif (!parsed) return errorResponse(400, \"bad_request\", \"small_model must be in \\\"provider/model\\\" format\", {}, requestId);\n\t\t\tawait setMainModel(parsed.provider, parsed.model, \"small_model\");\n\t\t}\n\t} catch (e) {\n\t\tconsole.warn(\"[opencode.model] Failed to persist model selection\", e);\n\t\treturn errorResponse(500, \"internal_error\", \"Failed to persist model selection\", {}, requestId);\n\t}\n\treturn jsonResponse(200, { ok: true }, requestId);\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, e as errorResponse, f as getUiLoginPassword, s as safeTokenCompare, b as createSession } from './helpers-DHbBmb0V.js';
2
- import { s as sessionCookieHeader } from './session-cookie-Do-csnSL.js';
3
- import './src-56XoMiXa.js';
1
+ import { d as getRequestId, e as errorResponse, f as getUiLoginPassword, s as safeTokenCompare, b as createSession } from './helpers-CDa-yBOY.js';
2
+ import { s as sessionCookieHeader } from './session-cookie-kNDCcqJr.js';
3
+ import './src-nTQnTO9V.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -20,7 +20,7 @@ import 'assert';
20
20
  import 'zlib';
21
21
  import 'node:assert';
22
22
  import 'node:fs/promises';
23
- import './endpoints-zfo5Ad6e.js';
23
+ import './endpoints-5NhmFZ2p.js';
24
24
 
25
25
  //#region src/routes/admin/auth/session/+server.ts
26
26
  /**
@@ -58,4 +58,4 @@ var POST = async (event) => {
58
58
  };
59
59
 
60
60
  export { POST };
61
- //# sourceMappingURL=_server.ts-CY2txcrO.js.map
61
+ //# sourceMappingURL=_server.ts-Bxz_w5lw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CY2txcrO.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/session/_server.ts.js"],"sourcesContent":["import { f as safeTokenCompare, g as getUiLoginPassword, h as createSession, i as errorResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/session/+server.ts\n/**\n* POST /admin/auth/session\n*\n* Issues an `op_session` cookie after verifying the operator-supplied password\n* against `process.env.OP_UI_LOGIN_PASSWORD`.\n*\n* The cookie value is a random UUID session token — NOT the plaintext password.\n* Kept alongside `/admin/auth/login` as an alias; both verify the same\n* `password` body field and issue the `op_session` cookie.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst password = typeof body.password === \"string\" ? body.password : \"\";\n\tif (!password) return errorResponse(400, \"bad_request\", \"password is required\", {}, requestId);\n\tconst configured = getUiLoginPassword();\n\tif (!configured) return errorResponse(503, \"admin_not_configured\", \"OP_UI_LOGIN_PASSWORD has not been set. Complete setup first.\", {}, requestId);\n\tif (!safeTokenCompare(password, configured)) return errorResponse(401, \"unauthorized\", \"Invalid password\", {}, requestId);\n\tconst sessionToken = createSession();\n\treturn new Response(JSON.stringify({ ok: true }), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": sessionCookieHeader(sessionToken, event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/F,CAAC,MAAM,UAAU,GAAG,kBAAkB,EAAE;AACxC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,8DAA8D,EAAE,EAAE,EAAE,SAAS,CAAC;AAClJ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,MAAM,YAAY,GAAG,aAAa,EAAE;AACrC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACnD,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;AACjE,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-Bxz_w5lw.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/session/_server.ts.js"],"sourcesContent":["import { f as safeTokenCompare, g as getUiLoginPassword, h as createSession, i as errorResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/session/+server.ts\n/**\n* POST /admin/auth/session\n*\n* Issues an `op_session` cookie after verifying the operator-supplied password\n* against `process.env.OP_UI_LOGIN_PASSWORD`.\n*\n* The cookie value is a random UUID session token — NOT the plaintext password.\n* Kept alongside `/admin/auth/login` as an alias; both verify the same\n* `password` body field and issue the `op_session` cookie.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst password = typeof body.password === \"string\" ? body.password : \"\";\n\tif (!password) return errorResponse(400, \"bad_request\", \"password is required\", {}, requestId);\n\tconst configured = getUiLoginPassword();\n\tif (!configured) return errorResponse(503, \"admin_not_configured\", \"OP_UI_LOGIN_PASSWORD has not been set. Complete setup first.\", {}, requestId);\n\tif (!safeTokenCompare(password, configured)) return errorResponse(401, \"unauthorized\", \"Invalid password\", {}, requestId);\n\tconst sessionToken = createSession();\n\treturn new Response(JSON.stringify({ ok: true }), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": sessionCookieHeader(sessionToken, event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/F,CAAC,MAAM,UAAU,GAAG,kBAAkB,EAAE;AACxC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,8DAA8D,EAAE,EAAE,EAAE,SAAS,CAAC;AAClJ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,MAAM,YAAY,GAAG,aAAa,EAAE;AACrC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACnD,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;AACjE,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { H as detectLocalProviders } from './src-56XoMiXa.js';
2
+ import { I as detectLocalProviders } from './src-nTQnTO9V.js';
3
3
  import './utils-BSRjJDrZ.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
@@ -38,4 +38,4 @@ var GET = async () => {
38
38
  };
39
39
 
40
40
  export { GET };
41
- //# sourceMappingURL=_server.ts-CeUZgHnR.js.map
41
+ //# sourceMappingURL=_server.ts-BzcAg5le.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CeUZgHnR.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/detect-providers/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { l as detectLocalProviders } from \"../../../../../chunks/src.js\";\n//#region src/routes/api/setup/detect-providers/+server.ts\nvar GET = async () => {\n\ttry {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tproviders: await detectLocalProviders()\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"detection_failed\",\n\t\t\tmessage: String(err)\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,IAAI;AACL,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,MAAM,oBAAoB;AACxC,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,kBAAkB;AAC5B,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG;AACtB,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-BzcAg5le.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/detect-providers/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { l as detectLocalProviders } from \"../../../../../chunks/src.js\";\n//#region src/routes/api/setup/detect-providers/+server.ts\nvar GET = async () => {\n\ttry {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tproviders: await detectLocalProviders()\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"detection_failed\",\n\t\t\tmessage: String(err)\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,IAAI;AACL,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,MAAM,oBAAoB;AACxC,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,kBAAkB;AAC5B,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG;AACtB,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
@@ -1,6 +1,6 @@
1
- import { y as createLogger, a1 as isAllowedService, m as checkDocker, w as composeStop, k as buildComposeOptions } from './src-56XoMiXa.js';
2
- import { b as getState } from './endpoints-zfo5Ad6e.js';
3
- import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-DHbBmb0V.js';
1
+ import { z as createLogger, a2 as isAllowedService, n as checkDocker, x as composeStop, l as buildComposeOptions } from './src-nTQnTO9V.js';
2
+ import { b as getState } from './endpoints-5NhmFZ2p.js';
3
+ import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-CDa-yBOY.js';
4
4
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
@@ -50,4 +50,4 @@ var POST = async (event) => {
50
50
  };
51
51
 
52
52
  export { POST };
53
- //# sourceMappingURL=_server.ts-2VQoZ57d.js.map
53
+ //# sourceMappingURL=_server.ts-C2DttH_j.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-2VQoZ57d.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/down/_server.ts.js"],"sourcesContent":["import { E as buildComposeOptions, F as isAllowedService, I as checkDocker, K as composeStop, Rt as createLogger } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/down/+server.ts\nvar logger = createLogger(\"containers-down\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container stop request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:down\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeStop([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"stopped\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to stop service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"stopped\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AACzC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,CAAC;AACrD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,uBAAuB,EAAE,YAAY;AAC7D,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-C2DttH_j.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/down/_server.ts.js"],"sourcesContent":["import { Bt as createLogger, E as buildComposeOptions, I as isAllowedService, L as checkDocker, q as composeStop } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/down/+server.ts\nvar logger = createLogger(\"containers-down\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container stop request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:down\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeStop([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"stopped\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to stop service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"stopped\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AACzC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,CAAC;AACrD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,uBAAuB,EAAE,YAAY;AAC7D,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, h as invalidateSession } from './helpers-DHbBmb0V.js';
2
- import { S as SESSION_COOKIE_NAME, c as clearSessionCookieHeader } from './session-cookie-Do-csnSL.js';
3
- import './src-56XoMiXa.js';
1
+ import { d as getRequestId, h as invalidateSession } from './helpers-CDa-yBOY.js';
2
+ import { S as SESSION_COOKIE_NAME, c as clearSessionCookieHeader } from './session-cookie-kNDCcqJr.js';
3
+ import './src-nTQnTO9V.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -20,7 +20,7 @@ import 'assert';
20
20
  import 'zlib';
21
21
  import 'node:assert';
22
22
  import 'node:fs/promises';
23
- import './endpoints-zfo5Ad6e.js';
23
+ import './endpoints-5NhmFZ2p.js';
24
24
 
25
25
  //#region src/routes/admin/auth/logout/+server.ts
26
26
  var POST = async (event) => {
@@ -38,4 +38,4 @@ var POST = async (event) => {
38
38
  };
39
39
 
40
40
  export { POST };
41
- //# sourceMappingURL=_server.ts-BYeJhgFH.js.map
41
+ //# sourceMappingURL=_server.ts-C75ONqUr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BYeJhgFH.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/logout/_server.ts.js"],"sourcesContent":["import { _ as invalidateSession, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { n as clearSessionCookieHeader, t as SESSION_COOKIE_NAME } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/logout/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst match = (event.request.headers.get(\"cookie\") ?? \"\").match(new RegExp(`(?:^|;\\\\s*)${SESSION_COOKIE_NAME}=([^;]+)`));\n\tif (match) invalidateSession(match[1]);\n\treturn new Response(JSON.stringify({ ok: true }), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": clearSessionCookieHeader(event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\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,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzH,CAAC,IAAI,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACnD,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC;AACxD,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-C75ONqUr.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/logout/_server.ts.js"],"sourcesContent":["import { _ as invalidateSession, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { n as clearSessionCookieHeader, t as SESSION_COOKIE_NAME } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/logout/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst match = (event.request.headers.get(\"cookie\") ?? \"\").match(new RegExp(`(?:^|;\\\\s*)${SESSION_COOKIE_NAME}=([^;]+)`));\n\tif (match) invalidateSession(match[1]);\n\treturn new Response(JSON.stringify({ ok: true }), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": clearSessionCookieHeader(event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\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,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzH,CAAC,IAAI,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACnD,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC;AACxD,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
@@ -1,9 +1,9 @@
1
- import { a0 as importHostOpenCode, G as detectHostOpenCode, i as authJsonPath, m as checkDocker, k as buildComposeOptions } from './src-56XoMiXa.js';
2
- import { b as getState } from './endpoints-zfo5Ad6e.js';
3
- import { d as getRequestId, r as requireAdmin, p as parseJsonBody, e as errorResponse, k as jsonResponse } from './helpers-DHbBmb0V.js';
1
+ import { a1 as importHostOpenCode, H as detectHostOpenCode, i as authJsonPath, n as checkDocker, l as buildComposeOptions } from './src-nTQnTO9V.js';
2
+ import { b as getState } from './endpoints-5NhmFZ2p.js';
3
+ import { d as getRequestId, r as requireAdmin, p as parseJsonBody, e as errorResponse, k as jsonResponse } from './helpers-CDa-yBOY.js';
4
4
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
5
- import { o as opencodeFetch } from './http-B6HcMA7S.js';
6
- import { c as composeRestart } from './docker-BVtcOSzA.js';
5
+ import { o as opencodeFetch } from './http-DNTu_Z58.js';
6
+ import { c as composeRestart } from './docker-2Z8gCk7h.js';
7
7
  import { existsSync, readFileSync } from 'node:fs';
8
8
  import './chunk-CLZ62Ad-.js';
9
9
  import 'node:module';
@@ -154,4 +154,4 @@ var POST = async (event) => {
154
154
  };
155
155
 
156
156
  export { POST };
157
- //# sourceMappingURL=_server.ts-DrySD7h9.js.map
157
+ //# sourceMappingURL=_server.ts-CALM0gvt.js.map