@openpalm/ui 0.12.0-rc.2 → 0.12.0-rc.3

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 (342) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/4.4BLkUSeP.css +1 -0
  3. package/build/client/_app/immutable/assets/4.4BLkUSeP.css.br +0 -0
  4. package/build/client/_app/immutable/assets/4.4BLkUSeP.css.gz +0 -0
  5. package/build/client/_app/immutable/chunks/{DOWJsT_T.js → 37oeDbOM.js} +1 -1
  6. package/build/client/_app/immutable/chunks/37oeDbOM.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/{DOWJsT_T.js.gz → 37oeDbOM.js.gz} +0 -0
  8. package/build/client/_app/immutable/chunks/{DHRKaBFV.js → BMMTxmQF.js} +2 -2
  9. package/build/client/_app/immutable/chunks/BMMTxmQF.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/BMMTxmQF.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/D7U2TZGX.js +5 -0
  12. package/build/client/_app/immutable/chunks/D7U2TZGX.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/D7U2TZGX.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{BEuC-NYT.js → DhPCzSpa.js} +1 -1
  15. package/build/client/_app/immutable/chunks/DhPCzSpa.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/DhPCzSpa.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/HlgKB0Yv.js +1 -0
  18. package/build/client/_app/immutable/chunks/HlgKB0Yv.js.br +2 -0
  19. package/build/client/_app/immutable/chunks/HlgKB0Yv.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/qjfxE7Kl.js +1 -0
  21. package/build/client/_app/immutable/chunks/qjfxE7Kl.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/qjfxE7Kl.js.gz +0 -0
  23. package/build/client/_app/immutable/entry/{app.Dgd8Sqiz.js → app.D_h1885H.js} +2 -2
  24. package/build/client/_app/immutable/entry/app.D_h1885H.js.br +0 -0
  25. package/build/client/_app/immutable/entry/app.D_h1885H.js.gz +0 -0
  26. package/build/client/_app/immutable/entry/start.KkDWne9K.js +1 -0
  27. package/build/client/_app/immutable/entry/start.KkDWne9K.js.br +0 -0
  28. package/build/client/_app/immutable/entry/start.KkDWne9K.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/{0.DEcud9DA.js → 0.CoKytf3n.js} +1 -1
  30. package/build/client/_app/immutable/nodes/0.CoKytf3n.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/0.CoKytf3n.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{1.DiTVmAJ4.js → 1.m2br4sx_.js} +1 -1
  33. package/build/client/_app/immutable/nodes/1.m2br4sx_.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/1.m2br4sx_.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/4.C6POwnGO.js +130 -0
  36. package/build/client/_app/immutable/nodes/4.C6POwnGO.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/4.C6POwnGO.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{5.WMP0f8pf.js → 5.BoZ0ezyr.js} +2 -2
  39. package/build/client/_app/immutable/nodes/5.BoZ0ezyr.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/5.BoZ0ezyr.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{6.9o6Bephx.js → 6.D3HpNODC.js} +1 -1
  42. package/build/client/_app/immutable/nodes/6.D3HpNODC.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/6.D3HpNODC.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{7._N3I_xWy.js → 7.Cldb-l42.js} +1 -1
  45. package/build/client/_app/immutable/nodes/7.Cldb-l42.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/7.Cldb-l42.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/{8.aWZ5mSKB.js → 8.BWkb2W3i.js} +1 -1
  48. package/build/client/_app/immutable/nodes/8.BWkb2W3i.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/8.BWkb2W3i.js.gz +0 -0
  50. package/build/client/_app/version.json +1 -1
  51. package/build/client/_app/version.json.br +1 -1
  52. package/build/client/_app/version.json.gz +0 -0
  53. package/build/server/chunks/{0-u2E6UMPO.js → 0-_Ek7fSWr.js} +3 -3
  54. package/build/server/chunks/{0-u2E6UMPO.js.map → 0-_Ek7fSWr.js.map} +1 -1
  55. package/build/server/chunks/1-CvpyJciZ.js +9 -0
  56. package/build/server/chunks/{1-BdcHiFUZ.js.map → 1-CvpyJciZ.js.map} +1 -1
  57. package/build/server/chunks/{10-DMi_4x3S.js → 10-CX8_71GH.js} +4 -4
  58. package/build/server/chunks/{10-DMi_4x3S.js.map → 10-CX8_71GH.js.map} +1 -1
  59. package/build/server/chunks/4-CGNm9qY9.js +9 -0
  60. package/build/server/chunks/{4-siztlnPA.js.map → 4-CGNm9qY9.js.map} +1 -1
  61. package/build/server/chunks/5-CCrG3Zq1.js +9 -0
  62. package/build/server/chunks/{5-DR1iBcbj.js.map → 5-CCrG3Zq1.js.map} +1 -1
  63. package/build/server/chunks/6-CJd5ozaP.js +9 -0
  64. package/build/server/chunks/{6-BdZadUUO.js.map → 6-CJd5ozaP.js.map} +1 -1
  65. package/build/server/chunks/7-Bh7s1hZ3.js +9 -0
  66. package/build/server/chunks/{7-CjmZOzkF.js.map → 7-Bh7s1hZ3.js.map} +1 -1
  67. package/build/server/chunks/{8-DVpEHTHq.js → 8-CbIypXYv.js} +3 -3
  68. package/build/server/chunks/{8-DVpEHTHq.js.map → 8-CbIypXYv.js.map} +1 -1
  69. package/build/server/chunks/{ChatMessage-BNxQgrRW.js → ChatMessage-BAWjgbc_.js} +2 -2
  70. package/build/server/chunks/{ChatMessage-BNxQgrRW.js.map → ChatMessage-BAWjgbc_.js.map} +1 -1
  71. package/build/server/chunks/{Navbar-UVOusnw-.js → Navbar-Bdk7TDAb.js} +4 -4
  72. package/build/server/chunks/{Navbar-UVOusnw-.js.map → Navbar-Bdk7TDAb.js.map} +1 -1
  73. package/build/server/chunks/{_layout.svelte-DKvvz-xQ.js → _layout.svelte-CFKjimed.js} +2 -2
  74. package/build/server/chunks/{_layout.svelte-DKvvz-xQ.js.map → _layout.svelte-CFKjimed.js.map} +1 -1
  75. package/build/server/chunks/{_page.svelte-B7FQDg28.js → _page.svelte-2gtLQdWF.js} +6 -6
  76. package/build/server/chunks/{_page.svelte-B7FQDg28.js.map → _page.svelte-2gtLQdWF.js.map} +1 -1
  77. package/build/server/chunks/{_page.svelte-B5xh8SJ5.js → _page.svelte-CUeuGP5U.js} +7 -7
  78. package/build/server/chunks/{_page.svelte-B5xh8SJ5.js.map → _page.svelte-CUeuGP5U.js.map} +1 -1
  79. package/build/server/chunks/{_page.svelte-D4Zivreu.js → _page.svelte-Cjok9-7E.js} +3 -3
  80. package/build/server/chunks/{_page.svelte-D4Zivreu.js.map → _page.svelte-Cjok9-7E.js.map} +1 -1
  81. package/build/server/chunks/{_page.svelte-CMyq-t3Q.js → _page.svelte-F2VqpLAW.js} +185 -32
  82. package/build/server/chunks/_page.svelte-F2VqpLAW.js.map +1 -0
  83. package/build/server/chunks/{_page.svelte-w4SS3sVN.js → _page.svelte-bfGTUogD.js} +6 -6
  84. package/build/server/chunks/{_page.svelte-w4SS3sVN.js.map → _page.svelte-bfGTUogD.js.map} +1 -1
  85. package/build/server/chunks/{_server.ts-CTKPnd64.js → _server.ts-0fJZ0VmG.js} +7 -7
  86. package/build/server/chunks/{_server.ts-CTKPnd64.js.map → _server.ts-0fJZ0VmG.js.map} +1 -1
  87. package/build/server/chunks/{_server.ts-B25xvhiX.js → _server.ts-2jjEL-tJ.js} +5 -5
  88. package/build/server/chunks/{_server.ts-B25xvhiX.js.map → _server.ts-2jjEL-tJ.js.map} +1 -1
  89. package/build/server/chunks/{_server.ts-bClum6wa.js → _server.ts-2qYNEWJW.js} +5 -5
  90. package/build/server/chunks/{_server.ts-bClum6wa.js.map → _server.ts-2qYNEWJW.js.map} +1 -1
  91. package/build/server/chunks/{_server.ts-D2tkCP8q.js → _server.ts-44XLCjje.js} +5 -5
  92. package/build/server/chunks/{_server.ts-D2tkCP8q.js.map → _server.ts-44XLCjje.js.map} +1 -1
  93. package/build/server/chunks/{_server.ts-BaTXv_bR.js → _server.ts-5x4EV4ZH.js} +5 -5
  94. package/build/server/chunks/{_server.ts-BaTXv_bR.js.map → _server.ts-5x4EV4ZH.js.map} +1 -1
  95. package/build/server/chunks/{_server.ts-Ts6pcZ0d.js → _server.ts-70mUxM22.js} +5 -5
  96. package/build/server/chunks/{_server.ts-Ts6pcZ0d.js.map → _server.ts-70mUxM22.js.map} +1 -1
  97. package/build/server/chunks/{_server.ts-DPw4QRWb.js → _server.ts-7YO0AJyT.js} +5 -5
  98. package/build/server/chunks/{_server.ts-DPw4QRWb.js.map → _server.ts-7YO0AJyT.js.map} +1 -1
  99. package/build/server/chunks/_server.ts-B0cdV0wH.js +89 -0
  100. package/build/server/chunks/_server.ts-B0cdV0wH.js.map +1 -0
  101. package/build/server/chunks/{_server.ts-BCKweCGM.js → _server.ts-B0f-lyzD.js} +4 -4
  102. package/build/server/chunks/{_server.ts-BCKweCGM.js.map → _server.ts-B0f-lyzD.js.map} +1 -1
  103. package/build/server/chunks/{_server.ts-DFhNnn-G.js → _server.ts-B8ExhGgO.js} +5 -5
  104. package/build/server/chunks/{_server.ts-DFhNnn-G.js.map → _server.ts-B8ExhGgO.js.map} +1 -1
  105. package/build/server/chunks/{_server.ts-Dv7xll_B.js → _server.ts-B8l8YmXh.js} +6 -6
  106. package/build/server/chunks/{_server.ts-Dv7xll_B.js.map → _server.ts-B8l8YmXh.js.map} +1 -1
  107. package/build/server/chunks/{_server.ts-B4WEAp6B.js → _server.ts-BBHICsQa.js} +18 -6
  108. package/build/server/chunks/_server.ts-BBHICsQa.js.map +1 -0
  109. package/build/server/chunks/{_server.ts-DjJu23jV.js → _server.ts-BFfdVNpH.js} +5 -5
  110. package/build/server/chunks/{_server.ts-DjJu23jV.js.map → _server.ts-BFfdVNpH.js.map} +1 -1
  111. package/build/server/chunks/{_server.ts-BR_JejQG.js → _server.ts-BI0oEp2m.js} +5 -5
  112. package/build/server/chunks/{_server.ts-BR_JejQG.js.map → _server.ts-BI0oEp2m.js.map} +1 -1
  113. package/build/server/chunks/{_server.ts-Bf3mh1Vw.js → _server.ts-BJPmYqJQ.js} +5 -5
  114. package/build/server/chunks/{_server.ts-Bf3mh1Vw.js.map → _server.ts-BJPmYqJQ.js.map} +1 -1
  115. package/build/server/chunks/{_server.ts-MJdHZvPF.js → _server.ts-BLqWydCg.js} +5 -5
  116. package/build/server/chunks/_server.ts-BLqWydCg.js.map +1 -0
  117. package/build/server/chunks/{_server.ts-BFp9Fobi.js → _server.ts-BPEwLxUz.js} +4 -4
  118. package/build/server/chunks/{_server.ts-BFp9Fobi.js.map → _server.ts-BPEwLxUz.js.map} +1 -1
  119. package/build/server/chunks/{_server.ts-BiwKKu1y.js → _server.ts-BQSuiMBy.js} +5 -5
  120. package/build/server/chunks/{_server.ts-BiwKKu1y.js.map → _server.ts-BQSuiMBy.js.map} +1 -1
  121. package/build/server/chunks/{_server.ts-BdN5NtL4.js → _server.ts-BRzEk9EI.js} +5 -5
  122. package/build/server/chunks/{_server.ts-BdN5NtL4.js.map → _server.ts-BRzEk9EI.js.map} +1 -1
  123. package/build/server/chunks/{_server.ts-zUZknmZx.js → _server.ts-BTw50Sge.js} +6 -6
  124. package/build/server/chunks/{_server.ts-zUZknmZx.js.map → _server.ts-BTw50Sge.js.map} +1 -1
  125. package/build/server/chunks/{_server.ts-CfAx4ndA.js → _server.ts-BVLeyPrV.js} +5 -5
  126. package/build/server/chunks/{_server.ts-CfAx4ndA.js.map → _server.ts-BVLeyPrV.js.map} +1 -1
  127. package/build/server/chunks/{_server.ts-RagJb3I4.js → _server.ts-Ba3Y8mZb.js} +5 -5
  128. package/build/server/chunks/{_server.ts-RagJb3I4.js.map → _server.ts-Ba3Y8mZb.js.map} +1 -1
  129. package/build/server/chunks/{_server.ts-DMTF4KjV.js → _server.ts-BbXRF71R.js} +2 -2
  130. package/build/server/chunks/{_server.ts-DMTF4KjV.js.map → _server.ts-BbXRF71R.js.map} +1 -1
  131. package/build/server/chunks/{_server.ts-4Pwhm5iv.js → _server.ts-BgZqc9BJ.js} +5 -5
  132. package/build/server/chunks/{_server.ts-4Pwhm5iv.js.map → _server.ts-BgZqc9BJ.js.map} +1 -1
  133. package/build/server/chunks/{_server.ts-9zKJx2eV.js → _server.ts-BkgABCm4.js} +5 -5
  134. package/build/server/chunks/{_server.ts-9zKJx2eV.js.map → _server.ts-BkgABCm4.js.map} +1 -1
  135. package/build/server/chunks/{_server.ts-Cs7f-gaR.js → _server.ts-BqNV9SKY.js} +6 -6
  136. package/build/server/chunks/{_server.ts-Cs7f-gaR.js.map → _server.ts-BqNV9SKY.js.map} +1 -1
  137. package/build/server/chunks/{_server.ts-BkxwpAv2.js → _server.ts-Br8Q79vg.js} +5 -5
  138. package/build/server/chunks/{_server.ts-BkxwpAv2.js.map → _server.ts-Br8Q79vg.js.map} +1 -1
  139. package/build/server/chunks/{_server.ts-DRpXmKSI.js → _server.ts-BsCi8U0T.js} +6 -6
  140. package/build/server/chunks/{_server.ts-DRpXmKSI.js.map → _server.ts-BsCi8U0T.js.map} +1 -1
  141. package/build/server/chunks/{_server.ts-BHIqLHCr.js → _server.ts-BtzqRqdc.js} +2 -2
  142. package/build/server/chunks/{_server.ts-BHIqLHCr.js.map → _server.ts-BtzqRqdc.js.map} +1 -1
  143. package/build/server/chunks/{_server.ts-D5WwDggN.js → _server.ts-BuvcU_rd.js} +5 -5
  144. package/build/server/chunks/{_server.ts-D5WwDggN.js.map → _server.ts-BuvcU_rd.js.map} +1 -1
  145. package/build/server/chunks/{_server.ts-CzTX8a_p.js → _server.ts-BvYQG4dt.js} +5 -5
  146. package/build/server/chunks/{_server.ts-CzTX8a_p.js.map → _server.ts-BvYQG4dt.js.map} +1 -1
  147. package/build/server/chunks/{_server.ts-B1Ka3iiX.js → _server.ts-Bvv8P8O9.js} +6 -6
  148. package/build/server/chunks/{_server.ts-B1Ka3iiX.js.map → _server.ts-Bvv8P8O9.js.map} +1 -1
  149. package/build/server/chunks/{_server.ts-BEgkYvNh.js → _server.ts-ByNLf-MM.js} +5 -5
  150. package/build/server/chunks/{_server.ts-BEgkYvNh.js.map → _server.ts-ByNLf-MM.js.map} +1 -1
  151. package/build/server/chunks/{_server.ts-C3ic1HZf.js → _server.ts-C1P---qO.js} +5 -5
  152. package/build/server/chunks/{_server.ts-C3ic1HZf.js.map → _server.ts-C1P---qO.js.map} +1 -1
  153. package/build/server/chunks/_server.ts-C6_HX3EG.js +81 -0
  154. package/build/server/chunks/_server.ts-C6_HX3EG.js.map +1 -0
  155. package/build/server/chunks/{_server.ts-5cUQFkT_.js → _server.ts-CGk9ZLGa.js} +2 -2
  156. package/build/server/chunks/{_server.ts-5cUQFkT_.js.map → _server.ts-CGk9ZLGa.js.map} +1 -1
  157. package/build/server/chunks/{_server.ts-DEV3GiN8.js → _server.ts-CIoiPQyf.js} +5 -5
  158. package/build/server/chunks/{_server.ts-DEV3GiN8.js.map → _server.ts-CIoiPQyf.js.map} +1 -1
  159. package/build/server/chunks/{_server.ts-Djimbzpw.js → _server.ts-CRzIDkX8.js} +7 -7
  160. package/build/server/chunks/{_server.ts-Djimbzpw.js.map → _server.ts-CRzIDkX8.js.map} +1 -1
  161. package/build/server/chunks/{_server.ts-C_c_15ac.js → _server.ts-CSZ5Wh6G.js} +5 -5
  162. package/build/server/chunks/{_server.ts-C_c_15ac.js.map → _server.ts-CSZ5Wh6G.js.map} +1 -1
  163. package/build/server/chunks/{_server.ts-CZ9rxA09.js → _server.ts-CT1eXDu-.js} +5 -5
  164. package/build/server/chunks/{_server.ts-CZ9rxA09.js.map → _server.ts-CT1eXDu-.js.map} +1 -1
  165. package/build/server/chunks/{_server.ts-op5C3XGb.js → _server.ts-CUuJlm00.js} +6 -6
  166. package/build/server/chunks/{_server.ts-op5C3XGb.js.map → _server.ts-CUuJlm00.js.map} +1 -1
  167. package/build/server/chunks/{_server.ts-748DtXrC.js → _server.ts-CZ-DRZvp.js} +5 -5
  168. package/build/server/chunks/{_server.ts-748DtXrC.js.map → _server.ts-CZ-DRZvp.js.map} +1 -1
  169. package/build/server/chunks/{_server.ts-MORzCMU7.js → _server.ts-Cc3N9css.js} +5 -5
  170. package/build/server/chunks/{_server.ts-MORzCMU7.js.map → _server.ts-Cc3N9css.js.map} +1 -1
  171. package/build/server/chunks/{_server.ts-D4B9IkKh.js → _server.ts-Cf65eLqq.js} +5 -5
  172. package/build/server/chunks/{_server.ts-D4B9IkKh.js.map → _server.ts-Cf65eLqq.js.map} +1 -1
  173. package/build/server/chunks/{_server.ts-CDLW9TPG.js → _server.ts-Cg6XEPy2.js} +6 -6
  174. package/build/server/chunks/{_server.ts-CDLW9TPG.js.map → _server.ts-Cg6XEPy2.js.map} +1 -1
  175. package/build/server/chunks/{_server.ts-Cc-c2ehY.js → _server.ts-CnP0tOCJ.js} +5 -5
  176. package/build/server/chunks/{_server.ts-Cc-c2ehY.js.map → _server.ts-CnP0tOCJ.js.map} +1 -1
  177. package/build/server/chunks/{_server.ts-Dr6ShsbQ.js → _server.ts-CrJINkX_.js} +5 -5
  178. package/build/server/chunks/{_server.ts-Dr6ShsbQ.js.map → _server.ts-CrJINkX_.js.map} +1 -1
  179. package/build/server/chunks/{_server.ts-BMeLIoiB.js → _server.ts-Crjjd765.js} +6 -6
  180. package/build/server/chunks/{_server.ts-BMeLIoiB.js.map → _server.ts-Crjjd765.js.map} +1 -1
  181. package/build/server/chunks/{_server.ts-Dpk6ddyU.js → _server.ts-Cv8ofBVh.js} +7 -7
  182. package/build/server/chunks/{_server.ts-Dpk6ddyU.js.map → _server.ts-Cv8ofBVh.js.map} +1 -1
  183. package/build/server/chunks/{_server.ts-C9E9tYAO.js → _server.ts-CvjW0prw.js} +5 -5
  184. package/build/server/chunks/{_server.ts-C9E9tYAO.js.map → _server.ts-CvjW0prw.js.map} +1 -1
  185. package/build/server/chunks/{_server.ts-B2kJ3mfg.js → _server.ts-CzJEYcNT.js} +7 -7
  186. package/build/server/chunks/{_server.ts-B2kJ3mfg.js.map → _server.ts-CzJEYcNT.js.map} +1 -1
  187. package/build/server/chunks/{_server.ts-QdyZiBuA.js → _server.ts-CzxUP04Y.js} +5 -5
  188. package/build/server/chunks/{_server.ts-QdyZiBuA.js.map → _server.ts-CzxUP04Y.js.map} +1 -1
  189. package/build/server/chunks/{_server.ts-CILn0WEi.js → _server.ts-D01NZcYW.js} +5 -5
  190. package/build/server/chunks/{_server.ts-CILn0WEi.js.map → _server.ts-D01NZcYW.js.map} +1 -1
  191. package/build/server/chunks/_server.ts-D1AbREnq.js +78 -0
  192. package/build/server/chunks/_server.ts-D1AbREnq.js.map +1 -0
  193. package/build/server/chunks/{_server.ts-Cwuo2EyS.js → _server.ts-D7Jx0nis.js} +5 -5
  194. package/build/server/chunks/{_server.ts-Cwuo2EyS.js.map → _server.ts-D7Jx0nis.js.map} +1 -1
  195. package/build/server/chunks/{_server.ts-Byc_SyKx.js → _server.ts-D81qWfpG.js} +5 -5
  196. package/build/server/chunks/{_server.ts-Byc_SyKx.js.map → _server.ts-D81qWfpG.js.map} +1 -1
  197. package/build/server/chunks/{_server.ts-DT8fIE9B.js → _server.ts-D8cTdweQ.js} +5 -5
  198. package/build/server/chunks/{_server.ts-DT8fIE9B.js.map → _server.ts-D8cTdweQ.js.map} +1 -1
  199. package/build/server/chunks/{_server.ts-CN8iu9En.js → _server.ts-DAyVdLae.js} +5 -5
  200. package/build/server/chunks/{_server.ts-CN8iu9En.js.map → _server.ts-DAyVdLae.js.map} +1 -1
  201. package/build/server/chunks/{_server.ts-DY4maxIB.js → _server.ts-DG6X2pCM.js} +6 -6
  202. package/build/server/chunks/{_server.ts-DY4maxIB.js.map → _server.ts-DG6X2pCM.js.map} +1 -1
  203. package/build/server/chunks/{_server.ts-CxWx02dy.js → _server.ts-DIot9Cws.js} +5 -5
  204. package/build/server/chunks/_server.ts-DIot9Cws.js.map +1 -0
  205. package/build/server/chunks/{_server.ts-BSxbdNXo.js → _server.ts-DLN16A-H.js} +5 -5
  206. package/build/server/chunks/{_server.ts-BSxbdNXo.js.map → _server.ts-DLN16A-H.js.map} +1 -1
  207. package/build/server/chunks/{_server.ts-DQP6uEx5.js → _server.ts-DNnk_Zxf.js} +5 -5
  208. package/build/server/chunks/{_server.ts-DQP6uEx5.js.map → _server.ts-DNnk_Zxf.js.map} +1 -1
  209. package/build/server/chunks/{_server.ts-Cscu5y6A.js → _server.ts-DRtWVz82.js} +6 -6
  210. package/build/server/chunks/{_server.ts-Cscu5y6A.js.map → _server.ts-DRtWVz82.js.map} +1 -1
  211. package/build/server/chunks/{_server.ts-CCtCwyZb.js → _server.ts-DWLgZ0Yv.js} +6 -6
  212. package/build/server/chunks/{_server.ts-CCtCwyZb.js.map → _server.ts-DWLgZ0Yv.js.map} +1 -1
  213. package/build/server/chunks/{_server.ts-CgPqNf7-.js → _server.ts-DWWvdqIf.js} +5 -5
  214. package/build/server/chunks/{_server.ts-CgPqNf7-.js.map → _server.ts-DWWvdqIf.js.map} +1 -1
  215. package/build/server/chunks/{_server.ts-6sLoCHl6.js → _server.ts-DeYTt0bJ.js} +5 -5
  216. package/build/server/chunks/{_server.ts-6sLoCHl6.js.map → _server.ts-DeYTt0bJ.js.map} +1 -1
  217. package/build/server/chunks/{_server.ts-BhzFTv-h.js → _server.ts-DmJBOTT2.js} +6 -6
  218. package/build/server/chunks/{_server.ts-BhzFTv-h.js.map → _server.ts-DmJBOTT2.js.map} +1 -1
  219. package/build/server/chunks/{_server.ts-JPsLUf_g.js → _server.ts-DrOOY95Q.js} +5 -5
  220. package/build/server/chunks/{_server.ts-JPsLUf_g.js.map → _server.ts-DrOOY95Q.js.map} +1 -1
  221. package/build/server/chunks/{_server.ts-CSN60plL.js → _server.ts-DtH3KC6o.js} +2 -2
  222. package/build/server/chunks/{_server.ts-CSN60plL.js.map → _server.ts-DtH3KC6o.js.map} +1 -1
  223. package/build/server/chunks/{_server.ts-DPpj-ZUv.js → _server.ts-DwkMC38U.js} +5 -5
  224. package/build/server/chunks/{_server.ts-DPpj-ZUv.js.map → _server.ts-DwkMC38U.js.map} +1 -1
  225. package/build/server/chunks/{_server.ts-DE_dFybU.js → _server.ts-DxG52eeA.js} +7 -7
  226. package/build/server/chunks/{_server.ts-DE_dFybU.js.map → _server.ts-DxG52eeA.js.map} +1 -1
  227. package/build/server/chunks/{_server.ts-CCEnPIKA.js → _server.ts-Dxuqlt4R.js} +5 -5
  228. package/build/server/chunks/{_server.ts-CCEnPIKA.js.map → _server.ts-Dxuqlt4R.js.map} +1 -1
  229. package/build/server/chunks/{_server.ts-DsbN7dr7.js → _server.ts-DyCjXY9f.js} +5 -5
  230. package/build/server/chunks/{_server.ts-DsbN7dr7.js.map → _server.ts-DyCjXY9f.js.map} +1 -1
  231. package/build/server/chunks/{_server.ts-Ieve8Oxl.js → _server.ts-FfM2gx8M.js} +8 -8
  232. package/build/server/chunks/{_server.ts-Ieve8Oxl.js.map → _server.ts-FfM2gx8M.js.map} +1 -1
  233. package/build/server/chunks/{_server.ts-CMytohFo.js → _server.ts-FgmSApxO.js} +5 -5
  234. package/build/server/chunks/{_server.ts-CMytohFo.js.map → _server.ts-FgmSApxO.js.map} +1 -1
  235. package/build/server/chunks/{_server.ts-gLH0uvQH.js → _server.ts-LoYAi4N3.js} +6 -6
  236. package/build/server/chunks/{_server.ts-gLH0uvQH.js.map → _server.ts-LoYAi4N3.js.map} +1 -1
  237. package/build/server/chunks/{_server.ts-BXOIslIH.js → _server.ts-UX21CkDV.js} +5 -5
  238. package/build/server/chunks/{_server.ts-BXOIslIH.js.map → _server.ts-UX21CkDV.js.map} +1 -1
  239. package/build/server/chunks/{_server.ts-lmfAKx6b.js → _server.ts-bY2IL1Nj.js} +7 -7
  240. package/build/server/chunks/{_server.ts-lmfAKx6b.js.map → _server.ts-bY2IL1Nj.js.map} +1 -1
  241. package/build/server/chunks/_server.ts-fMGCvAmz.js +64 -0
  242. package/build/server/chunks/_server.ts-fMGCvAmz.js.map +1 -0
  243. package/build/server/chunks/{_server.ts-CV30eOSb.js → _server.ts-jmKRuOrt.js} +6 -6
  244. package/build/server/chunks/{_server.ts-CV30eOSb.js.map → _server.ts-jmKRuOrt.js.map} +1 -1
  245. package/build/server/chunks/{_server.ts-DAv3C7oW.js → _server.ts-nxWIvPny.js} +5 -5
  246. package/build/server/chunks/{_server.ts-DAv3C7oW.js.map → _server.ts-nxWIvPny.js.map} +1 -1
  247. package/build/server/chunks/{_server.ts-VuZwBycD.js → _server.ts-plme8zrC.js} +5 -5
  248. package/build/server/chunks/{_server.ts-VuZwBycD.js.map → _server.ts-plme8zrC.js.map} +1 -1
  249. package/build/server/chunks/{_server.ts-B_du9gRB.js → _server.ts-sTPNb2pN.js} +5 -5
  250. package/build/server/chunks/{_server.ts-B_du9gRB.js.map → _server.ts-sTPNb2pN.js.map} +1 -1
  251. package/build/server/chunks/{_server.ts-B7Fkprd8.js → _server.ts-t27XF1J7.js} +2 -2
  252. package/build/server/chunks/{_server.ts-B7Fkprd8.js.map → _server.ts-t27XF1J7.js.map} +1 -1
  253. package/build/server/chunks/{addon-helpers-CoPzjA3s.js → addon-helpers-DY4O9SZB.js} +3 -3
  254. package/build/server/chunks/{addon-helpers-CoPzjA3s.js.map → addon-helpers-DY4O9SZB.js.map} +1 -1
  255. package/build/server/chunks/{akm-BS59M7h3.js → akm-BSih7eOh.js} +2 -2
  256. package/build/server/chunks/{akm-BS59M7h3.js.map → akm-BSih7eOh.js.map} +1 -1
  257. package/build/server/chunks/{catalog-DAQWike4.js → catalog-DyHJ6nBW.js} +5 -5
  258. package/build/server/chunks/{catalog-DAQWike4.js.map → catalog-DyHJ6nBW.js.map} +1 -1
  259. package/build/server/chunks/{client-B3vN-Uvc.js → client-CnOg1BpV.js} +2 -2
  260. package/build/server/chunks/{client-B3vN-Uvc.js.map → client-CnOg1BpV.js.map} +1 -1
  261. package/build/server/chunks/{config-Bdb4ZTos.js → config-BVnL1-S6.js} +2 -2
  262. package/build/server/chunks/{config-Bdb4ZTos.js.map → config-BVnL1-S6.js.map} +1 -1
  263. package/build/server/chunks/{docker-DaU_SNhi.js → docker-QQYBC8du.js} +2 -2
  264. package/build/server/chunks/{docker-DaU_SNhi.js.map → docker-QQYBC8du.js.map} +1 -1
  265. package/build/server/chunks/{endpoints-1byh0xs8.js → endpoints-BOzm3TR9.js} +2 -2
  266. package/build/server/chunks/{endpoints-1byh0xs8.js.map → endpoints-BOzm3TR9.js.map} +1 -1
  267. package/build/server/chunks/{environment-BQh6a8iU.js → environment-DevEAj_M.js} +2 -2
  268. package/build/server/chunks/{environment-BQh6a8iU.js.map → environment-DevEAj_M.js.map} +1 -1
  269. package/build/server/chunks/{error.svelte-CEj0_dRA.js → error.svelte-OEdYqdGu.js} +4 -4
  270. package/build/server/chunks/{error.svelte-CEj0_dRA.js.map → error.svelte-OEdYqdGu.js.map} +1 -1
  271. package/build/server/chunks/{helpers-Be-wOei2.js → helpers-lf-w8dFi.js} +3 -3
  272. package/build/server/chunks/{helpers-Be-wOei2.js.map → helpers-lf-w8dFi.js.map} +1 -1
  273. package/build/server/chunks/{hooks.server-DlA1ck_e.js → hooks.server-yeur1GCR.js} +6 -6
  274. package/build/server/chunks/{hooks.server-DlA1ck_e.js.map → hooks.server-yeur1GCR.js.map} +1 -1
  275. package/build/server/chunks/{http-BbFgukqs.js → http-Bv92EpMx.js} +2 -2
  276. package/build/server/chunks/{http-BbFgukqs.js.map → http-Bv92EpMx.js.map} +1 -1
  277. package/build/server/chunks/{internal-CP-qQJfY.js → internal-CQdgWpT6.js} +3 -3
  278. package/build/server/chunks/{internal-CP-qQJfY.js.map → internal-CQdgWpT6.js.map} +1 -1
  279. package/build/server/chunks/{session-cookie-C-kIy9pI.js → session-cookie-DhA3swUc.js} +2 -2
  280. package/build/server/chunks/{session-cookie-C-kIy9pI.js.map → session-cookie-DhA3swUc.js.map} +1 -1
  281. package/build/server/chunks/{setup-deploy-BL_wmz6j.js → setup-deploy-C0hLjImh.js} +2 -2
  282. package/build/server/chunks/{setup-deploy-BL_wmz6j.js.map → setup-deploy-C0hLjImh.js.map} +1 -1
  283. package/build/server/chunks/{src-BEj0DuSB.js → src-B7oqi9q_.js} +353 -16
  284. package/build/server/chunks/src-B7oqi9q_.js.map +1 -0
  285. package/build/server/chunks/{state-DAPDF26p.js → state-iFW46-kW.js} +2 -2
  286. package/build/server/chunks/{state-DAPDF26p.js.map → state-iFW46-kW.js.map} +1 -1
  287. package/build/server/chunks/{state2-3fEu-ReG.js → state2-DkQitSl6.js} +2 -2
  288. package/build/server/chunks/{state2-3fEu-ReG.js.map → state2-DkQitSl6.js.map} +1 -1
  289. package/build/server/chunks/{theme-state.svelte-CUVpUHOv.js → theme-state.svelte-8qSluhfu.js} +35 -4
  290. package/build/server/chunks/theme-state.svelte-8qSluhfu.js.map +1 -0
  291. package/build/server/index.js +2 -2
  292. package/build/server/manifest.js +117 -89
  293. package/build/server/manifest.js.map +1 -1
  294. package/package.json +2 -2
  295. package/build/client/_app/immutable/assets/4.D-9LGiQD.css +0 -1
  296. package/build/client/_app/immutable/assets/4.D-9LGiQD.css.br +0 -0
  297. package/build/client/_app/immutable/assets/4.D-9LGiQD.css.gz +0 -0
  298. package/build/client/_app/immutable/chunks/B7L0wlSY.js +0 -1
  299. package/build/client/_app/immutable/chunks/B7L0wlSY.js.br +0 -2
  300. package/build/client/_app/immutable/chunks/B7L0wlSY.js.gz +0 -0
  301. package/build/client/_app/immutable/chunks/BEuC-NYT.js.br +0 -0
  302. package/build/client/_app/immutable/chunks/BEuC-NYT.js.gz +0 -0
  303. package/build/client/_app/immutable/chunks/BXh0hlRI.js +0 -1
  304. package/build/client/_app/immutable/chunks/BXh0hlRI.js.br +0 -0
  305. package/build/client/_app/immutable/chunks/BXh0hlRI.js.gz +0 -0
  306. package/build/client/_app/immutable/chunks/DHRKaBFV.js.br +0 -0
  307. package/build/client/_app/immutable/chunks/DHRKaBFV.js.gz +0 -0
  308. package/build/client/_app/immutable/chunks/DOWJsT_T.js.br +0 -0
  309. package/build/client/_app/immutable/chunks/DkCRM8d5.js +0 -5
  310. package/build/client/_app/immutable/chunks/DkCRM8d5.js.br +0 -0
  311. package/build/client/_app/immutable/chunks/DkCRM8d5.js.gz +0 -0
  312. package/build/client/_app/immutable/entry/app.Dgd8Sqiz.js.br +0 -0
  313. package/build/client/_app/immutable/entry/app.Dgd8Sqiz.js.gz +0 -0
  314. package/build/client/_app/immutable/entry/start.DN4LafZw.js +0 -1
  315. package/build/client/_app/immutable/entry/start.DN4LafZw.js.br +0 -1
  316. package/build/client/_app/immutable/entry/start.DN4LafZw.js.gz +0 -0
  317. package/build/client/_app/immutable/nodes/0.DEcud9DA.js.br +0 -0
  318. package/build/client/_app/immutable/nodes/0.DEcud9DA.js.gz +0 -0
  319. package/build/client/_app/immutable/nodes/1.DiTVmAJ4.js.br +0 -3
  320. package/build/client/_app/immutable/nodes/1.DiTVmAJ4.js.gz +0 -0
  321. package/build/client/_app/immutable/nodes/4.C-pAk-ut.js +0 -121
  322. package/build/client/_app/immutable/nodes/4.C-pAk-ut.js.br +0 -0
  323. package/build/client/_app/immutable/nodes/4.C-pAk-ut.js.gz +0 -0
  324. package/build/client/_app/immutable/nodes/5.WMP0f8pf.js.br +0 -0
  325. package/build/client/_app/immutable/nodes/5.WMP0f8pf.js.gz +0 -0
  326. package/build/client/_app/immutable/nodes/6.9o6Bephx.js.br +0 -0
  327. package/build/client/_app/immutable/nodes/6.9o6Bephx.js.gz +0 -0
  328. package/build/client/_app/immutable/nodes/7._N3I_xWy.js.br +0 -0
  329. package/build/client/_app/immutable/nodes/7._N3I_xWy.js.gz +0 -0
  330. package/build/client/_app/immutable/nodes/8.aWZ5mSKB.js.br +0 -0
  331. package/build/client/_app/immutable/nodes/8.aWZ5mSKB.js.gz +0 -0
  332. package/build/server/chunks/1-BdcHiFUZ.js +0 -9
  333. package/build/server/chunks/4-siztlnPA.js +0 -9
  334. package/build/server/chunks/5-DR1iBcbj.js +0 -9
  335. package/build/server/chunks/6-BdZadUUO.js +0 -9
  336. package/build/server/chunks/7-CjmZOzkF.js +0 -9
  337. package/build/server/chunks/_page.svelte-CMyq-t3Q.js.map +0 -1
  338. package/build/server/chunks/_server.ts-B4WEAp6B.js.map +0 -1
  339. package/build/server/chunks/_server.ts-CxWx02dy.js.map +0 -1
  340. package/build/server/chunks/_server.ts-MJdHZvPF.js.map +0 -1
  341. package/build/server/chunks/src-BEj0DuSB.js.map +0 -1
  342. package/build/server/chunks/theme-state.svelte-CUVpUHOv.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-C9E9tYAO.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../chunks/exports.js\";\nimport { $t as PLATFORM_VERSION, Qt as parseEnvFile, tn as formatForDisplay } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { existsSync } from \"node:fs\";\n//#region src/routes/admin/versions/+server.ts\nvar GET = (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tif (!state.stackDir) return errorResponse(503, \"not_initialized\", \"Stack directory not configured\", {}, requestId);\n\tconst stackEnvPath = `${state.stashDir}/env/stack.env`;\n\tconst imageTag = (existsSync(stackEnvPath) ? parseEnvFile(stackEnvPath) : {}).OP_IMAGE_TAG ?? \"latest\";\n\tconst inElectron = process.env.OP_INSIDE_ELECTRON === \"1\";\n\tconst electronVersion = process.env.OP_ELECTRON_VERSION ?? null;\n\tconst electronLatestVersion = process.env.OP_ELECTRON_LATEST_VERSION ?? null;\n\tconst electronLatestUrl = process.env.OP_ELECTRON_LATEST_URL ?? null;\n\tconst harnessContractVersion = process.env.OP_HARNESS_CONTRACT_VERSION ? Number(process.env.OP_HARNESS_CONTRACT_VERSION) : null;\n\tconst platformVersion = formatForDisplay(PLATFORM_VERSION);\n\treturn json({\n\t\timageTag,\n\t\tinElectron,\n\t\telectronVersion,\n\t\telectronLatestVersion,\n\t\telectronLatestUrl,\n\t\telectronUpdateAvailable: !!electronLatestVersion,\n\t\tharnessVersion: electronVersion,\n\t\tharnessContractVersion,\n\t\tharnessUpdateAvailable: !!electronLatestVersion,\n\t\tplatformVersion\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACG,IAAC,GAAG,GAAG,CAAC,KAAK,KAAK;AACrB,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,gCAAgC,EAAE,EAAE,EAAE,SAAS,CAAC;AACnH,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;AACvD,CAAC,MAAM,QAAQ,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,YAAY,IAAI,QAAQ;AACvG,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG;AAC1D,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,IAAI;AAChE,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,IAAI;AAC7E,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,IAAI;AACrE,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,IAAI;AAChI,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC,gBAAgB,CAAC;AAC3D,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,QAAQ;AACV,EAAE,UAAU;AACZ,EAAE,eAAe;AACjB,EAAE,qBAAqB;AACvB,EAAE,iBAAiB;AACnB,EAAE,uBAAuB,EAAE,CAAC,CAAC,qBAAqB;AAClD,EAAE,cAAc,EAAE,eAAe;AACjC,EAAE,sBAAsB;AACxB,EAAE,sBAAsB,EAAE,CAAC,CAAC,qBAAqB;AACjD,EAAE;AACF,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-CvjW0prw.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../chunks/exports.js\";\nimport { in as PLATFORM_VERSION, on as formatForDisplay, rn as parseEnvFile } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { existsSync } from \"node:fs\";\n//#region src/routes/admin/versions/+server.ts\nvar GET = (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tif (!state.stackDir) return errorResponse(503, \"not_initialized\", \"Stack directory not configured\", {}, requestId);\n\tconst stackEnvPath = `${state.stashDir}/env/stack.env`;\n\tconst imageTag = (existsSync(stackEnvPath) ? parseEnvFile(stackEnvPath) : {}).OP_IMAGE_TAG ?? \"latest\";\n\tconst inElectron = process.env.OP_INSIDE_ELECTRON === \"1\";\n\tconst electronVersion = process.env.OP_ELECTRON_VERSION ?? null;\n\tconst electronLatestVersion = process.env.OP_ELECTRON_LATEST_VERSION ?? null;\n\tconst electronLatestUrl = process.env.OP_ELECTRON_LATEST_URL ?? null;\n\tconst harnessContractVersion = process.env.OP_HARNESS_CONTRACT_VERSION ? Number(process.env.OP_HARNESS_CONTRACT_VERSION) : null;\n\tconst platformVersion = formatForDisplay(PLATFORM_VERSION);\n\treturn json({\n\t\timageTag,\n\t\tinElectron,\n\t\telectronVersion,\n\t\telectronLatestVersion,\n\t\telectronLatestUrl,\n\t\telectronUpdateAvailable: !!electronLatestVersion,\n\t\tharnessVersion: electronVersion,\n\t\tharnessContractVersion,\n\t\tharnessUpdateAvailable: !!electronLatestVersion,\n\t\tplatformVersion\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACG,IAAC,GAAG,GAAG,CAAC,KAAK,KAAK;AACrB,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,gCAAgC,EAAE,EAAE,EAAE,SAAS,CAAC;AACnH,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;AACvD,CAAC,MAAM,QAAQ,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,YAAY,IAAI,QAAQ;AACvG,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG;AAC1D,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,IAAI;AAChE,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,IAAI;AAC7E,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,IAAI;AACrE,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,IAAI;AAChI,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC,gBAAgB,CAAC;AAC3D,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,QAAQ;AACV,EAAE,UAAU;AACZ,EAAE,eAAe;AACjB,EAAE,qBAAqB;AACvB,EAAE,iBAAiB;AACnB,EAAE,uBAAuB,EAAE,CAAC,CAAC,qBAAqB;AAClD,EAAE,cAAc,EAAE,eAAe;AACjC,EAAE,sBAAsB;AACxB,EAAE,sBAAsB,EAAE,CAAC,CAAC,qBAAqB;AACjD,EAAE;AACF,EAAE,CAAC;AACH;;;;"}
