@openpalm/ui 0.12.11 → 0.12.12

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 (322) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/4.C4HBo3yQ.css +1 -0
  3. package/build/client/_app/immutable/assets/4.C4HBo3yQ.css.br +0 -0
  4. package/build/client/_app/immutable/assets/4.C4HBo3yQ.css.gz +0 -0
  5. package/build/client/_app/immutable/chunks/{Dky5K2LB.js → BUmnu6gG.js} +2 -2
  6. package/build/client/_app/immutable/chunks/BUmnu6gG.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/BUmnu6gG.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/{B-sorx18.js → CTyb4jX-.js} +1 -1
  9. package/build/client/_app/immutable/chunks/CTyb4jX-.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/CTyb4jX-.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/CzrNiLaD.js +1 -0
  12. package/build/client/_app/immutable/chunks/CzrNiLaD.js.br +2 -0
  13. package/build/client/_app/immutable/chunks/CzrNiLaD.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{vShalCpq.js → Ej9QUT4P.js} +1 -1
  15. package/build/client/_app/immutable/chunks/Ej9QUT4P.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/{vShalCpq.js.gz → Ej9QUT4P.js.gz} +0 -0
  17. package/build/client/_app/immutable/chunks/{D2kpcjIW.js → auSI7Wdb.js} +1 -1
  18. package/build/client/_app/immutable/chunks/auSI7Wdb.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/auSI7Wdb.js.gz +0 -0
  20. package/build/client/_app/immutable/entry/{app.ByrueOmB.js → app.DsQiW1Iw.js} +2 -2
  21. package/build/client/_app/immutable/entry/app.DsQiW1Iw.js.br +0 -0
  22. package/build/client/_app/immutable/entry/app.DsQiW1Iw.js.gz +0 -0
  23. package/build/client/_app/immutable/entry/start.DcWR1XKk.js +1 -0
  24. package/build/client/_app/immutable/entry/start.DcWR1XKk.js.br +1 -0
  25. package/build/client/_app/immutable/entry/start.DcWR1XKk.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/{1.DjtG_D8w.js → 1.DnRffqy6.js} +1 -1
  27. package/build/client/_app/immutable/nodes/1.DnRffqy6.js.br +0 -0
  28. package/build/client/_app/immutable/nodes/1.DnRffqy6.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/{4.Q3NQORNR.js → 4.X-buCxyA.js} +6 -6
  30. package/build/client/_app/immutable/nodes/4.X-buCxyA.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/4.X-buCxyA.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{5.Gwr8UAQM.js → 5.CnQ0zkJ5.js} +1 -1
  33. package/build/client/_app/immutable/nodes/5.CnQ0zkJ5.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/5.CnQ0zkJ5.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{6.D3jTTLhO.js → 6.BaOjUVsQ.js} +1 -1
  36. package/build/client/_app/immutable/nodes/6.BaOjUVsQ.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/6.BaOjUVsQ.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{7.BAsevRLv.js → 7.Dy-QUnwV.js} +1 -1
  39. package/build/client/_app/immutable/nodes/7.Dy-QUnwV.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/7.Dy-QUnwV.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{8.Df9ktODJ.js → 8.B3kiJaWi.js} +1 -1
  42. package/build/client/_app/immutable/nodes/8.B3kiJaWi.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/8.B3kiJaWi.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-s4KrrHyU.js +9 -0
  48. package/build/server/chunks/{1-C6FeFdMq.js.map → 1-s4KrrHyU.js.map} +1 -1
  49. package/build/server/chunks/{10-dDPv2EXM.js → 10-BsKSeayN.js} +5 -5
  50. package/build/server/chunks/{10-dDPv2EXM.js.map → 10-BsKSeayN.js.map} +1 -1
  51. package/build/server/chunks/4-DXcZ-YeU.js +9 -0
  52. package/build/server/chunks/{4-DU6tKPKM.js.map → 4-DXcZ-YeU.js.map} +1 -1
  53. package/build/server/chunks/{5-DsanV5i-.js → 5-CxWHKz_5.js} +3 -3
  54. package/build/server/chunks/{5-DsanV5i-.js.map → 5-CxWHKz_5.js.map} +1 -1
  55. package/build/server/chunks/{6-BsuTHqJ7.js → 6-C2va3-p8.js} +3 -3
  56. package/build/server/chunks/{6-BsuTHqJ7.js.map → 6-C2va3-p8.js.map} +1 -1
  57. package/build/server/chunks/7-ZC2-wAze.js +9 -0
  58. package/build/server/chunks/{7-D7OLEPBt.js.map → 7-ZC2-wAze.js.map} +1 -1
  59. package/build/server/chunks/{8-D4un8Wgv.js → 8-CdAURkyt.js} +3 -3
  60. package/build/server/chunks/{8-D4un8Wgv.js.map → 8-CdAURkyt.js.map} +1 -1
  61. package/build/server/chunks/{ChatMessage-D8BaN8A9.js → ChatMessage-nFk7W8JO.js} +2 -2
  62. package/build/server/chunks/{ChatMessage-D8BaN8A9.js.map → ChatMessage-nFk7W8JO.js.map} +1 -1
  63. package/build/server/chunks/{Navbar-Dhb8B-b0.js → Navbar-CqHAp9Qh.js} +3 -3
  64. package/build/server/chunks/{Navbar-Dhb8B-b0.js.map → Navbar-CqHAp9Qh.js.map} +1 -1
  65. package/build/server/chunks/{_page.svelte-Cte2R_w-.js → _page.svelte-CQ8Ang1b.js} +6 -6
  66. package/build/server/chunks/{_page.svelte-Cte2R_w-.js.map → _page.svelte-CQ8Ang1b.js.map} +1 -1
  67. package/build/server/chunks/{_page.svelte-RacdBHko.js → _page.svelte-CmB5uGqK.js} +3 -3
  68. package/build/server/chunks/{_page.svelte-RacdBHko.js.map → _page.svelte-CmB5uGqK.js.map} +1 -1
  69. package/build/server/chunks/{_page.svelte-DlYG76L7.js → _page.svelte-CmqaniiZ.js} +17 -17
  70. package/build/server/chunks/_page.svelte-CmqaniiZ.js.map +1 -0
  71. package/build/server/chunks/{_page.svelte-DDPHWd78.js → _page.svelte-Ehsb0X1T.js} +5 -5
  72. package/build/server/chunks/{_page.svelte-DDPHWd78.js.map → _page.svelte-Ehsb0X1T.js.map} +1 -1
  73. package/build/server/chunks/{_page.svelte-DXgMisrO.js → _page.svelte-z0vjeg3m.js} +5 -5
  74. package/build/server/chunks/{_page.svelte-DXgMisrO.js.map → _page.svelte-z0vjeg3m.js.map} +1 -1
  75. package/build/server/chunks/{_server.ts-DYDU5INq.js → _server.ts-4bwCw9CG.js} +6 -6
  76. package/build/server/chunks/{_server.ts-DYDU5INq.js.map → _server.ts-4bwCw9CG.js.map} +1 -1
  77. package/build/server/chunks/{_server.ts-vHDbBa3o.js → _server.ts-5Yiwno6d.js} +5 -5
  78. package/build/server/chunks/{_server.ts-vHDbBa3o.js.map → _server.ts-5Yiwno6d.js.map} +1 -1
  79. package/build/server/chunks/{_server.ts-CtQpR-mK.js → _server.ts-6S_K8mGO.js} +5 -5
  80. package/build/server/chunks/{_server.ts-CtQpR-mK.js.map → _server.ts-6S_K8mGO.js.map} +1 -1
  81. package/build/server/chunks/{_server.ts-Dw6QQ2RH.js → _server.ts-77-UZ7q6.js} +6 -6
  82. package/build/server/chunks/{_server.ts-Dw6QQ2RH.js.map → _server.ts-77-UZ7q6.js.map} +1 -1
  83. package/build/server/chunks/{_server.ts-CVjHePJ7.js → _server.ts-7K5ENa0R.js} +6 -6
  84. package/build/server/chunks/{_server.ts-CVjHePJ7.js.map → _server.ts-7K5ENa0R.js.map} +1 -1
  85. package/build/server/chunks/{_server.ts-CimqxW93.js → _server.ts-B-kfO_bH.js} +7 -7
  86. package/build/server/chunks/{_server.ts-CimqxW93.js.map → _server.ts-B-kfO_bH.js.map} +1 -1
  87. package/build/server/chunks/{_server.ts-BBSxI0YB.js → _server.ts-B-p2EWpY.js} +5 -5
  88. package/build/server/chunks/{_server.ts-BBSxI0YB.js.map → _server.ts-B-p2EWpY.js.map} +1 -1
  89. package/build/server/chunks/{_server.ts-B1m6hKUq.js → _server.ts-B-uMrGCn.js} +5 -5
  90. package/build/server/chunks/{_server.ts-B1m6hKUq.js.map → _server.ts-B-uMrGCn.js.map} +1 -1
  91. package/build/server/chunks/{_server.ts-C1aLT5Oq.js → _server.ts-B127b-gL.js} +6 -6
  92. package/build/server/chunks/{_server.ts-C1aLT5Oq.js.map → _server.ts-B127b-gL.js.map} +1 -1
  93. package/build/server/chunks/{_server.ts-5Ws42wvy.js → _server.ts-B1CU5CUW.js} +7 -7
  94. package/build/server/chunks/{_server.ts-5Ws42wvy.js.map → _server.ts-B1CU5CUW.js.map} +1 -1
  95. package/build/server/chunks/{_server.ts-UNA9HWlS.js → _server.ts-B2bPdmtl.js} +5 -5
  96. package/build/server/chunks/{_server.ts-UNA9HWlS.js.map → _server.ts-B2bPdmtl.js.map} +1 -1
  97. package/build/server/chunks/{_server.ts-CGjfDzXX.js → _server.ts-B4NR0V_b.js} +8 -8
  98. package/build/server/chunks/{_server.ts-CGjfDzXX.js.map → _server.ts-B4NR0V_b.js.map} +1 -1
  99. package/build/server/chunks/{_server.ts-B-qcLr8p.js → _server.ts-B4U33TSS.js} +5 -5
  100. package/build/server/chunks/{_server.ts-B-qcLr8p.js.map → _server.ts-B4U33TSS.js.map} +1 -1
  101. package/build/server/chunks/{_server.ts-WcxeSgme.js → _server.ts-B6d5y3_a.js} +5 -5
  102. package/build/server/chunks/{_server.ts-WcxeSgme.js.map → _server.ts-B6d5y3_a.js.map} +1 -1
  103. package/build/server/chunks/{_server.ts-B0fcbzv5.js → _server.ts-BE4_j8Dq.js} +5 -5
  104. package/build/server/chunks/{_server.ts-B0fcbzv5.js.map → _server.ts-BE4_j8Dq.js.map} +1 -1
  105. package/build/server/chunks/{_server.ts-BXuVu79G.js → _server.ts-BEt2_iG4.js} +5 -5
  106. package/build/server/chunks/{_server.ts-BXuVu79G.js.map → _server.ts-BEt2_iG4.js.map} +1 -1
  107. package/build/server/chunks/{_server.ts-C5bLLzu2.js → _server.ts-BNE9aLNq.js} +5 -5
  108. package/build/server/chunks/{_server.ts-C5bLLzu2.js.map → _server.ts-BNE9aLNq.js.map} +1 -1
  109. package/build/server/chunks/{_server.ts-CvrHMIWH.js → _server.ts-BNScUI9e.js} +2 -2
  110. package/build/server/chunks/{_server.ts-CvrHMIWH.js.map → _server.ts-BNScUI9e.js.map} +1 -1
  111. package/build/server/chunks/{_server.ts-Br9fO2us.js → _server.ts-BOhzCsMs.js} +6 -6
  112. package/build/server/chunks/{_server.ts-Br9fO2us.js.map → _server.ts-BOhzCsMs.js.map} +1 -1
  113. package/build/server/chunks/{_server.ts-MRFc0kGZ.js → _server.ts-BSx9Bn4-.js} +5 -5
  114. package/build/server/chunks/{_server.ts-MRFc0kGZ.js.map → _server.ts-BSx9Bn4-.js.map} +1 -1
  115. package/build/server/chunks/{_server.ts-DQcYv35V.js → _server.ts-BT6D3gEn.js} +5 -5
  116. package/build/server/chunks/{_server.ts-DQcYv35V.js.map → _server.ts-BT6D3gEn.js.map} +1 -1
  117. package/build/server/chunks/{_server.ts-BJoXNNdu.js → _server.ts-BYGu7b1P.js} +5 -5
  118. package/build/server/chunks/{_server.ts-BJoXNNdu.js.map → _server.ts-BYGu7b1P.js.map} +1 -1
  119. package/build/server/chunks/{_server.ts-YZjskwCt.js → _server.ts-BZ4T51Sp.js} +5 -5
  120. package/build/server/chunks/{_server.ts-YZjskwCt.js.map → _server.ts-BZ4T51Sp.js.map} +1 -1
  121. package/build/server/chunks/{_server.ts-KsnGg8eu.js → _server.ts-BbzNUN06.js} +5 -5
  122. package/build/server/chunks/{_server.ts-KsnGg8eu.js.map → _server.ts-BbzNUN06.js.map} +1 -1
  123. package/build/server/chunks/{_server.ts-e5XtUvMC.js → _server.ts-Be_Ms27u.js} +6 -6
  124. package/build/server/chunks/{_server.ts-e5XtUvMC.js.map → _server.ts-Be_Ms27u.js.map} +1 -1
  125. package/build/server/chunks/{_server.ts-CJ7kiprZ.js → _server.ts-Bfg_O-Jd.js} +6 -6
  126. package/build/server/chunks/{_server.ts-CJ7kiprZ.js.map → _server.ts-Bfg_O-Jd.js.map} +1 -1
  127. package/build/server/chunks/{_server.ts-pxzUffWW.js → _server.ts-Bfp5h_w-.js} +5 -5
  128. package/build/server/chunks/{_server.ts-pxzUffWW.js.map → _server.ts-Bfp5h_w-.js.map} +1 -1
  129. package/build/server/chunks/{_server.ts-CGitsTJS.js → _server.ts-BjT0bTpr.js} +5 -5
  130. package/build/server/chunks/{_server.ts-CGitsTJS.js.map → _server.ts-BjT0bTpr.js.map} +1 -1
  131. package/build/server/chunks/{_server.ts-Ci1Rfx8E.js → _server.ts-BkFpq5kl.js} +6 -6
  132. package/build/server/chunks/{_server.ts-Ci1Rfx8E.js.map → _server.ts-BkFpq5kl.js.map} +1 -1
  133. package/build/server/chunks/{_server.ts-DuGAEea3.js → _server.ts-BlLOBvFJ.js} +2 -2
  134. package/build/server/chunks/{_server.ts-DuGAEea3.js.map → _server.ts-BlLOBvFJ.js.map} +1 -1
  135. package/build/server/chunks/{_server.ts-Bxb-p7E3.js → _server.ts-BvIDZNQ4.js} +5 -5
  136. package/build/server/chunks/{_server.ts-Bxb-p7E3.js.map → _server.ts-BvIDZNQ4.js.map} +1 -1
  137. package/build/server/chunks/{_server.ts-BP_OtQ4W.js → _server.ts-BybDdchW.js} +5 -5
  138. package/build/server/chunks/{_server.ts-BP_OtQ4W.js.map → _server.ts-BybDdchW.js.map} +1 -1
  139. package/build/server/chunks/{_server.ts-FsMdP1jm.js → _server.ts-Byjf_Yk3.js} +4 -4
  140. package/build/server/chunks/{_server.ts-FsMdP1jm.js.map → _server.ts-Byjf_Yk3.js.map} +1 -1
  141. package/build/server/chunks/{_server.ts-CYsRQTaO.js → _server.ts-Bz9vYKcZ.js} +5 -5
  142. package/build/server/chunks/{_server.ts-CYsRQTaO.js.map → _server.ts-Bz9vYKcZ.js.map} +1 -1
  143. package/build/server/chunks/{_server.ts-C4093Qyv.js → _server.ts-C2DDlJQE.js} +6 -6
  144. package/build/server/chunks/{_server.ts-C4093Qyv.js.map → _server.ts-C2DDlJQE.js.map} +1 -1
  145. package/build/server/chunks/{_server.ts-0NV6JC1q.js → _server.ts-C9KhKEr6.js} +5 -5
  146. package/build/server/chunks/{_server.ts-0NV6JC1q.js.map → _server.ts-C9KhKEr6.js.map} +1 -1
  147. package/build/server/chunks/{_server.ts-C1xh49dQ.js → _server.ts-C9zraUpK.js} +5 -5
  148. package/build/server/chunks/{_server.ts-C1xh49dQ.js.map → _server.ts-C9zraUpK.js.map} +1 -1
  149. package/build/server/chunks/{_server.ts-DZW-Wp42.js → _server.ts-CBYbeZKo.js} +5 -5
  150. package/build/server/chunks/{_server.ts-DZW-Wp42.js.map → _server.ts-CBYbeZKo.js.map} +1 -1
  151. package/build/server/chunks/{_server.ts-BhmcyUI0.js → _server.ts-CDOOK4kq.js} +5 -5
  152. package/build/server/chunks/{_server.ts-BhmcyUI0.js.map → _server.ts-CDOOK4kq.js.map} +1 -1
  153. package/build/server/chunks/{_server.ts-DNA0OVFL.js → _server.ts-CG17acEX.js} +5 -5
  154. package/build/server/chunks/{_server.ts-DNA0OVFL.js.map → _server.ts-CG17acEX.js.map} +1 -1
  155. package/build/server/chunks/{_server.ts-pS7C2ggX.js → _server.ts-CGPLKrl6.js} +5 -5
  156. package/build/server/chunks/{_server.ts-pS7C2ggX.js.map → _server.ts-CGPLKrl6.js.map} +1 -1
  157. package/build/server/chunks/{_server.ts-DRoP-Wv6.js → _server.ts-CL74nB_X.js} +5 -5
  158. package/build/server/chunks/{_server.ts-DRoP-Wv6.js.map → _server.ts-CL74nB_X.js.map} +1 -1
  159. package/build/server/chunks/{_server.ts-D_-EfIES.js → _server.ts-CM8mCJr2.js} +5 -5
  160. package/build/server/chunks/{_server.ts-D_-EfIES.js.map → _server.ts-CM8mCJr2.js.map} +1 -1
  161. package/build/server/chunks/{_server.ts-DzR4Osb4.js → _server.ts-CRJ6wZDZ.js} +6 -6
  162. package/build/server/chunks/{_server.ts-DzR4Osb4.js.map → _server.ts-CRJ6wZDZ.js.map} +1 -1
  163. package/build/server/chunks/{_server.ts-LI1xk-ix.js → _server.ts-CSSXRijy.js} +5 -5
  164. package/build/server/chunks/{_server.ts-LI1xk-ix.js.map → _server.ts-CSSXRijy.js.map} +1 -1
  165. package/build/server/chunks/{_server.ts-BqJARU1X.js → _server.ts-CSrUQMls.js} +5 -5
  166. package/build/server/chunks/{_server.ts-BqJARU1X.js.map → _server.ts-CSrUQMls.js.map} +1 -1
  167. package/build/server/chunks/{_server.ts-B1Mv6wb7.js → _server.ts-CWYMIWeQ.js} +5 -5
  168. package/build/server/chunks/{_server.ts-B1Mv6wb7.js.map → _server.ts-CWYMIWeQ.js.map} +1 -1
  169. package/build/server/chunks/{_server.ts-DtWJo82n.js → _server.ts-CZJM-wYv.js} +5 -5
  170. package/build/server/chunks/{_server.ts-DtWJo82n.js.map → _server.ts-CZJM-wYv.js.map} +1 -1
  171. package/build/server/chunks/{_server.ts-BgOid65q.js → _server.ts-CbHCQlkY.js} +5 -5
  172. package/build/server/chunks/{_server.ts-BgOid65q.js.map → _server.ts-CbHCQlkY.js.map} +1 -1
  173. package/build/server/chunks/{_server.ts-BwdITGWm.js → _server.ts-CefiPTY7.js} +7 -7
  174. package/build/server/chunks/{_server.ts-BwdITGWm.js.map → _server.ts-CefiPTY7.js.map} +1 -1
  175. package/build/server/chunks/{_server.ts-DoIwXWVY.js → _server.ts-Cqxa9z0t.js} +4 -4
  176. package/build/server/chunks/{_server.ts-DoIwXWVY.js.map → _server.ts-Cqxa9z0t.js.map} +1 -1
  177. package/build/server/chunks/{_server.ts-D7-rYtEc.js → _server.ts-CrR1vz-U.js} +5 -5
  178. package/build/server/chunks/{_server.ts-D7-rYtEc.js.map → _server.ts-CrR1vz-U.js.map} +1 -1
  179. package/build/server/chunks/{_server.ts-Bw7iK0pF.js → _server.ts-CsWOQwa4.js} +5 -5
  180. package/build/server/chunks/{_server.ts-Bw7iK0pF.js.map → _server.ts-CsWOQwa4.js.map} +1 -1
  181. package/build/server/chunks/{_server.ts-cEqTNUtc.js → _server.ts-CxHSDY6c.js} +5 -5
  182. package/build/server/chunks/{_server.ts-cEqTNUtc.js.map → _server.ts-CxHSDY6c.js.map} +1 -1
  183. package/build/server/chunks/{_server.ts-BiivXvhc.js → _server.ts-CzvJLf02.js} +2 -2
  184. package/build/server/chunks/{_server.ts-BiivXvhc.js.map → _server.ts-CzvJLf02.js.map} +1 -1
  185. package/build/server/chunks/{_server.ts-C-KIZoZe.js → _server.ts-D1j4Npph.js} +7 -7
  186. package/build/server/chunks/{_server.ts-C-KIZoZe.js.map → _server.ts-D1j4Npph.js.map} +1 -1
  187. package/build/server/chunks/{_server.ts-SjllsJLQ.js → _server.ts-D1kQ_j_2.js} +5 -5
  188. package/build/server/chunks/{_server.ts-SjllsJLQ.js.map → _server.ts-D1kQ_j_2.js.map} +1 -1
  189. package/build/server/chunks/{_server.ts-Cx4HqW-Z.js → _server.ts-DALbFCuy.js} +2 -2
  190. package/build/server/chunks/{_server.ts-Cx4HqW-Z.js.map → _server.ts-DALbFCuy.js.map} +1 -1
  191. package/build/server/chunks/{_server.ts-CuKWH2Y0.js → _server.ts-DCezeO9D.js} +7 -7
  192. package/build/server/chunks/{_server.ts-CuKWH2Y0.js.map → _server.ts-DCezeO9D.js.map} +1 -1
  193. package/build/server/chunks/{_server.ts-VVG0ZLLE.js → _server.ts-DJmx3la_.js} +5 -5
  194. package/build/server/chunks/{_server.ts-VVG0ZLLE.js.map → _server.ts-DJmx3la_.js.map} +1 -1
  195. package/build/server/chunks/{_server.ts-D5KbK1EO.js → _server.ts-DLbTplBn.js} +5 -5
  196. package/build/server/chunks/{_server.ts-D5KbK1EO.js.map → _server.ts-DLbTplBn.js.map} +1 -1
  197. package/build/server/chunks/{_server.ts--DpjQMoc.js → _server.ts-DR8rM7PH.js} +5 -5
  198. package/build/server/chunks/{_server.ts--DpjQMoc.js.map → _server.ts-DR8rM7PH.js.map} +1 -1
  199. package/build/server/chunks/{_server.ts-BF8CUHqs.js → _server.ts-DTbiXJEw.js} +5 -5
  200. package/build/server/chunks/{_server.ts-BF8CUHqs.js.map → _server.ts-DTbiXJEw.js.map} +1 -1
  201. package/build/server/chunks/{_server.ts-CBMkCJyi.js → _server.ts-DY7BHiev.js} +5 -5
  202. package/build/server/chunks/{_server.ts-CBMkCJyi.js.map → _server.ts-DY7BHiev.js.map} +1 -1
  203. package/build/server/chunks/{_server.ts-BmmrJu7p.js → _server.ts-DYy0jKI8.js} +5 -5
  204. package/build/server/chunks/{_server.ts-BmmrJu7p.js.map → _server.ts-DYy0jKI8.js.map} +1 -1
  205. package/build/server/chunks/{_server.ts-PMhO6XFZ.js → _server.ts-DdIvxjIl.js} +5 -5
  206. package/build/server/chunks/{_server.ts-PMhO6XFZ.js.map → _server.ts-DdIvxjIl.js.map} +1 -1
  207. package/build/server/chunks/{_server.ts-CTt3Xlpt.js → _server.ts-DfUwiIFc.js} +5 -5
  208. package/build/server/chunks/{_server.ts-CTt3Xlpt.js.map → _server.ts-DfUwiIFc.js.map} +1 -1
  209. package/build/server/chunks/{_server.ts-490ZXI8p.js → _server.ts-Dgq8tX6T.js} +2 -2
  210. package/build/server/chunks/{_server.ts-490ZXI8p.js.map → _server.ts-Dgq8tX6T.js.map} +1 -1
  211. package/build/server/chunks/{_server.ts-C7E_JtbD.js → _server.ts-DhKn_mC3.js} +5 -5
  212. package/build/server/chunks/{_server.ts-C7E_JtbD.js.map → _server.ts-DhKn_mC3.js.map} +1 -1
  213. package/build/server/chunks/{_server.ts-3_HeE_vF.js → _server.ts-DjDeeV6L.js} +7 -7
  214. package/build/server/chunks/{_server.ts-3_HeE_vF.js.map → _server.ts-DjDeeV6L.js.map} +1 -1
  215. package/build/server/chunks/{_server.ts-DjN6yXTz.js → _server.ts-DmGUn9K1.js} +5 -5
  216. package/build/server/chunks/{_server.ts-DjN6yXTz.js.map → _server.ts-DmGUn9K1.js.map} +1 -1
  217. package/build/server/chunks/{_server.ts-Bc7A8rzZ.js → _server.ts-DnlADeFs.js} +6 -6
  218. package/build/server/chunks/{_server.ts-Bc7A8rzZ.js.map → _server.ts-DnlADeFs.js.map} +1 -1
  219. package/build/server/chunks/{_server.ts-CFHMk0p8.js → _server.ts-DugFVaf4.js} +5 -5
  220. package/build/server/chunks/{_server.ts-CFHMk0p8.js.map → _server.ts-DugFVaf4.js.map} +1 -1
  221. package/build/server/chunks/{_server.ts-fQQXFe9M.js → _server.ts-Dx9IVMZK.js} +5 -5
  222. package/build/server/chunks/{_server.ts-fQQXFe9M.js.map → _server.ts-Dx9IVMZK.js.map} +1 -1
  223. package/build/server/chunks/{_server.ts-Cdox4kyp.js → _server.ts-Dy396KQ2.js} +5 -5
  224. package/build/server/chunks/{_server.ts-Cdox4kyp.js.map → _server.ts-Dy396KQ2.js.map} +1 -1
  225. package/build/server/chunks/{_server.ts-BgXeptFK.js → _server.ts-DyxP5SI8.js} +5 -5
  226. package/build/server/chunks/{_server.ts-BgXeptFK.js.map → _server.ts-DyxP5SI8.js.map} +1 -1
  227. package/build/server/chunks/{_server.ts-DM6lThdl.js → _server.ts-Dz-fCCYT.js} +5 -5
  228. package/build/server/chunks/{_server.ts-DM6lThdl.js.map → _server.ts-Dz-fCCYT.js.map} +1 -1
  229. package/build/server/chunks/{_server.ts-DQUyafq3.js → _server.ts-EahvV4Vt.js} +5 -5
  230. package/build/server/chunks/{_server.ts-DQUyafq3.js.map → _server.ts-EahvV4Vt.js.map} +1 -1
  231. package/build/server/chunks/{_server.ts-DhQzFUF4.js → _server.ts-Hi6ffAhl.js} +6 -6
  232. package/build/server/chunks/{_server.ts-DhQzFUF4.js.map → _server.ts-Hi6ffAhl.js.map} +1 -1
  233. package/build/server/chunks/{_server.ts-BKvWzuAS.js → _server.ts-WPiWUEa6.js} +5 -5
  234. package/build/server/chunks/{_server.ts-BKvWzuAS.js.map → _server.ts-WPiWUEa6.js.map} +1 -1
  235. package/build/server/chunks/{_server.ts-CKJbhB_h.js → _server.ts-aBL-bZNn.js} +6 -6
  236. package/build/server/chunks/{_server.ts-CKJbhB_h.js.map → _server.ts-aBL-bZNn.js.map} +1 -1
  237. package/build/server/chunks/{_server.ts-DVx3AhsD.js → _server.ts-fH2ffIS9.js} +5 -5
  238. package/build/server/chunks/{_server.ts-DVx3AhsD.js.map → _server.ts-fH2ffIS9.js.map} +1 -1
  239. package/build/server/chunks/{_server.ts-ChKSe-AA.js → _server.ts-mD4FWHNQ.js} +5 -5
  240. package/build/server/chunks/{_server.ts-ChKSe-AA.js.map → _server.ts-mD4FWHNQ.js.map} +1 -1
  241. package/build/server/chunks/{_server.ts-D6VySx_-.js → _server.ts-qAVlgCgS.js} +5 -5
  242. package/build/server/chunks/{_server.ts-D6VySx_-.js.map → _server.ts-qAVlgCgS.js.map} +1 -1
  243. package/build/server/chunks/{_server.ts-Cd9JwMMp.js → _server.ts-ynDn6nif.js} +6 -6
  244. package/build/server/chunks/_server.ts-ynDn6nif.js.map +1 -0
  245. package/build/server/chunks/{addon-helpers-C0azaujt.js → addon-helpers-E9toOeAN.js} +3 -3
  246. package/build/server/chunks/{addon-helpers-C0azaujt.js.map → addon-helpers-E9toOeAN.js.map} +1 -1
  247. package/build/server/chunks/{akm-BzlkftXb.js → akm-Iqapnq_M.js} +2 -2
  248. package/build/server/chunks/{akm-BzlkftXb.js.map → akm-Iqapnq_M.js.map} +1 -1
  249. package/build/server/chunks/{catalog-BjcS-9RD.js → catalog-kcWyiPep.js} +5 -5
  250. package/build/server/chunks/{catalog-BjcS-9RD.js.map → catalog-kcWyiPep.js.map} +1 -1
  251. package/build/server/chunks/{client-B8iuur7b.js → client-COlNBMpO.js} +2 -2
  252. package/build/server/chunks/{client-B8iuur7b.js.map → client-COlNBMpO.js.map} +1 -1
  253. package/build/server/chunks/{config-36DEvVZH.js → config-osYhwi1d.js} +2 -2
  254. package/build/server/chunks/{config-36DEvVZH.js.map → config-osYhwi1d.js.map} +1 -1
  255. package/build/server/chunks/{docker-Xky8KsOe.js → docker-Cwz7g9Fp.js} +2 -2
  256. package/build/server/chunks/{docker-Xky8KsOe.js.map → docker-Cwz7g9Fp.js.map} +1 -1
  257. package/build/server/chunks/{endpoints-DIQ-qrrL.js → endpoints-C2sfguhT.js} +2 -2
  258. package/build/server/chunks/{endpoints-DIQ-qrrL.js.map → endpoints-C2sfguhT.js.map} +1 -1
  259. package/build/server/chunks/{environment-B7NymDAL.js → environment-Dgk7Zpzu.js} +2 -2
  260. package/build/server/chunks/{environment-B7NymDAL.js.map → environment-Dgk7Zpzu.js.map} +1 -1
  261. package/build/server/chunks/{error.svelte-BQiDKgW2.js → error.svelte-B3E2hBuW.js} +4 -4
  262. package/build/server/chunks/{error.svelte-BQiDKgW2.js.map → error.svelte-B3E2hBuW.js.map} +1 -1
  263. package/build/server/chunks/{helpers-TBhHA7BL.js → helpers-DL0rlFJr.js} +3 -3
  264. package/build/server/chunks/{helpers-TBhHA7BL.js.map → helpers-DL0rlFJr.js.map} +1 -1
  265. package/build/server/chunks/{hooks.server-UooxK5Hq.js → hooks.server-BVNQXwcy.js} +7 -7
  266. package/build/server/chunks/{hooks.server-UooxK5Hq.js.map → hooks.server-BVNQXwcy.js.map} +1 -1
  267. package/build/server/chunks/{http-D1XmiUzn.js → http-D2p_SepQ.js} +2 -2
  268. package/build/server/chunks/{http-D1XmiUzn.js.map → http-D2p_SepQ.js.map} +1 -1
  269. package/build/server/chunks/{internal-DYjrNs__.js → internal-D1Iu5LHn.js} +3 -3
  270. package/build/server/chunks/{internal-DYjrNs__.js.map → internal-D1Iu5LHn.js.map} +1 -1
  271. package/build/server/chunks/{migration-status-cTKFvPYd.js → migration-status-BV4S8Q7v.js} +2 -2
  272. package/build/server/chunks/{migration-status-cTKFvPYd.js.map → migration-status-BV4S8Q7v.js.map} +1 -1
  273. package/build/server/chunks/{session-cookie-BJaAqVXS.js → session-cookie-DTiNx7Rk.js} +2 -2
  274. package/build/server/chunks/{session-cookie-BJaAqVXS.js.map → session-cookie-DTiNx7Rk.js.map} +1 -1
  275. package/build/server/chunks/{setup-deploy-BcxKW3xV.js → setup-deploy-CyDh3qyw.js} +2 -2
  276. package/build/server/chunks/{setup-deploy-BcxKW3xV.js.map → setup-deploy-CyDh3qyw.js.map} +1 -1
  277. package/build/server/chunks/{src-BrowG4c5.js → src-BGtbBgcg.js} +2 -5
  278. package/build/server/chunks/src-BGtbBgcg.js.map +1 -0
  279. package/build/server/chunks/{state-uRAQa1hp.js → state-yBCk2V-E.js} +2 -2
  280. package/build/server/chunks/{state-uRAQa1hp.js.map → state-yBCk2V-E.js.map} +1 -1
  281. package/build/server/chunks/{state2-C0_95QUq.js → state2-BvcX1tGj.js} +2 -2
  282. package/build/server/chunks/{state2-C0_95QUq.js.map → state2-BvcX1tGj.js.map} +1 -1
  283. package/build/server/index.js +2 -2
  284. package/build/server/manifest.js +93 -93
  285. package/build/server/manifest.js.map +1 -1
  286. package/package.json +2 -2
  287. package/build/client/_app/immutable/assets/4.yeuiN53z.css +0 -1
  288. package/build/client/_app/immutable/assets/4.yeuiN53z.css.br +0 -0
  289. package/build/client/_app/immutable/assets/4.yeuiN53z.css.gz +0 -0
  290. package/build/client/_app/immutable/chunks/B-sorx18.js.br +0 -0
  291. package/build/client/_app/immutable/chunks/B-sorx18.js.gz +0 -0
  292. package/build/client/_app/immutable/chunks/CLrfghFK.js +0 -1
  293. package/build/client/_app/immutable/chunks/CLrfghFK.js.br +0 -2
  294. package/build/client/_app/immutable/chunks/CLrfghFK.js.gz +0 -0
  295. package/build/client/_app/immutable/chunks/D2kpcjIW.js.br +0 -0
  296. package/build/client/_app/immutable/chunks/D2kpcjIW.js.gz +0 -0
  297. package/build/client/_app/immutable/chunks/Dky5K2LB.js.br +0 -0
  298. package/build/client/_app/immutable/chunks/Dky5K2LB.js.gz +0 -0
  299. package/build/client/_app/immutable/chunks/vShalCpq.js.br +0 -0
  300. package/build/client/_app/immutable/entry/app.ByrueOmB.js.br +0 -0
  301. package/build/client/_app/immutable/entry/app.ByrueOmB.js.gz +0 -0
  302. package/build/client/_app/immutable/entry/start.CX3vfWZX.js +0 -1
  303. package/build/client/_app/immutable/entry/start.CX3vfWZX.js.br +0 -0
  304. package/build/client/_app/immutable/entry/start.CX3vfWZX.js.gz +0 -0
  305. package/build/client/_app/immutable/nodes/1.DjtG_D8w.js.br +0 -2
  306. package/build/client/_app/immutable/nodes/1.DjtG_D8w.js.gz +0 -0
  307. package/build/client/_app/immutable/nodes/4.Q3NQORNR.js.br +0 -0
  308. package/build/client/_app/immutable/nodes/4.Q3NQORNR.js.gz +0 -0
  309. package/build/client/_app/immutable/nodes/5.Gwr8UAQM.js.br +0 -0
  310. package/build/client/_app/immutable/nodes/5.Gwr8UAQM.js.gz +0 -0
  311. package/build/client/_app/immutable/nodes/6.D3jTTLhO.js.br +0 -0
  312. package/build/client/_app/immutable/nodes/6.D3jTTLhO.js.gz +0 -0
  313. package/build/client/_app/immutable/nodes/7.BAsevRLv.js.br +0 -0
  314. package/build/client/_app/immutable/nodes/7.BAsevRLv.js.gz +0 -0
  315. package/build/client/_app/immutable/nodes/8.Df9ktODJ.js.br +0 -0
  316. package/build/client/_app/immutable/nodes/8.Df9ktODJ.js.gz +0 -0
  317. package/build/server/chunks/1-C6FeFdMq.js +0 -9
  318. package/build/server/chunks/4-DU6tKPKM.js +0 -9
  319. package/build/server/chunks/7-D7OLEPBt.js +0 -9
  320. package/build/server/chunks/_page.svelte-DlYG76L7.js.map +0 -1
  321. package/build/server/chunks/_server.ts-Cd9JwMMp.js.map +0 -1
  322. package/build/server/chunks/src-BrowG4c5.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Bw7iK0pF.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/stack-version/_server.ts.js"],"sourcesContent":["import { B as applyTagChange, R as DowngradeConfirmationRequired, bn as createLogger, tt as checkDocker } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/stack-version/+server.ts\nvar logger = createLogger(\"stack-version\");\nvar PATCH = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"invalid_json\", \"Request body must be valid JSON\", {}, requestId);\n\t}\n\tconst tag = typeof body.tag === \"string\" ? body.tag.trim() : \"\";\n\tif (!tag) return errorResponse(400, \"tag_required\", \"tag is required\", {}, requestId);\n\tif (!/^[a-zA-Z0-9._\\-]+$/.test(tag)) return errorResponse(400, \"invalid_tag\", \"Tag must be alphanumeric with . _ or - only\", {}, requestId);\n\tconst confirmDowngrade = body.confirmDowngrade === true;\n\tconst state = getState();\n\tconst dockerCheck = await checkDocker();\n\tif (!dockerCheck.ok) {\n\t\tlogger.error(\"stack-version aborted: docker unavailable\", { requestId });\n\t\treturn errorResponse(503, \"docker_unavailable\", \"Docker is not available\", { stderr: dockerCheck.stderr }, requestId);\n\t}\n\tlet result;\n\ttry {\n\t\tresult = await applyTagChange(state, tag, { confirmDowngrade });\n\t} catch (e) {\n\t\tif (e instanceof DowngradeConfirmationRequired) {\n\t\t\tlogger.info(\"stack-version downgrade requires confirmation\", {\n\t\t\t\trequestId,\n\t\t\t\tcurrentVersion: e.currentVersion,\n\t\t\t\ttargetVersion: e.targetVersion\n\t\t\t});\n\t\t\treturn errorResponse(409, \"downgrade_confirmation_required\", e.message, {\n\t\t\t\tcurrentVersion: e.currentVersion,\n\t\t\t\ttargetVersion: e.targetVersion\n\t\t\t}, requestId);\n\t\t}\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"stack-version apply failed\", {\n\t\t\trequestId,\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(502, \"apply_failed\", msg, { message: msg }, requestId);\n\t}\n\tlogger.info(\"stack-version applied\", {\n\t\trequestId,\n\t\timageTag: result.imageTag\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\timageTag: result.imageTag,\n\t\trestarted: result.restarted\n\t}, requestId);\n};\n//#endregion\nexport { PATCH };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CsWOQwa4.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/stack-version/_server.ts.js"],"sourcesContent":["import { B as applyTagChange, R as DowngradeConfirmationRequired, bn as createLogger, tt as checkDocker } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/stack-version/+server.ts\nvar logger = createLogger(\"stack-version\");\nvar PATCH = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"invalid_json\", \"Request body must be valid JSON\", {}, requestId);\n\t}\n\tconst tag = typeof body.tag === \"string\" ? body.tag.trim() : \"\";\n\tif (!tag) return errorResponse(400, \"tag_required\", \"tag is required\", {}, requestId);\n\tif (!/^[a-zA-Z0-9._\\-]+$/.test(tag)) return errorResponse(400, \"invalid_tag\", \"Tag must be alphanumeric with . _ or - only\", {}, requestId);\n\tconst confirmDowngrade = body.confirmDowngrade === true;\n\tconst state = getState();\n\tconst dockerCheck = await checkDocker();\n\tif (!dockerCheck.ok) {\n\t\tlogger.error(\"stack-version aborted: docker unavailable\", { requestId });\n\t\treturn errorResponse(503, \"docker_unavailable\", \"Docker is not available\", { stderr: dockerCheck.stderr }, requestId);\n\t}\n\tlet result;\n\ttry {\n\t\tresult = await applyTagChange(state, tag, { confirmDowngrade });\n\t} catch (e) {\n\t\tif (e instanceof DowngradeConfirmationRequired) {\n\t\t\tlogger.info(\"stack-version downgrade requires confirmation\", {\n\t\t\t\trequestId,\n\t\t\t\tcurrentVersion: e.currentVersion,\n\t\t\t\ttargetVersion: e.targetVersion\n\t\t\t});\n\t\t\treturn errorResponse(409, \"downgrade_confirmation_required\", e.message, {\n\t\t\t\tcurrentVersion: e.currentVersion,\n\t\t\t\ttargetVersion: e.targetVersion\n\t\t\t}, requestId);\n\t\t}\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"stack-version apply failed\", {\n\t\t\trequestId,\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(502, \"apply_failed\", msg, { message: msg }, requestId);\n\t}\n\tlogger.info(\"stack-version applied\", {\n\t\trequestId,\n\t\timageTag: result.imageTag\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\timageTag: result.imageTag,\n\t\trestarted: result.restarted\n\t}, requestId);\n};\n//#endregion\nexport { PATCH };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { aV as runAssistantAkmCommand } from './src-BrowG4c5.js';
2
- import { g as getState } from './state-uRAQa1hp.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-TBhHA7BL.js';
1
+ import { aV as runAssistantAkmCommand } from './src-BGtbBgcg.js';
2
+ import { g as getState } from './state-yBCk2V-E.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-DL0rlFJr.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-DIQ-qrrL.js';
25
+ import './endpoints-C2sfguhT.js';
26
26
 
27
27
  //#region src/routes/admin/akm/reindex/+server.ts
28
28
  var POST = async (event) => {
@@ -39,4 +39,4 @@ var POST = async (event) => {
39
39
  };
40
40
 
41
41
  export { POST };
42
- //# sourceMappingURL=_server.ts-cEqTNUtc.js.map
42
+ //# sourceMappingURL=_server.ts-CxHSDY6c.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-cEqTNUtc.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/reindex/_server.ts.js"],"sourcesContent":["import { r as runAssistantAkmCommand } 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/akm/reindex/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await runAssistantAkmCommand(getState(), [\"index\", \"--full\"], 15 * 6e4);\n\tif (!result.ok) return errorResponse(502, \"akm_reindex_failed\", result.stderr.trim() || result.stdout.trim() || \"AKM re-index failed.\", {}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tmessage: \"AKM index rebuilt successfully.\",\n\t\toutput: result.stdout.trim()\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC;AACvF,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AACvJ,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO,EAAE,iCAAiC;AAC5C,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;AAC5B,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-CxHSDY6c.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/reindex/_server.ts.js"],"sourcesContent":["import { r as runAssistantAkmCommand } 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/akm/reindex/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await runAssistantAkmCommand(getState(), [\"index\", \"--full\"], 15 * 6e4);\n\tif (!result.ok) return errorResponse(502, \"akm_reindex_failed\", result.stderr.trim() || result.stdout.trim() || \"AKM re-index failed.\", {}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tmessage: \"AKM index rebuilt successfully.\",\n\t\toutput: result.stdout.trim()\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC;AACvF,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AACvJ,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO,EAAE,iCAAiC;AAC5C,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;AAC5B,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { Q as detectHostOpenCode, ac as hostAkmStashPath, ai as isHostAkmAvailable, G as createLogger } from './src-BrowG4c5.js';
2
+ import { Q as detectHostOpenCode, ac as hostAkmStashPath, ai as isHostAkmAvailable, G as createLogger } from './src-BGtbBgcg.js';
3
3
  import { homedir } from 'node:os';
4
4
  import './utils-BSRjJDrZ.js';
5
5
  import './chunk-CLZ62Ad-.js';
@@ -64,4 +64,4 @@ var GET = () => {
64
64
  };
65
65
 
66
66
  export { GET };
67
- //# sourceMappingURL=_server.ts-BiivXvhc.js.map
67
+ //# sourceMappingURL=_server.ts-CzvJLf02.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BiivXvhc.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/host-status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { T as isHostAkmAvailable, bn as createLogger, i as detectHostOpenCode, w as hostAkmStashPath } from \"../../../../../chunks/src.js\";\nimport { homedir } from \"node:os\";\n//#region src/routes/api/setup/host-status/+server.ts\nvar logger = createLogger(\"admin:host-status\");\nvar GET = () => {\n\ttry {\n\t\tconst status = detectHostOpenCode();\n\t\tconst home = homedir();\n\t\tconst akmStashPath = hostAkmStashPath();\n\t\tconst hostAkmAvailable = isHostAkmAvailable();\n\t\treturn json({\n\t\t\tdetected: status.providerCount > 0 || status.credentialCount > 0,\n\t\t\tproviderCount: status.providerCount,\n\t\t\tcredentialCount: status.credentialCount,\n\t\t\tmodelPreferences: status.modelPreferences,\n\t\t\timageTag: \"latest\",\n\t\t\thostAkmAvailable,\n\t\t\thostAkmPaths: {\n\t\t\t\tstash: akmStashPath,\n\t\t\t\tdata: `${home}/.local/share/akm`,\n\t\t\t\tstate: `${home}/.local/state/akm`,\n\t\t\t\tconfig: `${home}/.config/akm`\n\t\t\t}\n\t\t});\n\t} catch (err) {\n\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\tconst stack = err instanceof Error ? err.stack : void 0;\n\t\tlogger.warn(\"failed to detect host openpalm/openpalm state\", {\n\t\t\terror: message,\n\t\t\tstack\n\t\t});\n\t\treturn json({\n\t\t\tdetected: false,\n\t\t\tproviderCount: 0,\n\t\t\tcredentialCount: 0,\n\t\t\timageTag: \"latest\",\n\t\t\thostAkmAvailable: false,\n\t\t\twarning: `Could not detect host OpenCode state: ${message}`\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,mBAAmB,CAAC;AAC3C,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,kBAAkB,EAAE;AACrC,EAAE,MAAM,IAAI,GAAG,OAAO,EAAE;AACxB,EAAE,MAAM,YAAY,GAAG,gBAAgB,EAAE;AACzC,EAAE,MAAM,gBAAgB,GAAG,kBAAkB,EAAE;AAC/C,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,MAAM,CAAC,aAAa,GAAG,CAAC,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC;AACnE,GAAG,aAAa,EAAE,MAAM,CAAC,aAAa;AACtC,GAAG,eAAe,EAAE,MAAM,CAAC,eAAe;AAC1C,GAAG,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;AAC5C,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,gBAAgB;AACnB,GAAG,YAAY,EAAE;AACjB,IAAI,KAAK,EAAE,YAAY;AACvB,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACpC,IAAI,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACrC,IAAI,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY;AAChC;AACA,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAClE,EAAE,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,MAAM;AACzD,EAAE,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;AAC/D,GAAG,KAAK,EAAE,OAAO;AACjB,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,KAAK;AAClB,GAAG,aAAa,EAAE,CAAC;AACnB,GAAG,eAAe,EAAE,CAAC;AACrB,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,gBAAgB,EAAE,KAAK;AAC1B,GAAG,OAAO,EAAE,CAAC,sCAAsC,EAAE,OAAO,CAAC;AAC7D,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-CzvJLf02.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/host-status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { T as isHostAkmAvailable, bn as createLogger, i as detectHostOpenCode, w as hostAkmStashPath } from \"../../../../../chunks/src.js\";\nimport { homedir } from \"node:os\";\n//#region src/routes/api/setup/host-status/+server.ts\nvar logger = createLogger(\"admin:host-status\");\nvar GET = () => {\n\ttry {\n\t\tconst status = detectHostOpenCode();\n\t\tconst home = homedir();\n\t\tconst akmStashPath = hostAkmStashPath();\n\t\tconst hostAkmAvailable = isHostAkmAvailable();\n\t\treturn json({\n\t\t\tdetected: status.providerCount > 0 || status.credentialCount > 0,\n\t\t\tproviderCount: status.providerCount,\n\t\t\tcredentialCount: status.credentialCount,\n\t\t\tmodelPreferences: status.modelPreferences,\n\t\t\timageTag: \"latest\",\n\t\t\thostAkmAvailable,\n\t\t\thostAkmPaths: {\n\t\t\t\tstash: akmStashPath,\n\t\t\t\tdata: `${home}/.local/share/akm`,\n\t\t\t\tstate: `${home}/.local/state/akm`,\n\t\t\t\tconfig: `${home}/.config/akm`\n\t\t\t}\n\t\t});\n\t} catch (err) {\n\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\tconst stack = err instanceof Error ? err.stack : void 0;\n\t\tlogger.warn(\"failed to detect host openpalm/openpalm state\", {\n\t\t\terror: message,\n\t\t\tstack\n\t\t});\n\t\treturn json({\n\t\t\tdetected: false,\n\t\t\tproviderCount: 0,\n\t\t\tcredentialCount: 0,\n\t\t\timageTag: \"latest\",\n\t\t\thostAkmAvailable: false,\n\t\t\twarning: `Could not detect host OpenCode state: ${message}`\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,mBAAmB,CAAC;AAC3C,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,kBAAkB,EAAE;AACrC,EAAE,MAAM,IAAI,GAAG,OAAO,EAAE;AACxB,EAAE,MAAM,YAAY,GAAG,gBAAgB,EAAE;AACzC,EAAE,MAAM,gBAAgB,GAAG,kBAAkB,EAAE;AAC/C,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,MAAM,CAAC,aAAa,GAAG,CAAC,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC;AACnE,GAAG,aAAa,EAAE,MAAM,CAAC,aAAa;AACtC,GAAG,eAAe,EAAE,MAAM,CAAC,eAAe;AAC1C,GAAG,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;AAC5C,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,gBAAgB;AACnB,GAAG,YAAY,EAAE;AACjB,IAAI,KAAK,EAAE,YAAY;AACvB,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACpC,IAAI,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACrC,IAAI,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY;AAChC;AACA,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAClE,EAAE,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,MAAM;AACzD,EAAE,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;AAC/D,GAAG,KAAK,EAAE,OAAO;AACjB,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,KAAK;AAClB,GAAG,aAAa,EAAE,CAAC;AACnB,GAAG,eAAe,EAAE,CAAC;AACrB,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,gBAAgB,EAAE,KAAK;AAC1B,GAAG,OAAO,EAAE,CAAC,sCAAsC,EAAE,OAAO,CAAC;AAC7D,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { a as loadSetupProviderPage } from './catalog-BjcS-9RD.js';
2
+ import { a as loadSetupProviderPage } from './catalog-kcWyiPep.js';
3
3
  import './utils-BSRjJDrZ.js';
4
- import './src-BrowG4c5.js';
4
+ import './src-BGtbBgcg.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import './provider-constants-DPrj3yBX.js';
@@ -23,11 +23,11 @@ import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
25
  import 'node:os';
26
- import './state-uRAQa1hp.js';
26
+ import './state-yBCk2V-E.js';
27
27
  import './coercion-TNFJisCC.js';
28
- import './http-D1XmiUzn.js';
29
- import './endpoints-DIQ-qrrL.js';
30
- import './config-36DEvVZH.js';
28
+ import './http-D2p_SepQ.js';
29
+ import './endpoints-C2sfguhT.js';
30
+ import './config-osYhwi1d.js';
31
31
 
32
32
  //#region src/routes/api/setup/opencode/providers/+server.ts
33
33
  var GET = async () => {
@@ -38,4 +38,4 @@ var GET = async () => {
38
38
  };
39
39
 
40
40
  export { GET };
41
- //# sourceMappingURL=_server.ts-C-KIZoZe.js.map
41
+ //# sourceMappingURL=_server.ts-D1j4Npph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-C-KIZoZe.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/providers/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { n as loadSetupProviderPage } from \"../../../../../../chunks/catalog.js\";\n//#region src/routes/api/setup/opencode/providers/+server.ts\nvar GET = async () => {\n\treturn json({\n\t\tok: true,\n\t\t...await loadSetupProviderPage()\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,GAAG,MAAM,qBAAqB;AAChC,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-D1j4Npph.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/providers/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { n as loadSetupProviderPage } from \"../../../../../../chunks/catalog.js\";\n//#region src/routes/api/setup/opencode/providers/+server.ts\nvar GET = async () => {\n\treturn json({\n\t\tok: true,\n\t\t...await loadSetupProviderPage()\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,GAAG,MAAM,qBAAqB;AAChC,EAAE,CAAC;AACH;;;;"}
@@ -1,6 +1,6 @@
1
- import { ao as listEnabledAddonIds } from './src-BrowG4c5.js';
2
- import { g as getState } from './state-uRAQa1hp.js';
3
- import { d as getRequestId, k as jsonResponse } from './helpers-TBhHA7BL.js';
1
+ import { ao as listEnabledAddonIds } from './src-BGtbBgcg.js';
2
+ import { g as getState } from './state-yBCk2V-E.js';
3
+ import { d as getRequestId, k as jsonResponse } from './helpers-DL0rlFJr.js';
4
4
  import { execFile } from 'node:child_process';
5
5
  import { promisify } from 'node:util';
6
6
  import './chunk-CLZ62Ad-.js';
@@ -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-DIQ-qrrL.js';
26
+ import './endpoints-C2sfguhT.js';
27
27
 
28
28
  //#region src/routes/guardian/health/+server.ts
29
29
  var execFileAsync = promisify(execFile);
@@ -82,4 +82,4 @@ var GET = async (event) => {
82
82
  };
83
83
 
84
84
  export { GET };
85
- //# sourceMappingURL=_server.ts-SjllsJLQ.js.map
85
+ //# sourceMappingURL=_server.ts-D1kQ_j_2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-SjllsJLQ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/guardian/health/_server.ts.js"],"sourcesContent":["import { At as listEnabledAddonIds } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { execFile } from \"node:child_process\";\nimport { promisify } from \"node:util\";\n//#region src/routes/guardian/health/+server.ts\nvar execFileAsync = promisify(execFile);\nvar PORTAL_ADDON_IDS = [\n\t\"api\",\n\t\"chat\",\n\t\"discord\",\n\t\"slack\"\n];\n/**\n* Guardian health — queries the running container directly.\n*\n* Guardian has no host port mapping in the 0.11.0+ layout (it's reachable\n* only on the internal portal_net/assistant_net networks). The previous\n* implementation read the UI's in-memory ControlPlaneState, which is stale\n* whenever the stack was started by something other than the UI itself\n* (CLI, docker compose directly, AppImage on a pre-existing stack).\n*\n* `docker container inspect ... --format '{{.State.Health.Status}}'` is the\n* authoritative source: it reads the compose-defined healthcheck the\n* guardian container already runs internally. Same approach as the\n* admin-tools-plugin host-side health-check tool.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\ttry {\n\t\tif (!listEnabledAddonIds(getState().homeDir).some((a) => PORTAL_ADDON_IDS.includes(a))) return jsonResponse(200, {\n\t\t\tstatus: \"not_deployed\",\n\t\t\tservice: \"guardian\"\n\t\t}, requestId);\n\t} catch {}\n\ttry {\n\t\tconst { stdout } = await execFileAsync(\"docker\", [\n\t\t\t\"container\",\n\t\t\t\"inspect\",\n\t\t\t\"openpalm-guardian-1\",\n\t\t\t\"--format\",\n\t\t\t\"{{.State.Health.Status}}\"\n\t\t], { timeout: 5e3 });\n\t\tconst status = stdout.trim();\n\t\tif (status === \"healthy\") return jsonResponse(200, {\n\t\t\tstatus: \"ok\",\n\t\t\tservice: \"guardian\"\n\t\t}, requestId);\n\t\treturn jsonResponse(503, {\n\t\t\tstatus: status || \"unknown\",\n\t\t\tservice: \"guardian\"\n\t\t}, requestId);\n\t} catch (err) {\n\t\treturn jsonResponse(503, {\n\t\t\tstatus: \"unreachable\",\n\t\t\tservice: \"guardian\",\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t}, requestId);\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACA,IAAI,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC;AACvC,IAAI,gBAAgB,GAAG;AACvB,CAAC,KAAK;AACN,CAAC,MAAM;AACP,CAAC,SAAS;AACV,CAAC;AACD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI;AACL,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACnH,GAAG,MAAM,EAAE,cAAc;AACzB,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,IAAI;AACL,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE;AACnD,GAAG,WAAW;AACd,GAAG,SAAS;AACZ,GAAG,qBAAqB;AACxB,GAAG,UAAU;AACb,GAAG;AACH,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AACtB,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE;AAC9B,EAAE,IAAI,MAAM,KAAK,SAAS,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACrD,GAAG,MAAM,EAAE,IAAI;AACf,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,MAAM,EAAE,MAAM,IAAI,SAAS;AAC9B,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,MAAM,EAAE,aAAa;AACxB,GAAG,OAAO,EAAE,UAAU;AACtB,GAAG,KAAK,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG;AACzD,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-D1kQ_j_2.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/guardian/health/_server.ts.js"],"sourcesContent":["import { At as listEnabledAddonIds } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { execFile } from \"node:child_process\";\nimport { promisify } from \"node:util\";\n//#region src/routes/guardian/health/+server.ts\nvar execFileAsync = promisify(execFile);\nvar PORTAL_ADDON_IDS = [\n\t\"api\",\n\t\"chat\",\n\t\"discord\",\n\t\"slack\"\n];\n/**\n* Guardian health — queries the running container directly.\n*\n* Guardian has no host port mapping in the 0.11.0+ layout (it's reachable\n* only on the internal portal_net/assistant_net networks). The previous\n* implementation read the UI's in-memory ControlPlaneState, which is stale\n* whenever the stack was started by something other than the UI itself\n* (CLI, docker compose directly, AppImage on a pre-existing stack).\n*\n* `docker container inspect ... --format '{{.State.Health.Status}}'` is the\n* authoritative source: it reads the compose-defined healthcheck the\n* guardian container already runs internally. Same approach as the\n* admin-tools-plugin host-side health-check tool.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\ttry {\n\t\tif (!listEnabledAddonIds(getState().homeDir).some((a) => PORTAL_ADDON_IDS.includes(a))) return jsonResponse(200, {\n\t\t\tstatus: \"not_deployed\",\n\t\t\tservice: \"guardian\"\n\t\t}, requestId);\n\t} catch {}\n\ttry {\n\t\tconst { stdout } = await execFileAsync(\"docker\", [\n\t\t\t\"container\",\n\t\t\t\"inspect\",\n\t\t\t\"openpalm-guardian-1\",\n\t\t\t\"--format\",\n\t\t\t\"{{.State.Health.Status}}\"\n\t\t], { timeout: 5e3 });\n\t\tconst status = stdout.trim();\n\t\tif (status === \"healthy\") return jsonResponse(200, {\n\t\t\tstatus: \"ok\",\n\t\t\tservice: \"guardian\"\n\t\t}, requestId);\n\t\treturn jsonResponse(503, {\n\t\t\tstatus: status || \"unknown\",\n\t\t\tservice: \"guardian\"\n\t\t}, requestId);\n\t} catch (err) {\n\t\treturn jsonResponse(503, {\n\t\t\tstatus: \"unreachable\",\n\t\t\tservice: \"guardian\",\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t}, requestId);\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACA,IAAI,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC;AACvC,IAAI,gBAAgB,GAAG;AACvB,CAAC,KAAK;AACN,CAAC,MAAM;AACP,CAAC,SAAS;AACV,CAAC;AACD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI;AACL,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACnH,GAAG,MAAM,EAAE,cAAc;AACzB,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,IAAI;AACL,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE;AACnD,GAAG,WAAW;AACd,GAAG,SAAS;AACZ,GAAG,qBAAqB;AACxB,GAAG,UAAU;AACb,GAAG;AACH,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AACtB,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE;AAC9B,EAAE,IAAI,MAAM,KAAK,SAAS,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACrD,GAAG,MAAM,EAAE,IAAI;AACf,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,MAAM,EAAE,MAAM,IAAI,SAAS;AAC9B,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,MAAM,EAAE,aAAa;AACxB,GAAG,OAAO,EAAE,UAAU;AACtB,GAAG,KAAK,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG;AACzD,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { R as detectLocalProviders } from './src-BrowG4c5.js';
2
+ import { R as detectLocalProviders } from './src-BGtbBgcg.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-Cx4HqW-Z.js.map
43
+ //# sourceMappingURL=_server.ts-DALbFCuy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Cx4HqW-Z.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 { u 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-DALbFCuy.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 { u 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,9 +1,9 @@
1
- import { ad as importHostOpenCode, Q as detectHostOpenCode, i as authJsonPath, o as checkDocker, m as buildComposeOptions } from './src-BrowG4c5.js';
2
- import { g as getState } from './state-uRAQa1hp.js';
3
- import { d as getRequestId, r as requireAdmin, p as parseJsonBody, e as errorResponse, k as jsonResponse } from './helpers-TBhHA7BL.js';
1
+ import { ad as importHostOpenCode, Q as detectHostOpenCode, i as authJsonPath, o as checkDocker, m as buildComposeOptions } from './src-BGtbBgcg.js';
2
+ import { g as getState } from './state-yBCk2V-E.js';
3
+ import { d as getRequestId, r as requireAdmin, p as parseJsonBody, e as errorResponse, k as jsonResponse } from './helpers-DL0rlFJr.js';
4
4
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
5
- import { o as opencodeFetch } from './http-D1XmiUzn.js';
6
- import { c as composeRestart } from './docker-Xky8KsOe.js';
5
+ import { o as opencodeFetch } from './http-D2p_SepQ.js';
6
+ import { c as composeRestart } from './docker-Cwz7g9Fp.js';
7
7
  import { existsSync, readFileSync } from 'node:fs';
8
8
  import './chunk-CLZ62Ad-.js';
9
9
  import 'node:module';
@@ -25,7 +25,7 @@ import 'zlib';
25
25
  import 'node:assert';
26
26
  import 'node:fs/promises';
27
27
  import 'node:os';
28
- import './endpoints-DIQ-qrrL.js';
28
+ import './endpoints-C2sfguhT.js';
29
29
 
30
30
  //#region src/routes/admin/providers/import-host/+server.ts
31
31
  /**
@@ -157,4 +157,4 @@ var POST = async (event) => {
157
157
  };
158
158
 
159
159
  export { POST };
160
- //# sourceMappingURL=_server.ts-CuKWH2Y0.js.map
160
+ //# sourceMappingURL=_server.ts-DCezeO9D.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CuKWH2Y0.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/import-host/_server.ts.js"],"sourcesContent":["import { L as buildComposeOptions, Zt as authJsonPath, a as importHostOpenCode, i as detectHostOpenCode, tt as checkDocker } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\nimport { t as opencodeFetch } from \"../../../../../chunks/http.js\";\nimport { t as composeRestart } from \"../../../../../chunks/docker.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/admin/providers/import-host/+server.ts\n/**\n* POST /admin/providers/import-host\n*\n* Copies host OpenCode config + auth into OP_HOME, then pushes each\n* imported credential to the running OpenCode server so the providers\n* appear connected immediately (no restart required).\n*\n* - opencode.json: stripped of plugin/mcp/permission keys, merged with\n* existing OP_HOME config. Provider conflicts preserved by default.\n* - auth.json: byte-copied and chmodded 0o600. Never logged.\n* - Live push: best-effort PUT to OpenCode /auth/{id} per credential.\n* If OpenCode is unreachable, the file copy still applies and OpenCode\n* will pick up the credentials on next restart.\n* - Service restart: assistant is restarted after the import so opencode.json\n* provider blocks are re-read (live push only updates the auth store, not\n* config).\n*\n* Body (optional JSON):\n* { overwriteConflicts?: boolean } — default false\n*\n* Auth: admin token required.\n*/\n/**\n* Restart services that hold provider state in startup config.\n* Best-effort: the file-level import is the durable part; this is the polish\n* that makes the change visible without the user having to bounce things by hand.\n* OpenCode caches opencode.json provider blocks at startup, so imported\n* provider config needs a fresh assistant process.\n*/\nasync function restartProviderConsumers() {\n\tconst services = [\"assistant\"];\n\tif (!(await checkDocker()).ok) return {\n\t\trestarted: [],\n\t\tfailed: services.map((s) => ({\n\t\t\tservice: s,\n\t\t\terror: \"docker unavailable\"\n\t\t}))\n\t};\n\tconst opts = buildComposeOptions(getState());\n\tconst restarted = [];\n\tconst failed = [];\n\tfor (const service of services) try {\n\t\tconst r = await composeRestart([service], opts);\n\t\tif (r.ok) restarted.push(service);\n\t\telse failed.push({\n\t\t\tservice,\n\t\t\terror: r.stderr || `exit ${r.code}`\n\t\t});\n\t} catch (err) {\n\t\tfailed.push({\n\t\t\tservice,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n\treturn {\n\t\trestarted,\n\t\tfailed\n\t};\n}\n/** Push each auth.json entry to OpenCode's /auth/{id} so the running process sees them. */\nasync function pushAuthToOpenCode(authPath) {\n\tlet raw;\n\ttry {\n\t\traw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t} catch {\n\t\treturn {\n\t\t\tpushed: 0,\n\t\t\tfailed: []\n\t\t};\n\t}\n\tif (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return {\n\t\tpushed: 0,\n\t\tfailed: []\n\t};\n\tlet pushed = 0;\n\tconst failed = [];\n\tfor (const [providerId, value] of Object.entries(raw)) try {\n\t\tawait opencodeFetch(`/auth/${encodeURIComponent(providerId)}`, {\n\t\t\tmethod: \"PUT\",\n\t\t\tbody: JSON.stringify(value)\n\t\t});\n\t\tpushed++;\n\t} catch {\n\t\tfailed.push(providerId);\n\t}\n\treturn {\n\t\tpushed,\n\t\tfailed\n\t};\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:providers:import-host\", async () => {\n\t\tconst state = getState();\n\t\tlet overwriteConflicts = false;\n\t\tif ((event.request.headers.get(\"content-type\") ?? \"\").includes(\"application/json\")) {\n\t\t\tconst parsed = await parseJsonBody(event.request);\n\t\t\tif (!(\"error\" in parsed)) overwriteConflicts = parsed.data.overwriteConflicts === true;\n\t\t}\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = importHostOpenCode(state, { overwriteConflicts });\n\t\t} catch (err) {\n\t\t\treturn errorResponse(500, \"import_failed\", err instanceof Error ? err.message : \"Import failed\", {}, requestId);\n\t\t}\n\t\tconst hostStatus = detectHostOpenCode();\n\t\tlet livePush = {\n\t\t\tpushed: 0,\n\t\t\tfailed: []\n\t\t};\n\t\tconst importedAuthPath = authJsonPath(state);\n\t\tif (existsSync(importedAuthPath)) livePush = await pushAuthToOpenCode(importedAuthPath);\n\t\telse if (hostStatus.authPath) livePush = await pushAuthToOpenCode(hostStatus.authPath);\n\t\tconst restart = await restartProviderConsumers();\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\timported: result.imported,\n\t\t\tconflicts: result.conflicts,\n\t\t\tlivePushed: livePush.pushed,\n\t\t\tlivePushFailed: livePush.failed,\n\t\t\trestarted: restart.restarted,\n\t\t\trestartFailed: restart.failed\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-DCezeO9D.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/import-host/_server.ts.js"],"sourcesContent":["import { L as buildComposeOptions, Zt as authJsonPath, a as importHostOpenCode, i as detectHostOpenCode, tt as checkDocker } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\nimport { t as opencodeFetch } from \"../../../../../chunks/http.js\";\nimport { t as composeRestart } from \"../../../../../chunks/docker.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/admin/providers/import-host/+server.ts\n/**\n* POST /admin/providers/import-host\n*\n* Copies host OpenCode config + auth into OP_HOME, then pushes each\n* imported credential to the running OpenCode server so the providers\n* appear connected immediately (no restart required).\n*\n* - opencode.json: stripped of plugin/mcp/permission keys, merged with\n* existing OP_HOME config. Provider conflicts preserved by default.\n* - auth.json: byte-copied and chmodded 0o600. Never logged.\n* - Live push: best-effort PUT to OpenCode /auth/{id} per credential.\n* If OpenCode is unreachable, the file copy still applies and OpenCode\n* will pick up the credentials on next restart.\n* - Service restart: assistant is restarted after the import so opencode.json\n* provider blocks are re-read (live push only updates the auth store, not\n* config).\n*\n* Body (optional JSON):\n* { overwriteConflicts?: boolean } — default false\n*\n* Auth: admin token required.\n*/\n/**\n* Restart services that hold provider state in startup config.\n* Best-effort: the file-level import is the durable part; this is the polish\n* that makes the change visible without the user having to bounce things by hand.\n* OpenCode caches opencode.json provider blocks at startup, so imported\n* provider config needs a fresh assistant process.\n*/\nasync function restartProviderConsumers() {\n\tconst services = [\"assistant\"];\n\tif (!(await checkDocker()).ok) return {\n\t\trestarted: [],\n\t\tfailed: services.map((s) => ({\n\t\t\tservice: s,\n\t\t\terror: \"docker unavailable\"\n\t\t}))\n\t};\n\tconst opts = buildComposeOptions(getState());\n\tconst restarted = [];\n\tconst failed = [];\n\tfor (const service of services) try {\n\t\tconst r = await composeRestart([service], opts);\n\t\tif (r.ok) restarted.push(service);\n\t\telse failed.push({\n\t\t\tservice,\n\t\t\terror: r.stderr || `exit ${r.code}`\n\t\t});\n\t} catch (err) {\n\t\tfailed.push({\n\t\t\tservice,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n\treturn {\n\t\trestarted,\n\t\tfailed\n\t};\n}\n/** Push each auth.json entry to OpenCode's /auth/{id} so the running process sees them. */\nasync function pushAuthToOpenCode(authPath) {\n\tlet raw;\n\ttry {\n\t\traw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t} catch {\n\t\treturn {\n\t\t\tpushed: 0,\n\t\t\tfailed: []\n\t\t};\n\t}\n\tif (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return {\n\t\tpushed: 0,\n\t\tfailed: []\n\t};\n\tlet pushed = 0;\n\tconst failed = [];\n\tfor (const [providerId, value] of Object.entries(raw)) try {\n\t\tawait opencodeFetch(`/auth/${encodeURIComponent(providerId)}`, {\n\t\t\tmethod: \"PUT\",\n\t\t\tbody: JSON.stringify(value)\n\t\t});\n\t\tpushed++;\n\t} catch {\n\t\tfailed.push(providerId);\n\t}\n\treturn {\n\t\tpushed,\n\t\tfailed\n\t};\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:providers:import-host\", async () => {\n\t\tconst state = getState();\n\t\tlet overwriteConflicts = false;\n\t\tif ((event.request.headers.get(\"content-type\") ?? \"\").includes(\"application/json\")) {\n\t\t\tconst parsed = await parseJsonBody(event.request);\n\t\t\tif (!(\"error\" in parsed)) overwriteConflicts = parsed.data.overwriteConflicts === true;\n\t\t}\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = importHostOpenCode(state, { overwriteConflicts });\n\t\t} catch (err) {\n\t\t\treturn errorResponse(500, \"import_failed\", err instanceof Error ? err.message : \"Import failed\", {}, requestId);\n\t\t}\n\t\tconst hostStatus = detectHostOpenCode();\n\t\tlet livePush = {\n\t\t\tpushed: 0,\n\t\t\tfailed: []\n\t\t};\n\t\tconst importedAuthPath = authJsonPath(state);\n\t\tif (existsSync(importedAuthPath)) livePush = await pushAuthToOpenCode(importedAuthPath);\n\t\telse if (hostStatus.authPath) livePush = await pushAuthToOpenCode(hostStatus.authPath);\n\t\tconst restart = await restartProviderConsumers();\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\timported: result.imported,\n\t\t\tconflicts: result.conflicts,\n\t\t\tlivePushed: livePush.pushed,\n\t\t\tlivePushFailed: livePush.failed,\n\t\t\trestarted: restart.restarted,\n\t\t\trestartFailed: restart.failed\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { d as deleteEndpoint, v as validateEndpointUrl, u as updateEndpoint } from './endpoints-DIQ-qrrL.js';
2
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse, w as withAdminBody } from './helpers-TBhHA7BL.js';
3
- import './state-uRAQa1hp.js';
4
- import './src-BrowG4c5.js';
1
+ import { d as deleteEndpoint, v as validateEndpointUrl, u as updateEndpoint } from './endpoints-C2sfguhT.js';
2
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse, w as withAdminBody } from './helpers-DL0rlFJr.js';
3
+ import './state-yBCk2V-E.js';
4
+ import './src-BGtbBgcg.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import './provider-constants-DPrj3yBX.js';
@@ -70,4 +70,4 @@ var DELETE = async (event) => {
70
70
  };
71
71
 
72
72
  export { DELETE, PATCH };
73
- //# sourceMappingURL=_server.ts-VVG0ZLLE.js.map
73
+ //# sourceMappingURL=_server.ts-DJmx3la_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-VVG0ZLLE.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/endpoints/_id_/_server.ts.js"],"sourcesContent":["import { c as validateEndpointUrl, n as deleteEndpoint, s as updateEndpoint } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, p as withAdminBody } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/endpoints/[id]/+server.ts\nvar PATCH = async (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst id = event.params.id;\n\tconst patch = {};\n\tif (typeof body.label === \"string\") patch.label = body.label;\n\tif (typeof body.url === \"string\") {\n\t\tconst urlCheck = validateEndpointUrl(body.url);\n\t\tif (!urlCheck.ok) {\n\t\t\tif (urlCheck.reason === \"http_not_allowed\") return errorResponse(400, \"http_not_allowed\", \"Plain HTTP is only allowed for loopback addresses. Use https:// for remote OpenPalm instances.\", {}, requestId);\n\t\t\treturn errorResponse(400, \"invalid_endpoint\", \"URL must be a valid http(s) URL\", {}, requestId);\n\t\t}\n\t\tpatch.url = urlCheck.url;\n\t}\n\tif (body.password === null) patch.password = null;\n\telse if (typeof body.password === \"string\") patch.password = body.password;\n\ttry {\n\t\tconst entry = updateEndpoint(id, patch);\n\t\treturn jsonResponse(200, { endpoint: {\n\t\t\tid: entry.id,\n\t\t\tlabel: entry.label,\n\t\t\turl: entry.url,\n\t\t\tisDefault: false,\n\t\t\thasPassword: Boolean(entry.password)\n\t\t} }, requestId);\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : \"failed to update endpoint\";\n\t\tconst status = msg.startsWith(\"Endpoint not found\") ? 404 : 400;\n\t\treturn errorResponse(status, status === 404 ? \"not_found\" : \"invalid_endpoint\", msg, {}, requestId);\n\t}\n});\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst id = event.params.id;\n\ttry {\n\t\tdeleteEndpoint(id);\n\t\treturn jsonResponse(200, { ok: true }, requestId);\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : \"failed to delete endpoint\";\n\t\tconst status = msg.startsWith(\"Endpoint not found\") ? 404 : 400;\n\t\treturn errorResponse(status, status === 404 ? \"not_found\" : \"invalid_endpoint\", msg, {}, requestId);\n\t}\n};\n//#endregion\nexport { DELETE, PATCH };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-DJmx3la_.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/endpoints/_id_/_server.ts.js"],"sourcesContent":["import { c as validateEndpointUrl, n as deleteEndpoint, s as updateEndpoint } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, p as withAdminBody } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/endpoints/[id]/+server.ts\nvar PATCH = async (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst id = event.params.id;\n\tconst patch = {};\n\tif (typeof body.label === \"string\") patch.label = body.label;\n\tif (typeof body.url === \"string\") {\n\t\tconst urlCheck = validateEndpointUrl(body.url);\n\t\tif (!urlCheck.ok) {\n\t\t\tif (urlCheck.reason === \"http_not_allowed\") return errorResponse(400, \"http_not_allowed\", \"Plain HTTP is only allowed for loopback addresses. Use https:// for remote OpenPalm instances.\", {}, requestId);\n\t\t\treturn errorResponse(400, \"invalid_endpoint\", \"URL must be a valid http(s) URL\", {}, requestId);\n\t\t}\n\t\tpatch.url = urlCheck.url;\n\t}\n\tif (body.password === null) patch.password = null;\n\telse if (typeof body.password === \"string\") patch.password = body.password;\n\ttry {\n\t\tconst entry = updateEndpoint(id, patch);\n\t\treturn jsonResponse(200, { endpoint: {\n\t\t\tid: entry.id,\n\t\t\tlabel: entry.label,\n\t\t\turl: entry.url,\n\t\t\tisDefault: false,\n\t\t\thasPassword: Boolean(entry.password)\n\t\t} }, requestId);\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : \"failed to update endpoint\";\n\t\tconst status = msg.startsWith(\"Endpoint not found\") ? 404 : 400;\n\t\treturn errorResponse(status, status === 404 ? \"not_found\" : \"invalid_endpoint\", msg, {}, requestId);\n\t}\n});\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst id = event.params.id;\n\ttry {\n\t\tdeleteEndpoint(id);\n\t\treturn jsonResponse(200, { ok: true }, requestId);\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : \"failed to delete endpoint\";\n\t\tconst status = msg.startsWith(\"Endpoint not found\") ? 404 : 400;\n\t\treturn errorResponse(status, status === 404 ? \"not_found\" : \"invalid_endpoint\", msg, {}, requestId);\n\t}\n};\n//#endregion\nexport { DELETE, PATCH };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { a_ as summarizeBackups, an as listBackupDirs, ay as pruneBackupDirs, G as createLogger } from './src-BrowG4c5.js';
2
- import { g as getState } from './state-uRAQa1hp.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-TBhHA7BL.js';
1
+ import { a_ as summarizeBackups, an as listBackupDirs, ay as pruneBackupDirs, G as createLogger } from './src-BGtbBgcg.js';
2
+ import { g as getState } from './state-yBCk2V-E.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-DL0rlFJr.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-DIQ-qrrL.js';
25
+ import './endpoints-C2sfguhT.js';
26
26
 
27
27
  //#region src/routes/admin/backups/+server.ts
28
28
  var logger = createLogger("backups-admin");
@@ -86,4 +86,4 @@ var POST = async (event) => {
86
86
  };
87
87
 
88
88
  export { GET, POST };
89
- //# sourceMappingURL=_server.ts-D5KbK1EO.js.map
89
+ //# sourceMappingURL=_server.ts-DLbTplBn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-D5KbK1EO.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/backups/_server.ts.js"],"sourcesContent":["import { _n as pruneBackupDirs, bn as createLogger, gn as listBackupDirs, vn as summarizeBackups } 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-DLbTplBn.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/backups/_server.ts.js"],"sourcesContent":["import { _n as pruneBackupDirs, bn as createLogger, gn as listBackupDirs, vn as summarizeBackups } 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 { Y as ensureMigrated, B as BackupSpaceError, M as MigrationError, G as createLogger } from './src-BrowG4c5.js';
2
- import { g as getState } from './state-uRAQa1hp.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-TBhHA7BL.js';
1
+ import { Y as ensureMigrated, B as BackupSpaceError, M as MigrationError, G as createLogger } from './src-BGtbBgcg.js';
2
+ import { g as getState } from './state-yBCk2V-E.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-DL0rlFJr.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-DIQ-qrrL.js';
25
+ import './endpoints-C2sfguhT.js';
26
26
 
27
27
  //#region src/routes/admin/migrate-apply/+server.ts
28
28
  var logger = createLogger("migrate-apply");
@@ -116,4 +116,4 @@ var POST = async (event) => {
116
116
  };
117
117
 
118
118
  export { POST };
119
- //# sourceMappingURL=_server.ts--DpjQMoc.js.map
119
+ //# sourceMappingURL=_server.ts-DR8rM7PH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts--DpjQMoc.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/migrate-apply/_server.ts.js"],"sourcesContent":["import { an as ensureMigrated, bn as createLogger, in as MigrationError, rn as BackupSpaceError } 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/migrate-apply/+server.ts\nvar logger = createLogger(\"migrate-apply\");\n/**\n* Apply the pending on-disk migration and report the result. This is the\n* lightweight counterpart to /admin/migrate-preview: it runs the REAL\n* `ensureMigrated()` (layout migrations + release migrations up to the home's\n* recorded version), which takes a full-home backup first and is idempotent.\n*\n* Unlike /admin/upgrade this does NOT pull images or recreate containers — it\n* only reconciles the home directory so the splash \"invalid state\" landing can\n* unblock a user whose home needs migrating, then route them onward.\n*\n* BackupSpaceError (the pre-backup free-space guard) is surfaced as 409 with the\n* estimate so the UI can ask the user to confirm before retrying with\n* `confirmLowSpace: true`. Nothing is modified when that fires.\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 confirmLowSpace = body.confirmLowSpace === true;\n\tconst state = getState();\n\tconst lines = [];\n\ttry {\n\t\tconst report = ensureMigrated({\n\t\t\thomeDir: state.homeDir,\n\t\t\tconfirmLowSpace,\n\t\t\tlog: (m) => lines.push(m)\n\t\t});\n\t\tlogger.info(\"migration applied\", {\n\t\t\trequestId,\n\t\t\tmigrated: report.migrated,\n\t\t\tfrom: report.from,\n\t\t\tto: report.to,\n\t\t\treleaseApplied: report.releaseApplied,\n\t\t\tbackupDir: report.backupDir\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmigrated: report.migrated,\n\t\t\tfrom: report.from,\n\t\t\tto: report.to,\n\t\t\tapplied: report.applied,\n\t\t\treleaseFrom: report.releaseFrom,\n\t\t\treleaseTo: report.releaseTo,\n\t\t\treleaseApplied: report.releaseApplied,\n\t\t\tbackupDir: report.backupDir,\n\t\t\tnotes: report.notes,\n\t\t\tlines\n\t\t}, requestId);\n\t} catch (e) {\n\t\tif (e instanceof BackupSpaceError) {\n\t\t\tlogger.warn(\"migration blocked: low free space\", {\n\t\t\t\trequestId,\n\t\t\t\testimatedBytes: e.estimatedBytes,\n\t\t\t\tfreeBytes: e.freeBytes\n\t\t\t});\n\t\t\treturn errorResponse(409, \"low_space\", e.message, {\n\t\t\t\tguidance: e.guidance,\n\t\t\t\testimatedBytes: e.estimatedBytes,\n\t\t\t\tfreeBytes: e.freeBytes,\n\t\t\t\tconfirmable: true\n\t\t\t}, requestId);\n\t\t}\n\t\tif (e instanceof MigrationError) {\n\t\t\tlogger.error(\"migration failed\", {\n\t\t\t\trequestId,\n\t\t\t\terror: e.message,\n\t\t\t\tbackupDir: e.backupDir\n\t\t\t});\n\t\t\treturn errorResponse(500, \"migration_failed\", e.message, {\n\t\t\t\tguidance: e.guidance,\n\t\t\t\tbackupDir: e.backupDir,\n\t\t\t\tlines\n\t\t\t}, requestId);\n\t\t}\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"migration failed (unexpected)\", {\n\t\t\trequestId,\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(500, \"migration_failed\", msg, { lines }, requestId);\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-DR8rM7PH.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/migrate-apply/_server.ts.js"],"sourcesContent":["import { an as ensureMigrated, bn as createLogger, in as MigrationError, rn as BackupSpaceError } 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/migrate-apply/+server.ts\nvar logger = createLogger(\"migrate-apply\");\n/**\n* Apply the pending on-disk migration and report the result. This is the\n* lightweight counterpart to /admin/migrate-preview: it runs the REAL\n* `ensureMigrated()` (layout migrations + release migrations up to the home's\n* recorded version), which takes a full-home backup first and is idempotent.\n*\n* Unlike /admin/upgrade this does NOT pull images or recreate containers — it\n* only reconciles the home directory so the splash \"invalid state\" landing can\n* unblock a user whose home needs migrating, then route them onward.\n*\n* BackupSpaceError (the pre-backup free-space guard) is surfaced as 409 with the\n* estimate so the UI can ask the user to confirm before retrying with\n* `confirmLowSpace: true`. Nothing is modified when that fires.\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 confirmLowSpace = body.confirmLowSpace === true;\n\tconst state = getState();\n\tconst lines = [];\n\ttry {\n\t\tconst report = ensureMigrated({\n\t\t\thomeDir: state.homeDir,\n\t\t\tconfirmLowSpace,\n\t\t\tlog: (m) => lines.push(m)\n\t\t});\n\t\tlogger.info(\"migration applied\", {\n\t\t\trequestId,\n\t\t\tmigrated: report.migrated,\n\t\t\tfrom: report.from,\n\t\t\tto: report.to,\n\t\t\treleaseApplied: report.releaseApplied,\n\t\t\tbackupDir: report.backupDir\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmigrated: report.migrated,\n\t\t\tfrom: report.from,\n\t\t\tto: report.to,\n\t\t\tapplied: report.applied,\n\t\t\treleaseFrom: report.releaseFrom,\n\t\t\treleaseTo: report.releaseTo,\n\t\t\treleaseApplied: report.releaseApplied,\n\t\t\tbackupDir: report.backupDir,\n\t\t\tnotes: report.notes,\n\t\t\tlines\n\t\t}, requestId);\n\t} catch (e) {\n\t\tif (e instanceof BackupSpaceError) {\n\t\t\tlogger.warn(\"migration blocked: low free space\", {\n\t\t\t\trequestId,\n\t\t\t\testimatedBytes: e.estimatedBytes,\n\t\t\t\tfreeBytes: e.freeBytes\n\t\t\t});\n\t\t\treturn errorResponse(409, \"low_space\", e.message, {\n\t\t\t\tguidance: e.guidance,\n\t\t\t\testimatedBytes: e.estimatedBytes,\n\t\t\t\tfreeBytes: e.freeBytes,\n\t\t\t\tconfirmable: true\n\t\t\t}, requestId);\n\t\t}\n\t\tif (e instanceof MigrationError) {\n\t\t\tlogger.error(\"migration failed\", {\n\t\t\t\trequestId,\n\t\t\t\terror: e.message,\n\t\t\t\tbackupDir: e.backupDir\n\t\t\t});\n\t\t\treturn errorResponse(500, \"migration_failed\", e.message, {\n\t\t\t\tguidance: e.guidance,\n\t\t\t\tbackupDir: e.backupDir,\n\t\t\t\tlines\n\t\t\t}, requestId);\n\t\t}\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"migration failed (unexpected)\", {\n\t\t\trequestId,\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(500, \"migration_failed\", msg, { lines }, requestId);\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { ak as isSetupComplete, aU as resolveStackDir, a5 as getAddonProfileSelection, b as annotateAddonProfileAvailability, a6 as getAddonProfiles } from './src-BrowG4c5.js';
3
- import { g as getState } from './state-uRAQa1hp.js';
4
- import { r as requireAdmin, d as getRequestId } from './helpers-TBhHA7BL.js';
2
+ import { ak as isSetupComplete, aU as resolveStackDir, a5 as getAddonProfileSelection, b as annotateAddonProfileAvailability, a6 as getAddonProfiles } from './src-BGtbBgcg.js';
3
+ import { g as getState } from './state-yBCk2V-E.js';
4
+ import { r as requireAdmin, d as getRequestId } from './helpers-DL0rlFJr.js';
5
5
  import './utils-BSRjJDrZ.js';
6
6
  import './chunk-CLZ62Ad-.js';
7
7
  import 'node:module';
@@ -24,7 +24,7 @@ import 'zlib';
24
24
  import 'node:assert';
25
25
  import 'node:fs/promises';
26
26
  import 'node:os';
27
- import './endpoints-DIQ-qrrL.js';
27
+ import './endpoints-C2sfguhT.js';
28
28
 
29
29
  //#region src/routes/api/setup/ollama-profiles/+server.ts
30
30
  var GET = async (event) => {
@@ -41,4 +41,4 @@ var GET = async (event) => {
41
41
  };
42
42
 
43
43
  export { GET };
44
- //# sourceMappingURL=_server.ts-BF8CUHqs.js.map
44
+ //# sourceMappingURL=_server.ts-DTbiXJEw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BF8CUHqs.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/ollama-profiles/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Ct as annotateAddonProfileAvailability, Et as getAddonProfiles, Tt as getAddonProfileSelection, ht as isSetupComplete, nn as resolveStackDir } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/ollama-profiles/+server.ts\nvar GET = async (event) => {\n\tif (isSetupComplete(resolveStackDir())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst state = getState();\n\treturn json({\n\t\tok: true,\n\t\tprofiles: await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, \"ollama\")),\n\t\tselectedProfile: getAddonProfileSelection(state.stackDir, \"ollama\")\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE;AACzC,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5D,EAAE,IAAI,SAAS,EAAE,OAAO,SAAS;AACjC,CAAC;AACD,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC7F,EAAE,eAAe,EAAE,wBAAwB,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ;AACpE,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-DTbiXJEw.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/ollama-profiles/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Ct as annotateAddonProfileAvailability, Et as getAddonProfiles, Tt as getAddonProfileSelection, ht as isSetupComplete, nn as resolveStackDir } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/ollama-profiles/+server.ts\nvar GET = async (event) => {\n\tif (isSetupComplete(resolveStackDir())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst state = getState();\n\treturn json({\n\t\tok: true,\n\t\tprofiles: await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, \"ollama\")),\n\t\tselectedProfile: getAddonProfileSelection(state.stackDir, \"ollama\")\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE;AACzC,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5D,EAAE,IAAI,SAAS,EAAE,OAAO,SAAS;AACjC,CAAC;AACD,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC7F,EAAE,eAAe,EAAE,wBAAwB,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ;AACpE,EAAE,CAAC;AACH;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { g as getOpenCodeClient } from './helpers-TBhHA7BL.js';
2
+ import { g as getOpenCodeClient } from './helpers-DL0rlFJr.js';
3
3
  import './utils-BSRjJDrZ.js';
4
- import './src-BrowG4c5.js';
4
+ import './src-BGtbBgcg.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import './provider-constants-DPrj3yBX.js';
@@ -23,8 +23,8 @@ import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
25
  import 'node:os';
26
- import './endpoints-DIQ-qrrL.js';
27
- import './state-uRAQa1hp.js';
26
+ import './endpoints-C2sfguhT.js';
27
+ import './state-yBCk2V-E.js';
28
28
 
29
29
  //#region src/routes/api/setup/opencode/status/+server.ts
30
30
  var GET = async () => {
@@ -42,4 +42,4 @@ var GET = async () => {
42
42
  };
43
43
 
44
44
  export { GET };
45
- //# sourceMappingURL=_server.ts-CBMkCJyi.js.map
45
+ //# sourceMappingURL=_server.ts-DY7BHiev.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CBMkCJyi.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { a as getOpenCodeClient } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/opencode/status/+server.ts\nvar GET = async () => {\n\ttry {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tavailable: await getOpenCodeClient().isAvailable()\n\t\t});\n\t} catch {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tavailable: false\n\t\t});\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,iBAAiB,EAAE,CAAC,WAAW;AACnD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE;AACd,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-DY7BHiev.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { a as getOpenCodeClient } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/opencode/status/+server.ts\nvar GET = async () => {\n\ttry {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tavailable: await getOpenCodeClient().isAvailable()\n\t\t});\n\t} catch {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tavailable: false\n\t\t});\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,iBAAiB,EAAE,CAAC,WAAW;AACnD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE;AACd,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
@@ -1,6 +1,6 @@
1
- import { aE as readStackEnv } from './src-BrowG4c5.js';
2
- import { g as getState } from './state-uRAQa1hp.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-TBhHA7BL.js';
1
+ import { aE as readStackEnv } from './src-BGtbBgcg.js';
2
+ import { g as getState } from './state-yBCk2V-E.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-DL0rlFJr.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-DIQ-qrrL.js';
25
+ import './endpoints-C2sfguhT.js';
26
26
 
27
27
  //#region src/routes/api/transcribe/+server.ts
28
28
  var DEFAULT_MODEL = "whisper-1";
@@ -89,4 +89,4 @@ var POST = async (event) => {
89
89
  };
90
90
 
91
91
  export { POST };
92
- //# sourceMappingURL=_server.ts-BmmrJu7p.js.map
92
+ //# sourceMappingURL=_server.ts-DYy0jKI8.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BmmrJu7p.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/transcribe/_server.ts.js"],"sourcesContent":["import { Vt as readStackEnv } 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/api/transcribe/+server.ts\nvar DEFAULT_MODEL = \"whisper-1\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(hf_[A-Za-z0-9_-]{4,})/gi, \"hf_***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().stackDir);\n\tconst sttBaseURL = (stackEnv.OP_STT_BASE_URL || process.env.OP_STT_BASE_URL || \"\").trim();\n\tconst sttModel = (stackEnv.OP_STT_MODEL || process.env.OP_STT_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst sttLanguageEnv = (stackEnv.OP_STT_LANGUAGE || process.env.OP_STT_LANGUAGE || \"\").trim();\n\tconst sttApiKey = (process.env.OP_STT_API_KEY ?? \"\").trim();\n\tif (!sttBaseURL) return errorResponse(503, \"stt_not_configured\", \"Configure an STT engine in Admin → Voice settings.\", {}, requestId);\n\tlet inboundForm;\n\ttry {\n\t\tinboundForm = await event.request.formData();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Body must be multipart/form-data\", {}, requestId);\n\t}\n\tconst audio = inboundForm.get(\"audio\");\n\tif (!(audio instanceof Blob)) return errorResponse(400, \"bad_request\", \"Missing \\\"audio\\\" field (Blob)\", {}, requestId);\n\tconst languageReq = inboundForm.get(\"language\");\n\tconst promptReq = inboundForm.get(\"prompt\");\n\tconst language = typeof languageReq === \"string\" && languageReq.trim() ? languageReq.trim() : sttLanguageEnv;\n\tconst outForm = new FormData();\n\tconst filename = audio.name || \"recording.webm\";\n\toutForm.append(\"file\", audio, filename);\n\toutForm.append(\"model\", sttModel);\n\toutForm.append(\"response_format\", \"json\");\n\tif (language) outForm.append(\"language\", language);\n\tif (typeof promptReq === \"string\" && promptReq.trim()) outForm.append(\"prompt\", promptReq.trim());\n\tconst upstreamUrl = sttBaseURL.replace(/\\/+$/, \"\") + \"/v1/audio/transcriptions\";\n\tconst headers = {};\n\tif (sttApiKey) headers[\"authorization\"] = `Bearer ${sttApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: outForm,\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 STT endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst snippet = redactKey(await upstream.text().catch(() => \"\")).slice(0, 500);\n\t\treturn errorResponse(502, \"upstream_error\", `STT endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: snippet\n\t\t}, requestId);\n\t}\n\tlet payload;\n\ttry {\n\t\tpayload = await upstream.json();\n\t} catch {\n\t\treturn errorResponse(502, \"upstream_error\", \"STT endpoint returned a non-JSON response\", { upstreamStatus: upstream.status }, requestId);\n\t}\n\treturn jsonResponse(200, { text: typeof payload?.text === \"string\" ? payload.text : \"\" }, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-DYy0jKI8.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/transcribe/_server.ts.js"],"sourcesContent":["import { Vt as readStackEnv } 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/api/transcribe/+server.ts\nvar DEFAULT_MODEL = \"whisper-1\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(hf_[A-Za-z0-9_-]{4,})/gi, \"hf_***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().stackDir);\n\tconst sttBaseURL = (stackEnv.OP_STT_BASE_URL || process.env.OP_STT_BASE_URL || \"\").trim();\n\tconst sttModel = (stackEnv.OP_STT_MODEL || process.env.OP_STT_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst sttLanguageEnv = (stackEnv.OP_STT_LANGUAGE || process.env.OP_STT_LANGUAGE || \"\").trim();\n\tconst sttApiKey = (process.env.OP_STT_API_KEY ?? \"\").trim();\n\tif (!sttBaseURL) return errorResponse(503, \"stt_not_configured\", \"Configure an STT engine in Admin → Voice settings.\", {}, requestId);\n\tlet inboundForm;\n\ttry {\n\t\tinboundForm = await event.request.formData();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Body must be multipart/form-data\", {}, requestId);\n\t}\n\tconst audio = inboundForm.get(\"audio\");\n\tif (!(audio instanceof Blob)) return errorResponse(400, \"bad_request\", \"Missing \\\"audio\\\" field (Blob)\", {}, requestId);\n\tconst languageReq = inboundForm.get(\"language\");\n\tconst promptReq = inboundForm.get(\"prompt\");\n\tconst language = typeof languageReq === \"string\" && languageReq.trim() ? languageReq.trim() : sttLanguageEnv;\n\tconst outForm = new FormData();\n\tconst filename = audio.name || \"recording.webm\";\n\toutForm.append(\"file\", audio, filename);\n\toutForm.append(\"model\", sttModel);\n\toutForm.append(\"response_format\", \"json\");\n\tif (language) outForm.append(\"language\", language);\n\tif (typeof promptReq === \"string\" && promptReq.trim()) outForm.append(\"prompt\", promptReq.trim());\n\tconst upstreamUrl = sttBaseURL.replace(/\\/+$/, \"\") + \"/v1/audio/transcriptions\";\n\tconst headers = {};\n\tif (sttApiKey) headers[\"authorization\"] = `Bearer ${sttApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: outForm,\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 STT endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst snippet = redactKey(await upstream.text().catch(() => \"\")).slice(0, 500);\n\t\treturn errorResponse(502, \"upstream_error\", `STT endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: snippet\n\t\t}, requestId);\n\t}\n\tlet payload;\n\ttry {\n\t\tpayload = await upstream.json();\n\t} catch {\n\t\treturn errorResponse(502, \"upstream_error\", \"STT endpoint returned a non-JSON response\", { upstreamStatus: upstream.status }, requestId);\n\t}\n\treturn jsonResponse(200, { text: typeof payload?.text === \"string\" ? payload.text : \"\" }, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}