@openpalm/ui 0.12.47 → 0.12.48

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 (314) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/chunks/{Oapx3Kay.js → BSljCbHb.js} +1 -1
  3. package/build/client/_app/immutable/chunks/BSljCbHb.js.br +0 -0
  4. package/build/client/_app/immutable/chunks/BSljCbHb.js.gz +0 -0
  5. package/build/client/_app/immutable/chunks/{Bp6-ciNE.js → C7d4Zd5E.js} +2 -2
  6. package/build/client/_app/immutable/chunks/C7d4Zd5E.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/C7d4Zd5E.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/{CQMT6iK8.js → DKKh4Y4a.js} +1 -1
  9. package/build/client/_app/immutable/chunks/DKKh4Y4a.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/DKKh4Y4a.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/bG1zIfF_.js +1 -0
  12. package/build/client/_app/immutable/chunks/bG1zIfF_.js.br +2 -0
  13. package/build/client/_app/immutable/chunks/bG1zIfF_.js.gz +0 -0
  14. package/build/client/_app/immutable/entry/{app.CSv5ANTj.js → app.BWk2gV2e.js} +2 -2
  15. package/build/client/_app/immutable/entry/app.BWk2gV2e.js.br +0 -0
  16. package/build/client/_app/immutable/entry/app.BWk2gV2e.js.gz +0 -0
  17. package/build/client/_app/immutable/entry/start.Byi08gwa.js +1 -0
  18. package/build/client/_app/immutable/entry/start.Byi08gwa.js.br +0 -0
  19. package/build/client/_app/immutable/entry/start.Byi08gwa.js.gz +0 -0
  20. package/build/client/_app/immutable/nodes/{1.BgfOb4Io.js → 1.dpjmQYSB.js} +1 -1
  21. package/build/client/_app/immutable/nodes/1.dpjmQYSB.js.br +1 -0
  22. package/build/client/_app/immutable/nodes/1.dpjmQYSB.js.gz +0 -0
  23. package/build/client/_app/immutable/nodes/{10.v7TDafkp.js → 10.CuEAtoBT.js} +1 -1
  24. package/build/client/_app/immutable/nodes/10.CuEAtoBT.js.br +0 -0
  25. package/build/client/_app/immutable/nodes/10.CuEAtoBT.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/{4.BlGWSYpW.js → 4.CKTY2J5h.js} +1 -1
  27. package/build/client/_app/immutable/nodes/4.CKTY2J5h.js.br +0 -0
  28. package/build/client/_app/immutable/nodes/{4.BlGWSYpW.js.gz → 4.CKTY2J5h.js.gz} +0 -0
  29. package/build/client/_app/immutable/nodes/{5.C4R8b_rk.js → 5.DtDxrTaA.js} +1 -1
  30. package/build/client/_app/immutable/nodes/5.DtDxrTaA.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/5.DtDxrTaA.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{6.jkaKXnUx.js → 6.CkHqFiuF.js} +1 -1
  33. package/build/client/_app/immutable/nodes/6.CkHqFiuF.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/6.CkHqFiuF.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{7.BUnJYUcB.js → 7.BvuR2bYn.js} +1 -1
  36. package/build/client/_app/immutable/nodes/7.BvuR2bYn.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/7.BvuR2bYn.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{8.BFS_N1wx.js → 8.O8gtu9Sq.js} +1 -1
  39. package/build/client/_app/immutable/nodes/8.O8gtu9Sq.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/8.O8gtu9Sq.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{9.CskAvBGO.js → 9.BUZT_OkO.js} +1 -1
  42. package/build/client/_app/immutable/nodes/9.BUZT_OkO.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/9.BUZT_OkO.js.gz +0 -0
  44. package/build/client/_app/version.json +1 -1
  45. package/build/client/_app/version.json.br +1 -1
  46. package/build/client/_app/version.json.gz +0 -0
  47. package/build/server/chunks/1-CqHNSh-j.js +9 -0
  48. package/build/server/chunks/{1-lLcx9Qz5.js.map → 1-CqHNSh-j.js.map} +1 -1
  49. package/build/server/chunks/{10-DVPYoZ9J.js → 10-BXg6hft4.js} +6 -6
  50. package/build/server/chunks/{10-DVPYoZ9J.js.map → 10-BXg6hft4.js.map} +1 -1
  51. package/build/server/chunks/{4-BVfBp23A.js → 4-KZsRPPOf.js} +3 -3
  52. package/build/server/chunks/{4-BVfBp23A.js.map → 4-KZsRPPOf.js.map} +1 -1
  53. package/build/server/chunks/{5-DgJpyjfn.js → 5-C6fXkR20.js} +3 -3
  54. package/build/server/chunks/{5-DgJpyjfn.js.map → 5-C6fXkR20.js.map} +1 -1
  55. package/build/server/chunks/{6-C-05DWaV.js → 6-9ekHlg5v.js} +3 -3
  56. package/build/server/chunks/{6-C-05DWaV.js.map → 6-9ekHlg5v.js.map} +1 -1
  57. package/build/server/chunks/{7-BQQjY_NB.js → 7-BIOkEr9c.js} +3 -3
  58. package/build/server/chunks/{7-BQQjY_NB.js.map → 7-BIOkEr9c.js.map} +1 -1
  59. package/build/server/chunks/{8-Bdp-X93B.js → 8-BXGKwarT.js} +3 -3
  60. package/build/server/chunks/{8-Bdp-X93B.js.map → 8-BXGKwarT.js.map} +1 -1
  61. package/build/server/chunks/{9-q0d9ajgV.js → 9-C1mzMPKT.js} +3 -3
  62. package/build/server/chunks/{9-q0d9ajgV.js.map → 9-C1mzMPKT.js.map} +1 -1
  63. package/build/server/chunks/{Navbar-2VQikbPX.js → Navbar-DAJktqgi.js} +4 -4
  64. package/build/server/chunks/{Navbar-2VQikbPX.js.map → Navbar-DAJktqgi.js.map} +1 -1
  65. package/build/server/chunks/{_page.svelte-_GGCcBaM.js → _page.svelte-CT6Vg3WG.js} +4 -4
  66. package/build/server/chunks/{_page.svelte-_GGCcBaM.js.map → _page.svelte-CT6Vg3WG.js.map} +1 -1
  67. package/build/server/chunks/{_page.svelte-CHJ6-Qiy.js → _page.svelte-CTPgRBok.js} +6 -6
  68. package/build/server/chunks/{_page.svelte-CHJ6-Qiy.js.map → _page.svelte-CTPgRBok.js.map} +1 -1
  69. package/build/server/chunks/{_page.svelte-CXlwalNt.js → _page.svelte-CqSffzxq.js} +2 -2
  70. package/build/server/chunks/{_page.svelte-CXlwalNt.js.map → _page.svelte-CqSffzxq.js.map} +1 -1
  71. package/build/server/chunks/{_page.svelte-BJ1cZ6b5.js → _page.svelte-DHpSPiDh.js} +3 -3
  72. package/build/server/chunks/{_page.svelte-BJ1cZ6b5.js.map → _page.svelte-DHpSPiDh.js.map} +1 -1
  73. package/build/server/chunks/{_page.svelte-CGw9CJIA.js → _page.svelte-DXcLfxnR.js} +6 -6
  74. package/build/server/chunks/{_page.svelte-CGw9CJIA.js.map → _page.svelte-DXcLfxnR.js.map} +1 -1
  75. package/build/server/chunks/{_page.svelte-Ctw14-9S.js → _page.svelte-DvwdOL5E.js} +3 -3
  76. package/build/server/chunks/{_page.svelte-Ctw14-9S.js.map → _page.svelte-DvwdOL5E.js.map} +1 -1
  77. package/build/server/chunks/{_page.svelte-DBt7l4Yv.js → _page.svelte-XgPJ5o1M.js} +6 -6
  78. package/build/server/chunks/{_page.svelte-DBt7l4Yv.js.map → _page.svelte-XgPJ5o1M.js.map} +1 -1
  79. package/build/server/chunks/{_server.ts-Z6Vi83O5.js → _server.ts--_-EyieK.js} +5 -5
  80. package/build/server/chunks/{_server.ts-Z6Vi83O5.js.map → _server.ts--_-EyieK.js.map} +1 -1
  81. package/build/server/chunks/{_server.ts-COwrUSRM.js → _server.ts-1yFBEeKa.js} +5 -5
  82. package/build/server/chunks/{_server.ts-COwrUSRM.js.map → _server.ts-1yFBEeKa.js.map} +1 -1
  83. package/build/server/chunks/{_server.ts-DYhWwSyH.js → _server.ts-7-W_Puzd.js} +6 -6
  84. package/build/server/chunks/{_server.ts-DYhWwSyH.js.map → _server.ts-7-W_Puzd.js.map} +1 -1
  85. package/build/server/chunks/{_server.ts-qjzrpojc.js → _server.ts-79Q6CypH.js} +5 -5
  86. package/build/server/chunks/{_server.ts-qjzrpojc.js.map → _server.ts-79Q6CypH.js.map} +1 -1
  87. package/build/server/chunks/{_server.ts-DqWcdN18.js → _server.ts-8A0i8cFY.js} +2 -2
  88. package/build/server/chunks/{_server.ts-DqWcdN18.js.map → _server.ts-8A0i8cFY.js.map} +1 -1
  89. package/build/server/chunks/{_server.ts-DeSJ541d.js → _server.ts-8nZFRNYc.js} +5 -5
  90. package/build/server/chunks/{_server.ts-DeSJ541d.js.map → _server.ts-8nZFRNYc.js.map} +1 -1
  91. package/build/server/chunks/{_server.ts-U447Wd92.js → _server.ts-9nK4JDPq.js} +5 -5
  92. package/build/server/chunks/{_server.ts-U447Wd92.js.map → _server.ts-9nK4JDPq.js.map} +1 -1
  93. package/build/server/chunks/{_server.ts-H04cuWai.js → _server.ts-B2QiRWcW.js} +6 -6
  94. package/build/server/chunks/{_server.ts-H04cuWai.js.map → _server.ts-B2QiRWcW.js.map} +1 -1
  95. package/build/server/chunks/{_server.ts-BLOz7yXM.js → _server.ts-B3c8XWzi.js} +5 -5
  96. package/build/server/chunks/{_server.ts-BLOz7yXM.js.map → _server.ts-B3c8XWzi.js.map} +1 -1
  97. package/build/server/chunks/{_server.ts-BjIt2ae5.js → _server.ts-B49Yh_UO.js} +5 -5
  98. package/build/server/chunks/{_server.ts-BjIt2ae5.js.map → _server.ts-B49Yh_UO.js.map} +1 -1
  99. package/build/server/chunks/{_server.ts-CbuvzbeK.js → _server.ts-B4WPRV6f.js} +4 -4
  100. package/build/server/chunks/{_server.ts-CbuvzbeK.js.map → _server.ts-B4WPRV6f.js.map} +1 -1
  101. package/build/server/chunks/{_server.ts-BQ33O-O4.js → _server.ts-B8BJxjLf.js} +5 -5
  102. package/build/server/chunks/{_server.ts-BQ33O-O4.js.map → _server.ts-B8BJxjLf.js.map} +1 -1
  103. package/build/server/chunks/{_server.ts-CggPDd67.js → _server.ts-BAojPHXt.js} +6 -6
  104. package/build/server/chunks/{_server.ts-CggPDd67.js.map → _server.ts-BAojPHXt.js.map} +1 -1
  105. package/build/server/chunks/{_server.ts-C-2t0JtE.js → _server.ts-BEXxcj0f.js} +5 -5
  106. package/build/server/chunks/{_server.ts-C-2t0JtE.js.map → _server.ts-BEXxcj0f.js.map} +1 -1
  107. package/build/server/chunks/{_server.ts-DJgRGnd7.js → _server.ts-BGejQaL_.js} +6 -6
  108. package/build/server/chunks/{_server.ts-DJgRGnd7.js.map → _server.ts-BGejQaL_.js.map} +1 -1
  109. package/build/server/chunks/{_server.ts-C9UdEqlE.js → _server.ts-BKqrFVZD.js} +5 -5
  110. package/build/server/chunks/{_server.ts-C9UdEqlE.js.map → _server.ts-BKqrFVZD.js.map} +1 -1
  111. package/build/server/chunks/{_server.ts-DHRbB8-e.js → _server.ts-BQbIG8NC.js} +5 -5
  112. package/build/server/chunks/{_server.ts-DHRbB8-e.js.map → _server.ts-BQbIG8NC.js.map} +1 -1
  113. package/build/server/chunks/{_server.ts-Dtu2mZK5.js → _server.ts-BTkBO7Gc.js} +5 -5
  114. package/build/server/chunks/{_server.ts-Dtu2mZK5.js.map → _server.ts-BTkBO7Gc.js.map} +1 -1
  115. package/build/server/chunks/{_server.ts-C7_6UCUq.js → _server.ts-BVA6XzCh.js} +8 -8
  116. package/build/server/chunks/{_server.ts-C7_6UCUq.js.map → _server.ts-BVA6XzCh.js.map} +1 -1
  117. package/build/server/chunks/{_server.ts-BYIiUyRI.js → _server.ts-Bate3pY0.js} +5 -5
  118. package/build/server/chunks/{_server.ts-BYIiUyRI.js.map → _server.ts-Bate3pY0.js.map} +1 -1
  119. package/build/server/chunks/{_server.ts-BuT5XZcH.js → _server.ts-BgEzu7zt.js} +5 -5
  120. package/build/server/chunks/{_server.ts-BuT5XZcH.js.map → _server.ts-BgEzu7zt.js.map} +1 -1
  121. package/build/server/chunks/{_server.ts-CVFJGijn.js → _server.ts-BgfvREW4.js} +5 -5
  122. package/build/server/chunks/{_server.ts-CVFJGijn.js.map → _server.ts-BgfvREW4.js.map} +1 -1
  123. package/build/server/chunks/{_server.ts-wg-GhA8r.js → _server.ts-BiLR1zvy.js} +5 -5
  124. package/build/server/chunks/{_server.ts-wg-GhA8r.js.map → _server.ts-BiLR1zvy.js.map} +1 -1
  125. package/build/server/chunks/{_server.ts-D7bZBcEC.js → _server.ts-Bjx-exIj.js} +5 -5
  126. package/build/server/chunks/{_server.ts-D7bZBcEC.js.map → _server.ts-Bjx-exIj.js.map} +1 -1
  127. package/build/server/chunks/{_server.ts-obpoYMkT.js → _server.ts-BljXmaSv.js} +5 -5
  128. package/build/server/chunks/{_server.ts-obpoYMkT.js.map → _server.ts-BljXmaSv.js.map} +1 -1
  129. package/build/server/chunks/{_server.ts-Dz9K1opA.js → _server.ts-Bt-r3Grf.js} +2 -2
  130. package/build/server/chunks/{_server.ts-Dz9K1opA.js.map → _server.ts-Bt-r3Grf.js.map} +1 -1
  131. package/build/server/chunks/{_server.ts-DZRfmoGi.js → _server.ts-C0XDsjcy.js} +5 -5
  132. package/build/server/chunks/{_server.ts-DZRfmoGi.js.map → _server.ts-C0XDsjcy.js.map} +1 -1
  133. package/build/server/chunks/{_server.ts-Dw097UgM.js → _server.ts-C4vWRNJX.js} +6 -6
  134. package/build/server/chunks/{_server.ts-Dw097UgM.js.map → _server.ts-C4vWRNJX.js.map} +1 -1
  135. package/build/server/chunks/{_server.ts-CLyxPJYH.js → _server.ts-C6YNI1Tv.js} +7 -7
  136. package/build/server/chunks/{_server.ts-CLyxPJYH.js.map → _server.ts-C6YNI1Tv.js.map} +1 -1
  137. package/build/server/chunks/{_server.ts-BovyMGvt.js → _server.ts-CBlMaLf5.js} +5 -5
  138. package/build/server/chunks/{_server.ts-BovyMGvt.js.map → _server.ts-CBlMaLf5.js.map} +1 -1
  139. package/build/server/chunks/{_server.ts-Bdqla70P.js → _server.ts-CFL8asTr.js} +7 -7
  140. package/build/server/chunks/{_server.ts-Bdqla70P.js.map → _server.ts-CFL8asTr.js.map} +1 -1
  141. package/build/server/chunks/{_server.ts-CO_U660z.js → _server.ts-CS5kzWGg.js} +5 -5
  142. package/build/server/chunks/{_server.ts-CO_U660z.js.map → _server.ts-CS5kzWGg.js.map} +1 -1
  143. package/build/server/chunks/{_server.ts-D9Y3IzHx.js → _server.ts-CWJTn6Ff.js} +5 -5
  144. package/build/server/chunks/{_server.ts-D9Y3IzHx.js.map → _server.ts-CWJTn6Ff.js.map} +1 -1
  145. package/build/server/chunks/{_server.ts-BHvEZqnA.js → _server.ts-Caiz6sJm.js} +5 -5
  146. package/build/server/chunks/{_server.ts-BHvEZqnA.js.map → _server.ts-Caiz6sJm.js.map} +1 -1
  147. package/build/server/chunks/{_server.ts-CQYWv9O5.js → _server.ts-CdX3k5U5.js} +5 -5
  148. package/build/server/chunks/{_server.ts-CQYWv9O5.js.map → _server.ts-CdX3k5U5.js.map} +1 -1
  149. package/build/server/chunks/{_server.ts-ugrBf-_K.js → _server.ts-Ci0QLJnQ.js} +6 -6
  150. package/build/server/chunks/{_server.ts-ugrBf-_K.js.map → _server.ts-Ci0QLJnQ.js.map} +1 -1
  151. package/build/server/chunks/{_server.ts-C5Fui7KU.js → _server.ts-CiP8l1Sa.js} +5 -5
  152. package/build/server/chunks/{_server.ts-C5Fui7KU.js.map → _server.ts-CiP8l1Sa.js.map} +1 -1
  153. package/build/server/chunks/{_server.ts-BvDEik1n.js → _server.ts-CjAYtVAx.js} +5 -5
  154. package/build/server/chunks/{_server.ts-BvDEik1n.js.map → _server.ts-CjAYtVAx.js.map} +1 -1
  155. package/build/server/chunks/{_server.ts-ycCnkTbD.js → _server.ts-Ckg9v3_D.js} +5 -5
  156. package/build/server/chunks/{_server.ts-ycCnkTbD.js.map → _server.ts-Ckg9v3_D.js.map} +1 -1
  157. package/build/server/chunks/{_server.ts-DXAe7eET.js → _server.ts-CkwC82fu.js} +5 -5
  158. package/build/server/chunks/{_server.ts-DXAe7eET.js.map → _server.ts-CkwC82fu.js.map} +1 -1
  159. package/build/server/chunks/{_server.ts-ibeLW7Y-.js → _server.ts-Cnd_37jS.js} +6 -6
  160. package/build/server/chunks/{_server.ts-ibeLW7Y-.js.map → _server.ts-Cnd_37jS.js.map} +1 -1
  161. package/build/server/chunks/{_server.ts-DwLb4jIl.js → _server.ts-CoSu3PLm.js} +2 -2
  162. package/build/server/chunks/{_server.ts-DwLb4jIl.js.map → _server.ts-CoSu3PLm.js.map} +1 -1
  163. package/build/server/chunks/{_server.ts-DOaP8Y20.js → _server.ts-Cx5hjJpv.js} +5 -5
  164. package/build/server/chunks/{_server.ts-DOaP8Y20.js.map → _server.ts-Cx5hjJpv.js.map} +1 -1
  165. package/build/server/chunks/{_server.ts-OM4ZklQD.js → _server.ts-CxFc3CAv.js} +5 -5
  166. package/build/server/chunks/{_server.ts-OM4ZklQD.js.map → _server.ts-CxFc3CAv.js.map} +1 -1
  167. package/build/server/chunks/{_server.ts-NJaC2I3g.js → _server.ts-D0dqJdkN.js} +5 -5
  168. package/build/server/chunks/{_server.ts-NJaC2I3g.js.map → _server.ts-D0dqJdkN.js.map} +1 -1
  169. package/build/server/chunks/{_server.ts-CqyL7vz2.js → _server.ts-D1UiuaM3.js} +6 -6
  170. package/build/server/chunks/{_server.ts-CqyL7vz2.js.map → _server.ts-D1UiuaM3.js.map} +1 -1
  171. package/build/server/chunks/{_server.ts-CRsmED2U.js → _server.ts-D2kWI_aR.js} +5 -5
  172. package/build/server/chunks/{_server.ts-CRsmED2U.js.map → _server.ts-D2kWI_aR.js.map} +1 -1
  173. package/build/server/chunks/{_server.ts-BPo2TCU6.js → _server.ts-D4W1a6jV.js} +5 -5
  174. package/build/server/chunks/{_server.ts-BPo2TCU6.js.map → _server.ts-D4W1a6jV.js.map} +1 -1
  175. package/build/server/chunks/{_server.ts-ZLZo693J.js → _server.ts-D5iO3X1v.js} +7 -7
  176. package/build/server/chunks/{_server.ts-ZLZo693J.js.map → _server.ts-D5iO3X1v.js.map} +1 -1
  177. package/build/server/chunks/{_server.ts-CtonBh5h.js → _server.ts-D6rSH5_n.js} +6 -6
  178. package/build/server/chunks/{_server.ts-CtonBh5h.js.map → _server.ts-D6rSH5_n.js.map} +1 -1
  179. package/build/server/chunks/{_server.ts-CMVhhoJK.js → _server.ts-DANFbo6B.js} +5 -5
  180. package/build/server/chunks/{_server.ts-CMVhhoJK.js.map → _server.ts-DANFbo6B.js.map} +1 -1
  181. package/build/server/chunks/{_server.ts-CXfsU5eK.js → _server.ts-DEry3Hr_.js} +5 -5
  182. package/build/server/chunks/{_server.ts-CXfsU5eK.js.map → _server.ts-DEry3Hr_.js.map} +1 -1
  183. package/build/server/chunks/{_server.ts-DBI21oJT.js → _server.ts-DHK9NPr2.js} +5 -5
  184. package/build/server/chunks/{_server.ts-DBI21oJT.js.map → _server.ts-DHK9NPr2.js.map} +1 -1
  185. package/build/server/chunks/{_server.ts-6QF3FGWo.js → _server.ts-DIUR6YTG.js} +4 -4
  186. package/build/server/chunks/{_server.ts-6QF3FGWo.js.map → _server.ts-DIUR6YTG.js.map} +1 -1
  187. package/build/server/chunks/{_server.ts-D6fP9ySh.js → _server.ts-DPeazA_L.js} +5 -5
  188. package/build/server/chunks/{_server.ts-D6fP9ySh.js.map → _server.ts-DPeazA_L.js.map} +1 -1
  189. package/build/server/chunks/{_server.ts-BgFywWt1.js → _server.ts-DSX0luxw.js} +5 -5
  190. package/build/server/chunks/{_server.ts-BgFywWt1.js.map → _server.ts-DSX0luxw.js.map} +1 -1
  191. package/build/server/chunks/{_server.ts-DBUsWQ6-.js → _server.ts-DZ5caysY.js} +5 -5
  192. package/build/server/chunks/{_server.ts-DBUsWQ6-.js.map → _server.ts-DZ5caysY.js.map} +1 -1
  193. package/build/server/chunks/{_server.ts-D-EVxcc7.js → _server.ts-D_AYcbCF.js} +5 -5
  194. package/build/server/chunks/{_server.ts-D-EVxcc7.js.map → _server.ts-D_AYcbCF.js.map} +1 -1
  195. package/build/server/chunks/{_server.ts-C1n6oV6E.js → _server.ts-Dbn-y0Gg.js} +5 -5
  196. package/build/server/chunks/{_server.ts-C1n6oV6E.js.map → _server.ts-Dbn-y0Gg.js.map} +1 -1
  197. package/build/server/chunks/{_server.ts-BLSj6qnA.js → _server.ts-DeITkG2o.js} +5 -5
  198. package/build/server/chunks/{_server.ts-BLSj6qnA.js.map → _server.ts-DeITkG2o.js.map} +1 -1
  199. package/build/server/chunks/{_server.ts-Dfc-OGF4.js → _server.ts-DmPmuEMq.js} +6 -6
  200. package/build/server/chunks/{_server.ts-Dfc-OGF4.js.map → _server.ts-DmPmuEMq.js.map} +1 -1
  201. package/build/server/chunks/{_server.ts-CAuvdwNy.js → _server.ts-DnT9CPuc.js} +6 -6
  202. package/build/server/chunks/{_server.ts-CAuvdwNy.js.map → _server.ts-DnT9CPuc.js.map} +1 -1
  203. package/build/server/chunks/{_server.ts-CdRrscyk.js → _server.ts-Enobpqdw.js} +5 -5
  204. package/build/server/chunks/{_server.ts-CdRrscyk.js.map → _server.ts-Enobpqdw.js.map} +1 -1
  205. package/build/server/chunks/{_server.ts-DPQghDKg.js → _server.ts-F_Gi_IcU.js} +5 -5
  206. package/build/server/chunks/{_server.ts-DPQghDKg.js.map → _server.ts-F_Gi_IcU.js.map} +1 -1
  207. package/build/server/chunks/{_server.ts-CLcmdjXI.js → _server.ts-HTqPaCti.js} +5 -5
  208. package/build/server/chunks/{_server.ts-CLcmdjXI.js.map → _server.ts-HTqPaCti.js.map} +1 -1
  209. package/build/server/chunks/{_server.ts-AZlYLuCy.js → _server.ts-HyrISdwf.js} +7 -7
  210. package/build/server/chunks/{_server.ts-AZlYLuCy.js.map → _server.ts-HyrISdwf.js.map} +1 -1
  211. package/build/server/chunks/{_server.ts-46hwSqD_.js → _server.ts-I-sVA1uK.js} +2 -2
  212. package/build/server/chunks/{_server.ts-46hwSqD_.js.map → _server.ts-I-sVA1uK.js.map} +1 -1
  213. package/build/server/chunks/{_server.ts-Ofi-HpSp.js → _server.ts-Iy02SSf8.js} +5 -5
  214. package/build/server/chunks/{_server.ts-Ofi-HpSp.js.map → _server.ts-Iy02SSf8.js.map} +1 -1
  215. package/build/server/chunks/{_server.ts-CSSnS5g9.js → _server.ts-JBws5rUr.js} +5 -5
  216. package/build/server/chunks/{_server.ts-CSSnS5g9.js.map → _server.ts-JBws5rUr.js.map} +1 -1
  217. package/build/server/chunks/{_server.ts-C_DKb8Vx.js → _server.ts-JdhSRHov.js} +2 -2
  218. package/build/server/chunks/{_server.ts-C_DKb8Vx.js.map → _server.ts-JdhSRHov.js.map} +1 -1
  219. package/build/server/chunks/{_server.ts-CHJ16CwB.js → _server.ts-PEeOir0p.js} +5 -5
  220. package/build/server/chunks/{_server.ts-CHJ16CwB.js.map → _server.ts-PEeOir0p.js.map} +1 -1
  221. package/build/server/chunks/{_server.ts-CQn8xidg.js → _server.ts-Q62fH5PS.js} +7 -7
  222. package/build/server/chunks/{_server.ts-CQn8xidg.js.map → _server.ts-Q62fH5PS.js.map} +1 -1
  223. package/build/server/chunks/{_server.ts-CSRasqU5.js → _server.ts-VX3J9sTd.js} +5 -5
  224. package/build/server/chunks/{_server.ts-CSRasqU5.js.map → _server.ts-VX3J9sTd.js.map} +1 -1
  225. package/build/server/chunks/{_server.ts-Ce36M1g-.js → _server.ts-W3-ZEGZ_.js} +5 -5
  226. package/build/server/chunks/{_server.ts-Ce36M1g-.js.map → _server.ts-W3-ZEGZ_.js.map} +1 -1
  227. package/build/server/chunks/{_server.ts-B9mgPHqQ.js → _server.ts-_ShpDwBa.js} +5 -5
  228. package/build/server/chunks/{_server.ts-B9mgPHqQ.js.map → _server.ts-_ShpDwBa.js.map} +1 -1
  229. package/build/server/chunks/{_server.ts-CNDEmrr2.js → _server.ts-agywTtcx.js} +6 -6
  230. package/build/server/chunks/{_server.ts-CNDEmrr2.js.map → _server.ts-agywTtcx.js.map} +1 -1
  231. package/build/server/chunks/{_server.ts-kE33aWoB.js → _server.ts-dwFtRXqR.js} +5 -5
  232. package/build/server/chunks/{_server.ts-kE33aWoB.js.map → _server.ts-dwFtRXqR.js.map} +1 -1
  233. package/build/server/chunks/{_server.ts-CqECufvr.js → _server.ts-erYwMN1g.js} +5 -5
  234. package/build/server/chunks/{_server.ts-CqECufvr.js.map → _server.ts-erYwMN1g.js.map} +1 -1
  235. package/build/server/chunks/{_server.ts-BhnyI1Jn.js → _server.ts-iFCSUye9.js} +5 -5
  236. package/build/server/chunks/{_server.ts-BhnyI1Jn.js.map → _server.ts-iFCSUye9.js.map} +1 -1
  237. package/build/server/chunks/{_server.ts-C4IOj12k.js → _server.ts-pFKjfZtt.js} +5 -5
  238. package/build/server/chunks/{_server.ts-C4IOj12k.js.map → _server.ts-pFKjfZtt.js.map} +1 -1
  239. package/build/server/chunks/{_server.ts-6UyMAs0y.js → _server.ts-t7vSQWlK.js} +5 -5
  240. package/build/server/chunks/{_server.ts-6UyMAs0y.js.map → _server.ts-t7vSQWlK.js.map} +1 -1
  241. package/build/server/chunks/{_server.ts-BRSKijcN.js → _server.ts-yjvGciT8.js} +7 -7
  242. package/build/server/chunks/{_server.ts-BRSKijcN.js.map → _server.ts-yjvGciT8.js.map} +1 -1
  243. package/build/server/chunks/{addon-helpers-y3PhPhjF.js → addon-helpers-D7yTgW15.js} +3 -3
  244. package/build/server/chunks/{addon-helpers-y3PhPhjF.js.map → addon-helpers-D7yTgW15.js.map} +1 -1
  245. package/build/server/chunks/{akm-fhbqQJKw.js → akm-D65Qa_U3.js} +2 -2
  246. package/build/server/chunks/{akm-fhbqQJKw.js.map → akm-D65Qa_U3.js.map} +1 -1
  247. package/build/server/chunks/{catalog-CD8wG5gx.js → catalog-BcvIrLCV.js} +5 -5
  248. package/build/server/chunks/{catalog-CD8wG5gx.js.map → catalog-BcvIrLCV.js.map} +1 -1
  249. package/build/server/chunks/{client-HkB3w6k1.js → client-COgKxKys.js} +2 -2
  250. package/build/server/chunks/{client-HkB3w6k1.js.map → client-COgKxKys.js.map} +1 -1
  251. package/build/server/chunks/{config-DnNL_Cz3.js → config-CmjX1hzp.js} +2 -2
  252. package/build/server/chunks/{config-DnNL_Cz3.js.map → config-CmjX1hzp.js.map} +1 -1
  253. package/build/server/chunks/{docker-CftpodUq.js → docker-BrVyK6wt.js} +2 -2
  254. package/build/server/chunks/{docker-CftpodUq.js.map → docker-BrVyK6wt.js.map} +1 -1
  255. package/build/server/chunks/{endpoints-BqhAgS3U.js → endpoints-q4yFkst-.js} +2 -2
  256. package/build/server/chunks/{endpoints-BqhAgS3U.js.map → endpoints-q4yFkst-.js.map} +1 -1
  257. package/build/server/chunks/environment-DqfL567G.js.map +1 -1
  258. package/build/server/chunks/{error.svelte-CtaML9ue.js → error.svelte-pZy9q9Ut.js} +4 -4
  259. package/build/server/chunks/{error.svelte-CtaML9ue.js.map → error.svelte-pZy9q9Ut.js.map} +1 -1
  260. package/build/server/chunks/{helpers-DHXJuxQH.js → helpers-Bl9_H-9s.js} +3 -3
  261. package/build/server/chunks/{helpers-DHXJuxQH.js.map → helpers-Bl9_H-9s.js.map} +1 -1
  262. package/build/server/chunks/{hooks.server-TGfRTd4u.js → hooks.server-DYcQEFvC.js} +6 -6
  263. package/build/server/chunks/{hooks.server-TGfRTd4u.js.map → hooks.server-DYcQEFvC.js.map} +1 -1
  264. package/build/server/chunks/{http-Dk1LCCLh.js → http-D4xHnLe9.js} +2 -2
  265. package/build/server/chunks/{http-Dk1LCCLh.js.map → http-D4xHnLe9.js.map} +1 -1
  266. package/build/server/chunks/{internal-Coz5zGZi.js → internal-DtseYMvl.js} +3 -3
  267. package/build/server/chunks/{internal-Coz5zGZi.js.map → internal-DtseYMvl.js.map} +1 -1
  268. package/build/server/chunks/{paths-DlWaDQW-.js → paths-DlPDtu3K.js} +2 -2
  269. package/build/server/chunks/{paths-DlWaDQW-.js.map → paths-DlPDtu3K.js.map} +1 -1
  270. package/build/server/chunks/{session-cookie-DBwsReGQ.js → session-cookie-B4lO_HPo.js} +2 -2
  271. package/build/server/chunks/{session-cookie-DBwsReGQ.js.map → session-cookie-B4lO_HPo.js.map} +1 -1
  272. package/build/server/chunks/{setup-deploy-CJmxiknj.js → setup-deploy-MOec0Pr9.js} +2 -2
  273. package/build/server/chunks/{setup-deploy-CJmxiknj.js.map → setup-deploy-MOec0Pr9.js.map} +1 -1
  274. package/build/server/chunks/{src-CKB0Ceqf.js → src-DkOWabOs.js} +7 -18
  275. package/build/server/chunks/src-DkOWabOs.js.map +1 -0
  276. package/build/server/chunks/{state-DgtI8baj.js → state-B9EFWmO3.js} +2 -2
  277. package/build/server/chunks/{state-DgtI8baj.js.map → state-B9EFWmO3.js.map} +1 -1
  278. package/build/server/chunks/{state2-CkQSe6ll.js → state2-BpiowCb1.js} +2 -2
  279. package/build/server/chunks/{state2-CkQSe6ll.js.map → state2-BpiowCb1.js.map} +1 -1
  280. package/build/server/index.js +1 -1
  281. package/build/server/manifest.js +91 -91
  282. package/build/server/manifest.js.map +1 -1
  283. package/package.json +2 -2
  284. package/build/client/_app/immutable/chunks/Bp6-ciNE.js.br +0 -0
  285. package/build/client/_app/immutable/chunks/Bp6-ciNE.js.gz +0 -0
  286. package/build/client/_app/immutable/chunks/CQMT6iK8.js.br +0 -0
  287. package/build/client/_app/immutable/chunks/CQMT6iK8.js.gz +0 -0
  288. package/build/client/_app/immutable/chunks/DHoslhhP.js +0 -1
  289. package/build/client/_app/immutable/chunks/DHoslhhP.js.br +0 -2
  290. package/build/client/_app/immutable/chunks/DHoslhhP.js.gz +0 -0
  291. package/build/client/_app/immutable/chunks/Oapx3Kay.js.br +0 -0
  292. package/build/client/_app/immutable/chunks/Oapx3Kay.js.gz +0 -0
  293. package/build/client/_app/immutable/entry/app.CSv5ANTj.js.br +0 -0
  294. package/build/client/_app/immutable/entry/app.CSv5ANTj.js.gz +0 -0
  295. package/build/client/_app/immutable/entry/start.Rl8gGhka.js +0 -1
  296. package/build/client/_app/immutable/entry/start.Rl8gGhka.js.br +0 -0
  297. package/build/client/_app/immutable/entry/start.Rl8gGhka.js.gz +0 -0
  298. package/build/client/_app/immutable/nodes/1.BgfOb4Io.js.br +0 -1
  299. package/build/client/_app/immutable/nodes/1.BgfOb4Io.js.gz +0 -0
  300. package/build/client/_app/immutable/nodes/10.v7TDafkp.js.br +0 -0
  301. package/build/client/_app/immutable/nodes/10.v7TDafkp.js.gz +0 -0
  302. package/build/client/_app/immutable/nodes/4.BlGWSYpW.js.br +0 -0
  303. package/build/client/_app/immutable/nodes/5.C4R8b_rk.js.br +0 -0
  304. package/build/client/_app/immutable/nodes/5.C4R8b_rk.js.gz +0 -0
  305. package/build/client/_app/immutable/nodes/6.jkaKXnUx.js.br +0 -0
  306. package/build/client/_app/immutable/nodes/6.jkaKXnUx.js.gz +0 -0
  307. package/build/client/_app/immutable/nodes/7.BUnJYUcB.js.br +0 -0
  308. package/build/client/_app/immutable/nodes/7.BUnJYUcB.js.gz +0 -0
  309. package/build/client/_app/immutable/nodes/8.BFS_N1wx.js.br +0 -0
  310. package/build/client/_app/immutable/nodes/8.BFS_N1wx.js.gz +0 -0
  311. package/build/client/_app/immutable/nodes/9.CskAvBGO.js.br +0 -0
  312. package/build/client/_app/immutable/nodes/9.CskAvBGO.js.gz +0 -0
  313. package/build/server/chunks/1-lLcx9Qz5.js +0 -9
  314. package/build/server/chunks/src-CKB0Ceqf.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BuT5XZcH.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/backups/_server.ts.js"],"sourcesContent":["import { dn as pruneBackupDirs, fn as summarizeBackups, pn as createLogger, un as listBackupDirs } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/backups/+server.ts\nvar logger = createLogger(\"backups-admin\");\n/**\n* #499 — backup visibility. Returns count, total size, last-backup time and a\n* per-backup list (newest first) so the UI can surface the recovery net.\n* Read-only.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\ttry {\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\t...summarizeBackups(state.homeDir)\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"backups_list_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n/**\n* #499 — drives the EXISTING confirm-gated prune. The UI must pass an explicit\n* `keep` count (the confirmation is the UI's modal); this NEVER auto-prunes and\n* keeps the newest `keep` snapshots, deleting only the older ones.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\tbody = {};\n\t}\n\tconst keep = Number(body.keep);\n\tif (!Number.isInteger(keep) || keep < 0) return errorResponse(400, \"invalid_keep\", \"`keep` must be a non-negative integer\", {}, requestId);\n\tconst state = getState();\n\ttry {\n\t\tif (listBackupDirs(state.homeDir).slice(keep).length === 0) return jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tdeleted: [],\n\t\t\tkept: keep\n\t\t}, requestId);\n\t\tconst deleted = pruneBackupDirs(state.homeDir, keep);\n\t\tlogger.info(\"pruned backups via admin\", {\n\t\t\trequestId,\n\t\t\tdeleted: deleted.length,\n\t\t\tkept: keep\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tdeleted,\n\t\t\tkept: keep\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"backups_prune_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO;AACpC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,qBAAqB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC7G,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,IAAI,GAAG,EAAE;AACX,CAAC;AACD,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/B,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,uCAAuC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC3I,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,IAAI,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACvF,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,EAAE;AACd,GAAG,IAAI,EAAE;AACT,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AACtD,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;AAC1C,GAAG,SAAS;AACZ,GAAG,OAAO,EAAE,OAAO,CAAC,MAAM;AAC1B,GAAG,IAAI,EAAE;AACT,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,IAAI,EAAE;AACT,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9G,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-BgEzu7zt.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/backups/_server.ts.js"],"sourcesContent":["import { dn as pruneBackupDirs, fn as summarizeBackups, pn as createLogger, un as listBackupDirs } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/backups/+server.ts\nvar logger = createLogger(\"backups-admin\");\n/**\n* #499 — backup visibility. Returns count, total size, last-backup time and a\n* per-backup list (newest first) so the UI can surface the recovery net.\n* Read-only.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\ttry {\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\t...summarizeBackups(state.homeDir)\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"backups_list_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n/**\n* #499 — drives the EXISTING confirm-gated prune. The UI must pass an explicit\n* `keep` count (the confirmation is the UI's modal); this NEVER auto-prunes and\n* keeps the newest `keep` snapshots, deleting only the older ones.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\tbody = {};\n\t}\n\tconst keep = Number(body.keep);\n\tif (!Number.isInteger(keep) || keep < 0) return errorResponse(400, \"invalid_keep\", \"`keep` must be a non-negative integer\", {}, requestId);\n\tconst state = getState();\n\ttry {\n\t\tif (listBackupDirs(state.homeDir).slice(keep).length === 0) return jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tdeleted: [],\n\t\t\tkept: keep\n\t\t}, requestId);\n\t\tconst deleted = pruneBackupDirs(state.homeDir, keep);\n\t\tlogger.info(\"pruned backups via admin\", {\n\t\t\trequestId,\n\t\t\tdeleted: deleted.length,\n\t\t\tkept: keep\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tdeleted,\n\t\t\tkept: keep\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"backups_prune_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO;AACpC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,qBAAqB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC7G,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,IAAI,GAAG,EAAE;AACX,CAAC;AACD,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/B,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,uCAAuC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC3I,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,IAAI,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACvF,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,EAAE;AACd,GAAG,IAAI,EAAE;AACT,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AACtD,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;AAC1C,GAAG,SAAS;AACZ,GAAG,OAAO,EAAE,OAAO,CAAC,MAAM;AAC1B,GAAG,IAAI,EAAE;AACT,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,IAAI,EAAE;AACT,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9G,CAAC;AACD;;;;"}
@@ -1,6 +1,6 @@
1
- import { ai as loadAutomations, W as executeAutomation, l as buildAkmEnv } from './src-CKB0Ceqf.js';
2
- import { g as getState } from './state-DgtI8baj.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-DHXJuxQH.js';
1
+ import { ai as loadAutomations, W as executeAutomation, l as buildAkmEnv } from './src-DkOWabOs.js';
2
+ import { g as getState } from './state-B9EFWmO3.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-Bl9_H-9s.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-BqhAgS3U.js';
25
+ import './endpoints-q4yFkst-.js';
26
26
 
27
27
  //#region src/routes/admin/automations/[name]/run/+server.ts
28
28
  var SAFE_NAME_RE = /^[a-zA-Z0-9._-]+(?:\.ya?ml)?$/;
@@ -45,4 +45,4 @@ var POST = async (event) => {
45
45
  };
46
46
 
47
47
  export { POST };
48
- //# sourceMappingURL=_server.ts-CVFJGijn.js.map
48
+ //# sourceMappingURL=_server.ts-BgfvREW4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CVFJGijn.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/automations/_name_/run/_server.ts.js"],"sourcesContent":["import { f as executeAutomation, g as buildAkmEnv, p as loadAutomations } 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/automations/[name]/run/+server.ts\nvar SAFE_NAME_RE = /^[a-zA-Z0-9._-]+(?:\\.ya?ml)?$/;\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst rawName = event.params.name ?? \"\";\n\tconst taskId = rawName.replace(/\\.ya?ml$/, \"\");\n\tif (!SAFE_NAME_RE.test(rawName) || rawName.includes(\"..\") || rawName.includes(\"/\")) return errorResponse(400, \"invalid_input\", \"name must match /^[a-zA-Z0-9._-]+$/\", {}, requestId);\n\tif (!loadAutomations(state.stashDir).some((c) => c.name === taskId)) return errorResponse(404, \"not_found\", `Automation '${taskId}' is not installed.`, {}, requestId);\n\tconst result = await executeAutomation(taskId, buildAkmEnv(state));\n\treturn jsonResponse(202, {\n\t\tok: result.ok,\n\t\tname: taskId,\n\t\tstatus: result.status,\n\t\terror: result.error ?? null\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,YAAY,GAAG,+BAA+B;AAC/C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;AACxC,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;AAC/C,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AACrL,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACvK,CAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;AACf,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM;AACvB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI;AACzB,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-BgfvREW4.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/automations/_name_/run/_server.ts.js"],"sourcesContent":["import { f as executeAutomation, g as buildAkmEnv, p as loadAutomations } 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/automations/[name]/run/+server.ts\nvar SAFE_NAME_RE = /^[a-zA-Z0-9._-]+(?:\\.ya?ml)?$/;\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst rawName = event.params.name ?? \"\";\n\tconst taskId = rawName.replace(/\\.ya?ml$/, \"\");\n\tif (!SAFE_NAME_RE.test(rawName) || rawName.includes(\"..\") || rawName.includes(\"/\")) return errorResponse(400, \"invalid_input\", \"name must match /^[a-zA-Z0-9._-]+$/\", {}, requestId);\n\tif (!loadAutomations(state.stashDir).some((c) => c.name === taskId)) return errorResponse(404, \"not_found\", `Automation '${taskId}' is not installed.`, {}, requestId);\n\tconst result = await executeAutomation(taskId, buildAkmEnv(state));\n\treturn jsonResponse(202, {\n\t\tok: result.ok,\n\t\tname: taskId,\n\t\tstatus: result.status,\n\t\terror: result.error ?? null\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,YAAY,GAAG,+BAA+B;AAC/C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;AACxC,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;AAC/C,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AACrL,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACvK,CAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;AACf,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM;AACvB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI;AACzB,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,6 +1,6 @@
1
- import { F as createLogger, a9 as isAllowedService, o as checkDocker, y as composeRestart, m as buildComposeOptions } from './src-CKB0Ceqf.js';
2
- import { g as getState } from './state-DgtI8baj.js';
3
- import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-DHXJuxQH.js';
1
+ import { F as createLogger, a9 as isAllowedService, o as checkDocker, y as composeRestart, m as buildComposeOptions } from './src-DkOWabOs.js';
2
+ import { g as getState } from './state-B9EFWmO3.js';
3
+ import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-Bl9_H-9s.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-BqhAgS3U.js';
26
+ import './endpoints-q4yFkst-.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-wg-GhA8r.js.map
56
+ //# sourceMappingURL=_server.ts-BiLR1zvy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-wg-GhA8r.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/restart/_server.ts.js"],"sourcesContent":["import { O as isAllowedService, P as buildComposeOptions, Y as checkDocker, nt as composeRestart, pn as createLogger } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/restart/+server.ts\nvar logger = createLogger(\"containers-restart\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container restart request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:restart\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeRestart([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"running\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to restart service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"running\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,oBAAoB,CAAC;AAC5C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,0BAA0B,EAAE,YAAY;AAChE,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC7E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,2BAA2B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACxH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-BiLR1zvy.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/restart/_server.ts.js"],"sourcesContent":["import { O as isAllowedService, P as buildComposeOptions, Y as checkDocker, nt as composeRestart, pn as createLogger } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/restart/+server.ts\nvar logger = createLogger(\"containers-restart\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container restart request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:restart\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeRestart([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"running\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to restart service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"running\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,oBAAoB,CAAC;AAC5C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,0BAA0B,EAAE,YAAY;AAChE,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC7E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,2BAA2B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACxH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { S as SERVICE_VERSION_KEYS, s as compareComparableVersions, D as DOCKER_IMAGE_NAMES } from './src-CKB0Ceqf.js';
3
- import { r as requireAdmin, d as getRequestId } from './helpers-DHXJuxQH.js';
2
+ import { S as SERVICE_VERSION_KEYS, s as compareComparableVersions, D as DOCKER_IMAGE_NAMES } from './src-DkOWabOs.js';
3
+ import { r as requireAdmin, d as getRequestId } from './helpers-Bl9_H-9s.js';
4
4
  import './utils-BSRjJDrZ.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
@@ -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-BqhAgS3U.js';
27
- import './state-DgtI8baj.js';
26
+ import './endpoints-q4yFkst-.js';
27
+ import './state-B9EFWmO3.js';
28
28
 
29
29
  //#region src/routes/admin/versions/latest/+server.ts
30
30
  var DOCKER_HUB_NAMESPACE = "openpalm";
@@ -100,4 +100,4 @@ var GET = async (event) => {
100
100
  };
101
101
 
102
102
  export { GET };
103
- //# sourceMappingURL=_server.ts-D7bZBcEC.js.map
103
+ //# sourceMappingURL=_server.ts-Bjx-exIj.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-D7bZBcEC.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/latest/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Nt as DOCKER_IMAGE_NAMES, Pt as SERVICE_VERSION_KEYS, in as compareComparableVersions } from \"../../../../../chunks/src.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/versions/latest/+server.ts\nvar DOCKER_HUB_NAMESPACE = \"openpalm\";\nvar STABLE_SEMVER = /^v?(\\d+\\.\\d+\\.\\d+)$/;\nvar VOICE_STABLE = /^v?(\\d+\\.\\d+\\.\\d+)-\\w+$/;\nasync function resolveNpmLatest(pkg) {\n\ttry {\n\t\tconst res = await fetch(`https://registry.npmjs.org/${encodeURIComponent(pkg)}/latest`, {\n\t\t\theaders: { Accept: \"application/json\" },\n\t\t\tsignal: AbortSignal.timeout(6e3)\n\t\t});\n\t\tif (!res.ok) return null;\n\t\tconst data = await res.json();\n\t\treturn typeof data.version === \"string\" ? data.version : null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nasync function resolveDockerLatest(image) {\n\ttry {\n\t\tconst res = await fetch(`https://hub.docker.com/v2/repositories/${DOCKER_HUB_NAMESPACE}/${image}/tags?page_size=100&ordering=last_updated`, {\n\t\t\theaders: { Accept: \"application/json\" },\n\t\t\tsignal: AbortSignal.timeout(8e3)\n\t\t});\n\t\tif (!res.ok) return null;\n\t\tconst data = await res.json();\n\t\tconst isVoice = image === \"voice\";\n\t\tconst candidates = [];\n\t\tfor (const tag of data.results ?? []) {\n\t\t\tconst plain = tag.name.match(STABLE_SEMVER);\n\t\t\tif (plain) {\n\t\t\t\tcandidates.push(plain[1]);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (isVoice) {\n\t\t\t\tconst voice = tag.name.match(VOICE_STABLE);\n\t\t\t\tif (voice) candidates.push(voice[1]);\n\t\t\t}\n\t\t}\n\t\tif (candidates.length === 0) return null;\n\t\treturn candidates.sort(compareComparableVersions).at(-1) ?? null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nvar CACHE_TTL_MS = 300 * 1e3;\nvar cachedResult = null;\nvar cacheExpiresAt = 0;\nvar GET = async (event) => {\n\tconst authError = requireAdmin(event, getRequestId(event));\n\tif (authError) return authError;\n\tif (cachedResult && Date.now() < cacheExpiresAt) return json(cachedResult);\n\tconst errors = [];\n\tconst [dockerResults, uiResult] = await Promise.all([Promise.all(SERVICE_VERSION_KEYS.map(async (key) => {\n\t\tconst image = DOCKER_IMAGE_NAMES[key];\n\t\tconst version = await resolveDockerLatest(image);\n\t\tif (!version) errors.push(`Docker Hub: could not resolve latest for ${DOCKER_HUB_NAMESPACE}/${image}`);\n\t\treturn [key, version];\n\t})), resolveNpmLatest(\"@openpalm/ui\").then((v) => {\n\t\tif (!v) errors.push(\"npm: could not resolve latest for @openpalm/ui\");\n\t\treturn [\"OP_UI_VERSION\", v];\n\t})]);\n\tconst versions = {};\n\tfor (const [key, val] of [...dockerResults, uiResult]) versions[key] = val;\n\tconst result = {\n\t\tversions,\n\t\terrors,\n\t\tfetchedAt: (/* @__PURE__ */ new Date()).toISOString()\n\t};\n\tcachedResult = result;\n\tcacheExpiresAt = Date.now() + CACHE_TTL_MS;\n\treturn json(result);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-Bjx-exIj.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/latest/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Nt as DOCKER_IMAGE_NAMES, Pt as SERVICE_VERSION_KEYS, in as compareComparableVersions } from \"../../../../../chunks/src.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/versions/latest/+server.ts\nvar DOCKER_HUB_NAMESPACE = \"openpalm\";\nvar STABLE_SEMVER = /^v?(\\d+\\.\\d+\\.\\d+)$/;\nvar VOICE_STABLE = /^v?(\\d+\\.\\d+\\.\\d+)-\\w+$/;\nasync function resolveNpmLatest(pkg) {\n\ttry {\n\t\tconst res = await fetch(`https://registry.npmjs.org/${encodeURIComponent(pkg)}/latest`, {\n\t\t\theaders: { Accept: \"application/json\" },\n\t\t\tsignal: AbortSignal.timeout(6e3)\n\t\t});\n\t\tif (!res.ok) return null;\n\t\tconst data = await res.json();\n\t\treturn typeof data.version === \"string\" ? data.version : null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nasync function resolveDockerLatest(image) {\n\ttry {\n\t\tconst res = await fetch(`https://hub.docker.com/v2/repositories/${DOCKER_HUB_NAMESPACE}/${image}/tags?page_size=100&ordering=last_updated`, {\n\t\t\theaders: { Accept: \"application/json\" },\n\t\t\tsignal: AbortSignal.timeout(8e3)\n\t\t});\n\t\tif (!res.ok) return null;\n\t\tconst data = await res.json();\n\t\tconst isVoice = image === \"voice\";\n\t\tconst candidates = [];\n\t\tfor (const tag of data.results ?? []) {\n\t\t\tconst plain = tag.name.match(STABLE_SEMVER);\n\t\t\tif (plain) {\n\t\t\t\tcandidates.push(plain[1]);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (isVoice) {\n\t\t\t\tconst voice = tag.name.match(VOICE_STABLE);\n\t\t\t\tif (voice) candidates.push(voice[1]);\n\t\t\t}\n\t\t}\n\t\tif (candidates.length === 0) return null;\n\t\treturn candidates.sort(compareComparableVersions).at(-1) ?? null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nvar CACHE_TTL_MS = 300 * 1e3;\nvar cachedResult = null;\nvar cacheExpiresAt = 0;\nvar GET = async (event) => {\n\tconst authError = requireAdmin(event, getRequestId(event));\n\tif (authError) return authError;\n\tif (cachedResult && Date.now() < cacheExpiresAt) return json(cachedResult);\n\tconst errors = [];\n\tconst [dockerResults, uiResult] = await Promise.all([Promise.all(SERVICE_VERSION_KEYS.map(async (key) => {\n\t\tconst image = DOCKER_IMAGE_NAMES[key];\n\t\tconst version = await resolveDockerLatest(image);\n\t\tif (!version) errors.push(`Docker Hub: could not resolve latest for ${DOCKER_HUB_NAMESPACE}/${image}`);\n\t\treturn [key, version];\n\t})), resolveNpmLatest(\"@openpalm/ui\").then((v) => {\n\t\tif (!v) errors.push(\"npm: could not resolve latest for @openpalm/ui\");\n\t\treturn [\"OP_UI_VERSION\", v];\n\t})]);\n\tconst versions = {};\n\tfor (const [key, val] of [...dockerResults, uiResult]) versions[key] = val;\n\tconst result = {\n\t\tversions,\n\t\terrors,\n\t\tfetchedAt: (/* @__PURE__ */ new Date()).toISOString()\n\t};\n\tcachedResult = result;\n\tcacheExpiresAt = Date.now() + CACHE_TTL_MS;\n\treturn json(result);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { R as disableHostAkmSharing, a3 as getHostAkmSharingStatus, U as enableHostAkmSharing } from './src-CKB0Ceqf.js';
2
- import { g as getState } from './state-DgtI8baj.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-DHXJuxQH.js';
1
+ import { R as disableHostAkmSharing, a3 as getHostAkmSharingStatus, U as enableHostAkmSharing } from './src-DkOWabOs.js';
2
+ import { g as getState } from './state-B9EFWmO3.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-Bl9_H-9s.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-BqhAgS3U.js';
25
+ import './endpoints-q4yFkst-.js';
26
26
 