@@ -1,8 +1,8 @@
1
- import { av as readStackEnv } from './src-BEj0DuSB.js';
2
- import { g as getState } from './state-DAPDF26p.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-Be-wOei2.js';
4
- import { o as opencodeFetch } from './http-BbFgukqs.js';
5
- import { g as getCurrentConfig } from './config-Bdb4ZTos.js';
1
+ import { aD as readStackEnv } from './src-B7oqi9q_.js';
2
+ import { g as getState } from './state-iFW46-kW.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-lf-w8dFi.js';
4
+ import { o as opencodeFetch } from './http-Bv92EpMx.js';
5
+ import { g as getCurrentConfig } from './config-BVnL1-S6.js';
6
6
  import { existsSync, readFileSync } from 'node:fs';
7
7
  import { join } from 'node:path';
8
8
  import './chunk-CLZ62Ad-.js';
@@ -24,7 +24,7 @@ import 'zlib';
24
24
  import 'node:assert';
25
25
  import 'node:fs/promises';
26
26
  import 'node:os';
27
- import './endpoints-1byh0xs8.js';
27
+ import './endpoints-BOzm3TR9.js';
28
28
  import './coercion-TNFJisCC.js';
29
29
 
30
30
  //#region src/lib/server/speech-prep.ts
@@ -205,4 +205,4 @@ var POST = async (event) => {
205
205
  };
206
206
 
207
207
  export { POST };
208
- //# sourceMappingURL=_server.ts-B2kJ3mfg.js.map
208
+ //# sourceMappingURL=_server.ts-CzJEYcNT.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-B2kJ3mfg.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { Pt as readStackEnv } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../chunks/http.js\";\nimport { t as getCurrentConfig } from \"../../../../chunks/config.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n//#region src/lib/server/speech-prep.ts\nfunction personaPath() {\n\treturn join(getState().configDir, \"assistant\", \"openpalm.md\");\n}\nfunction readPersona() {\n\tconst path = personaPath();\n\tif (!existsSync(path)) return \"\";\n\ttry {\n\t\treturn readFileSync(path, \"utf-8\").trim();\n\t} catch {\n\t\treturn \"\";\n\t}\n}\nfunction extractText(response) {\n\treturn (response.parts ?? []).filter((part) => part.type === \"text\" && typeof part.text === \"string\").map((part) => part.text?.trim() ?? \"\").join(\" \").trim();\n}\nfunction buildPrompt(input) {\n\tconst personaBlock = input.persona ? input.persona : \"No persona markdown is configured. Use a neutral, helpful, conversational tone.\";\n\tif (input.mode === \"chat_ack\") return [\n\t\t\"You are preparing a short spoken acknowledgement for text-to-speech.\",\n\t\t\"Return only the exact words to speak.\",\n\t\t\"Keep it to one brief sentence.\",\n\t\t\"Sound conversational and aligned with the persona context.\",\n\t\t\"Do not use markdown, lists, or quotes.\",\n\t\t\"Do not answer the full request. Just acknowledge that you are working on it.\",\n\t\t\"\",\n\t\t\"Persona markdown:\",\n\t\tpersonaBlock,\n\t\t\"\",\n\t\t\"User request:\",\n\t\tinput.userText\n\t].join(\"\\n\");\n\treturn [\n\t\t\"You are preparing a spoken summary for text-to-speech.\",\n\t\t\"Return only the exact words to speak.\",\n\t\t\"Rewrite the final assistant reply into a concise, natural, conversational response.\",\n\t\t\"Preserve the meaning and important caveats.\",\n\t\t\"Keep it brief enough for audio playback.\",\n\t\t\"Do not use markdown, lists, or quotes.\",\n\t\t\"\",\n\t\t\"Persona markdown:\",\n\t\tpersonaBlock,\n\t\t\"\",\n\t\t\"User request:\",\n\t\tinput.userText,\n\t\t\"\",\n\t\t\"Final assistant reply:\",\n\t\tinput.assistantText ?? \"\"\n\t].join(\"\\n\");\n}\nfunction resolveSpeechModel(config) {\n\tconst small = typeof config.small_model === \"string\" ? config.small_model.trim() : \"\";\n\tif (small) return small;\n\treturn (typeof config.model === \"string\" ? config.model.trim() : \"\") || null;\n}\nasync function loadSpeechConfig() {\n\ttry {\n\t\treturn await opencodeFetch(\"/config\");\n\t} catch {\n\t\treturn getCurrentConfig();\n\t}\n}\nasync function prepareSpeechText(input) {\n\tconst userText = input.userText.trim();\n\tif (!userText) return null;\n\tif (input.mode === \"chat_reply\" && !input.assistantText?.trim()) return null;\n\tconst persona = readPersona();\n\tconst model = resolveSpeechModel(await loadSpeechConfig());\n\tconst prompt = buildPrompt({\n\t\tmode: input.mode,\n\t\tuserText,\n\t\tassistantText: input.assistantText?.trim(),\n\t\tpersona\n\t});\n\tlet sessionId = \"\";\n\ttry {\n\t\tconst created = await opencodeFetch(\"/session\", {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({})\n\t\t});\n\t\tsessionId = typeof created.id === \"string\" ? created.id : \"\";\n\t\tif (!sessionId) return null;\n\t\treturn extractText(await opencodeFetch(`/session/${encodeURIComponent(sessionId)}/message`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tparts: [{\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\ttext: prompt\n\t\t\t\t}],\n\t\t\t\t...model ? { model } : {}\n\t\t\t})\n\t\t})) || null;\n\t} finally {\n\t\tif (sessionId) await opencodeFetch(`/session/${encodeURIComponent(sessionId)}`, { method: \"DELETE\" }).catch(() => {});\n\t}\n}\n//#endregion\n//#region src/routes/api/speak/+server.ts\nvar DEFAULT_MODEL = \"kokoro\";\nvar DEFAULT_VOICE = \"bf_isabella\";\nvar DEFAULT_FORMAT = \"wav\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().stackDir);\n\tconst ttsBaseURL = (stackEnv.OP_TTS_BASE_URL || process.env.OP_TTS_BASE_URL || \"\").trim();\n\tconst ttsModel = (stackEnv.OP_TTS_MODEL || process.env.OP_TTS_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst ttsVoice = (stackEnv.OP_TTS_VOICE || process.env.OP_TTS_VOICE || \"\").trim() || DEFAULT_VOICE;\n\tconst ttsApiKey = (process.env.OP_TTS_API_KEY ?? \"\").trim();\n\tif (!ttsBaseURL) return errorResponse(503, \"tts_not_configured\", \"Configure a TTS engine in Admin → Voice settings.\", {}, requestId);\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 b = body ?? {};\n\tconst text = typeof b.text === \"string\" ? b.text.trim() : \"\";\n\tif (!text) return errorResponse(400, \"bad_request\", \"\\\"text\\\" is required\", {}, requestId);\n\tconst mode = b.mode === \"chat_ack\" || b.mode === \"chat_reply\" ? b.mode : null;\n\tconst userText = typeof b.userText === \"string\" ? b.userText.trim() : \"\";\n\tconst assistantText = typeof b.assistantText === \"string\" ? b.assistantText.trim() : \"\";\n\tconst voice = typeof b.voice === \"string\" && b.voice.trim() ? b.voice.trim() : ttsVoice;\n\tconst format = typeof b.format === \"string\" && b.format.trim() ? b.format.trim() : DEFAULT_FORMAT;\n\tlet speechText = text;\n\tif (mode) try {\n\t\tconst prepared = await prepareSpeechText({\n\t\t\tmode,\n\t\t\tuserText,\n\t\t\tassistantText\n\t\t});\n\t\tif (prepared) speechText = prepared;\n\t} catch (err) {\n\t\tconsole.warn(\"[api/speak] speech prep failed; falling back to raw text\", err);\n\t}\n\tconst upstreamUrl = ttsBaseURL.replace(/\\/+$/, \"\") + \"/v1/audio/speech\";\n\tconst headers = { \"content-type\": \"application/json\" };\n\tif (ttsApiKey) headers[\"authorization\"] = `Bearer ${ttsApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmodel: ttsModel,\n\t\t\t\tvoice,\n\t\t\t\tinput: speechText,\n\t\t\t\tresponse_format: format\n\t\t\t}),\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach TTS endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst body = await upstream.text().catch(() => \"\");\n\t\treturn errorResponse(502, \"upstream_error\", `TTS endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: redactKey(body).slice(0, 500)\n\t\t}, requestId);\n\t}\n\tconst responseHeaders = new Headers();\n\tresponseHeaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"audio/wav\");\n\tconst contentLength = upstream.headers.get(\"content-length\");\n\tif (contentLength) responseHeaders.set(\"content-length\", contentLength);\n\tresponseHeaders.set(\"x-request-id\", requestId);\n\treturn new Response(upstream.body, {\n\t\tstatus: 200,\n\t\theaders: responseHeaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CzJEYcNT.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { Rt as readStackEnv } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../chunks/http.js\";\nimport { t as getCurrentConfig } from \"../../../../chunks/config.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n//#region src/lib/server/speech-prep.ts\nfunction personaPath() {\n\treturn join(getState().configDir, \"assistant\", \"openpalm.md\");\n}\nfunction readPersona() {\n\tconst path = personaPath();\n\tif (!existsSync(path)) return \"\";\n\ttry {\n\t\treturn readFileSync(path, \"utf-8\").trim();\n\t} catch {\n\t\treturn \"\";\n\t}\n}\nfunction extractText(response) {\n\treturn (response.parts ?? []).filter((part) => part.type === \"text\" && typeof part.text === \"string\").map((part) => part.text?.trim() ?? \"\").join(\" \").trim();\n}\nfunction buildPrompt(input) {\n\tconst personaBlock = input.persona ? input.persona : \"No persona markdown is configured. Use a neutral, helpful, conversational tone.\";\n\tif (input.mode === \"chat_ack\") return [\n\t\t\"You are preparing a short spoken acknowledgement for text-to-speech.\",\n\t\t\"Return only the exact words to speak.\",\n\t\t\"Keep it to one brief sentence.\",\n\t\t\"Sound conversational and aligned with the persona context.\",\n\t\t\"Do not use markdown, lists, or quotes.\",\n\t\t\"Do not answer the full request. Just acknowledge that you are working on it.\",\n\t\t\"\",\n\t\t\"Persona markdown:\",\n\t\tpersonaBlock,\n\t\t\"\",\n\t\t\"User request:\",\n\t\tinput.userText\n\t].join(\"\\n\");\n\treturn [\n\t\t\"You are preparing a spoken summary for text-to-speech.\",\n\t\t\"Return only the exact words to speak.\",\n\t\t\"Rewrite the final assistant reply into a concise, natural, conversational response.\",\n\t\t\"Preserve the meaning and important caveats.\",\n\t\t\"Keep it brief enough for audio playback.\",\n\t\t\"Do not use markdown, lists, or quotes.\",\n\t\t\"\",\n\t\t\"Persona markdown:\",\n\t\tpersonaBlock,\n\t\t\"\",\n\t\t\"User request:\",\n\t\tinput.userText,\n\t\t\"\",\n\t\t\"Final assistant reply:\",\n\t\tinput.assistantText ?? \"\"\n\t].join(\"\\n\");\n}\nfunction resolveSpeechModel(config) {\n\tconst small = typeof config.small_model === \"string\" ? config.small_model.trim() : \"\";\n\tif (small) return small;\n\treturn (typeof config.model === \"string\" ? config.model.trim() : \"\") || null;\n}\nasync function loadSpeechConfig() {\n\ttry {\n\t\treturn await opencodeFetch(\"/config\");\n\t} catch {\n\t\treturn getCurrentConfig();\n\t}\n}\nasync function prepareSpeechText(input) {\n\tconst userText = input.userText.trim();\n\tif (!userText) return null;\n\tif (input.mode === \"chat_reply\" && !input.assistantText?.trim()) return null;\n\tconst persona = readPersona();\n\tconst model = resolveSpeechModel(await loadSpeechConfig());\n\tconst prompt = buildPrompt({\n\t\tmode: input.mode,\n\t\tuserText,\n\t\tassistantText: input.assistantText?.trim(),\n\t\tpersona\n\t});\n\tlet sessionId = \"\";\n\ttry {\n\t\tconst created = await opencodeFetch(\"/session\", {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({})\n\t\t});\n\t\tsessionId = typeof created.id === \"string\" ? created.id : \"\";\n\t\tif (!sessionId) return null;\n\t\treturn extractText(await opencodeFetch(`/session/${encodeURIComponent(sessionId)}/message`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tparts: [{\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\ttext: prompt\n\t\t\t\t}],\n\t\t\t\t...model ? { model } : {}\n\t\t\t})\n\t\t})) || null;\n\t} finally {\n\t\tif (sessionId) await opencodeFetch(`/session/${encodeURIComponent(sessionId)}`, { method: \"DELETE\" }).catch(() => {});\n\t}\n}\n//#endregion\n//#region src/routes/api/speak/+server.ts\nvar DEFAULT_MODEL = \"kokoro\";\nvar DEFAULT_VOICE = \"bf_isabella\";\nvar DEFAULT_FORMAT = \"wav\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().stackDir);\n\tconst ttsBaseURL = (stackEnv.OP_TTS_BASE_URL || process.env.OP_TTS_BASE_URL || \"\").trim();\n\tconst ttsModel = (stackEnv.OP_TTS_MODEL || process.env.OP_TTS_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst ttsVoice = (stackEnv.OP_TTS_VOICE || process.env.OP_TTS_VOICE || \"\").trim() || DEFAULT_VOICE;\n\tconst ttsApiKey = (process.env.OP_TTS_API_KEY ?? \"\").trim();\n\tif (!ttsBaseURL) return errorResponse(503, \"tts_not_configured\", \"Configure a TTS engine in Admin → Voice settings.\", {}, requestId);\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 b = body ?? {};\n\tconst text = typeof b.text === \"string\" ? b.text.trim() : \"\";\n\tif (!text) return errorResponse(400, \"bad_request\", \"\\\"text\\\" is required\", {}, requestId);\n\tconst mode = b.mode === \"chat_ack\" || b.mode === \"chat_reply\" ? b.mode : null;\n\tconst userText = typeof b.userText === \"string\" ? b.userText.trim() : \"\";\n\tconst assistantText = typeof b.assistantText === \"string\" ? b.assistantText.trim() : \"\";\n\tconst voice = typeof b.voice === \"string\" && b.voice.trim() ? b.voice.trim() : ttsVoice;\n\tconst format = typeof b.format === \"string\" && b.format.trim() ? b.format.trim() : DEFAULT_FORMAT;\n\tlet speechText = text;\n\tif (mode) try {\n\t\tconst prepared = await prepareSpeechText({\n\t\t\tmode,\n\t\t\tuserText,\n\t\t\tassistantText\n\t\t});\n\t\tif (prepared) speechText = prepared;\n\t} catch (err) {\n\t\tconsole.warn(\"[api/speak] speech prep failed; falling back to raw text\", err);\n\t}\n\tconst upstreamUrl = ttsBaseURL.replace(/\\/+$/, \"\") + \"/v1/audio/speech\";\n\tconst headers = { \"content-type\": \"application/json\" };\n\tif (ttsApiKey) headers[\"authorization\"] = `Bearer ${ttsApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmodel: ttsModel,\n\t\t\t\tvoice,\n\t\t\t\tinput: speechText,\n\t\t\t\tresponse_format: format\n\t\t\t}),\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach TTS endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst body = await upstream.text().catch(() => \"\");\n\t\treturn errorResponse(502, \"upstream_error\", `TTS endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: redactKey(body).slice(0, 500)\n\t\t}, requestId);\n\t}\n\tconst responseHeaders = new Headers();\n\tresponseHeaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"audio/wav\");\n\tconst contentLength = upstream.headers.get(\"content-length\");\n\tif (contentLength) responseHeaders.set(\"content-length\", contentLength);\n\tresponseHeaders.set(\"x-request-id\", requestId);\n\treturn new Response(upstream.body, {\n\t\tstatus: 200,\n\t\theaders: responseHeaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { g as getActiveEndpoint, l as listEndpoints, v as validateEndpointUrl, a as addEndpoint } from './endpoints-1byh0xs8.js';
2
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, w as withAdminBody, e as errorResponse } from './helpers-Be-wOei2.js';
3
- import './state-DAPDF26p.js';
4
- import './src-BEj0DuSB.js';
1
+ import { g as getActiveEndpoint, l as listEndpoints, v as validateEndpointUrl, a as addEndpoint } from './endpoints-BOzm3TR9.js';
2
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, w as withAdminBody, e as errorResponse } from './helpers-lf-w8dFi.js';
3
+ import './state-iFW46-kW.js';
4
+ import './src-B7oqi9q_.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import './provider-constants-DPrj3yBX.js';
@@ -67,4 +67,4 @@ var POST = async (event) => withAdminBody(event, async ({ requestId, body }) =>
67
67
  });