27
27
  //#region src/routes/admin/akm/host-sharing/+server.ts
28
28
  var GET = async (event) => {
@@ -52,4 +52,4 @@ var DELETE = async (event) => {
52
52
  };
53
53
 
54
54
  export { DELETE, GET, PUT };
55
- //# sourceMappingURL=_server.ts-obpoYMkT.js.map
55
+ //# sourceMappingURL=_server.ts-BljXmaSv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-obpoYMkT.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/host-sharing/_server.ts.js"],"sourcesContent":["import { C as enableHostAkmSharing, S as disableHostAkmSharing, w as getHostAkmSharingStatus } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/akm/host-sharing/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, getHostAkmSharingStatus(getState()), requestId);\n};\nvar PUT = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst { profilesImported } = enableHostAkmSharing(state);\n\treturn jsonResponse(200, {\n\t\t...getHostAkmSharingStatus(state),\n\t\tprofilesImported\n\t}, requestId);\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tdisableHostAkmSharing(state);\n\treturn jsonResponse(200, getHostAkmSharingStatus(state), requestId);\n};\n//#endregion\nexport { DELETE, GET, PUT };\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,OAAO,YAAY,CAAC,GAAG,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,CAAC;AACzE;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,EAAE,gBAAgB,EAAE,GAAG,oBAAoB,CAAC,KAAK,CAAC;AACzD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC;AACnC,EAAE;AACF,EAAE,EAAE,SAAS,CAAC;AACd;AACG,IAAC,MAAM,GAAG,OAAO,KAAK,KAAK;AAC9B,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,qBAAqB,CAAC,KAAK,CAAC;AAC7B,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,uBAAuB,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;AACpE;;;;"}
1
+ {"version":3,"file":"_server.ts-BljXmaSv.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/host-sharing/_server.ts.js"],"sourcesContent":["import { C as enableHostAkmSharing, S as disableHostAkmSharing, w as getHostAkmSharingStatus } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/akm/host-sharing/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, getHostAkmSharingStatus(getState()), requestId);\n};\nvar PUT = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst { profilesImported } = enableHostAkmSharing(state);\n\treturn jsonResponse(200, {\n\t\t...getHostAkmSharingStatus(state),\n\t\tprofilesImported\n\t}, requestId);\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tdisableHostAkmSharing(state);\n\treturn jsonResponse(200, getHostAkmSharingStatus(state), requestId);\n};\n//#endregion\nexport { DELETE, GET, PUT };\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,OAAO,YAAY,CAAC,GAAG,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,CAAC;AACzE;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,EAAE,gBAAgB,EAAE,GAAG,oBAAoB,CAAC,KAAK,CAAC;AACzD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC;AACnC,EAAE;AACF,EAAE,EAAE,SAAS,CAAC;AACd;AACG,IAAC,MAAM,GAAG,OAAO,KAAK,KAAK;AAC9B,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,qBAAqB,CAAC,KAAK,CAAC;AAC7B,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,uBAAuB,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;AACpE;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { O as detectLocalProviders } from './src-CKB0Ceqf.js';
2
+ import { O as detectLocalProviders } from './src-DkOWabOs.js';
3
3
  import './utils-BSRjJDrZ.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
@@ -40,4 +40,4 @@ var GET = async () => {
40
40
  };
41
41
 
42
42
  export { GET };
43
- //# sourceMappingURL=_server.ts-Dz9K1opA.js.map
43
+ //# sourceMappingURL=_server.ts-Bt-r3Grf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Dz9K1opA.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/detect-providers/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { d as detectLocalProviders } from \"../../../../../chunks/src.js\";\n//#region src/routes/api/setup/detect-providers/+server.ts\nvar GET = async () => {\n\ttry {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tproviders: await detectLocalProviders()\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"detection_failed\",\n\t\t\tmessage: String(err)\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,IAAI;AACL,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,MAAM,oBAAoB;AACxC,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,kBAAkB;AAC5B,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG;AACtB,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-Bt-r3Grf.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/detect-providers/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { d as detectLocalProviders } from \"../../../../../chunks/src.js\";\n//#region src/routes/api/setup/detect-providers/+server.ts\nvar GET = async () => {\n\ttry {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tproviders: await detectLocalProviders()\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"detection_failed\",\n\t\t\tmessage: String(err)\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,IAAI;AACL,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,MAAM,oBAAoB;AACxC,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,kBAAkB;AAC5B,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG;AACtB,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
@@ -1,5 +1,5 @@
1
- import { N as detectHostOpenCode } from './src-CKB0Ceqf.js';
2
- import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-DHXJuxQH.js';
1
+ import { N as detectHostOpenCode } from './src-DkOWabOs.js';
2
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-Bl9_H-9s.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-BqhAgS3U.js';
25
- import './state-DgtI8baj.js';
24
+ import './endpoints-q4yFkst-.js';
25
+ import './state-B9EFWmO3.js';
26
26
 
27
27
  //#region src/routes/admin/providers/host-status/+server.ts
28
28
  var GET = async (event) => {
@@ -40,4 +40,4 @@ var GET = async (event) => {
40
40
  };
41
41
 
42
42
  export { GET };
43
- //# sourceMappingURL=_server.ts-DZRfmoGi.js.map
43
+ //# sourceMappingURL=_server.ts-C0XDsjcy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DZRfmoGi.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/host-status/_server.ts.js"],"sourcesContent":["import { a as detectHostOpenCode } from \"../../../../../chunks/src.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/providers/host-status/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst status = detectHostOpenCode();\n\treturn jsonResponse(200, {\n\t\tdetected: status.providerCount > 0 || status.credentialCount > 0,\n\t\tproviderCount: status.providerCount,\n\t\tcredentialCount: status.credentialCount,\n\t\tconfigPath: status.configPath ?? null,\n\t\tauthPath: status.authPath ?? null\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,MAAM,GAAG,kBAAkB,EAAE;AACpC,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,QAAQ,EAAE,MAAM,CAAC,aAAa,GAAG,CAAC,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC;AAClE,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa;AACrC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe;AACzC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;AACvC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI;AAC/B,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-C0XDsjcy.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/host-status/_server.ts.js"],"sourcesContent":["import { a as detectHostOpenCode } from \"../../../../../chunks/src.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/providers/host-status/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst status = detectHostOpenCode();\n\treturn jsonResponse(200, {\n\t\tdetected: status.providerCount > 0 || status.credentialCount > 0,\n\t\tproviderCount: status.providerCount,\n\t\tcredentialCount: status.credentialCount,\n\t\tconfigPath: status.configPath ?? null,\n\t\tauthPath: status.authPath ?? null\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,MAAM,GAAG,kBAAkB,EAAE;AACpC,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,QAAQ,EAAE,MAAM,CAAC,aAAa,GAAG,CAAC,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC;AAClE,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa;AACrC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe;AACzC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;AACvC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI;AAC/B,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, e as errorResponse, f as getUiLoginPassword, s as safeTokenCompare, b as createSession } from './helpers-DHXJuxQH.js';
2
- import { s as sessionCookieHeader } from './session-cookie-DBwsReGQ.js';
3
- import './src-CKB0Ceqf.js';
1
+ import { d as getRequestId, e as errorResponse, f as getUiLoginPassword, s as safeTokenCompare, b as createSession } from './helpers-Bl9_H-9s.js';
2
+ import { s as sessionCookieHeader } from './session-cookie-B4lO_HPo.js';
3
+ import './src-DkOWabOs.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,8 +22,8 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-BqhAgS3U.js';
26
- import './state-DgtI8baj.js';
25
+ import './endpoints-q4yFkst-.js';
26
+ import './state-B9EFWmO3.js';
27
27
 
28
28
  //#region src/routes/admin/auth/session/+server.ts
29
29
  /**
@@ -61,4 +61,4 @@ var POST = async (event) => {
61
61
  };
62
62
 
63
63
  export { POST };
64
- //# sourceMappingURL=_server.ts-Dw097UgM.js.map
64
+ //# sourceMappingURL=_server.ts-C4vWRNJX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Dw097UgM.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/session/_server.ts.js"],"sourcesContent":["import { f as safeTokenCompare, g as getUiLoginPassword, h as createSession, i as errorResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/session/+server.ts\n/**\n* POST /admin/auth/session\n*\n* Issues an `op_session` cookie after verifying the operator-supplied password\n* against `process.env.OP_UI_LOGIN_PASSWORD`.\n*\n* The cookie value is a random UUID session token — NOT the plaintext password.\n* Kept alongside `/admin/auth/login` as an alias; both verify the same\n* `password` body field and issue the `op_session` cookie.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst password = typeof body.password === \"string\" ? body.password : \"\";\n\tif (!password) return errorResponse(400, \"bad_request\", \"password is required\", {}, requestId);\n\tconst configured = getUiLoginPassword();\n\tif (!configured) return errorResponse(503, \"admin_not_configured\", \"OP_UI_LOGIN_PASSWORD has not been set. Complete setup first.\", {}, requestId);\n\tif (!safeTokenCompare(password, configured)) return errorResponse(401, \"unauthorized\", \"Invalid password\", {}, requestId);\n\tconst sessionToken = createSession();\n\treturn new Response(JSON.stringify({ ok: true }), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": sessionCookieHeader(sessionToken, event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/F,CAAC,MAAM,UAAU,GAAG,kBAAkB,EAAE;AACxC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,8DAA8D,EAAE,EAAE,EAAE,SAAS,CAAC;AAClJ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,MAAM,YAAY,GAAG,aAAa,EAAE;AACrC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACnD,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;AACjE,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-C4vWRNJX.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/session/_server.ts.js"],"sourcesContent":["import { f as safeTokenCompare, g as getUiLoginPassword, h as createSession, i as errorResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/session/+server.ts\n/**\n* POST /admin/auth/session\n*\n* Issues an `op_session` cookie after verifying the operator-supplied password\n* against `process.env.OP_UI_LOGIN_PASSWORD`.\n*\n* The cookie value is a random UUID session token — NOT the plaintext password.\n* Kept alongside `/admin/auth/login` as an alias; both verify the same\n* `password` body field and issue the `op_session` cookie.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst password = typeof body.password === \"string\" ? body.password : \"\";\n\tif (!password) return errorResponse(400, \"bad_request\", \"password is required\", {}, requestId);\n\tconst configured = getUiLoginPassword();\n\tif (!configured) return errorResponse(503, \"admin_not_configured\", \"OP_UI_LOGIN_PASSWORD has not been set. Complete setup first.\", {}, requestId);\n\tif (!safeTokenCompare(password, configured)) return errorResponse(401, \"unauthorized\", \"Invalid password\", {}, requestId);\n\tconst sessionToken = createSession();\n\treturn new Response(JSON.stringify({ ok: true }), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": sessionCookieHeader(sessionToken, event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/F,CAAC,MAAM,UAAU,GAAG,kBAAkB,EAAE;AACxC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,8DAA8D,EAAE,EAAE,EAAE,SAAS,CAAC;AAClJ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,MAAM,YAAY,GAAG,aAAa,EAAE;AACrC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACnD,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;AACjE,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { ab as isSetupComplete, aL as resolveOpenPalmHome, aq as performSetup, aj as mapDockerError, o as checkDocker } from './src-CKB0Ceqf.js';
3
- import { g as getState, r as resetState } from './state-DgtI8baj.js';
4
- import { r as requireAdmin, d as getRequestId, f as getUiLoginPassword, b as createSession } from './helpers-DHXJuxQH.js';
5
- import { s as sessionCookieHeader } from './session-cookie-DBwsReGQ.js';
6
- import { p as prepareSetupRestorePoint, s as startDeploy, r as resetDeployState } from './setup-deploy-CJmxiknj.js';
2
+ import { ab as isSetupComplete, aL as resolveOpenPalmHome, aq as performSetup, aj as mapDockerError, o as checkDocker } from './src-DkOWabOs.js';
3
+ import { g as getState, r as resetState } from './state-B9EFWmO3.js';
4
+ import { r as requireAdmin, d as getRequestId, f as getUiLoginPassword, b as createSession } from './helpers-Bl9_H-9s.js';
5
+ import { s as sessionCookieHeader } from './session-cookie-B4lO_HPo.js';
6
+ import { p as prepareSetupRestorePoint, s as startDeploy, r as resetDeployState } from './setup-deploy-MOec0Pr9.js';
7
7
  import './utils-BSRjJDrZ.js';
8
8
  import './chunk-CLZ62Ad-.js';
9
9
  import 'node:module';
@@ -26,7 +26,7 @@ import 'zlib';
26
26
  import 'node:assert';
27
27
  import 'node:fs/promises';
28
28
  import 'node:os';
29
- import './endpoints-BqhAgS3U.js';
29
+ import './endpoints-q4yFkst-.js';
30
30
 
31
31
  //#region src/routes/api/setup/complete/+server.ts
32
32
  var POST = async (event) => {
@@ -91,4 +91,4 @@ var POST = async (event) => {
91
91
  };
92
92
 
93
93
  export { POST };
94
- //# sourceMappingURL=_server.ts-CLyxPJYH.js.map
94
+ //# sourceMappingURL=_server.ts-C6YNI1Tv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CLyxPJYH.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/complete/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Y as checkDocker, cn as resolveOpenPalmHome, ft as isSetupComplete, s as performSetup, ut as mapDockerError } from \"../../../../../chunks/src.js\";\nimport { n as resetState, t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, g as getUiLoginPassword, h as createSession, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\nimport { i as startDeploy, n as prepareSetupRestorePoint, r as resetDeployState } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/complete/+server.ts\nvar POST = async (event) => {\n\tif (isSetupComplete(resolveOpenPalmHome())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst { request } = event;\n\tlet body;\n\ttry {\n\t\tbody = await request.json();\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"invalid_json\",\n\t\t\tmessage: \"Request body must be valid JSON\"\n\t\t}, { status: 400 });\n\t}\n\tconst dryRun = body.dryRun === true;\n\tlet result;\n\ttry {\n\t\tprepareSetupRestorePoint(getState());\n\t\tresult = await performSetup(body);\n\t} catch (err) {\n\t\tconst mapped = mapDockerError(String(err));\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: mapped.code,\n\t\t\tmessage: mapped.message\n\t\t}, { status: 500 });\n\t}\n\tif (!result.ok) return json(result, { status: 400 });\n\tresetState();\n\tconst state = getState();\n\tresetDeployState();\n\tlet dockerCheck = null;\n\tif (!dryRun) {\n\t\tdockerCheck = await checkDocker();\n\t\tif (dockerCheck.ok) startDeploy(state);\n\t\telse return json({\n\t\t\tok: false,\n\t\t\terror: \"docker_unavailable\",\n\t\t\tmessage: \"Docker isn't running. Start Docker Desktop or OrbStack, then try again.\"\n\t\t}, {\n\t\t\tstatus: 503,\n\t\t\theaders: { \"content-type\": \"application/json\" }\n\t\t});\n\t}\n\tconst headers = new Headers({ \"content-type\": \"application/json\" });\n\tif (typeof body.security?.uiLoginPassword === \"string\" && body.security.uiLoginPassword || getUiLoginPassword()) {\n\t\tconst sessionToken = createSession();\n\t\theaders.set(\"set-cookie\", sessionCookieHeader(sessionToken, event.request));\n\t}\n\treturn new Response(JSON.stringify({\n\t\tok: true,\n\t\tdockerAvailable: dockerCheck?.ok ?? false,\n\t\tdryRun\n\t}), {\n\t\tstatus: 200,\n\t\theaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-C6YNI1Tv.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/complete/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Y as checkDocker, cn as resolveOpenPalmHome, ft as isSetupComplete, s as performSetup, ut as mapDockerError } from \"../../../../../chunks/src.js\";\nimport { n as resetState, t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, g as getUiLoginPassword, h as createSession, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\nimport { i as startDeploy, n as prepareSetupRestorePoint, r as resetDeployState } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/complete/+server.ts\nvar POST = async (event) => {\n\tif (isSetupComplete(resolveOpenPalmHome())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst { request } = event;\n\tlet body;\n\ttry {\n\t\tbody = await request.json();\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"invalid_json\",\n\t\t\tmessage: \"Request body must be valid JSON\"\n\t\t}, { status: 400 });\n\t}\n\tconst dryRun = body.dryRun === true;\n\tlet result;\n\ttry {\n\t\tprepareSetupRestorePoint(getState());\n\t\tresult = await performSetup(body);\n\t} catch (err) {\n\t\tconst mapped = mapDockerError(String(err));\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: mapped.code,\n\t\t\tmessage: mapped.message\n\t\t}, { status: 500 });\n\t}\n\tif (!result.ok) return json(result, { status: 400 });\n\tresetState();\n\tconst state = getState();\n\tresetDeployState();\n\tlet dockerCheck = null;\n\tif (!dryRun) {\n\t\tdockerCheck = await checkDocker();\n\t\tif (dockerCheck.ok) startDeploy(state);\n\t\telse return json({\n\t\t\tok: false,\n\t\t\terror: \"docker_unavailable\",\n\t\t\tmessage: \"Docker isn't running. Start Docker Desktop or OrbStack, then try again.\"\n\t\t}, {\n\t\t\tstatus: 503,\n\t\t\theaders: { \"content-type\": \"application/json\" }\n\t\t});\n\t}\n\tconst headers = new Headers({ \"content-type\": \"application/json\" });\n\tif (typeof body.security?.uiLoginPassword === \"string\" && body.security.uiLoginPassword || getUiLoginPassword()) {\n\t\tconst sessionToken = createSession();\n\t\theaders.set(\"set-cookie\", sessionCookieHeader(sessionToken, event.request));\n\t}\n\treturn new Response(JSON.stringify({\n\t\tok: true,\n\t\tdockerAvailable: dockerCheck?.ok ?? false,\n\t\tdryRun\n\t}), {\n\t\tstatus: 200,\n\t\theaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { aH as removeTaskFile, aC as readTaskFile, a$ as writeTaskFile, h as assertSafeTaskFilename } from './src-CKB0Ceqf.js';
2
- import { g as getState } from './state-DgtI8baj.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-DHXJuxQH.js';
1
+ import { aH as removeTaskFile, aC as readTaskFile, a$ as writeTaskFile, h as assertSafeTaskFilename } from './src-DkOWabOs.js';
2
+ import { g as getState } from './state-B9EFWmO3.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-Bl9_H-9s.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-BqhAgS3U.js';
25
+ import './endpoints-q4yFkst-.js';
26
26
 
27
27
  //#region src/routes/admin/automations/[name]/file/+server.ts
28
28
  function guard(name, requestId) {
@@ -79,4 +79,4 @@ var DELETE = async (event) => {
79
79
  };
80
80
 
81
81
  export { DELETE, GET, PUT };
82
- //# sourceMappingURL=_server.ts-BovyMGvt.js.map
82
+ //# sourceMappingURL=_server.ts-CBlMaLf5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BovyMGvt.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/automations/_name_/file/_server.ts.js"],"sourcesContent":["import { gt as writeTaskFile, ht as removeTaskFile, mt as readTaskFile, pt as assertSafeTaskFilename } 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/automations/[name]/file/+server.ts\nfunction guard(name, requestId) {\n\ttry {\n\t\tassertSafeTaskFilename(name);\n\t\treturn null;\n\t} catch (err) {\n\t\treturn errorResponse(400, \"bad_request\", err.message, {}, requestId);\n\t}\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tconst content = readTaskFile(getState().stashDir, name);\n\tif (content === null) return errorResponse(404, \"not_found\", `Task file not found: ${name}`, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tcontent\n\t}, requestId);\n};\nvar PUT = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst content = result.data.content;\n\tif (typeof content !== \"string\") return errorResponse(400, \"bad_request\", \"content must be a string\", {}, requestId);\n\twriteTaskFile(getState().stashDir, name, content);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tremoveTaskFile(getState().stashDir, name);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\n//#endregion\nexport { DELETE, GET, PUT };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CBlMaLf5.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/automations/_name_/file/_server.ts.js"],"sourcesContent":["import { gt as writeTaskFile, ht as removeTaskFile, mt as readTaskFile, pt as assertSafeTaskFilename } 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/automations/[name]/file/+server.ts\nfunction guard(name, requestId) {\n\ttry {\n\t\tassertSafeTaskFilename(name);\n\t\treturn null;\n\t} catch (err) {\n\t\treturn errorResponse(400, \"bad_request\", err.message, {}, requestId);\n\t}\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tconst content = readTaskFile(getState().stashDir, name);\n\tif (content === null) return errorResponse(404, \"not_found\", `Task file not found: ${name}`, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tcontent\n\t}, requestId);\n};\nvar PUT = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst content = result.data.content;\n\tif (typeof content !== \"string\") return errorResponse(400, \"bad_request\", \"content must be a string\", {}, requestId);\n\twriteTaskFile(getState().stashDir, name, content);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tremoveTaskFile(getState().stashDir, name);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\n//#endregion\nexport { DELETE, GET, PUT };\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { az as readStackEnv } from './src-CKB0Ceqf.js';
2
- import { g as getState } from './state-DgtI8baj.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-DHXJuxQH.js';
4
- import { o as opencodeFetch } from './http-Dk1LCCLh.js';
5
- import { g as getCurrentConfig } from './config-DnNL_Cz3.js';
1
+ import { az as readStackEnv } from './src-DkOWabOs.js';
2
+ import { g as getState } from './state-B9EFWmO3.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-Bl9_H-9s.js';
4
+ import { o as opencodeFetch } from './http-D4xHnLe9.js';
5
+ import { g as getCurrentConfig } from './config-CmjX1hzp.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-BqhAgS3U.js';
27
+ import './endpoints-q4yFkst-.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-Bdqla70P.js.map
208
+ //# sourceMappingURL=_server.ts-CFL8asTr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Bdqla70P.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { Ut 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\", \"persona.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().homeDir);\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-CFL8asTr.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { Ut 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\", \"persona.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().homeDir);\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,6 +1,6 @@
1
- import { o as checkDocker, w as composePs, m as buildComposeOptions, n as buildManagedServices } from './src-CKB0Ceqf.js';
2
- import { g as getState } from './state-DgtI8baj.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-DHXJuxQH.js';
1
+ import { o as checkDocker, w as composePs, m as buildComposeOptions, n as buildManagedServices } from './src-DkOWabOs.js';
2
+ import { g as getState } from './state-B9EFWmO3.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-Bl9_H-9s.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-BqhAgS3U.js';
25
+ import './endpoints-q4yFkst-.js';
26
26
 
27
27
  //#region src/routes/admin/containers/list/+server.ts
28
28
  var GET = async (event) => {
@@ -67,4 +67,4 @@ var GET = async (event) => {
67
67
  };
68
68
 
69
69
  export { GET };
70
- //# sourceMappingURL=_server.ts-CO_U660z.js.map
70
+ //# sourceMappingURL=_server.ts-CS5kzWGg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CO_U660z.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/list/_server.ts.js"],"sourcesContent":["import { P as buildComposeOptions, R as buildManagedServices, Y as checkDocker, et as composePs } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/containers/list/+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 dockerCheck = await checkDocker();\n\tlet dockerContainers = null;\n\tif (dockerCheck.ok) {\n\t\tconst ps = await composePs(buildComposeOptions(state));\n\t\tif (ps.ok && ps.stdout.trim()) try {\n\t\t\tdockerContainers = ps.stdout.trim().split(\"\\n\").filter((l) => l.startsWith(\"{\")).map((l) => JSON.parse(l));\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"[containers.list] Failed to parse docker compose ps output\", e);\n\t\t\tdockerContainers = null;\n\t\t}\n\t}\n\tif (dockerContainers) {\n\t\tconst dockerStateByService = /* @__PURE__ */ new Map();\n\t\tfor (const c of dockerContainers) if (c.Service && c.State) dockerStateByService.set(c.Service, c.State);\n\t\tfor (const service of Object.keys(state.services)) {\n\t\t\tconst dockerState = dockerStateByService.get(service);\n\t\t\tif (dockerState) state.services[service] = dockerState === \"running\" ? \"running\" : \"stopped\";\n\t\t}\n\t}\n\tlet managedServices;\n\ttry {\n\t\tmanagedServices = await buildManagedServices(state);\n\t} catch {\n\t\tmanagedServices = Object.keys(state.services);\n\t}\n\tconst managedSet = new Set(managedServices);\n\tconst containers = {};\n\tfor (const [name, status] of Object.entries(state.services)) if (managedSet.has(name)) containers[name] = status;\n\treturn jsonResponse(200, {\n\t\tcontainers,\n\t\tdockerContainers,\n\t\tdockerAvailable: dockerCheck.ok,\n\t\tmanagedServices\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,WAAW,GAAG,MAAM,WAAW,EAAE;AACxC,CAAC,IAAI,gBAAgB,GAAG,IAAI;AAC5B,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE;AACrB,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACxD,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI;AACrC,GAAG,gBAAgB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7G,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;AACd,GAAG,OAAO,CAAC,IAAI,CAAC,4DAA4D,EAAE,CAAC,CAAC;AAChF,GAAG,gBAAgB,GAAG,IAAI;AAC1B,EAAE;AACF,CAAC;AACD,CAAC,IAAI,gBAAgB,EAAE;AACvB,EAAE,MAAM,oBAAoB,mBAAmB,IAAI,GAAG,EAAE;AACxD,EAAE,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;AAC1G,EAAE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AACrD,GAAG,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC;AACxD,GAAG,IAAI,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,KAAK,SAAS,GAAG,SAAS,GAAG,SAAS;AAC/F,EAAE;AACF,CAAC;AACD,CAAC,IAAI,eAAe;AACpB,CAAC,IAAI;AACL,EAAE,eAAe,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC;AACrD,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC/C,CAAC;AACD,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC;AAC5C,CAAC,MAAM,UAAU,GAAG,EAAE;AACtB,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM;AACjH,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,UAAU;AACZ,EAAE,gBAAgB;AAClB,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE;AACjC,EAAE;AACF,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-CS5kzWGg.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/list/_server.ts.js"],"sourcesContent":["import { P as buildComposeOptions, R as buildManagedServices, Y as checkDocker, et as composePs } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/containers/list/+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 dockerCheck = await checkDocker();\n\tlet dockerContainers = null;\n\tif (dockerCheck.ok) {\n\t\tconst ps = await composePs(buildComposeOptions(state));\n\t\tif (ps.ok && ps.stdout.trim()) try {\n\t\t\tdockerContainers = ps.stdout.trim().split(\"\\n\").filter((l) => l.startsWith(\"{\")).map((l) => JSON.parse(l));\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"[containers.list] Failed to parse docker compose ps output\", e);\n\t\t\tdockerContainers = null;\n\t\t}\n\t}\n\tif (dockerContainers) {\n\t\tconst dockerStateByService = /* @__PURE__ */ new Map();\n\t\tfor (const c of dockerContainers) if (c.Service && c.State) dockerStateByService.set(c.Service, c.State);\n\t\tfor (const service of Object.keys(state.services)) {\n\t\t\tconst dockerState = dockerStateByService.get(service);\n\t\t\tif (dockerState) state.services[service] = dockerState === \"running\" ? \"running\" : \"stopped\";\n\t\t}\n\t}\n\tlet managedServices;\n\ttry {\n\t\tmanagedServices = await buildManagedServices(state);\n\t} catch {\n\t\tmanagedServices = Object.keys(state.services);\n\t}\n\tconst managedSet = new Set(managedServices);\n\tconst containers = {};\n\tfor (const [name, status] of Object.entries(state.services)) if (managedSet.has(name)) containers[name] = status;\n\treturn jsonResponse(200, {\n\t\tcontainers,\n\t\tdockerContainers,\n\t\tdockerAvailable: dockerCheck.ok,\n\t\tmanagedServices\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,WAAW,GAAG,MAAM,WAAW,EAAE;AACxC,CAAC,IAAI,gBAAgB,GAAG,IAAI;AAC5B,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE;AACrB,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACxD,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI;AACrC,GAAG,gBAAgB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7G,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;AACd,GAAG,OAAO,CAAC,IAAI,CAAC,4DAA4D,EAAE,CAAC,CAAC;AAChF,GAAG,gBAAgB,GAAG,IAAI;AAC1B,EAAE;AACF,CAAC;AACD,CAAC,IAAI,gBAAgB,EAAE;AACvB,EAAE,MAAM,oBAAoB,mBAAmB,IAAI,GAAG,EAAE;AACxD,EAAE,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;AAC1G,EAAE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AACrD,GAAG,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC;AACxD,GAAG,IAAI,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,KAAK,SAAS,GAAG,SAAS,GAAG,SAAS;AAC/F,EAAE;AACF,CAAC;AACD,CAAC,IAAI,eAAe;AACpB,CAAC,IAAI;AACL,EAAE,eAAe,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC;AACrD,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC/C,CAAC;AACD,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC;AAC5C,CAAC,MAAM,UAAU,GAAG,EAAE;AACtB,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM;AACjH,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,UAAU;AACZ,EAAE,gBAAgB;AAClB,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE;AACjC,EAAE;AACF,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}