68
68
 
69
69
  export { GET, POST };
70
- //# sourceMappingURL=_server.ts-QdyZiBuA.js.map
70
+ //# sourceMappingURL=_server.ts-CzxUP04Y.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-QdyZiBuA.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/endpoints/_server.ts.js"],"sourcesContent":["import { c as validateEndpointUrl, i as listEndpoints, r as getActiveEndpoint, 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-CzxUP04Y.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/endpoints/_server.ts.js"],"sourcesContent":["import { c as validateEndpointUrl, i as listEndpoints, r as getActiveEndpoint, 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,5 +1,5 @@
1
- import { aE as resolveDataDir, aJ as seedUiBuild, F as createLogger } from './src-BEj0DuSB.js';
2
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-Be-wOei2.js';
1
+ import { aM as resolveDataDir, aS as seedUiBuild, G as createLogger } from './src-B7oqi9q_.js';
2
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-lf-w8dFi.js';
3
3
  import './chunk-CLZ62Ad-.js';
4
4
  import 'node:module';
5
5
  import './provider-constants-DPrj3yBX.js';
@@ -21,8 +21,8 @@ import 'zlib';
21
21
  import 'node:assert';
22
22
  import 'node:fs/promises';
23
23
  import 'node:os';
24
- import './endpoints-1byh0xs8.js';
25
- import './state-DAPDF26p.js';
24
+ import './endpoints-BOzm3TR9.js';
25
+ import './state-iFW46-kW.js';
26
26
 
27
27
  //#region src/routes/admin/ui-version/+server.ts
28
28
  var logger = createLogger("ui-version");
@@ -80,4 +80,4 @@ var POST = async (event) => {
80
80
  };
81
81
 
82
82
  export { POST };
83
- //# sourceMappingURL=_server.ts-CILn0WEi.js.map
83
+ //# sourceMappingURL=_server.ts-D01NZcYW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CILn0WEi.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/ui-version/_server.ts.js"],"sourcesContent":["import { Gt as seedUiBuild, Jt as resolveDataDir, in 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\tconst supervisor = process.env.OP_UI_SUPERVISOR ?? \"\";\n\tlet restarting = false;\n\tif (supervisor && process.ppid && process.ppid > 1) try {\n\t\tprocess.kill(process.ppid, \"SIGHUP\");\n\t\trestarting = true;\n\t\tlogger.info(\"ui-version restart signalled\", {\n\t\t\trequestId,\n\t\t\tsupervisor,\n\t\t\tppid: process.ppid\n\t\t});\n\t} catch (e) {\n\t\tlogger.warn(\"ui-version restart signal failed\", {\n\t\t\trequestId,\n\t\t\terror: e instanceof Error ? e.message : String(e)\n\t\t});\n\t}\n\tlogger.info(\"ui-version downloaded\", {\n\t\trequestId,\n\t\ttag,\n\t\trestarting\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\ttag,\n\t\trestarting\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-D01NZcYW.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/ui-version/_server.ts.js"],"sourcesContent":["import { Qt as resolveDataDir, Yt as seedUiBuild, hn 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\tconst supervisor = process.env.OP_UI_SUPERVISOR ?? \"\";\n\tlet restarting = false;\n\tif (supervisor && process.ppid && process.ppid > 1) try {\n\t\tprocess.kill(process.ppid, \"SIGHUP\");\n\t\trestarting = true;\n\t\tlogger.info(\"ui-version restart signalled\", {\n\t\t\trequestId,\n\t\t\tsupervisor,\n\t\t\tppid: process.ppid\n\t\t});\n\t} catch (e) {\n\t\tlogger.warn(\"ui-version restart signal failed\", {\n\t\t\trequestId,\n\t\t\terror: e instanceof Error ? e.message : String(e)\n\t\t});\n\t}\n\tlogger.info(\"ui-version downloaded\", {\n\t\trequestId,\n\t\ttag,\n\t\trestarting\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\ttag,\n\t\trestarting\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,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE;AACtD,CAAC,IAAI,UAAU,GAAG,KAAK;AACvB,CAAC,IAAI,UAAU,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI;AACzD,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;AACtC,EAAE,UAAU,GAAG,IAAI;AACnB,EAAE,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;AAC9C,GAAG,SAAS;AACZ,GAAG,UAAU;AACb,GAAG,IAAI,EAAE,OAAO,CAAC;AACjB,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;AAClD,GAAG,SAAS;AACZ,GAAG,KAAK,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;AACnD,GAAG,CAAC;AACJ,CAAC;AACD,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;AACtC,EAAE,SAAS;AACX,EAAE,GAAG;AACL,EAAE;AACF,EAAE,CAAC;AACH,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,GAAG;AACL,EAAE;AACF,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -0,0 +1,78 @@
1
+ import { af as inspectInstallLock, I as INSTALL_LOCK_STALE_AFTER_MS, aX as unlockInstallLock, G as createLogger } from './src-B7oqi9q_.js';
2
+ import { g as getState } from './state-iFW46-kW.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-lf-w8dFi.js';
4
+ import './chunk-CLZ62Ad-.js';
5
+ import 'node:module';
6
+ import './provider-constants-DPrj3yBX.js';
7
+ import './dist-DOFcG0Zp.js';
8
+ import 'node:fs';
9
+ import 'node:path';
10
+ import 'buffer';
11
+ import 'fs';
12
+ import 'path';
13
+ import 'node:child_process';
14
+ import 'node:url';
15
+ import 'node:crypto';
16
+ import 'events';
17
+ import 'node:events';
18
+ import 'node:stream';
19
+ import 'node:string_decoder';
20
+ import 'assert';
21
+ import 'zlib';
22
+ import 'node:assert';
23
+ import 'node:fs/promises';
24
+ import 'node:os';
25
+ import './endpoints-BOzm3TR9.js';
26
+
27
+ //#region src/routes/admin/unlock/+server.ts
28
+ var logger = createLogger("unlock-admin");
29
+ /**
30
+ * #500 — "an operation seems stuck — clear it?" Reports whether an install lock
31
+ * is present and whether it is stale (so the UI can decide whether to offer the
32
+ * clear action). Read-only.
33
+ */
34
+ var GET = async (event) => {
35
+ const requestId = getRequestId(event);
36
+ const authError = requireAdmin(event, requestId);
37
+ if (authError) return authError;
38
+ const state = getState();
39
+ try {
40
+ return jsonResponse(200, {
41
+ ok: true,
42
+ staleAfterMs: INSTALL_LOCK_STALE_AFTER_MS,
43
+ ...inspectInstallLock(state.dataDir)
44
+ }, requestId);
45
+ } catch (e) {
46
+ return errorResponse(500, "unlock_status_failed", e instanceof Error ? e.message : String(e), {}, requestId);
47
+ }
48
+ };
49
+ /**
50
+ * #500 — clears the install lock ONLY when stale (dead holder PID or older than
51
+ * the 30-minute staleness window). Returns 409 when a live install is still
52
+ * holding the lock so the UI can surface "an operation is still running" rather
53
+ * than forcing it. Never blind-removes a live lock.
54
+ */
55
+ var POST = async (event) => {
56
+ const requestId = getRequestId(event);
57
+ const authError = requireAdmin(event, requestId);
58
+ if (authError) return authError;
59
+ const state = getState();
60
+ try {
61
+ const result = unlockInstallLock(state.dataDir);
62
+ if (!result.ok) return errorResponse(409, "install_in_progress", "An install or upgrade still appears to be running. The lock clears itself automatically once it finishes or after 30 minutes. Nothing was changed.", { status: result.status }, requestId);
63
+ logger.info("cleared install lock via admin", {
64
+ requestId,
65
+ removed: result.removed
66
+ });
67
+ return jsonResponse(200, {
68
+ ok: true,
69
+ removed: result.removed,
70
+ status: result.status
71
+ }, requestId);
72
+ } catch (e) {
73
+ return errorResponse(500, "unlock_failed", e instanceof Error ? e.message : String(e), {}, requestId);
74
+ }
75
+ };
76
+
77
+ export { GET, POST };
78
+ //# sourceMappingURL=_server.ts-D1AbREnq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-D1AbREnq.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/unlock/_server.ts.js"],"sourcesContent":["import { cn as INSTALL_LOCK_STALE_AFTER_MS, hn as createLogger, ln as inspectInstallLock, un as unlockInstallLock } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/unlock/+server.ts\nvar logger = createLogger(\"unlock-admin\");\n/**\n* #500 — \"an operation seems stuck — clear it?\" Reports whether an install lock\n* is present and whether it is stale (so the UI can decide whether to offer the\n* clear action). Read-only.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\ttry {\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tstaleAfterMs: INSTALL_LOCK_STALE_AFTER_MS,\n\t\t\t...inspectInstallLock(state.dataDir)\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"unlock_status_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n/**\n* #500 — clears the install lock ONLY when stale (dead holder PID or older than\n* the 30-minute staleness window). Returns 409 when a live install is still\n* holding the lock so the UI can surface \"an operation is still running\" rather\n* than forcing it. Never blind-removes a live lock.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\ttry {\n\t\tconst result = unlockInstallLock(state.dataDir);\n\t\tif (!result.ok) return errorResponse(409, \"install_in_progress\", \"An install or upgrade still appears to be running. The lock clears itself automatically once it finishes or after 30 minutes. Nothing was changed.\", { status: result.status }, requestId);\n\t\tlogger.info(\"cleared install lock via admin\", {\n\t\t\trequestId,\n\t\t\tremoved: result.removed\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tremoved: result.removed,\n\t\t\tstatus: result.status\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"unlock_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,cAAc,CAAC;AACzC;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,YAAY,EAAE,2BAA2B;AAC5C,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO;AACtC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9G,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC;AACjD,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,qBAAqB,EAAE,oJAAoJ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AAC9P,EAAE,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;AAChD,GAAG,SAAS;AACZ,GAAG,OAAO,EAAE,MAAM,CAAC;AACnB,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,MAAM,CAAC,OAAO;AAC1B,GAAG,MAAM,EAAE,MAAM,CAAC;AAClB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACvG,CAAC;AACD;;;;"}
@@ -1,6 +1,6 @@
1
- import { aN as useExistingProviderForAssistantCli, F as createLogger } from './src-BEj0DuSB.js';
2
- import { g as getState } from './state-DAPDF26p.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, p as parseJsonBody, j as jsonBodyError, k as jsonResponse } from './helpers-Be-wOei2.js';
1
+ import { aY as useExistingProviderForAssistantCli, G as createLogger } from './src-B7oqi9q_.js';
2
+ import { g as getState } from './state-iFW46-kW.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, p as parseJsonBody, j as jsonBodyError, k as jsonResponse } from './helpers-lf-w8dFi.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-1byh0xs8.js';
25
+ import './endpoints-BOzm3TR9.js';
26
26
 
27
27
  //#region src/routes/admin/providers/assistant-clis/[toolId]/use-provider/+server.ts
28
28
  var logger = createLogger("admin.assistant-cli-tools");
@@ -59,4 +59,4 @@ var POST = async (event) => {
59
59
  };
60
60
 
61
61
  export { POST };
62
- //# sourceMappingURL=_server.ts-Cwuo2EyS.js.map
62
+ //# sourceMappingURL=_server.ts-D7Jx0nis.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Cwuo2EyS.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/assistant-clis/_toolId_/use-provider/_server.ts.js"],"sourcesContent":["import { _t as useExistingProviderForAssistantCli, in as createLogger } from \"../../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../../chunks/state.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/providers/assistant-clis/[toolId]/use-provider/+server.ts\nvar logger = createLogger(\"admin.assistant-cli-tools\");\nfunction isAssistantCliToolId(value) {\n\treturn value === \"codex\" || value === \"claude\" || value === \"copilot\" || value === \"pi\";\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst toolId = event.params.toolId ?? \"\";\n\tif (!isAssistantCliToolId(toolId)) return errorResponse(400, \"bad_request\", \"Invalid assistant CLI tool id\", {}, requestId);\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst providerId = typeof result.data.providerId === \"string\" ? result.data.providerId.trim() : \"\";\n\tif (!providerId) return errorResponse(400, \"bad_request\", \"providerId is required\", {}, requestId);\n\ttry {\n\t\tconst writtenPaths = useExistingProviderForAssistantCli(getState(), toolId, providerId);\n\t\tlogger.info(\"assistant CLI provider mapping written\", {\n\t\t\trequestId,\n\t\t\ttoolId,\n\t\t\tproviderId,\n\t\t\twrittenPaths\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\ttoolId,\n\t\t\tproviderId,\n\t\t\twrittenPaths\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn errorResponse(400, \"bad_request\", error instanceof Error ? error.message : \"Failed to write assistant CLI credentials\", {}, requestId);\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,2BAA2B,CAAC;AACtD,SAAS,oBAAoB,CAAC,KAAK,EAAE;AACrC,CAAC,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;AACxF;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE;AACzC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,+BAA+B,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5H,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,UAAU,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE;AACnG,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,wBAAwB,EAAE,EAAE,EAAE,SAAS,CAAC;AACnG,CAAC,IAAI;AACL,EAAE,MAAM,YAAY,GAAG,kCAAkC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC;AACzF,EAAE,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;AACxD,GAAG,SAAS;AACZ,GAAG,MAAM;AACT,GAAG,UAAU;AACb,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,MAAM;AACT,GAAG,UAAU;AACb,GAAG;AACH,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,2CAA2C,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/I,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-D7Jx0nis.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/assistant-clis/_toolId_/use-provider/_server.ts.js"],"sourcesContent":["import { hn as createLogger, yt as useExistingProviderForAssistantCli } from \"../../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../../chunks/state.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/providers/assistant-clis/[toolId]/use-provider/+server.ts\nvar logger = createLogger(\"admin.assistant-cli-tools\");\nfunction isAssistantCliToolId(value) {\n\treturn value === \"codex\" || value === \"claude\" || value === \"copilot\" || value === \"pi\";\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst toolId = event.params.toolId ?? \"\";\n\tif (!isAssistantCliToolId(toolId)) return errorResponse(400, \"bad_request\", \"Invalid assistant CLI tool id\", {}, requestId);\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst providerId = typeof result.data.providerId === \"string\" ? result.data.providerId.trim() : \"\";\n\tif (!providerId) return errorResponse(400, \"bad_request\", \"providerId is required\", {}, requestId);\n\ttry {\n\t\tconst writtenPaths = useExistingProviderForAssistantCli(getState(), toolId, providerId);\n\t\tlogger.info(\"assistant CLI provider mapping written\", {\n\t\t\trequestId,\n\t\t\ttoolId,\n\t\t\tproviderId,\n\t\t\twrittenPaths\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\ttoolId,\n\t\t\tproviderId,\n\t\t\twrittenPaths\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn errorResponse(400, \"bad_request\", error instanceof Error ? error.message : \"Failed to write assistant CLI credentials\", {}, requestId);\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,2BAA2B,CAAC;AACtD,SAAS,oBAAoB,CAAC,KAAK,EAAE;AACrC,CAAC,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;AACxF;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE;AACzC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,+BAA+B,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5H,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,UAAU,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE;AACnG,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,wBAAwB,EAAE,EAAE,EAAE,SAAS,CAAC;AACnG,CAAC,IAAI;AACL,EAAE,MAAM,YAAY,GAAG,kCAAkC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC;AACzF,EAAE,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;AACxD,GAAG,SAAS;AACZ,GAAG,MAAM;AACT,GAAG,UAAU;AACb,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,MAAM;AACT,GAAG,UAAU;AACb,GAAG;AACH,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,2CAA2C,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/I,CAAC;AACD;;;;"}
@@ -1,6 +1,6 @@
1
- import { F as createLogger, ab as isAllowedService, o as checkDocker, y as composeRestart, m as buildComposeOptions } from './src-BEj0DuSB.js';
2
- import { g as getState } from './state-DAPDF26p.js';
3
- import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-Be-wOei2.js';
1
+ import { G as createLogger, ag as isAllowedService, o as checkDocker, y as composeRestart, m as buildComposeOptions } from './src-B7oqi9q_.js';
2
+ import { g as getState } from './state-iFW46-kW.js';
3
+ import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-lf-w8dFi.js';
4
4
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
@@ -23,7 +23,7 @@ import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
25
  import 'node:os';
26
- import './endpoints-1byh0xs8.js';
26
+ import './endpoints-BOzm3TR9.js';
27
27
 
28
28
  //#region src/routes/admin/containers/restart/+server.ts
29
29
  var logger = createLogger("containers-restart");
@@ -53,4 +53,4 @@ var POST = async (event) => {
53
53
  };
54
54
 
55
55
  export { POST };
56
- //# sourceMappingURL=_server.ts-Byc_SyKx.js.map
56
+ //# sourceMappingURL=_server.ts-D81qWfpG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Byc_SyKx.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/restart/_server.ts.js"],"sourcesContent":["import { D as isAllowedService, I as buildComposeOptions, X as checkDocker, in as createLogger, rt as composeRestart } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/restart/+server.ts\nvar logger = createLogger(\"containers-restart\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container restart request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:restart\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeRestart([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"running\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to restart service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"running\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,oBAAoB,CAAC;AAC5C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,0BAA0B,EAAE,YAAY;AAChE,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC7E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,2BAA2B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACxH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-D81qWfpG.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/restart/_server.ts.js"],"sourcesContent":["import { D as isAllowedService, I as buildComposeOptions, Q as checkDocker, at as composeRestart, hn as createLogger } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/restart/+server.ts\nvar logger = createLogger(\"containers-restart\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container restart request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:restart\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeRestart([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"running\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to restart service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"running\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,oBAAoB,CAAC;AAC5C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,0BAA0B,EAAE,YAAY;AAChE,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC7E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,2BAA2B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACxH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,6 +1,6 @@
1
- import { ab as isAllowedService, o as checkDocker, z as composeStart, m as buildComposeOptions, F as createLogger } from './src-BEj0DuSB.js';
2
- import { g as getState } from './state-DAPDF26p.js';
3
- import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-Be-wOei2.js';
1
+ import { ag as isAllowedService, o as checkDocker, z as composeStart, m as buildComposeOptions, G as createLogger } from './src-B7oqi9q_.js';
2
+ import { g as getState } from './state-iFW46-kW.js';
3
+ import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-lf-w8dFi.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-1byh0xs8.js';
25
+ import './endpoints-BOzm3TR9.js';
26
26
 
27
27
  //#region src/routes/admin/containers/up/+server.ts
28
28
  var logger = createLogger("containers-up");
@@ -54,4 +54,4 @@ var POST = async (event) => {
54
54
  };
55
55
 
56
56
  export { POST };
57
- //# sourceMappingURL=_server.ts-DT8fIE9B.js.map
57
+ //# sourceMappingURL=_server.ts-D8cTdweQ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DT8fIE9B.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/up/_server.ts.js"],"sourcesContent":["import { D as isAllowedService, I as buildComposeOptions, X as checkDocker, in as createLogger, it as composeStart } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/containers/up/+server.ts\nvar logger = createLogger(\"containers-up\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container start request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\tlogger.info(\"starting service\", {\n\t\trequestId,\n\t\tservice\n\t});\n\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\tif ((await checkDocker()).ok) {\n\t\tconst result = await composeStart([service], buildComposeOptions(state));\n\t\tif (result.ok) state.services[service] = \"running\";\n\t\telse return errorResponse(500, \"docker_error\", `Failed to start service: ${result.stderr}`, { service }, requestId);\n\t} else state.services[service] = \"running\";\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tservice,\n\t\tstatus: state.services[service]\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AACvC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,SAAS,EAAE,CAAC;AAC/D,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACrE,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;AACjC,EAAE,SAAS;AACX,EAAE;AACF,EAAE,CAAC;AACH,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrJ,CAAC,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAC/B,EAAE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,EAAE,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACpD,OAAO,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC3C,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO;AACT,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AAChC,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-D8cTdweQ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/up/_server.ts.js"],"sourcesContent":["import { D as isAllowedService, I as buildComposeOptions, Q as checkDocker, hn as createLogger, ot as composeStart } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/containers/up/+server.ts\nvar logger = createLogger(\"containers-up\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container start request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\tlogger.info(\"starting service\", {\n\t\trequestId,\n\t\tservice\n\t});\n\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\tif ((await checkDocker()).ok) {\n\t\tconst result = await composeStart([service], buildComposeOptions(state));\n\t\tif (result.ok) state.services[service] = \"running\";\n\t\telse return errorResponse(500, \"docker_error\", `Failed to start service: ${result.stderr}`, { service }, requestId);\n\t} else state.services[service] = \"running\";\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tservice,\n\t\tstatus: state.services[service]\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AACvC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,SAAS,EAAE,CAAC;AAC/D,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACrE,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;AACjC,EAAE,SAAS;AACX,EAAE;AACF,EAAE,CAAC;AACH,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrJ,CAAC,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAC/B,EAAE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,EAAE,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACpD,OAAO,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC3C,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO;AACT,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AAChC,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { ae as isSetupComplete, aH as resolveStackDir, a1 as getAddonProfileSelection, b as annotateAddonProfileAvailability, a2 as getAddonProfiles } from './src-BEj0DuSB.js';
3
- import { g as getState } from './state-DAPDF26p.js';
4
- import { r as requireAdmin, d as getRequestId } from './helpers-Be-wOei2.js';
2
+ import { aj as isSetupComplete, aQ as resolveStackDir, a5 as getAddonProfileSelection, b as annotateAddonProfileAvailability, a6 as getAddonProfiles } from './src-B7oqi9q_.js';
3
+ import { g as getState } from './state-iFW46-kW.js';
4
+ import { r as requireAdmin, d as getRequestId } from './helpers-lf-w8dFi.js';
5
5
  import './utils-BSRjJDrZ.js';
6
6
  import './chunk-CLZ62Ad-.js';
7
7
  import 'node:module';
@@ -24,7 +24,7 @@ import 'zlib';
24
24
  import 'node:assert';
25
25
  import 'node:fs/promises';
26
26
  import 'node:os';
27
- import './endpoints-1byh0xs8.js';
27
+ import './endpoints-BOzm3TR9.js';
28
28
 
29
29
  //#region src/routes/api/setup/voice-profiles/+server.ts
30
30
  var GET = async (event) => {
@@ -41,4 +41,4 @@ var GET = async (event) => {
41
41
  };
42
42
 
43
43
  export { GET };
44
- //# sourceMappingURL=_server.ts-CN8iu9En.js.map
44
+ //# sourceMappingURL=_server.ts-DAyVdLae.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CN8iu9En.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/voice-profiles/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Yt as resolveStackDir, bt as getAddonProfileSelection, ut as isSetupComplete, vt as annotateAddonProfileAvailability, xt as getAddonProfiles } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/voice-profiles/+server.ts\nvar GET = async (event) => {\n\tif (isSetupComplete(resolveStackDir())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst state = getState();\n\treturn json({\n\t\tok: true,\n\t\tprofiles: await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, \"voice\")),\n\t\tselectedProfile: getAddonProfileSelection(state.stackDir, \"voice\")\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE;AACzC,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5D,EAAE,IAAI,SAAS,EAAE,OAAO,SAAS;AACjC,CAAC;AACD,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5F,EAAE,eAAe,EAAE,wBAAwB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO;AACnE,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-DAyVdLae.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/voice-profiles/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { $t as resolveStackDir, Ct as getAddonProfiles, St as getAddonProfileSelection, bt as annotateAddonProfileAvailability, ft as isSetupComplete } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/voice-profiles/+server.ts\nvar GET = async (event) => {\n\tif (isSetupComplete(resolveStackDir())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst state = getState();\n\treturn json({\n\t\tok: true,\n\t\tprofiles: await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, \"voice\")),\n\t\tselectedProfile: getAddonProfileSelection(state.stackDir, \"voice\")\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE;AACzC,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5D,EAAE,IAAI,SAAS,EAAE,OAAO,SAAS;AACjC,CAAC;AACD,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5F,EAAE,eAAe,EAAE,wBAAwB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO;AACnE,EAAE,CAAC;AACH;;;;"}
@@ -1,7 +1,7 @@
1
- import { w as withAdminBody, k as jsonResponse } from './helpers-Be-wOei2.js';
2
- import { o as opencodeFetch } from './http-BbFgukqs.js';
1
+ import { w as withAdminBody, k as jsonResponse } from './helpers-lf-w8dFi.js';
2
+ import { o as opencodeFetch } from './http-Bv92EpMx.js';
3
3
  import { a as asStringOrEmpty } from './_helpers-B_lb4-jB.js';
4
- import './src-BEj0DuSB.js';
4
+ import './src-B7oqi9q_.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import './provider-constants-DPrj3yBX.js';
@@ -23,8 +23,8 @@ import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
25
  import 'node:os';
26
- import './endpoints-1byh0xs8.js';
27
- import './state-DAPDF26p.js';
26
+ import './endpoints-BOzm3TR9.js';
27
+ import './state-iFW46-kW.js';
28
28
  import './coercion-TNFJisCC.js';
29
29
 
30
30
  //#region src/routes/admin/providers/oauth/finish/+server.ts
@@ -65,4 +65,4 @@ var POST = (event) => withAdminBody(event, async ({ requestId, body }) => {
65
65
  });
66
66
 
67
67
  export { POST };
68
- //# sourceMappingURL=_server.ts-DY4maxIB.js.map
68
+ //# sourceMappingURL=_server.ts-DG6X2pCM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DY4maxIB.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/finish/_server.ts.js"],"sourcesContent":["import { l as jsonResponse, p as withAdminBody } from \"../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../chunks/http.js\";\nimport { t as asStringOrEmpty } from \"../../../../../../chunks/_helpers.js\";\n//#region src/routes/admin/providers/oauth/finish/+server.ts\n/**\n* POST /admin/providers/oauth/finish — Complete an OAuth code-mode\n* sign-in by exchanging the operator-pasted authorization code with the\n* assistant OpenCode instance.\n*/\nvar POST = (event) => withAdminBody(event, async ({ requestId, body }) => {\n\ttry {\n\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\tconst code = asStringOrEmpty(body.code);\n\t\tif (!providerId || Number.isNaN(methodIndex) || !code) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Paste the authorization code before finishing sign-in.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tawait opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/callback`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmethod: methodIndex,\n\t\t\t\tcode\n\t\t\t})\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"OAuth connection completed.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n});\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC1E,CAAC,IAAI;AACL,EAAE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/D,EAAE,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;AACzC,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAClF,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,wDAAwD;AACpE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE;AACpF,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI;AACJ,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,6BAA6B;AACzC,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACrE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC;;;;"}
1
+ {"version":3,"file":"_server.ts-DG6X2pCM.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/finish/_server.ts.js"],"sourcesContent":["import { l as jsonResponse, p as withAdminBody } from \"../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../chunks/http.js\";\nimport { t as asStringOrEmpty } from \"../../../../../../chunks/_helpers.js\";\n//#region src/routes/admin/providers/oauth/finish/+server.ts\n/**\n* POST /admin/providers/oauth/finish — Complete an OAuth code-mode\n* sign-in by exchanging the operator-pasted authorization code with the\n* assistant OpenCode instance.\n*/\nvar POST = (event) => withAdminBody(event, async ({ requestId, body }) => {\n\ttry {\n\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\tconst code = asStringOrEmpty(body.code);\n\t\tif (!providerId || Number.isNaN(methodIndex) || !code) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Paste the authorization code before finishing sign-in.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tawait opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/callback`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmethod: methodIndex,\n\t\t\t\tcode\n\t\t\t})\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"OAuth connection completed.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n});\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC1E,CAAC,IAAI;AACL,EAAE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/D,EAAE,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;AACzC,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAClF,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,wDAAwD;AACpE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE;AACpF,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI;AACJ,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,6BAA6B;AACzC,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACrE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC;;;;"}
@@ -1,6 +1,6 @@
1
- import { ab as isAllowedService, o as checkDocker, u as composeLogs, m as buildComposeOptions } from './src-BEj0DuSB.js';
2
- import { g as getState } from './state-DAPDF26p.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-Be-wOei2.js';
1
+ import { ag as isAllowedService, o as checkDocker, u as composeLogs, m as buildComposeOptions } from './src-B7oqi9q_.js';
2
+ import { g as getState } from './state-iFW46-kW.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-lf-w8dFi.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-1byh0xs8.js';
25
+ import './endpoints-BOzm3TR9.js';
26
26
 
27
27
  //#region src/routes/admin/logs/+server.ts
28
28
  var GET = async (event) => {
@@ -60,4 +60,4 @@ var GET = async (event) => {
60
60
  };
61
61
 
62
62
  export { GET };
63
- //# sourceMappingURL=_server.ts-CxWx02dy.js.map
63
+ //# sourceMappingURL=_server.ts-DIot9Cws.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-DIot9Cws.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/logs/_server.ts.js"],"sourcesContent":["import { D as isAllowedService, I as buildComposeOptions, Q as checkDocker, tt as composeLogs } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/logs/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst url = new URL(event.request.url);\n\tconst serviceParam = url.searchParams.get(\"service\");\n\tconst tailParam = url.searchParams.get(\"tail\");\n\tconst sinceParam = url.searchParams.get(\"since\");\n\tconst tail = tailParam ? Number(tailParam) : 100;\n\tif (tailParam && (!Number.isInteger(tail) || tail < 1 || tail > 1e4)) return errorResponse(400, \"invalid_parameter\", \"tail must be an integer between 1 and 10000\", {}, requestId);\n\tlet services;\n\tif (serviceParam) {\n\t\tservices = serviceParam.split(\",\").map((s) => s.trim()).filter(Boolean);\n\t\tconst invalid = services.filter((s) => !isAllowedService(s, state.configDir));\n\t\tif (invalid.length > 0) return errorResponse(400, \"invalid_service\", `Invalid service name(s): ${invalid.join(\", \")}`, { invalid }, requestId);\n\t}\n\tif (sinceParam && !/^[a-zA-Z0-9.:+\\-T]+$/.test(sinceParam)) return errorResponse(400, \"invalid_parameter\", \"since contains invalid characters\", {}, requestId);\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await composeLogs(services, tail, {\n\t\t...buildComposeOptions(state),\n\t\tsince: sinceParam ?? void 0\n\t});\n\tif (!result.ok) return jsonResponse(500, {\n\t\tok: false,\n\t\tlogs: \"\",\n\t\terror: result.stderr\n\t}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tlogs: (result.stdout + result.stderr).trim()\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AACvC,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AACrD,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;AAC/C,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;AACjD,CAAC,MAAM,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG;AACjD,CAAC,IAAI,SAAS,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,6CAA6C,EAAE,EAAE,EAAE,SAAS,CAAC;AACnL,CAAC,IAAI,QAAQ;AACb,CAAC,IAAI,YAAY,EAAE;AACnB,EAAE,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACzE,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAC/E,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC,yBAAyB,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AAChJ,CAAC;AACD,CAAC,IAAI,UAAU,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,mCAAmC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/J,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE;AAClD,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAC/B,EAAE,KAAK,EAAE,UAAU,IAAI;AACvB,EAAE,CAAC;AACH,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1C,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,IAAI,EAAE,EAAE;AACV,EAAE,KAAK,EAAE,MAAM,CAAC;AAChB,EAAE,EAAE,SAAS,CAAC;AACd,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI;AAC5C,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,6 +1,6 @@
1
- import { av as readStackEnv, ao as patchSecretsEnvFile, aP as writeFileAtomic } from './src-BEj0DuSB.js';
2
- import { g as getState } from './state-DAPDF26p.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, w as withAdminBody, e as errorResponse } from './helpers-Be-wOei2.js';
1
+ import { aD as readStackEnv, au as patchSecretsEnvFile, a_ as writeFileAtomic } from './src-B7oqi9q_.js';
2
+ import { g as getState } from './state-iFW46-kW.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, w as withAdminBody, e as errorResponse } from './helpers-lf-w8dFi.js';
4
4
  import { existsSync, readFileSync, mkdirSync } from 'node:fs';
5
5
  import { join } from 'node:path';
6
6
  import './chunk-CLZ62Ad-.js';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-1byh0xs8.js';
25
+ import './endpoints-BOzm3TR9.js';
26
26
 
27
27
  //#region src/routes/admin/assistant/+server.ts
28
28
  var DEFAULT_PROJECT_NAME = "openpalm";
@@ -86,4 +86,4 @@ var PUT = async (event) => withAdminBody(event, async ({ requestId, body }) => {
86
86
  });
87
87
 
88
88
  export { GET, PUT };
89
- //# sourceMappingURL=_server.ts-BSxbdNXo.js.map
89
+ //# sourceMappingURL=_server.ts-DLN16A-H.js.map